The latest expert opinions, articles, and guides for the Java professional.
What makes Java & the JVM amazing?
There are multiple things that make Java the best tool for multiple types of jobs. Here is a list compiled by Java Champion Geert Bevin, when he returned to Java development after a considerable period of time of not using it. He wrote an awesome 10-part series that covers the following reasons why Java rocks more than ever:
- The Java Compiler
- The Core API
- The Java Memory Model
- High-Performance JVM
- Intelligent IDEs
- Profiling Tools
- Backwards Compatibility
- Maturity With Innovation
Everyone can decide what makes Java special for them, but no one could argue that Java is an important part of software development world for 20 years now and is here to stay.
A relatively short history of Java releases and events
What’s in the JVM?
This makes sure loaded code is safe: checks the code is valid, jumps instructions lead to valid code, checks type, finds uninitialized variables.
Parses the bytecode, interprets it instruction by instruction without transformations.
Oracle’s HotSpot comes with a tiered compiler that goes from Java bytecode to native code, which can be optimised for quicker startup times at stable performance, or for a slower compilation but a more performant long run.
Java objects get created in a certain region of memory called “heap”. Objects that are not reachable from the application anymore are removed from memory, freeing it up.
Threads are the basis for parallelism and Java uses threads to achieve concurrency.
JAVA CLASS LIBRARY
Classes loaded from rt.jar, including, but not limited to java.lang.*; java.util.concurrent.*, etc. java.util in general.
This is how the JVM operates with the outside world. Reads/writes to disks, network, etc.
The JVM is written in C++, so Java interop with C is good. Also, there are many intrinsic methods that have an incredibly optimised native implementation.
Leave a comment