Skip to content

Latest commit

 

History

History
192 lines (129 loc) · 4.68 KB

File metadata and controls

192 lines (129 loc) · 4.68 KB

Demo Script

Use this script when you want to walk through the repository live in an interview or technical conversation. The goal is to show that the project is organized, runnable, and tied to real Java evolution instead of being a folder of disconnected snippets.

Five To Ten Minute Walkthrough

1. Open With The Repository Goal

Say:

I built this repository to study Java release by release. Each package focuses on features introduced in that Java version, and each example has tests that document the expected behavior.

Show:

README.md
docs/feature-map.md
src/main/java/net/jrodolfo/java_evolution
src/test/java/net/jrodolfo/java_evolution

Point out that Spring Boot is only the project shell. The examples are plain Java classes.

2. Show The Version-Based Structure

Show:

src/main/java/net/jrodolfo/java_evolution/java08
src/main/java/net/jrodolfo/java_evolution/java21
src/main/java/net/jrodolfo/java_evolution/java25

Say:

The package name tells you the Java release. Inside each package, the class names tell you the feature. That keeps the examples small enough to study independently.

3. Show A Java 8 Foundation Example

Open:

src/main/java/net/jrodolfo/java_evolution/java08/StreamExamples.java
src/test/java/net/jrodolfo/java_evolution/java08/StreamExamplesTest.java

Say:

Java 8 changed everyday Java style. Streams let me describe collection transformations directly instead of writing manual loops for filtering, mapping, and grouping.

Run:

mvn "-Dtest=StreamExamplesTest" test

Expected point: the test proves the behavior and acts as executable documentation.

4. Show A Java 21 Modern Java Example

Open:

src/main/java/net/jrodolfo/java_evolution/java21/VirtualThreadsExamples.java
src/test/java/net/jrodolfo/java_evolution/java21/VirtualThreadsExamplesTest.java

Say:

Java 21 is important because it is an LTS release. Virtual threads let blocking, thread-per-task code scale much better for I/O-heavy workloads without forcing every codebase into a reactive style.

Run:

mvn "-Dtest=VirtualThreadsExamplesTest" test

Expected point: the example shows the API shape without turning the repository into a full web application.

5. Show Java 25 LTS And Java 26 Current-Release Awareness

Open:

src/main/java/net/jrodolfo/java_evolution/java25/scoped_values/README.md
src/main/java/net/jrodolfo/java_evolution/java25/scoped_values/ScopedValuesExamples.java
src/test/java/net/jrodolfo/java_evolution/java25/scoped_values/ScopedValuesExamplesTest.java
src/main/java/net/jrodolfo/java_evolution/java26/README.md

Say:

For newer releases, I separate final features from preview, incubator, runtime, tooling, security, and removal topics. Scoped values are represented as a final executable Java 25 LTS feature, while Java 26 is documented as notes-only current-release awareness under the JDK 25 build baseline.

Run:

mvn "-Dtest=ScopedValuesExamplesTest" test

Expected point: current-release awareness is useful only if you can also explain feature maturity and the project's build baseline.

6. Close With The Supporting Docs

Show:

docs/learning-path.md
docs/interview-guide.md
docs/jep-index.md
docs/feature-map.md

Say:

The feature map helps me find examples quickly, the JEP index links features to official proposals, and the learning path gives me an order for studying the project.

Then run:

make check

Expected point: the whole repository is tested with JDK 25.

Two Minute Version

Use this when time is short:

  1. Show README.md and explain the version-based structure.
  2. Open java08/StreamExamples.java to show Java 8 functional style.
  3. Open java21/VirtualThreadsExamples.java to show modern Java concurrency.
  4. Open java25/scoped_values/README.md and java26/README.md to show LTS/current-release awareness.
  5. Run one focused command:
mvn "-Dtest=VirtualThreadsExamplesTest" test

Close with:

The important part is not only that I read about these features. I wrote small examples, documented the problem each feature solves, and backed the examples with tests.

Commands To Keep Ready

Run the full validation:

make check

Run the practical demo validation:

make demos

Use this before a live walkthrough to verify that the hands-on demos still match your local environment.

Run one example:

mvn "-Dtest=StreamExamplesTest" test
mvn "-Dtest=VirtualThreadsExamplesTest" test
mvn "-Dtest=ScopedValuesExamplesTest" test

Generate JavaDoc:

make docs

Open the generated JavaDoc:

target/site/apidocs/index.html