Java Fundamentals
Java is a general-purpose programming language and platform for building applications. You write Java source code, compile it into class files, and run it on a Java Virtual Machine.
itProgramming languages | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic - Java Fundamentals
Java is both a programming language and a platform. You write source files in the Java language. The compiler turns them into class files. A Java Virtual Machine (JVM) runs those class files.
That separation is the central mental model. Source code expresses your program. Bytecode is the compiled form. The JVM supplies the runtime that loads classes, executes code, and manages memory. The Java Development Kit (JDK) includes the compiler, launcher, and development tools. Java SE is the standard platform for general-purpose computing, with APIs organized into modules such as java.base.
A program is organized into types. A class holds state and behavior. A method holds executable behavior. The launcher starts a class with a suitable main method. Compile with javac and run with java, even when an IDE performs both for you. Keep those steps distinct when diagnosing classpath or version problems.
Every variable and expression has a type. Primitive types represent simple values such as integers, floating-point values, booleans, and characters. Reference types refer to objects, arrays, interfaces, enums, records, and other class instances. An object combines state and behavior. Constructors initialize new objects. Use a class when data and the operations on that data form one useful unit.
Null applies to references, not primitives. Equality needs care: == compares reference identity, while equals compares value when defined. Class files carry a version the runtime must support; upgrading the compiler without the matching JVM produces UnsupportedClassVersionError.
Read the Intro for the platform model and first program. Use the Cheatsheet when you need the type and tool maps. Updates tracks Oracle's Java SE Support Roadmap for which JDK lines remain supported.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://dev.java/learn/
Supports
- First Java application, JShell, and language-basics learning path
- Classes, objects, interfaces, packages, inheritance, generics, and exceptions
- Collections, streams, I/O, JDK tools, JVM monitoring, and troubleshooting learning paths
- https://docs.oracle.com/en/java/javase/25/docs/specs/index.html
Supports
- Java Language Specification, Java Virtual Machine Specification, API, and tool specifications
- Java SE 25 and JDK 25 specification snapshot
- https://docs.oracle.com/en/java/javase/25/docs/api/index.html
Supports
- Java SE APIs in modules whose names start with java
- JDK-specific APIs in modules whose names start with jdk
- java.base as foundational Java SE APIs
- https://docs.oracle.com/en/java/javase/25/docs/specs/man/javac.html
Supports
- javac reading Java declarations and compiling them into class files
- Compiler options, source layout, packages, modules, annotation processing, and release targeting
- https://github.com/uhub/awesome-java
Supports
- Curated Java ecosystem entries for Apache Maven, Checkstyle, and Testcontainers for Java
- Ecosystem-link discovery only; official project sites are used as learner destinations
