Home » Java » Core Java (page 30)

Core Java

JEP 342: The JVM and Spectre

JEP 342 (“Limit Speculative Execution”) has transitioned from “Draft” state to “Candidate” state, but it has not yet been targeted to a specific JDK release (see graphic for steps in JEP process). Jesper Wilhelmsson has written that JEP 342 “covers the initial work to make use of new C++ compiler options to limit speculative execution in native code in the ...

Read More »

JDK 12 Switch Expression Encountering Unanticipated Enum Value

As I wrote about in my post “Playing with JDK 12’s Switch Expressions“, the JDK 12 Early Access Builds have made it easy to experiment with the implementation of JEP 325 [“Switch Expressions (Preview)”]. My post “JDK 12: Switch Statements/Expressions in Action” used code examples to demonstrate core features and characteristics of the enhanced switch statement and the new switch ...

Read More »

JDK 12: Switch Statements/Expressions in Action

My last post “Playing with JDK 12’s Switch Expressions” talked about use of the JDK 12 Early Access Builds to try out JEP 325 switch expressions and statements and provided a simple example. This post uses the same JDK 12 Early Access Build 10 to demonstrate different features of switch expressions and enhanced switch statements. I used a 2×2 grid ...

Read More »

Java: Mocking a ResultSet using Mockito

This post shows how you can mock a java.sql.ResultSet using Mockito. It can be used to help unit test code which performs operations on ResultSets (such as a ResultSetExtractor) without relying on an external datasource. You can create a MockResultSet by providing a list of column names and a 2D array of data. For example: var rs = MockResultSet.create( new ...

Read More »

Playing with JDK 12’s Switch Expressions

In the blog post “JDK Language Feature Preview in Action: Switch Expressions,” I discussed how JEP 325 [“Switch Expressions (Preview)”] is an early application of a designated “preview language feature” as spelled out by JEP 12 [“Preview Language and VM Features”]. JEP 325 is targeted for JDK 12. Even better, the Early Access Builds for JDK 12 already provide support ...

Read More »

JDK Language Feature Preview in Action: Switch Expressions

JEP 12 [“Preview Language and VM Features”] is described on its main page as follows: A preview language or VM feature is a new feature of the Java SE Platform that is fully specified, fully implemented, and yet impermanent. It is available in a JDK feature release to provoke developer feedback based on real world use; this may lead to ...

Read More »

Nested classes and private methods

When you have a class inside another class they can see each others private methods. It is not well known among Java developers. Many candidates during interviews say that private is a visibility that lets a code see a member if that is in the same class. This is actually true, but it would be more precise to say that ...

Read More »

String.valueOf(Object) versus Objects.toString(Object)

The handy method String.valueOf(Object) has been around since JDK 1.0 and is one of the JDK-provided methods that I use on a frequent basis. I have blogged on its value before. The Objects class was introduced with JDK 1.7 and included the Objects.toString(Object) method. This post compares these two similar-sounding methods. Both methods String.valueOf(Object) and Objects.toString(Object) essentially do the same ...

Read More »

Embracing modular Java platform: Apache CXF on Java 10

It’s been mostly a year since Java 9 release finally delivered Project Jigsaw to the masses. It was a long, long journey, but it is there, so what has changed? This is a very good question and the answer to it is not obvious and straightforward. By and large, Project Jigsaw is a disruptive change and there are many reasons ...

Read More »