JDK main-line development (by openjdk)

JDK Alternatives

Similar projects and alternatives to JDK

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better JDK alternative or higher similarity.

Suggest an alternative to JDK

Reviews and mentions

Posts with mentions or reviews of JDK. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-05.
  • What is the complexity of contains method of HashSet?
    1 project | reddit.com/r/java | 7 Dec 2021
    Not terribly relevant but it is worth noting that HashSet is implemented using an HashMap: https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/HashSet.java
  • Java is the best
    2 projects | reddit.com/r/ProgrammerHumor | 5 Dec 2021
  • panama/foreign status update
    2 projects | reddit.com/r/java | 4 Dec 2021
    It has apparently been fixed: https://github.com/openjdk/jdk/pull/2045
  • Shouldn't have happened: A vulnerability postmortem
    11 projects | news.ycombinator.com | 1 Dec 2021
    I think you're making my point for me, no? Your arguments are all variants on "I don't understand modern Java and prefer to keep writing buffer overflows than finding out".

    To answer your questions:

    1. Java is these days like UNIX, there are lots of compatible "distros". OpenJDK is the upstream on which most of them are based. You can just use that unless you have some particular preference for the other vendors.

    2. You don't need to install Java alongside your app. The JVMs is just a library and a few data files. You can easily bundle it with your app and the user will never know.

    3. JCA/JSSE is built in to Java so there's nothing to build. Additionally you don't have to build Java libraries to use them anyway, because binary distribution works so everyone just distributes binary JAR files.

    4. The source code is spread around several modules because JCA is pluggable. But for example a lot of the crypto code is found here:


    5. Oracle maintains it. It's released under the GPL with Classpath exception license. They aren't going to come after you for using it - there are 12 million Java developers in the world. The only company that has ever got sued is Google and that's because they violated the (at the time non open source) license of Java to make a mobile version that wasn't from Sun. Since then Java became fully open source and this no longer applies, and it'd have never applied to normal users of it anyway.

    I'm not trying to convince you here of anything, only to point out that everyone saying "there was no alternative" is just wrong. The failure mode here is not sufficiently advanced fuzzers. The failure is that there has been an alternative to NSS for years but C++ shops like Mozilla keep maintaining crappy decades old C libraries with memcpy calls all over the place, because they know and like C. That's it. That's all it boils down to.

  • Differences between jdk versions and source code.
    1 project | reddit.com/r/java | 17 Nov 2021
    For the record, it appears the change came from: https://github.com/openjdk/jdk/commit/127c4a4e1b790ee74fde76fc89a981f6d9271c86
  • How to choose the best Java garbage collector
    1 project | reddit.com/r/java | 11 Nov 2021
    Lol no. https://github.com/openjdk/jdk/blob/master/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp
  • No more AOT and Graal in Oracle OpenJDK;
    1 project | reddit.com/r/java | 31 Oct 2021
  • Could Java libraries/frameworks come with AOT-hints?
    1 project | reddit.com/r/java | 23 Oct 2021
    Would it really be a big deal if the compile time went from 20 to 5 minutes? Wouldn't you still need a way to compile your program with hints ignored? Those hints actually exist in hotspot (https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/jdk/internal/vm/annotation/ForceInline.java) but are unfortunately internal
  • Proposed to target JDK 18: JEP 416: Reimplement Core Reflection with Method Handles
    1 project | reddit.com/r/java | 19 Oct 2021
    https://github.com/openjdk/jdk/pull/5027 is the PR for implementing the JEP.
  • Overhead of Returning Optional Values in Java and Rust
    2 projects | reddit.com/r/programming | 18 Oct 2021
  • Best allocating method for my needs?
    3 projects | reddit.com/r/cpp_questions | 16 Oct 2021
    Maybe you can look into how other fast VMs are storing their objects, e.g. JVM and V8.
  • Example Of A Java Program From A Working Developer?
    5 projects | reddit.com/r/learnjava | 27 Sep 2021
    Java itself is one good Java application and strictly adheres to Oracle's (of course) code conventions.
  • How to get the length of a String without using any method?
    1 project | reddit.com/r/learnjava | 26 Sep 2021
    The git repo for the JDK can be found here: https://github.com/openjdk/jdk (look in the /src subfolder for all the source code)
  • Reassessing TestNG vs. Junit
    6 projects | reddit.com/r/java | 20 Sep 2021
    Looking at OpenJDK's Vector testing and it seems to have a lot of duplication. A powerful feature of TestNG/JUnit5 is that you can control the data provider by inspecting the method's metadata and attach listeners to perform common validation. Caffeine runs millions of test cases by using an @CacheSpec annotation, providing the data param and a context object (example, and a cross-test validation listener. The specification constraint runs the test for every configuration, OpenJDK has a custom codegen template which loses all tooling support. From a brief glance through your usages, I believe you could get a much better QoL by using some of the advanced techniques in either framework.
  • Revisiting Java in 2021 – Part II
    3 projects | news.ycombinator.com | 19 Sep 2021
    It's GPL 2, with an exception which lets you distribute binaries containing your own code linked to the JDK without having to provide the source to your own code (see '"CLASSPATH" EXCEPTION TO THE GPL' at the end):


    This is substantially the same as the GCC Runtime Library Exception, which lets you distribute GCC-compiled binaries linked to the GCC runtime without having to provide the source.

    That's it.


Basic JDK repo stats
about 13 hours ago

openjdk/jdk is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Find remote Java jobs at our new job board 99remotejobs.com. There are 2 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.