一、Java编程简介
Java 是一种跨平台、面向对象的编程语言,广泛用于企业级开发、移动开发(Android)、大数据、金融系统等。其主要特点:
- 一次编写,到处运行(WORA)
- 完善的类库和生态
- 安全、稳定、可扩展
二、开发环境搭建
- 安装JDK(Java Development Kit)
- 前往 Oracle官网 下载 JDK 17 或更高版本
- 安装后配置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
java -version
- 验证是否安装成功:
java -version
- 安装IDE
- 推荐 IntelliJ IDEA 或 Eclipse
- IDEA优点:智能提示、快捷调试、强劲的插件生态
三、Java核心基础(入门必学)
|
知识点 |
说明 |
|
数据类型 |
基本类型:int、double、boolean、char;引用类型:String、数组 |
|
控制流 |
if/else、switch、for、while、do-while |
|
面向对象 |
类、对象、继承、多态、封装、接口 |
|
常用API |
String、Collections、Date/Time API |
|
异常处理 |
try/catch/finally、throw、throws |
|
I/O流 |
FileInputStream、BufferedReader、NIO |
|
多线程 |
Thread、Runnable、线程池、并发包 |
四、进阶知识
- 泛型与集合框架
- ArrayList、HashMap、HashSet、ConcurrentHashMap
- JVM与内存模型
- JVM结构、GC垃圾回收、类加载机制
- 多线程与并发编程
- ExecutorService、Future、CompletableFuture
- 网络编程
- Socket、HttpClient、REST API 调用
五、Java开发最佳实践
- 编码规范:遵循阿里巴巴Java开发手册
- 单元测试:JUnit + Mockito
- 构建工具:Maven/Gradle
- 持续集成:Jenkins、GitHub Actions
六、实战案例(从入门到熟练)
案例1:简单控制台应用 —— 学生成绩管理系统
功能: 增加、查询、删除学生成绩。
import java.util.HashMap;
import java.util.Scanner;
public class StudentGradeManager {
public static void main(String[] args) {
HashMap<String, Integer> grades = new HashMap<>();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println(“1.添加成绩 2.查看成绩 3.退出”);
int choice = sc.nextInt();
switch (choice) {
case 1:
System.out.print(“输入学生姓名:”);
String name = sc.next();
System.out.print(“输入成绩:”);
int score = sc.nextInt();
grades.put(name, score);
break;
case 2:
System.out.println(“成绩列表:” + grades);
break;
case 3:
System.exit(0);
}
}
}
}
练习点: HashMap、Scanner、控制流。
案例2:多线程爬取网页数据
功能: 使用多线程抓取网页标题
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class WebCrawlerThread extends Thread {
private final String url;
public WebCrawlerThread(String url) {
this.url = url;
}
public void run() {
try {
URL site = new URL(url);
BufferedReader in = new BufferedReader(new InputStreamReader(site.openStream()));
String line;
while ((line = in.readLine()) != null) {
if (line.contains(“<title>”)) {
System.out.println(“URL: ” + url + ” 标题: ” + line.trim());
}
}
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String[] urls = {“https://www.oracle.com”, “https://openjdk.org”};
for (String url : urls) {
new WebCrawlerThread(url).start();
}
}
}
练习点: 多线程、网络编程。
案例3:Spring Boot Web应用
功能: 创建一个REST API输出Hello World
- 创建项目:
mvn archetype:generate -DgroupId=com.example -DartifactId=demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
- 修改 pom.xml 添加Spring Boot依赖
- 编写控制器:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping(“/hello”)
public String hello() {
return “Hello, Spring Boot!”;
}
}
- 启动应用访问 http://localhost:8080/hello
练习点: Maven、Spring Boot、REST API。
案例4:数据库访问(JDBC + MySQL)
import java.sql.*;
public class JDBCExample {
public static void main(String[] args) {
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”;
String password = “123456”;
try (Connection conn = DriverManager.getConnection(url, user, password)) {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“SELECT * FROM users”);
while (rs.next()) {
System.out.println(rs.getString(“name”));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
练习点: JDBC、数据库操作。
案例5:微服务与容器化(进阶)
- 将Spring Boot应用打包成Docker镜像
docker build -t java-demo .
docker run -p 8080:8080 java-demo
- 部署到Kubernetes集群进行扩容与管理
七、进阶与扩展
- 学习框架:Spring、Spring Cloud、MyBatis、Hibernate
- 学习分布式:Dubbo、Kafka、Redis、消息队列
- 云原生方向:Kubernetes、Docker、微服务治理
- 面试准备:多线程、JVM调优、架构设计
八、总结
- 入门阶段:掌握Java语法与基本API
- 进阶阶段:掌握多线程、JVM、Spring Boot、数据库
- 实战阶段:做项目练习(如管理系统、爬虫、Web服务、微服务部署)
- 持续提升:多写代码、多看源码、多实践
















暂无评论内容