Orientation

intro3Objectives

Path
pkg0intro/intro3Objectives.java
Package
pkg0intro
Study order
3
Run
Single-file source launch
Command
java pkg0intro/intro3Objectives.java

There is no in-browser runner. This is the file from the curriculum, unchanged.

pkg0intro/intro3Objectives.java
1package pkg0intro;2 3/*4 * intro3Objectives.java5 * ---------------------6 * THE DESIGN OBJECTIVES (GOALS) OF JAVA + how this project is organized.7 *8 * The original designers set five primary goals. Java should be:9 *   1. Simple, object-oriented, and familiar.10 *   2. Robust and secure.11 *   3. Architecture-neutral and portable.12 *   4. High performance.13 *   5. Interpreted, threaded, and dynamic.14 *15 * These objectives explain almost every language decision: garbage collection16 * (robustness), bytecode + JVM (portability), JIT (performance), no pointers17 * (security/simplicity), and built-in threads (concurrency).18 */19public class intro3Objectives {20    public static void main(String[] args) {21        System.out.println("=== JAVA'S DESIGN OBJECTIVES ===\n");22 23        String[][] goals = {24            {"Simple & object-oriented", "Familiar C-like syntax; OOP model; no manual memory/pointers"},25            {"Robust & secure",          "Strong typing, exceptions, GC, bytecode verification, sandbox"},26            {"Architecture-neutral",     "Bytecode runs on any JVM; fixed primitive sizes for portability"},27            {"High performance",         "JIT compiles hot code to native; modern GCs"},28            {"Interpreted/threaded/dynamic", "Fast startup, built-in concurrency, runtime class loading"}29        };30        for (String[] g : goals) System.out.printf("  - %-30s : %s%n", g[0], g[1]);31 32        System.out.println("\n=== WHY LEARN JAVA? ===");33        String[] reasons = {34            "One of the most used languages in enterprise, Android, big data, cloud",35            "Huge ecosystem & libraries; strong tooling and community",36            "Backward compatible; stable long-term-support (LTS) releases",37            "Great for learning OOP, data structures, and system design",38            "Excellent career & interview demand"39        };40        for (String r : reasons) System.out.println("  - " + r);41 42        System.out.println("\n=== HOW JAVAMASTERY IS ORGANIZED (numbered packages) ===");43        String[] pkgs = {44            "pkg0intro          : tutorial — about Java, history, objectives",45            "pkg1core           : core1HelloWorld ... core28ComparatorDemo",46            "pkg2versions       : versions1Java5Features ... versions6Java21Features",47            "pkg3datastructures : datastructures0DynamicArray ... 12UnionFind",48            "pkg4algorithms     : algorithms1SortingAlgorithms ... 7DivideAndConquer",49            "pkg5leetcode       : 249 solutions — blind75, official75, interview150, top100",50            "pkg6jvm            : jvm1ClassLoadingDemo ... 3GarbageCollectionDemo",51            "pkg7concurrency    : concurrency1ThreadBasics ... 8LocksAndCoordination",52            "pkg8patterns       : patterns1SingletonPattern ... 23VisitorPattern (23 GoF)",53            "pkg9io–pkg13libs    : I/O, networking, JDBC, REST, std libraries",54            "pkg14–pkg20         : testing, modules, metaprogramming, performance, serialization",55            "docs/              : tutorials, interview Q&A, reference — see README.md"56        };57        for (String p : pkgs) System.out.println("  - " + p);58 59        System.out.println("\nStart here, then follow the numbers. See README.md for all docs.");60        System.out.println("  java pkg1core/core1HelloWorld.java");61    }62}