Coding Conventions
- Java Code Style Guidelines - cornell
- Java Code Conventions - sun
- Java Style Guide - google
- Secure Coding Guidelines - oracle
- Checkstyle
Tutorials
- Java Programming - wikibooks
- Official Tutorial - oracle (history)
- Java Tutorials - jakob jenkov
Guides
- Annotations
- Collections
- Debugger - jdb
- Java 2D
- jshell - [user guide] [man page] [module summary]
- javadoc - [how to write] [technotes]
- javac - [hacker’s guide]
Build Tools
- javac - online man page
- Eclipse Compiler for Java (ECJ) - coder lounge
- Using the batch compiler - eclipse docs
- Eclipse JDT Core - github
- Apache Ant - online docs
Testing
- Programming With Assertions - oracle
- ArchUnit
- JUnit 5
- JUnit 4
- maven repo
- junit-4.13.2 - last in 4.x series
- TestNG
- maven repo
- testng-7.5.1 - last jdk8 compatible
JVM
-
JVMs
- GraalVM - openjdk
- Java VM Architecture Explained - freecodecamp
- Java VM Guide - oracle
- Java SE VM Specifications - oracle
- OpenJ9 - eclipse
-
Benchmark Suite
-
Monitor
Database
-
Apache Derby - full-featured, open source relational database management system (RDBMS) that is based on Java technology and SQL.
Derby is written and implemented completely in the Java programming language. Derby provides users with a small-footprint standards-based database engine that can be tightly embedded into any Java based solution. Derby ensures data integrity and provides sophisticated transaction support. In the default configuration there is no separate database server to be installed or maintained by the end user.
The on-disk database format used by Derby is portable and platform-independent. You can move Derby databases from machine to machine without needing to modify the data. A Derby application can include a pre-built, populated database if it needs to, and that database will work in any Derby configuration.
Web
- Jetty - full-featured, standards based, open source web server and servlet container, providing support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and other integrations. It's asynchronous, embeddable, extensible, and has a small footprint.
GUI
JDK 1.0
JDK 1.1
JDK 1.2
JDK 1.3
JDK 1.4
JDK 5
JDK 6
JDK 7 (LTS - 07/2022)
- API Documentation (.chm: tutorial; api docs)
- Developer Guides
- Features
- Language Spec - 2013
JDK 8 (LTS - 12/2030)
JDK 9
- Features
- ahead-of-time compilation (using graal backend)
- compile for old platform versions
- convenience factory methods for collections
- disable sha-1 certificates
- gtk 3 on linux
- hidpi graphics on windows and linux
- jlink
- jshell (tutorial)
- milling project coin
- module system
- modular java application packaging
- modular jdk
- multi-release jar files
- platform specific desktop features
- sha-3 hash algorithms
- tiff image i/o
- unicode 8.0