
① Java 基础:10 分钟语法速记表 📜
| 关键字 | 场景 | 一行 Demo |
|---|---|---|
public |
公开类/方法 | public class Hello {} |
private |
私有字段 | private int age; |
final |
不可变 | final int MAX = 100; |
static |
类成员 | static int count; |
var |
局部类型推断(JDK10+) | var list = new ArrayList<String>(); |
口诀:"public 主入口,final 保常量,static 属类,var 偷懒省模板" 🎵
② 集合框架:一张图记牢 🗺️
java
List<String> list = new ArrayList<>(); // 有序可重复
Set<Integer> set = new HashSet<>(); // 去重
Map<String,Integer> map = new HashMap<>(); // 键值对
性能彩蛋:
- 遍历用
forEach + lambda:
javalist.forEach(s -> System.out.println(s));
③ 趣味小实战:彩色骑行排行榜 🌈
java
import java.io.*; import java.util.*; import java.util.stream.*;
public class ColorRank {
public static void main(String[] args) throws IOException {
List<Rider> riders = Files.lines(Paths.get("riders.txt"))
.map(l -> l.split(","))
.map(a -> new Rider(a[0], Double.parseDouble(a[1])))
.collect(Collectors.toList());
riders.sort((r1, r2) -> Double.compare(r2.distance, r1.distance));
riders.forEach(r -> System.out.printf("\033[36m%s\033[0m %.1f km%n", r.name, r.distance));
}
record Rider(String name, double distance) {}
}
运行:
java ColorRank→ 终端彩色输出!
④ 并发提速:线程池一把梭 ⚙️
java
ExecutorService pool = Executors.newFixedThreadPool(8);
IntStream.range(0, 100).forEach(i -> pool.submit(() -> /* 任务 */ ));
pool.shutdown();
口诀:"池化线程,队列缓冲,拒绝策略, shutdown 必调" 🔧
⑤ Web 速通:SpringBoot 5 行 REST 🌐
java
@SpringBootApplication
@RestController
class App {
public static void main(String[] args) { SpringApplication.run(App.class, args); }
@GetMapping("/hello") public String hi(@RequestParam(defaultValue = "world") String name) {
return "Hello, " + name + "!";
}
}
启动:
mvn spring-boot:run
⑥ 打包上线:JAR → Docker 一条龙 📦
bash
# 1. 构建 JAR
mvn clean package
# 2. Dockerfile(8 行)
FROM openjdk:17-alpine
COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
# 3. 构建镜像 & 运行
docker build -t java-demo .
docker run -p 80:8080 java-demo
现在全世界都能访问你的 Java 接口啦!
⑦ 性能锦囊:3 个加速技巧 ⚡️
| 场景 | 代码 | 效果 |
|---|---|---|
| 字符串拼接 | StringBuilder |
比 + 快 10× |
| 空集合 | Collections.emptyList() |
零对象开销 |
| 日志 | SLF4B + {} 占位符 |
延迟拼接,省 CPU |
⑧ 学习路线图(可保存)
markdown
基础语法 → 集合/IO → 并发 → SpringBoot → MySQL → Docker → 微服务
⏱️ 2周 ⏱️ 1周 ⏱️ 1周 ⏱️ 2周 ⏱️ 1周 ⏱️ 3天 ⏱️ 持续