Welcome to a series of articles on key concepts in Core Java and J2EE. The series revolves around memory architecture, connection and memory leaks, core Java syntax and semantics, Java Object layout/anatomy, multi-threading, asynchronous task execution, design patterns, Java agents, class loading, API design, OOPs & SOLID.
In this part, we focus on the Java Memory Architecture, from before Java 8.
One of the super cool things about IntelliJ IDEA is how much code you can generate with minimum effort.
There’s a Generate menu in IntelliJ IDEA that you can access with ⌘N on macOS and Alt+Insert on Windows and Linux.
Here’s a quick tour of some of the places where you can use it in Java projects in IntelliJ IDEA.
As we know, sun.misc.Unsafe APIs are not recommended to use outside the JDK, with a slight mistake it may result in a JVM crash. In some cases, code may not be portable across different platforms and many other problems that may occur.
Classes that cannot be used directly by the bytecode of other classes are hidden classes. Hidden classes allow frameworks/JVM languages to define classes as non-discoverable implementation details, so that they cannot be linked against by other classes.
A great many developers today are employed working with OpenJDK. If OpenJDK is the background source for your livelihood, you might want to contribute to future development of the OpenJDK.
There are many ways you can do this. In this article I outline 7 possibilities, ranging from minimal work (because you’re too busy to do much, but you’d like to do something) to intensive work (participating on OpenJDK development is everything you want to do, it’s more than a hobby, you want to contribute to the maximum extent possible).
FXGL is a JavaFX Game Library Engine for Java and Kotlin, created by Almas Baimagambetov.
In this article, you’ll read what FXGL is, what it is good for, what its dependencies are, as well as a complete scenario with a video and code snippets to set up your first FXGL scenario from scratch.
In this article, you’re presented with four short videos that will take you step-by-step through installing, writing, and deploying an application to Payara Server, even if you’ve never used the application server before.
Visit the Payara Getting Started page for further resources on getting started, including: Configuring, Adding a data source, Adding functionality, monitoring, security auditing, Creating a Restful Web Service, Logging, Testing Apps, etc.
The Java SE landscape is strewn with acronyms that it has picked up over the last 25 years. Sometimes those acronyms even mean multiple things.
This post attempts to explain them all in terms of two main groupings: OpenJDK and Java Development Kits
With the invention of Java, James Gosling and friends created a system whereby any code could be run on any machine or operating system that supports a JVM.
All the coding that lets Java (or any other language that can produce Java bytecode) run anywhere is the fact that the JVM itself translates the bytecode into what’s needed for whatever operating system or hardware you’re running on.
Until recently, I last wrote Java in anger in 2002. IntelliJ IDEA had just been released; it wasn’t remotely on my radar. I honestly can’t remember what IDE we were using back then, but it certainly was a very long way to the fully featured IDE that JetBrains produce today.
Here’s my personal experience of using IntelliJ IDEA for the first time.
I started programming in Java way back in 1999. I had just started a job as the director of web development at a small startup called eDeploy.com.
Rather than focusing on my experience, I thought it’d be fun to write a post that provides people with no programming experience how to become Java developers.
Hopefully, this short and sweet list of learning resources inspires you to try Java. It’s a great language, that can do many things. Write once, run anywhere!
Let’s continue from part 1 of this series, by looking at JEP 330, Launch Single-File Source-Code Programs, which is one of the new features introduced in the OpenJDK 11 release. This feature allows you to execute a Java source code file directly using the java interpreter.
The source code is compiled in memory and then executed by the interpreter, without producing a .class file on disk.
However, this feature is limited to code that resides in a single source file. You cannot add additional source files to be compiled in the same run.