Java Notes
Java SE is the core Java platform. Jakarta EE, Spring Boot, JavaFX, and Java ME build on or serve specific application needs such as enterprise services, web APIs, desktop interfaces, and embedded devices.
Java is not one single product for every kind of application. Java SE is the core platform that every Java learner starts with. Other platforms and frameworks add tools for particular jobs, such as enterprise web systems, desktop interfaces, or small embedded devices.
Java SE: the foundation
Java SE (Standard Edition) provides the Java language, the JVM, and the standard libraries used by ordinary Java programs. Collections, files, networking, dates, concurrency, JDBC, exceptions, and basic input/output are all part of Java SE.
Every program in the early part of this course is Java SE code.
Try it in WoHoCode
Edit the program, then run it here.
Run this example to see its output.
List and LocalDate are standard Java SE classes. The program needs no web server or additional framework.
Java platforms and related technologies
| Platform or technology | Main purpose | Use it when |
|---|---|---|
| Java SE | Core language, JVM, and standard libraries | You are learning Java, making a command-line tool, or building the foundation of any Java application. |
| Jakarta EE | Standard enterprise APIs for web, persistence, messaging, and services | Your organisation uses a Jakarta EE application server or its specifications. |
| Spring / Spring Boot | Popular framework ecosystem for web APIs and business applications | You want to build modern Java backend services with convention-based configuration. |
| JavaFX | Desktop UI toolkit | You need windows, forms, buttons, tables, charts, or desktop visualisation. |
| Java ME | Java platform for constrained devices | You maintain compatible legacy or embedded-device software. |
The important relationship is simple: Java SE comes first. Jakarta EE, Spring Boot, and JavaFX use Java code and run on a Java runtime; they do not replace the Java language or the JVM.
Java EE and Jakarta EE
Older tutorials often say Java EE (Enterprise Edition). The platform moved to the Eclipse Foundation and the current name is Jakarta EE.
You may see both package names in real projects:
| Older Java EE namespace | Current Jakarta EE namespace |
|---|---|
javax.servlet.http.HttpServlet | jakarta.servlet.http.HttpServlet |
javax.persistence.Entity | jakarta.persistence.Entity |
Do not rename javax to jakarta blindly. A project's framework version, server, and dependencies decide which namespace is valid. Changing the import is part of a migration, not a cosmetic edit.
Jakarta EE and Spring Boot are not the same thing
Both are used for server-side Java applications, but they solve the problem differently.
| Jakarta EE | Spring Boot |
|---|---|
| A set of enterprise Java specifications and APIs. | A framework built around the Spring ecosystem. |
| Common with Jakarta-compatible application servers. | Common for standalone services that package and start their own server. |
| Uses standards such as Jakarta Servlet, JPA, and CDI. | Uses Spring MVC, Spring Data, Spring Security, and Spring's dependency injection. |
You do not need to choose one while learning basic Java. First learn classes, methods, collections, exceptions, and file handling. Those skills transfer to either ecosystem.
JavaFX for desktop applications
JavaFX supplies controls and tools for desktop graphical user interfaces: buttons, text fields, tables, menus, charts, media, and layouts. It is useful for a desktop inventory app, an educational tool, or an internal business interface.
JavaFX is not included automatically in every current JDK distribution. A project usually adds the OpenJFX dependency and configures its build tool. Therefore, learn console programs and core Java first; later, JavaFX becomes a UI layer on top of concepts you already know.
Java ME: a specialised platform
Java ME (Micro Edition) was designed for devices with limited memory, storage, and processing power. It was historically important for older mobile phones and embedded devices.
It is not the normal starting point for Android development or modern backend work. Use it only when a project specifically targets a compatible embedded or legacy environment.
Choose the right starting point
| Project requirement | Recommended starting point |
|---|---|
| Learn the Java language or make a console utility | Java SE |
| Build a REST API for a product | Java SE + Spring Boot, or Jakarta EE when required by the organisation |
| Work on an existing enterprise application server project | The project's Jakarta EE stack and its documented version |
| Build a desktop form with buttons and tables | Java SE + JavaFX |
| Maintain a constrained-device Java application | Check its Java ME profile and device compatibility first |
What to remember
- Java SE is the base platform and the correct starting point for this course.
- Java EE is the historical name; Jakarta EE is the current name.
- Spring Boot is a framework ecosystem, not a Java edition.
- JavaFX provides desktop UI tools and runs with Java.
- Java ME is specialised for constrained or legacy device environments.
Continue the lesson path