Avian VS JDK

Compare Avian vs JDK and see what are their differences.

Avian

[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications. (by ReadyTalk)

JDK

JDK main-line development https://openjdk.org/projects/jdk (by openjdk)
InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Avian JDK
2 195
1,217 19,342
0.2% 1.7%
0.0 10.0
over 3 years ago 2 days ago
C++ Java
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Avian

Posts with mentions or reviews of Avian. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-12.
  • Nintendo 64 Java
    3 projects | news.ycombinator.com | 12 Jan 2023
    There's been plenty but they've fallen aside for various reasons.

    - GCJ (iirc only pre 1.5-1.6 java support so never with generic versions, not sure if they ever implented JNI but relied on their own so libraries with native bindings had to be manually ported iirc)

    - Excelsior JET was a strong option for a long time on desktops up until 2018, main selling point was resistance to decompilation but not sure if they ran afoul of Oracle licensing or couldn't keep up with the accelerated pace of JDK releases in later years.

    (The below were options to various degrees for iOS developers)

    - Avian VM ( https://readytalk.github.io/avian/ ), opensource and seems to be up but never really saw an uptake or proper debug tooling iirc, seems inactive by now.

    - Robo VM was another strong option with strong support for IDE debuggers,etc since it was used by gamedevs and the initial libgdx author was involved in it. Sadly they were sold out to Xamarin shortly before MS bought out Xamarin and then promptly shut down since MS only had interest in Xamarin for their C# iOS/Android toolkits.

    - RoboVM forks, luckily RoboVM core was liberally licensed so forks were possible for those working on mobile games with iOS ports even if the tooling wasn't as slick as the official RoboVM project (No idea if any of the open source variants have caught up, it was a bit chaotic initially with many forks).

    - Intel had(have?) some AOT compiler for Java that was an option for libgdx developers for a while but RoboVM being more "native" had more eyes and no idea if Intel really had a business case for it's Java things ? (

    (Funnily enough, I was actually doing an AOT one during late uni times to write a thesis on game GC's (and hoping to maybe commercialize), then Oracle bought out Sun and I wrote a JS AOT prototype instead. Hearing of Oracle vs Goog it felt sane but Oracle did showcase RoboVM later on so maybe it was silly)

  • Options for targeting ios with Java
    4 projects | /r/java | 4 Dec 2022
    Avian

JDK

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 2024-08-20.
  • Zed AI
    10 projects | news.ycombinator.com | 20 Aug 2024
    This comment is not correct. Java uses mixed Latin1/UTF-16 strings. The Latin1 mode is for compact storage of alphanumeric text as the name suggests, but comes at a cost of dispatch to determine the encoding when selecting subsequent handling of indexing and other operations: https://github.com/openjdk/jdk/blob/1ebf2cf639300728ffc02478...
  • Microsoft charged with EU antitrust violations for bundling Teams
    4 projects | news.ycombinator.com | 25 Jun 2024
    The MAX_PATH limit is annoying legacy backwards compatible stuff, but can be avoided by prefixing paths with \\?\ before passing them into the Windows API.

    This is something that languages/runtimes with more effort put into portability already handle for you:

    https://github.com/openjdk/jdk/blob/master/src/java.base/win...

    If Python doesn't do this it's just because the sort of people who write Python don't care about Windows enough to fix it.

  • Intel submitted OpenJDK PRs for supporting new 64 bit general purpose registers
    1 project | news.ycombinator.com | 2 May 2024
  • Show HN: I Built a Java IDE for iPad
    1 project | news.ycombinator.com | 30 Apr 2024
    I felt out of the loop, thinking that Zero VM was some kind of new distro for OpenJDK but chasing <https://packages.debian.org/sid/openjdk-22-jre-zero#:~:text=...> to <https://sources.debian.org/src/openjdk-11/11.0.23%2B9-1/debi...> lead me to https://github.com/openjdk/jdk/tree/jdk-22-ga/src/hotspot/cp...

    It seems that it's a specific CPU target for the Hotspot JIT for non-mainstream architectures (or for research purposes, as I saw mentioned once)

  • JEP draft: Exception handling in switch
    6 projects | news.ycombinator.com | 19 Apr 2024
  • Java 23: The New Features Are Officially Announced
    5 projects | news.ycombinator.com | 17 Apr 2024
    Completely gutted from the OpenJDK, last I checked. See here for the culprit PR: https://github.com/openjdk/jdk/pull/18688
  • macOS 14.4 might break Java on your machine
    4 projects | news.ycombinator.com | 18 Mar 2024
    > Yes, they're changing one aspect of signal handler use to work around this problem. They're not stopping the use of signal handlers in general. Hotspot continues to use signals for efficiency in general. See https://github.com/openjdk/jdk/blob/9059727df135dc90311bd476...

    This whole thread is about SIGSEGV, and specifically their SIGSEGV handling. However, catching normal signals is not about efficiency.

    Some of their exception handling is still odd: There is no reason for a program that receives SIGILL to ever attempt continuing. But others is fine, like catching SIGFPE to just forward an exception to the calling code.

    (Sure, you could construct an argument to say that this is for efficiency if you considered the alternative to be implementing floating point in software so that all exceptions exist in user-space, but hardware floating point is the norm and such alternative would be wholly unreasonable.)

    > The wonderful thing about choosing not to care about facts is having whatever opinions you want.

    I appreciate the irony of you making such statement, proudly thinking that your opinion equals fact, and therefore any other opinion is not.

    This discussion is nothing but subjective opinion vs. subjective opinion. Facts are (hopefully, as I can only speak for myself) inputs to both our opinions, but no opinion about "good" or "bad", "nasty" or not can ever be objective. Objective code quality does not exist.

  • The Return of the Frame Pointers
    6 projects | news.ycombinator.com | 17 Mar 2024
    I remember talking to Brendan about the PreserveFramePointer patch during my first months at Netflix in 2015. As of JDK 21, unfortunately it is no longer a general purpose solution for the JVM, because it prevents a fast path being taken for stack thawing for virtual threads: https://github.com/openjdk/jdk/blob/d32ce65781c1d7815a69ceac...
  • JDK-8180450: secondary_super_cache does not scale well
    1 project | news.ycombinator.com | 14 Mar 2024
  • The One Billion Row Challenge
    10 projects | news.ycombinator.com | 3 Jan 2024

What are some alternatives?

When comparing Avian and JDK you can also consider the following projects:

OpenJ9 - Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.

Graal - GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀

ParparVM

aircraft - The A32NX & A380X Project are community driven open source projects to create free Airbus aircraft in Microsoft Flight Simulator that are as close to reality as possible.

jfx - JavaFX mainline development

OkHttp - Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

java_grinder - Compile Java byte-code to native CPU's.

steam-runtime - A runtime environment for Steam applications

Dragonwell8 - Alibaba Dragonwell8 JDK

kitten - A statically typed concatenative systems programming language.

SAP Machine - An OpenJDK release maintained and supported by SAP

intellij-community - IntelliJ IDEA Community Edition & IntelliJ Platform

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you konow that C++ is
the 6th most popular programming language
based on number of metions?