OpenSourceTalent
JDK
Our great sponsors
OpenSourceTalent | JDK | |
---|---|---|
1 | 134 | |
97 | 14,909 | |
- | 2.1% | |
3.0 | 9.9 | |
8 months ago | 5 days ago | |
Java | ||
- | GNU General Public License v3.0 only |
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.
OpenSourceTalent
JDK
-
JDK 21 - Performance Improvements Revealed
In this case you have some binary data represented as a byte array and you want to treat it as an array of longs (or an array of any of the primitives.) SIMD here is over complicating it, as all you really need is to know what offset to use and if you need to re-interpret the bits. That's what the MethodHandles.byteArrayViewVarHandle is doing. In order to do this you need to use the Unsafe class. The code for all of this is generated from this template if you're interested.
It's just using a simple pre-processor called SPP. The source code for it is here.
- JEP draft: No longer require super() and this() to appear first in a constructor
-
JavaDoc may support Markdown !
There is a PR to support Markdown in JavaDoc. https://github.com/openjdk/jdk/pull/11701
-
OpenJDK Proposes Project Galahad to Merge GraalVM Native Compilation
I think the entirety of Hotspot is written in C++ [0]? The standard library in the JDK is mostly written in Java, but the VM itself with the GC and JIT code is in C++, which makes sense as the GC would have to collect itself.
If you do not count the standard library as part of the JVM (but part of the JDK), then the JVM is written mostly in C++.
To add to your question, assuming the tooling at github is ok, it has ~20% as c/c++ for https://github.com/openjdk/jdk. I would think most of that would be concentrated in the hotspot code, but I don't know. Would be delighted to know what the original post was referring to.
- In Java, how do static arrays of Strings work? Strings are arrays of characters, so when the array of Strings is initialized with a given size, how does Java know how much memory to allocate?
- NSA Cybersecurity Information Sheet remarks on C and C++.
-
How does jvm deal with syscalls
It has code that gets compiled dependent on what OS and CPU it's targeting. See https://github.com/openjdk/jdk/tree/master/src/java.base for example. There are different directories for the different supported OSes.
-
JDK 20 will introduce float16 conversion methods
Exactly so, there are a bunch of Java interfaces to native ML libraries that have some messy bit hacking to convert between fp16 and Java floats. This API along with the intrinsification (https://github.com/openjdk/jdk/pull/10500) will mean I can throw away that code and replace it with something that performs correctly and is much faster.
What are some alternatives?
Graal - GraalVM: Run Programs Faster Anywhere :rocket:
a32nx - The A32NX Project is a community driven open source project to create a free Airbus A320neo in Microsoft Flight Simulator that is as close to reality as possible.
steam-runtime - A runtime environment for Steam applications
OkHttp - Square’s meticulous HTTP client for the JVM, Android, and GraalVM.
intellij-community - IntelliJ IDEA Community Edition & IntelliJ Platform
Caffeine - A high performance caching library for Java
imagepipe - Image processing pipeline
V8 - The official mirror of the V8 Git repository
kitten - A statically typed concatenative systems programming language.
qbicc - Experimental static compiler for Java programs.
Kotest - Powerful, elegant and flexible test framework for Kotlin with additional assertions, property testing and data driven testing
Spring Boot - Spring Boot