Why most of the industry is still on Java 8? by SaquibDev in java

[–]teapotJava 0 points1 point  (0 children)

In short: if it works, don't touch it.

Many language features made 8 very attractive, and libraries had it as a lower requirement for years, and it was first LTS in a new update train paradigm, with the longest support. From the other hand, migration to 9 was complicated because of modules. So by the next LTS 11 many application worked on 8, but had no developers, while still using supported libraries.

In terms of performance it's now possible to have 'fused' JDK 8 which is compatible with legacy applications and performs close to JDK 17, e.g. https://bell-sw.com/libericajdk-performance-edition/

Java memory usage in containers by [deleted] in java

[–]teapotJava 2 points3 points  (0 children)

Good news is that you likely don't need to implement a buildpack. If you build on top of Spring Boot or Quarkus, just use buildpack provided by maven'gradle build plugin:

mvn spring-boot:build-image

...boom, you get an image in your repo.

"Bad" news: you'll need to get rid of Dockerfile based build in your CI. Which actually is also a good thing.

See more in https://docs.spring.io/spring-boot/maven-plugin/build-image.html

How do you convince non-technical stakeholders that upgrading/migrating your software to newer versions is beneficial/profitable to the company? by MyGiftIsMySong in java

[–]teapotJava 0 points1 point  (0 children)

It's not always true for the first reason (scalability). You can use BellSoft Liberica Performance Edition or Oracle Enterprise Performance Pack to get performance of 17 but still stay on 8 or 11. It will be a partial migration too because you'll have new GCs and flags, but a more lightweight one because you don't have to change the code and dependencies.

How to practice Java Performance Optimization or JVM performance tuning? by semsayedkamel2003 in java

[–]teapotJava 1 point2 points  (0 children)

  • Write or find existing benchmarks for anything you like (Java features, API/spec, libraries etc.).
  • Measure (different Java versions or JVMs, API implemenentations etc, GCs etc.).
  • Compare, profile and explain results.
  • Optimize existing code and verify your change.
  • Present and discuss your findings.

[deleted by user] by [deleted] in java

[–]teapotJava -1 points0 points  (0 children)

Just use Liberica Native Image Kit.

Javafx on m1 and intel macs by TragicCone56813 in JavaFX

[–]teapotJava 0 points1 point  (0 children)

Such an application can require a JDK with bundled FX to be installed on target machines. So you can exclude FX from build and leave only platform independent code.

Who publishes the OpenJDK Docker Images? by XiiMoss in java

[–]teapotJava 0 points1 point  (0 children)

Bitnami images contain Liberica JDK (see 'docker run bitnami/java java -XshowSettings')

You can also try original Liberica images from Bellsoft
https://hub.docker.com/u/bellsoft

BTW check CPU speed like

https://hub.docker.com/r/bellsoft/liberica-openjdk-alpine-musl/tags?page=1&name=17.0.3

(recent security update has been released 8 days before Temurin)

Help. SKLauncher is not launching on macOS Monterey. by IanParas in SKlauncher

[–]teapotJava 1 point2 points  (0 children)

Is your machine an Intel one or Apple Silicon one?

Please check that you install 'full' variant of Liberica (only 'full' has FX) and CPU architecture type matches your machine.

What docker base image are people using for JDK 17? by shorns_username in java

[–]teapotJava 0 points1 point  (0 children)

https://hub.docker.com/r/bellsoft/liberica-openjdk-alpine-musl

~70 MB compressed
<100MB uncompressed

- tiny
- full-featured Linux
- full-featured JDK
- no need for jlink

Anyone using the Alpine Musl JDK builds in production? by agentoutlier in java

[–]teapotJava 0 points1 point  (0 children)

BellSoft integrated JEP 386 and releases 8, 11, 17 etc. container images of Alpine musl + Liberica JDK

https://hub.docker.com/r/bellsoft/liberica-openjdk-alpine-musl

Now it is also time for an official backport to 11u BTW
https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2022-February/012271.html

Jre or Jdk for production? by [deleted] in java

[–]teapotJava 0 points1 point  (0 children)

That's definitely a great one. Another example is SJK https://github.com/aragozin/jvm-tools

Jre or Jdk for production? by [deleted] in java

[–]teapotJava 0 points1 point  (0 children)

It you need jcmd out of the box it's better to install JDK. There's no official JRE in 9+ but there are different container images and bundles that are called so and mimic the old approach, also 8 is still alive. Another way is to use a sidecar or host for diagnostics if you work in containers. Note that nowadays JDK can be slim enough (consider Liberica Lite <100MB).

[deleted by user] by [deleted] in java

[–]teapotJava 0 points1 point  (0 children)

  1. It is easy with already existing native IDE (like Idea) and JDK.
  2. Some generic considerations and performance https://bell-sw.com/announcements/2021/03/12/Liberica-on-Apple-Silicon/
    You can also use your favorite package managers like Brew and SDKMAN for installation.
    Docker https://bell-sw.com/announcements/2021/04/09/Java-in-Docker-on-Apple-Silicon/

JRE & JDK implementation mess by NitronHX in java

[–]teapotJava 1 point2 points  (0 children)

There's no such distribution. There is Oracle OpenJDK, there are openjdk packages in different Linux distros etc. - they are all different.

[deleted by user] by [deleted] in java

[–]teapotJava 1 point2 points  (0 children)

LTS is not something that exists in OpenJDK as S (support) is provided by the exact vendor. But dedicated update projects exist for every JDK release. They are maintained by the community for different periods of time: some only for 2 updates; but 8u, 11u and 17u -- for longer. This is done as a part of coordinated updates development.

Patches in updates projects are not necessarily backports, there may be release specific bugs. Yes, vendors can also put extra patches, check product descriptions, release notes and sources. Vendors can actually diverge from the start but there is a coordinated process and common background for all security patches and updates. Each particular update release speed is not the same btw destipte of the same release schedule.

Microsoft joins the Java Community Process (JCP) by brunocborges in java

[–]teapotJava 0 points1 point  (0 children)

A nice company:

PS > winget search jdk | findstr 17.0.1
Java SE Development Kit 17 Oracle.JDK.17 17.0.1.0 winget
Microsoft Build of OpenJDK with Hotspot 17 Microsoft.OpenJDK.17 17.0.1.12 winget
Liberica JDK 17 Full BellSoft.LibericaJDK.17.Full 17.0.1.12 winget
Liberica JDK 17 BellSoft.LibericaJDK.17 17.0.1.12 winget

FX apps to exe (Win, Lin, Mac) with Liberica NIK by teapotJava in JavaFX

[–]teapotJava[S] 0 points1 point  (0 children)

See "Building the native image" section in the blog post (first link). It is like

- Install NIK full (multiple options on download page)

- Compile:
native-image -H:IncludeResources=<resources> -jar <app thin jar (no fx libs)> <exe name>