Contents:
Resources #
Core functionality #
- Guava;
- Vavr: persistent collections, Scala-inspired;
- PCollections: persistent collections;
SQL libraries #
- Hibernate: ORM, and I hate ORMs;
- JDBI: light layer on top of JDBC, string-based queries;
- jOOQ: type safe SQL, alternative to Hibernate;
Database migrations #
Frameworks #
- Dropwizard;
- Quarkus: built for compatibility with GraalVM’s native image;
- Spring Boot (see the initializer);
Tools #
Setup #
SDKMan! #
Install:
https://sdkman.io/install
To list available Java SDKs:
sdk list java
To install:
# OpenJDK
sdk install java 11.0.2-open
# GraalVM
sdk install 22.2.r17-grl
# Oracle
sdk install 17.0.4-oracle
After the installation of GraalVM, add this to .zshrc
:
export GRAALVM_HOME=$HOME/.sdkman/candidates/java/22.2.r17-grl/
Also install the native-image
:
${GRAALVM_HOME}/bin/gu install native-image
OpenJDK Builds #
Noteworthy:
- Eclipse Temurin: the old AdoptOpenJDK;
- IBM Semeru: these are the new OpenJ9 builds;
- jdk.java.net: reference OpenJDK builds;
Also see: JDK distributions.
Resources / Links #
- New Developer Friendly Features After Java 8 — Piotr Mińkowski;
- New language features since Java 8 to 18 — Dávid Csákvári;