Skip to content

Commit eedcdbc

Browse files
Initial commit: Java Evolution Guide
0 parents  commit eedcdbc

20 files changed

Lines changed: 3393 additions & 0 deletions

.github/workflows/deploy.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
permissions:
12+
contents: write
13+
14+
jobs:
15+
deploy:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
22+
- name: Configure Git Credentials
23+
run: |
24+
git config user.name github-actions[bot]
25+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
26+
27+
- uses: actions/setup-python@v5
28+
with:
29+
python-version: 3.x
30+
31+
- name: Cache dependencies
32+
uses: actions/cache@v4
33+
with:
34+
key: mkdocs-material-${{ hashFiles('requirements.txt') }}
35+
path: ~/.cache/pip
36+
restore-keys: |
37+
mkdocs-material-
38+
39+
- name: Install dependencies
40+
run: pip install -r requirements.txt
41+
42+
- name: Deploy to GitHub Pages
43+
if: github.event_name == 'push'
44+
run: mkdocs gh-deploy --force

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/copilot.data.migration.ask2agent.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/corbat-java-evolution.iml

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/google-java-format.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Java Evolution Guide
2+
3+
[![Deploy Documentation](https://github.com/corbat/corbat-java-evolution/actions/workflows/deploy.yml/badge.svg)](https://github.com/corbat/corbat-java-evolution/actions/workflows/deploy.yml)
4+
[![Java 8](https://img.shields.io/badge/Java-8-5382a1?logo=openjdk&logoColor=white)](https://corbat.github.io/corbat-java-evolution/versions/java-8/)
5+
[![Java 11](https://img.shields.io/badge/Java-11-f89820?logo=openjdk&logoColor=white)](https://corbat.github.io/corbat-java-evolution/versions/java-11/)
6+
[![Java 17](https://img.shields.io/badge/Java-17-ed8b00?logo=openjdk&logoColor=white)](https://corbat.github.io/corbat-java-evolution/versions/java-17/)
7+
[![Java 21](https://img.shields.io/badge/Java-21-7b42bc?logo=openjdk&logoColor=white)](https://corbat.github.io/corbat-java-evolution/versions/java-21/)
8+
[![Java 25](https://img.shields.io/badge/Java-25-00875a?logo=openjdk&logoColor=white)](https://corbat.github.io/corbat-java-evolution/versions/java-25/)
9+
10+
A comprehensive visual guide to Java evolution from version 8 to 25. Master modern Java features with before/after code examples.
11+
12+
## Quick Links
13+
14+
- [View Documentation](https://corbat.github.io/corbat-java-evolution/)
15+
- [Quick Reference Cheat Sheet](https://corbat.github.io/corbat-java-evolution/interview/quick-reference/)
16+
17+
## What's Covered
18+
19+
| Version | Year | Key Features |
20+
|---------|------|--------------|
21+
| **Java 8** | 2014 | Lambda, Streams, Optional, Date/Time API |
22+
| **Java 11** | 2018 | var, HTTP Client, String methods |
23+
| **Java 17** | 2021 | Records, Sealed Classes, Pattern Matching |
24+
| **Java 21** | 2023 | Virtual Threads, Pattern Switch, Record Patterns |
25+
| **Java 25** | 2025 | Primitive Patterns, Scoped Values, Compact Files |
26+
27+
## Local Development
28+
29+
```bash
30+
# Install dependencies
31+
pip install -r requirements.txt
32+
33+
# Run local server
34+
mkdocs serve
35+
36+
# Build site
37+
mkdocs build
38+
```
39+
40+
## License
41+
42+
MIT

docs/assets/stylesheets/extra.css

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
/* ============================================
2+
JAVA VERSION COLOR SYSTEM
3+
============================================ */
4+
5+
:root {
6+
--java-8-color: #5382a1;
7+
--java-11-color: #f89820;
8+
--java-17-color: #ed8b00;
9+
--java-21-color: #7b42bc;
10+
--java-25-color: #00875a;
11+
}
12+
13+
/* ============================================
14+
VERSION BADGES
15+
============================================ */
16+
17+
.java-8 {
18+
background: linear-gradient(135deg, var(--java-8-color), #3a5d7a);
19+
color: white;
20+
padding: 0.2em 0.6em;
21+
border-radius: 4px;
22+
font-weight: 600;
23+
font-size: 0.85em;
24+
}
25+
26+
.java-11 {
27+
background: linear-gradient(135deg, var(--java-11-color), #d4790a);
28+
color: white;
29+
padding: 0.2em 0.6em;
30+
border-radius: 4px;
31+
font-weight: 600;
32+
font-size: 0.85em;
33+
}
34+
35+
.java-17 {
36+
background: linear-gradient(135deg, var(--java-17-color), #cc7700);
37+
color: white;
38+
padding: 0.2em 0.6em;
39+
border-radius: 4px;
40+
font-weight: 600;
41+
font-size: 0.85em;
42+
}
43+
44+
.java-21 {
45+
background: linear-gradient(135deg, var(--java-21-color), #5a2d91);
46+
color: white;
47+
padding: 0.2em 0.6em;
48+
border-radius: 4px;
49+
font-weight: 600;
50+
font-size: 0.85em;
51+
}
52+
53+
.java-25 {
54+
background: linear-gradient(135deg, var(--java-25-color), #006644);
55+
color: white;
56+
padding: 0.2em 0.6em;
57+
border-radius: 4px;
58+
font-weight: 600;
59+
font-size: 0.85em;
60+
}
61+
62+
/* ============================================
63+
FEATURE CARDS
64+
============================================ */
65+
66+
.feature-card {
67+
border-left: 4px solid var(--md-primary-fg-color);
68+
padding: 1rem;
69+
margin: 1rem 0;
70+
background: var(--md-code-bg-color);
71+
border-radius: 0 8px 8px 0;
72+
}
73+
74+
.feature-card.java-8 { border-left-color: var(--java-8-color); }
75+
.feature-card.java-11 { border-left-color: var(--java-11-color); }
76+
.feature-card.java-17 { border-left-color: var(--java-17-color); }
77+
.feature-card.java-21 { border-left-color: var(--java-21-color); }
78+
.feature-card.java-25 { border-left-color: var(--java-25-color); }
79+
80+
/* ============================================
81+
CODE TABS STYLING
82+
============================================ */
83+
84+
.md-typeset .tabbed-labels > label {
85+
font-weight: 600;
86+
}
87+
88+
/* ============================================
89+
INTERVIEW CALLOUTS
90+
============================================ */
91+
92+
.interview-tip {
93+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
94+
color: white;
95+
padding: 1rem;
96+
border-radius: 8px;
97+
margin: 1rem 0;
98+
}
99+
100+
.interview-tip::before {
101+
content: 'Interview Tip';
102+
display: block;
103+
font-weight: 700;
104+
margin-bottom: 0.5rem;
105+
}
106+
107+
/* ============================================
108+
HERO SECTION
109+
============================================ */
110+
111+
.hero {
112+
text-align: center;
113+
padding: 2rem 0;
114+
}
115+
116+
.hero h1 {
117+
font-size: 2.5rem;
118+
margin-bottom: 0.5rem;
119+
}
120+
121+
.hero h2 {
122+
font-weight: 400;
123+
opacity: 0.8;
124+
margin-top: 0;
125+
}
126+
127+
/* ============================================
128+
GRID CARDS ENHANCEMENTS
129+
============================================ */
130+
131+
.md-typeset .grid.cards > ul > li {
132+
transition: transform 0.2s ease, box-shadow 0.2s ease;
133+
}
134+
135+
.md-typeset .grid.cards > ul > li:hover {
136+
transform: translateY(-4px);
137+
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
138+
}

0 commit comments

Comments
 (0)