Java
Links
- Source code from the third edition of Effective Java, with minor additions as necessary to make it runnable
- HN: “No, we’re telling everyone we are using Java” (2019)
- IT runs on Java 8 (2019) (HN)
- Java on iOS, for real (2019)
- Google Java Style Guide
- Quarkus - Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted from the best of breed Java libraries and standards.
- async-profiler - Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events.
- The Algorithms - Java - All Algorithms implemented in Java.
- mx - Command-line tool used for the development of Graal projects.
- JVM written in Rust
- Maxine VM - Metacircular VM for Java in Java.
- JNI Cookbook
- Java Objects Inside Out
- Java records demystified (2020)
- State of Loom (2020) (HN)
- Java 15 in 2020: Reasons to not use Java?
- How to write a (toy) JVM (2020) (HN)
- Awk-JVM - Toy JVM in Awk. (HN)
- Implementing a Simple JVM in Rust by Ben Evans (2019)
- Performance of Modern Java on Data-Heavy Workloads (2020) (HN)
- TornadoVM: Accelerating Java with GPUs and FPGAs (2020) (HN)
- Notebooks on Java
- Writing Java With a Dash of Functional Programming (2018)
- Write Once, Build Anywhere (2020) - Cross-compiling self-contained Java desktop application launchers.
- Greatest Java apps (2020) (HN)
- How to learn idiomatic Java in 2020?
- Circumventing the JVM's bytecode verifier (2019) (HN)
- Java Turns 25 – Whats Next? (2020) (HN)
- Please Test Your Memory - My JVM keeps crashing in GC, must be a GC bug. (Lobsters)
- Modern Java/JVM Build Practices
- A Complete Introduction to Java EE (2020)
- JDConf - Connecting Java Developers.
- Java Concurrency - Basics of Threads (2020) (HN)
- Graphics for JVM (2020) (HN)
- Useful Java links
- Java is better than C++ for high speed trading systems (2020) (HN)
- sbt-assembly - sbt plugin to deploy fat JARs with all of its dependencies. Restart processes.
- Jib - Build container images for your Java applications. (Article)
- Live Programming with the GraalVM, the LSP, and VS Code (2020)
- Recaf - Modern Java bytecode editor. (Code)
- Java Concurrency in Practice
- Java on Truffle – Going Fully Metacircular (2021) (HN)
- Writing C code in Java/Clojure: GraalVM specific programming (2021)
- Distribution of JVM Desktop Applications (2021) (HN)
- jabba - Java Version Manager.
- Choosing Java instead of C++ for low-latency systems (2021) (HN)
- Java 16 (2021) (HN)
- The Modern Java Platform – 2021 Edition (HN)
- ZGC – What's new in JDK 16 (2021) (HN)
- A categorized list of all Java and JVM features since JDK 8 to 16 (2021) (HN)
- jbang - Run java as scripts anywhere. (Web)
- Java Is Underhyped (2021) (HN)
- Multi-Tier Compilation in GraalVM (2021)
- JDK - Open-source reference implementations of Java. (Web) (GitHub)
- Java: Automated API Testing with REST Assured (2021)
- Java's records, Lombok's data, and Kotlin's data classes (2021) (HN)
- How I Hacked Google App Engine: Anatomy of a Java Bytecode Exploit (2021)
- Teeing, a hidden gem in the Java API (2021) (HN)
- Why use Java instead of Kotlin? (2021) (HN)
- Quest to the OS: Java Native Memory (2021) (Lobsters)
- Networking I/O with Virtual Threads – Under the hood (2021) (HN)
- GraalVM at Facebook (2021) (HN)
- Thread Pools on the JVM (HN)
- JVM Anatomy Quarks
- jgo - Launch Java code from the CLI, installation-free.
- jas - JVM bytecode assembler.
- Java Champions
- Well-Typed Programs Can Go Wrong: A Study of Typing-Related Bugs in JVM Compilers (2021)
- Deep Dive Into Hello World In Java (2021)
- Inside Java - News and views from members of the Java team at Oracle.
- HN: Java 17 / JDK 17: General Availability (2021)
- Shenandoah in OpenJDK 17: Sub-millisecond GC pauses (2021) (HN)
- Revisiting Java in 2021 (HN)
- Amazon Corretto - Production-ready distribution of OpenJDK. (Docs)
- Amazon Corretto, A Journey into Latency Reduction (2021)
- JPype - Cross language bridge to allow python programs full access to java class libraries.
- Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors Book (Notes)
- A Tour of the Modern Java Platform (2021)
- Faster Maven Builds (2021) (HN)
- SimpleLanguage - Simple example language built using the Truffle API for GraalVM. (Docs)
- jni-bindgen - Generate Rust JVM FFI wrappers around APIs defined by .jar or .class files.
- Gradle Shadow - Gradle plugin for creating fat/uber JARs with support for package relocation.
- Which Version of JDK Should I Use? (HN)
- New language features since Java 8 to 17 (2021) (HN)
- Rock the JVM Blog
- TornadoVM - Plug-in to OpenJDK and GraalVM that allows programmers to automatically run Java programs on heterogeneous hardware. (Web)
- Jython - Python for the Java Platform. (Web)
- JavaParser - Set of libraries implementing a Java 1.0 - Java 15 Parser with advanced analysis functionalities. (Web)
- Java Virtual Threads Preview (2021) (HN)
- Bytecoder - Framework to interpret and transpile JVM bytecode to JavaScript, OpenCL or WebAssembly.
- Optimizing Java: Practical Techniques for Improving JVM Application Performance (2018)
- Java and Scala’s type systems are unsound (2016) (HN)
- A tale of Java Hash Tables (2021) (HN)
- Serverless for Java: Key-Value Store as a Service (KVSaaS) (2021)
- Implementing a non-blocking I/O server (2021)
- GC Progress from Java 8 to 17 (2021) (HN)
- GraalVM Demos
- yvm - Low performance garbage-collectable JVM.
- fbjni - Library designed to simplify the usage of the Java Native Interface.
- miniJVM - Develop iOS Android app in java, Cross platform java virtual machine.
- Uber JVM Profiler - JVM Profiler Sending Metrics to Kafka, Console Output or Custom Reporter.
- JDeploy - Deploy desktop Java apps as native bundles on Mac, Linux, and Windows. (HN) (Code)
- Type You An Actor Runtime For Greater Good! (with Java 17, records, switch expressions and JBang) (2022)
- The JDK Flight Recorder File Format (2022)
- Inside JVM debug symbols (2022)
- Java Development on an Apple M1 – A One Year Review (2022) (HN)
- JEP 419: Foreign Function and Memory API (HN)
- Ask HN: What is a modern Java environment? (2022)
- JEP 425: Virtual Threads (Preview) (Lobsters)
- rules_graal - Turn a JVM binary into a native binary.
- GraalVM 22.1: Developer experience improvements, Apple Silicon builds, and more (2022) (HN)
- Saga of the Parametric VM (2020)
- Go's Concurrency Examples in Java 19 (2022) (HN)
- Using Java's Project Loom to build more reliable distributed systems (2022) (HN)
- Wasmer Java - WebAssembly runtime for Java.
- Speeding Up Java Date Formatting With Code Generation (2022)
- Justin Blank's Notebooks
- Java record pattern matching in JDK 19 (HN)
- A friendlier visualization of Java's JIT compiler based on control flow (2022)
- JASM - JVM assembler for the modern age.
- On Java/JVM: Loom and Thread Fairness (2022) (HN)
- jlink.online - Build optimized Java runtimes in your browser.
- Krakatau - Java decompiler, assembler, and disassembler.
- SIMD accelerated sorting in Java – how it works and why it was 3x faster (2022) (HN)
- What I miss in Java, the perspective of a Kotlin developer (2022) (HN)
- hprof-slurp - JVM heap dump analyzer.
- Java rules for Bazel
- Virtual Threads: New Foundations for High-Scale Java Applications (2022) (HN) (Lobsters)
- Bazel Build System Introduction for Java (2022)
- Java Virtual Machine written in Rust
- Ask HN: Why do startups avoid Java? (2022)
- Structured concurrency in Java with Loom (2022)
- Why we picked Java (2022) (HN)
- What should I know about garbage collection as a Java developer? (2023) (HN)
- JVM Field Guide: Memory (2023)
- Writing a Profiler in 240 lines of pure Java (2023) (HN)
- Ka-Pi - JVM Bytecode Manipulation Framework inspired by ASM.
- I have written a JVM in Rust (2023) (Lobsters) (HN)
- RJVM - Tiny JVM written in Rust.
- Jacobin - More-than-minimal JVM written in Go. (HN)