PASSED! Jeanne’s Experience Taking the Java 25 Certification Exam 1Z0-831

Oracle recently announced their new Java 25 Certification Exam 1Z0-831. [Yes, we are working on the certification study guide book] I took it this morning and passed with a 74% (I don’t try for a good score; I try to take it quickly after it comes out. In this case, I took it a few days after getting back from a trip to California. I only slept 5.5 hours last night (got home late from train delays). So I was a bit tired. But I passed and that’s what matters.

If you read my blog post about the Java 21 exam, you know there was significant time pressure. That is fixed on the Java 25 exam. I had sufficient time to go slowly and still had about half an hour left at the end which I could have used to review my answers. (I choose to turn it in without reviewing because I felt a little dizzy; probably from using the computer right when I woke up after insufficient sleep.)

Checking in

Oracle changed how they do exams since the Java 21 exam came out. (You saw a person as proctor.) The new system is described here and much better. I used it when taking Oracle cloud exams and it is the system in use now for the Java 25 exam. It comes with an online whiteboard.

The exam

While there were still some long questions, it was faster to read the code. It was either read some code and state the output (so only one set of code to read) or multiple answers with code where it was easier to tell the differences. Also there were less long questions so I didn’t feel time pressure.

Looking back I had 16 minutes left after the Java 21 exam. While I had more time left over here, the big difference is I went super slow this time while last time I had to rush to get that time. I knew I was tired and didn’t want to make silly mistakes.

About 5 questions took about 10 seconds to load. That feels like forever during an exam! And it was before 8am in the morning local time so it wasn’t a lot of people using the internet. I hadn’t had that problem on past exams.

For content, I got a good mix of questions spanning the objectives. Not as many Java 22-25 questions as I expected but that could be luck of the draw.

After the exam

I removed the “Secure Companion” app and Proctorio Chrome plugin. from my machine. It has a lot of power so I like it not being there.

I tried going to the CertView page to get my badge but got a 502 error. Will try again in the future. I used Chrome as Safari on Mac didn’t let me expand the menus in the past.

To see my exam details:

  • Expand “Exam Results” on left navigation
  • Click “Exam History” on left navigation
  • Click “Results” on this exam on the right side
  • This downloads a PDF showing which objectives you got a question wrong on

For credentials, expand “Credential Management” on left navigation. You can then download a certificate or badge. There are also links to post on LinkedIn or email a link to verify your credential. I then went on Linked in and added a credential including the credential URL.

2026 buying us open tickets

Last year I wrote a blog complaining about my failed attempt to buy US Open tickets. It’s a year later. Time to blog about it went this year!

Grounds Pass

knew from last year that you had to be on ticketmaster a few minutes before 9am to get a random spot in the queue when it opened at 9am. I was. I got number 48! Lucky me.!

I knew I wanted to buy grounds passes for one day and Arthur Ashe tickets for another. And from last year, I knew that the grounds passes would sell out faster. So I started with grounds. I put them in my cart and it worked. (Last year, they sold out while I was putting them in my cart.) I wasn’t confident that navigating to the Ashe tickets would keep these grounds passes so I took the risk of checking out with just those. Worked great. I gave my American Express card. (you have to pay by amex as it was the amex presale.

I got prompted for an “Amex Safekey Verification Code” which was a number texted to me. Last year, i didn’t get this for Amex. I did get it for another card whre the code didn’t arrive so this was an improvement.

Ashe Ticket

Then I went to buy my Ashe ticket. I did get dumped in the queue again. I don’t know what would have happened if I went to this page with the grounds passes in my shopping cart but I was too afraid to find out. This time I was number 13,567 in the queue. That was just over 90 minutes of waiting. (Last year 2200 was 40 minutes of waiting so definitely a faster rate.) This was fine; I kept it on one screen while I did work until it was my turn.

There was a good selection of tickets at different price points, sections, heights when I got in. Last year, I was annoyed that you only get told the section and row numbers (vs the actual seat number) when buying the ticket. I’m not a fan of that system and it is back. I suppose this helps them manage concurrency but as a customer I like knowing which seat number. In particular, I like to sit in the vicinity of the aisle so I don’t have to climb over a dozen people when it is time to go to tthe bathroom. I wound up with a seat 5 away from the aisle which I’m ok with. But It feels like gambling.

Conclusion to last year

I was able to buy the grounds passes closer to the time when they released more. But it was a project to keep checking. Also my friend and I monitored the morning of to see when the “resellers” would drop their prices. After all, we live nearby so good information for future years. (I won’t pay above face value but if they dropped it to that point, I would.) Moot point. They did not drop the prices. Even 5 minutes before the seats could no longer be sold they were well about face value. At which point their value went to $0 and the “resellers” lost all remaining value. They must make enough from people willing to pay inflated prices that it is worth eating the loss so people know they prices won’t come down.

java playground and jshell

Today I learned that it looks like the Java Playground uses JShell. I knew it didn’t require a class/main method wrapper.

The reason I discovered this was because of the following code:

Consumer p = (p) -> {int var = 3; var++; return;};

In my IDE or at the command line, this code gives an error

Lambda.java:2: error: variable p is already defined in method main()
Consumer p = (p) -> {int var = 3; var++; return;};

In JShell and Java Playground, it happily compiles. This matters because I was told that the flashcards with my book has an errata and that “p” is just fine.

The Java Language specification writes about shadowing:

It is a compile-time error if the name of a formal parameter is used to declare a new variable within the body of the method, constructor, or lambda expression, unless the new variable is declared within a class or interface declaration contained by the method, constructor, or lambda expression

Lesson to readers: don’t use jshell when studying for the exam.