
Learn Java through small programs you can run and check. Choose a guide for your next task: learning the language, building desktop tools, connecting data, operating services or working with devices. Desktop exercises use an explicit Java 25 baseline; mobile and Java Card guides identify their separate platform requirements. Explore Java history and platform lessons below for the ideas behind earlier products and devices.
Set up and learn

Java Development Setup: JDK, Editor and Reproducible Builds
Align command-line Java, the editor and Maven, verify a small project, and diagnose common runtime and compiler mismatches.

Java Tutorial: Build and Test a Study-Plan Calculator
Write a small Java command-line program, understand its inputs and output, and test normal and invalid cases.

Java Data Structures: Choose Lists, Sets, Maps and Queues
Choose collections by ordering, duplicates, lookup and update needs, then run a worked example and check common pitfalls.

Java References: Match Books and API Documentation to Your JDK
Choose useful Java references and verify API behavior with a versioned documentation lookup and a small executable check.

Java Certification: Choose an Exam and Build a Study Plan
Verify an exam’s current objectives, map knowledge gaps to coding exercises and judge readiness using fresh evidence.
Work with databases and server-rendered pages

Practical JDBC: Prepared Statements, Transactions and Rollback
Run a small in-memory database example, bind query parameters, commit a stock transfer and verify a rollback after failure.

Java Persistence Tools: Choosing JDBC, SQL Mapping or ORM
Compare data-access approaches using SQL control, relationships, transaction ownership and observable query behavior.

JSP Maintenance: Servlets, Escaped Views and Jakarta Migration
Build a small servlet-to-JSP application, verify escaped output and view protection, and plan a compatible Jakarta migration.

Java and Classic ASP: Map Dependencies and Plan a Migration
Inventory a mixed Classic ASP and Java application, choose an integration boundary and verify behavior during a staged migration.
Build reliable applications

Java Threads: Executors, Virtual Threads and Shared State
Run bounded concurrency examples, understand cancellation and result ordering, and reproduce a lost update before fixing it.

Java Application Security: A Practical Review and Migration Guide
Review trust boundaries, authorization, TLS, secrets and dependencies, and replace obsolete Security Manager assumptions with explicit controls.

Java Network Programming: HTTP, Sockets and Timeouts
Run local HTTP and TCP examples, distinguish connection and read timeouts, and investigate network failures by layer.

Troubleshooting a Slow Java Application
Collect a useful incident baseline, inspect threads and Flight Recorder evidence, and distinguish CPU work from blocking and database waits.

Java Performance Monitoring: Metrics, Traces and Useful Alerts
Instrument a local Java service, interpret request and error counts, and design monitoring that leads to an actionable response.

Managing Java Web Services: Health, Timeouts and Failure Recovery
Define service boundaries, choose time and retry budgets, and test recovery with observable outcomes.
Build desktop tools and process images

Java Swing: Build a Responsive Desktop Tool
Build a Swing table application, validate input, run background work and handle cancellation without freezing the interface.

Java AWT and Java 2D: Load, Resize and Export Images
Resize a local image with Java 2D, preserve proportions, handle transparency and verify the exported file.
Connect devices and synchronize mobile data

Java Bluetooth: Choose the Right API and Diagnose Connections
Identify the Bluetooth platform and protocol, then separate discovery, permissions, connection and data-format failures.

Java Card Explained: Applets, APDUs and the Card Lifecycle
Understand host and card responsibilities, interpret a command/response exchange and separate a protocol model from a real Java Card runtime.

Java Mobile Data Components: Offline Storage, Sync and Push
Design an offline mobile-data workflow and test duplicate delivery, version conflicts and push-triggered refresh.
Java history and platform lessons
Explore the ideas behind earlier Java products and platforms: media portability, session replay, application compatibility, mobile downloads and enterprise desktops. These researched histories and practical explanations connect the historical designs to useful questions today.

DRM and Media Portability: Files, Licenses and Playback Rights
Understand why a copied media file may fail to play, separate format and license problems, and plan a supported transfer.

BEA and TeaLeaf: Using Session Replay to Investigate Web Failures
Connect a user journey to server evidence, recognize replay limitations, and verify privacy controls before collecting sessions.

Novell exteNd and Java Verified: What Application Portability Requires
Interpret historical Java Verified claims and build a concrete dependency matrix and cross-server verification plan.

Vodafone live! and Java Mobile Games Before App Stores
Explore operator portals, Java game packages and handset compatibility through a sourced timeline and an annotated download example.

Sun Java Desktop System: What the Enterprise Desktop Included
Understand Sun’s desktop software layers, distinguish release-specific components, and apply the lessons to a migration assessment.

SavaJe and the LG Java Phone: A Different Vision of the Smartphone
Explore the SavaJe phone architecture, Java ME configurations and the different meanings of an open mobile platform.