Collecting my attempts to improve at tech, art, and life

Java

Enterprise object-oriented Programming Language.

On my system, mostly managing with SDKMAN.

JDK Distributions

Some focus on distinct capabilities such as better performance on desktop. Some are just “this is the JDK you get on our platform.” No, I can’t really tell the difference. Minecraft behaves a little better for me under Temurin on Linux. That’s about all I know so far.

LTS Releases

Version Release Date Notes
Java SE 8 2014-03-18
Java SE 11 2018-09-25
Java SE 17 2021-09-14
Java SE 21 2023-09-19

I was going to add an EOL column but every JDK distribution has its own support calendar. For example, Oracle stopped commercial support for JDK 8 in 2022, while Azul will support it until the end of 2030.

Managing Projects

Gradle or Maven

Maven

sdk install maven

Maven – Introduction

  • reduce details needed for build process
  • provide a uniform build system
  • Standardize project definitions
  • encourage better development practices

pom.xml → Project Object Model

Gradle

sdk install gradle
mkdir project
cd project
gradle init

Gradle | Gradle vs Maven Comparison

  • flexible
  • reduce build time
  • improve user experience
  • support more complex dependency rules for composite builds

Build time savings is through incremental builds, so maybe worse numbers in CI context? #question


Added to vault 2024-01-15. Updated on 2024-02-05