Java is a high-level, general-purpose, memory-safe, object-oriented programming language. It is intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages. Wikipedia
Created Year: 1995Designed by: James Gosling • Sun Microsystems
Developed by: James Gosling • Oracle • Sun Microsystems
Named after: Java coffee
Aliases: java programming language
File extensions: class, jad, jar, java, jmod
Wikidata: Q251
Influenced: ActionScript • Ada • Apache Groovy • Ateji PX • Ballerina • BeanShell • Ceylon • Chapel • Common Intermediate Language • C# • D • Dart • Deesel • Dragon • E • Frege • Gambas • Gosu • Gremlin • Hack • Haxe • JavaFX Script • JavaScript • Join Java • JS++ • Karel++ • Kotlin • Mirah • Monkey X • OptimJ • PHP • Pnuts • Processing • Python • Qore • Scala • Seed7 • Swift • Tea • TypeScript • Vala • Whiley • X++ • X10
Influenced by: Ada • C • C++ • C# • Eiffel • Mesa • Modula-3 • Oberon • Object Pascal • Objective-C • Simula • Smalltalk • UCSD Pascal
Programming paradigms: class-based programming • component-based software engineering • concurrent object-oriented programming • functional programming • generic programming • imperative programming • object-oriented programming • reflective programming • structured programming
Language types: JVM language • multi-paradigm programming language
Java Influence Network
Pan and zoom the graph with your mouse or alternatively your fingers on touch devices.
Hello World in Java
public class Java {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
Free Java books, articles, documentation
- 3D Programming in Java - Daniel Selman (PDF)
- A Practical Introduction to Data Structures and Algorithm Analysis Third Edition (Java Version) - Clifford A. Shaffer (PDF)
- An Introduction to the USA Computing Olympiad, Java Edition - Darren Yao (PDF)
- Apache Jakarta Commons: Reusable Java Components - Will Iverson (PDF)
- Artificial Intelligence - Foundations of Computational Agents, Second Edition - David L. Poole, Alan K. Mackworth
- Building Back-End Web Apps with Java, JPA and JSF - Mircea Diaconescu, Gerd Wagner (HTML,PDF)
- Category wise tutorials - J2EE - Yong Mook Kim
- Core Servlets and JavaServer Pages, 2nd Ed. (2003) - Marty Hall, Larry Brown (:card_file_box: archived)
- Data Structures in Java for the Principled Programmer (2007) - Duane A. Bailey (PDF) (:card_file_box: archived)
- Effective Java, Third Edition - Joshua Bloch (PDF) (:card_file_box: archived)
- Essential Java - Krzysztof Kowalczyk, StackOverflow Contributors
- Google's Java Style Guide
- Hibernate Notes for Professionals - Compiled from StackOverflow Documentation (PDF)
- Introduction to Computer Science "booksite" - Robert Sedgewick, Kevin Wayne (HTML)
- Introduction to Computer science using Java - Bradley Kjell
- Introduction to Programming in Java - Robert Sedgewick, Kevin Wayne
- Introduction to Programming Using Java - David J. Eck (HTML, PDF, ePUB + exercises)
- Introduction to Programming Using Java (5th Edition - final version, 2010 Jun) - David J. Eck (HTML, PDF, ePUB + exercises)
- Java 23 - Key Concepts in Brief - Sergio Petrucci (PDF)
- Java Application Development on Linux (2005) - Carl Albing, Michael Schwarz (PDF)
- Java, Java, Java Object-Oriented Problem Solving - R. Morelli, R.Walde
- Java Language and Virtual Machine Specifications - James Gosling, et al.
- Java Notes for Professionals - Compiled from StackOverflow documentation (PDF)
- Java Programming - Wikibooks
- Java Programming for Kids - Yakov Fain
- Java Projects, Second Edition - Peter Verhas (Packt account required)
- Learn Java for FTC - Alan Smith (PDF)
- Learning Java Language - Compiled from StackOverflow Documentation (PDF)
- Microservices Best Practices for Java (PDF)
- Object-Oriented Programming in JavaTM Textbook - Rick Halterman (PDF per Chapter)
- OOP - Learn Object Oriented Thinking & Programming - Rudolf Pecinovsky (PDF)
- Open Data Structures (in Java) - Pat Morin (PDF)
- Playing with Java Microservices on Kubernetes and OpenShift - Nebrass Lamouchi (Leanpub account or valid email requested)
- Processing XML with Java (A Guide to SAX, DOM, JDOM, JAXP, and TrAX) (2002) - Elliotte Rusty Harold
- The Java EE6 Tutorial (PDF)
- The Java EE7 Tutorial - Eric Jendrock, et al. (PDF)
- The Java Tutorials
- The Java Web Scraping Handbook - Kevin Sahin (PDF, HTML)
- Think Data Structures: Algorithms and Information Retrieval in Java - Allen B. Downey (PDF, HTML)
- Think Java: How to Think Like a Computer Scientist, 2nd Edition - Allen B. Downey, Chris Mayfield (HTML, PDF) (Interactive version by Trinket)
- Think Java: How to Think Like a Computer Scientist - Allen B. Downey, Chris Mayfield (HTML, PDF) (Interactive version by Trinket)
- Using RxJava 2 Tutorial - Lars Vogel, Simon Scholz (HTML)
- Welcome to Java for Python Programmers - Brad Miller
- Welcome to the Java Workshop (2006) - Trevor Miller
- What’s New in Java 8 - Adam L. Davis
- Writing Advanced Applications for the Java 2 Platform - Calvin Austin, Monica Pawlan (PDF)
Codename One
- Codename One Developer Guide (PDF)
- Create an Uber Clone in 7 Days (first 2 chapters) - Shai Almog (PDF)
Java Reporting
Spring
- Building Applications with Spring 5 and Vue.js 2 - James J. Ye (Packt account required)
- Software Architecture with Spring 5.0 - René Enríquez, Alberto Salazar (Packt account required)
- Spring Framework Cookbook: Hot Recipes for Spring Framework - JCGs (Java Code Geeks) (PDF)
- Spring Framework Notes for Professionals - Compiled from StackOverflow documentation (PDF)
- Spring Framework Reference Documentation - Rod Johnson, et al.
Spring Boot
- Building modern Web Apps with Spring Boot and Vaadin - Vaadin (HTML)
- Spring Boot Reference Guide - Phillip Webb, et al. (PDF)
Spring Data
- Spring Data Reference - Oliver Gierke, Thomas Darimont, Christoph Strobl, Mark Paluch, Jay Bryant
Spring Security
- Spring Security Reference - Ben Alex, Luke Taylor, Rob Winch
Wicket
Search on GitHub
Name | Description | Last pushed to | Open issues | Forks | Stars | Size |
---|
Latest data update: 2025-06-21