Hacker News with Generative AI: Java

One year after switching from Java to Go (glasskube.dev)
I always told people memory is cheap, black magic is OK and efficiency doesn't matter in most cases, but boy, how wrong was I...
Robocode (sourceforge.io)
Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java.
JEP draft: AOT cache command-line ergonomics (openjdk.org)
Make it easier to create an ahead-of-time cache (as defined by JEP 483) for a Java application, by simplifying the commands required by some common use cases.
JEP draft: 4-byte Object Headers (Experimental (openjdk.org)
Reduce the size of object headers in the HotSpot JVM from between 64 and 128 bits down to 32 bits on 64-bit architectures. This will reduce heap size, improve deployment density, and increase data locality.
Red Hat's Java middleware development team to be transferred to IBM (redhat.com)
Today, we’re sharing that Red Hat and IBM will join forces to secure the future of the Java application ecosystem for our customers.
Java: RedHat X IBM Annoucement (redhat.com)
Today, we’re sharing that Red Hat and IBM will join forces to secure the future of the Java application ecosystem for our customers.
A better (than Optional) maybe for Java (github.com/andrewcmyers)
An inplementation of the Option pattern for Java, improving on the builtin Optional class in various ways.
Java JIT Compiler and Runtime in Common Lisp (github.com/atgreen)
OpenLDK is a Just-In-Time (JIT) compiler and runtime environment for Java, implemented entirely in Common Lisp.
CheerpJ 3.1: JVM in WebAssembly (leaningtech.com)
In this post, we’ll provide an overview of CheerpJ, the capabilities of the current release, and our ambitious plans for the future of Java and OpenJDK on the browser.
Implementation of a RingBuffer in Java with optional FIFO like semantics (github.com/evolvedbinary)
Some extra Collection classes targetting Java 8.
OpenLDK: A Java JIT compiler and runtime in Common Lisp (github.com/atgreen)
OpenLDK is a Just-In-Time (JIT) compiler and runtime environment for Java, implemented entirely in Common Lisp.
KeyStore Explorer – OSS GUI replacement for Java utilities keytool and jarsigner (keystore-explorer.org)
KeyStore Explorer is an open source GUI replacement for the Java command-line utilities keytool and jarsigner.
Compiling Java into native binaries with Graal and Mill (mill-build.org)
One recent development is the ability to compile Java programs into self-contained native binaries. This provides more convenient single-file distributions, faster startup time, and lower memory footprint, at a cost of slower creation time and limitations around reflection and dynamic classloading. This article explores how you can get started building your Java program into a native binary, using the Mill build tool and the Graal native-image compiler, and how to think about the benefits and challenges of doing so.
How to compile Java into native binaries with Mill and Graal (mill-build.org)
One recent development is the ability to compile Java programs into self-contained native binaries. This provides more convenient single-file distributions, faster startup time, and lower memory footprint, at a cost of slower creation time and limitations around reflection and dynamic classloading. This article explores how you can get started building your Java program into a native binary, using the Mill build tool and the Graal native-image compiler, and how to think about the benefits and challenges of doing so.
Inheritance and Subtyping (frankel.ch)
Java is the first language I learned in my career. Its structure is foundational in my early years of understanding programming concepts. After going through several other languages with very different approaches, I’ve widened my point of view. Today, I want to reflect on the idea of inheritance.
Only 1 in 10 Oracle Java users want to stay with Big Red (theregister.com)
Only around one in ten Oracle Java customers are likely to stick around following costly licensing changes Big Red made to its development and runtime environments in January 2023, according to research.
Who is using Java (JVM) in startups? (ycombinator.com)
Java and JVM languages (Kotlin, Scala, Clojure...) are widely used in Big tech companies and traditional companies.
Datawave: Open source data fusion across structured and unstructured datasets (code.nsa.gov)
DataWave is a Java-based ingest and query framework that leverages Apache Accumulo to provide fast, secure access to your data.
Ada for the C++ or Java Developer – Concurrency (adacore.com)
Java and Ada both provide support for concurrency in the language. The C++ language has added a concurrency facility in its most recent revision, C++11, but we are assuming that most C++ programmers are not (yet) familiar with these new features. We thus provide the following mock API for C++ which is similar to the Java Thread class:
JUring: Experimental IO_uring for Java with Big Performance Gains (phoronix.com)
For those looking toward better I/O performance with Java, there is JUring for making use of IO_uring and the reported performance benefits are very enticing.
Show HN: JUring – Java bindings for io_uring file I/O (github.com/davidtos)
JUring is a high-performance Java library that provides bindings to Linux's io_uring asynchronous I/O interface using Java's Foreign Function & Memory API. Doing Random reads JUring achieves 33% better performance than Java NIO FileChannel operations for local files and 78% better performance for remote files.
Understanding JVM Garbage Collector Performance (mill-build.org)
Garbage collectors are a core part of many programming languages. While they generally work well, on occasion when they go wrong they can fail in very unintuitive ways. This article will discuss the fundamental design of how garbage collectors work, and tie it to real benchmarks of how GCs perform on the Java Virtual Machine.
A Deep Dive into JVM Start Up (inside.java)
Make sure to check the video description.
Swc4j: SWC for Java (github.com/caoccao)
swc4j (SWC for Java) is an ultra-fast JavaScript and TypeScript compilation and bundling tool on JVM.
How Java's Executable Assembly Jars Work (mill-build.org)
One feature of the Mill JVM build tool is that the assembly jars it creates are directly executable:
Java's SimpleDateFormat: YYYY vs. Yyyy (dangoldin.com)
This post would have been more appropriate a week ago when 2018 was coming to a close but better late than never. This is a friendly reminder that when formatting dates in Java’s SimpleDateFormat class there is a subtle difference between YYYY and yyyy.
So you want to write Java in Neovim (ptrtojoel.dev)
I have been doing Java in Neovim for quite a while at work, and it’s been a very pleasant experience. As Neovim usage grows (especially amongst the younger crowd), I want to share how I do it.
Mixin is a trait/mixin and bytecode weaving framework for Java using ASM (github.com/SpongePowered)
JRuby with JBang (rockyj-blogs.web.app)
Well, it is that wonderful time of the year where we are at home for a few days enjoying the company of our family and feasting on all kinds of tasty treats. So first of all I would like to wish you a Merry Christmas!
Ask HN: How does JetBrains protect their IDE Java source code? (ycombinator.com)
On linux, after I installed goland, I could see a lot of .jar file and .class file inside. I don't know, I can see all of the source code ?