Prepare for a tricky adventure when evaluating expressions that contain arrays.
These three classes are powerful—but they can be tricky when combined.
What happens when you throw a checked exception? There are some tricky special cases.
Java Champions love pattern matching for instanceof, records, Stream.toList(), the vector API, the foreign linker API, and the foreign-memory access API.
There are rules about initializing enums. You need to know them.
You never can tell when the Java garbage collector will pick up the trash.
Be sure to know the difference between identifiers and specifiers.
Sometimes a slash is not a slash, as this quiz explains.
Do you know how the compiler selects which method to invoke when it’s forced to choose due to overloading?
The Java Champions say these are a few of their favorite things.
Be sure to use the checkPermission and doPrivileged methods correctly.
What happens when a default method is hidden and inaccessible?
When overloading a Java method, be careful to specify the appropriate return types.
Is a list unmodifiable? Is it immutable? What about the views of the list?
All your favorite links gathered together in one place
How false sharing and branch misprediction can have unwanted effects on your code’s performance
The trick is to visualize how stream elements travel along the pipeline.
The average, sum, and count methods are trickier than they might seem.
Mixing Hibernate/JPA and Java for database actions is neither completely type-safe nor intuitive. The JPAstreamer library offers another solution.
You can understand application performance—and optimize your software approach—by understanding how CPUs, memory, and caches affect execution.