java 入门学习视频_2025 最新 java 入门零基础学习视频教程

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: 《Java 21 入门实操指南(2025年版)》提供了Java最新特性的开发指导。首先介绍了JDK 21和IntelliJ IDEA 2025.1的环境配置,包括环境变量设置和预览功能启用。重点讲解了Java 21三大核心特性:虚拟线程简化高并发编程,Record模式优化数据解构,字符串模板提升字符串拼接可读性。最后通过图书管理系统案例,展示如何运用Record定义实体类、使用Stream API进行数据操作,以及结合字符串模板实现控制台交互。该指南完整呈现了从环境搭建到实际项目开发的Java 21全流程实

以下是结合Java 21最新特性和现代开发工具的Java入门实操指南,包含环境配置、基础语法、面向对象编程和实际项目案例:

Java 21 入门实操指南(2025年版)

一、环境搭建(Java 21 + IntelliJ IDEA)

  1. 安装JDK 21(LTS)
    Oracle官网Adoptium下载并安装Java 21,配置环境变量:

    # macOS/Linux 配置(~/.bashrc 或 ~/.zshrc)
    export JAVA_HOME=/path/to/jdk-21
    export PATH=$JAVA_HOME/bin:$PATH
    
  2. 安装IntelliJ IDEA 2025.1
    JetBrains官网下载旗舰版,安装后配置:

    • 打开 File > Project Structure,设置Project SDK为Java 21。
    • 启用Preview FeaturesHelp > Edit Custom VM Options,添加 -ea --enable-preview

二、Java 21 新特性快速上手

  1. 虚拟线程(Virtual Threads)
    简化高并发编程,无需手动管理线程池:

    // 传统线程池 vs 虚拟线程
    public static void main(String[] args) throws Exception {
         
        // 传统线程池
        try (var executor = Executors.newFixedThreadPool(100)) {
         
            IntStream.range(0, 1000).forEach(i -> {
         
                executor.submit(() -> {
         
                    Thread.sleep(Duration.ofSeconds(1));
                    return i;
                });
            });
        } // 需手动管理线程池大小
    
        // 虚拟线程(Java 21)
        try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
         
            IntStream.range(0, 10000).forEach(i -> {
         
                executor.submit(() -> {
         
                    Thread.sleep(Duration.ofSeconds(1));
                    return i;
                });
            });
        } // 自动扩展,无需担心OOM
    }
    
  2. Record模式(Record Patterns)
    简化数据解构:

    // 定义Record类
    record Point(int x, int y) {
         }
    
    // 使用Record模式解构对象
    public static void printSum(Object obj) {
         
        if (obj instanceof Point(int x, int y)) {
         
            System.out.println(x + y); // 直接获取x和y
        }
    }
    
  3. 字符串模板(String Templates)
    增强字符串拼接可读性:

    var name = "Alice";
    var age = 30;
    
    // 传统方式
    String message = "Hello, " + name + ", you are " + age + " years old.";
    
    // 字符串模板(Java 21预览特性)
    String messageTemplate = STR."Hello, \{name}, you are \{age} years old.";
    

三、面向对象编程实战:图书管理系统

需求:设计一个简单的图书管理系统,支持图书的增删改查,使用Java 21新特性优化代码。

  1. 领域模型设计
    使用record简化实体类:

    // Book.java
    public record Book(String isbn, String title, String author, boolean borrowed) {
         }
    
    // Library.java
    import java.util.ArrayList;
    import java.util.List;
    
    public class Library {
         
        private final List<Book> books = new ArrayList<>();
    
        // 添加图书
        public void addBook(Book book) {
         
            books.add(book);
        }
    
        // 查询所有未借出的图书(使用Stream API)
        public List<Book> findAvailableBooks() {
         
            return books.stream()
                .filter(book -> !book.borrowed())
                .toList();
        }
    
        // 借阅图书(使用Record模式)
        public boolean borrowBook(String isbn) {
         
            for (int i = 0; i < books.size(); i++) {
         
                var book = books.get(i);
                if (book.isbn().equals(isbn) && !book.borrowed()) {
         
                    books.set(i, new Book(book.isbn(), book.title(), book.author(), true));
                    return true;
                }
            }
            return false;
        }
    }
    
  2. 控制台交互(使用字符串模板)

    // Main.java
    import java.util.Scanner;
    
    public class Main {
         
        public static void main(String[] args) {
         
            var library = new Library();
            var scanner = new Scanner(System.in);
    
            while (true) {
         
                System.out.println("\n1. 添加图书");
                System.out.println("2. 查看可借图书");
                System.out.println("3. 借阅图书");
                System.out.println("4. 退出");
                System.out.print("请选择操作:");
    
                int choice = scanner.nextInt();
                scanner.nextLine(); // 消耗换行符
    
                switch (choice) {
         
                    case 1 -> {
         
                        System.out.print("ISBN: ");
                        var isbn = scanner.nextLine();
                        System.out.print("书名: ");
                        var title = scanner.nextLine();
                        System.out.print("作者: ");
                        var author = scanner.nextLine();
                        library.addBook(new Book(isbn, title, author, false));
                        System.out.println(STR."图书 \{title} 已添加");
                    }
                    case 2 -> {
         
                        System.out.println("可借图书列表:");
                        library.findAvailableBooks().forEach(book -> 
                            System.out.println(STR."\{book.title()} - \{book.author()}")
                        );
                    }
                    case 3 -> {
         
                        System.out.print("请输入要借阅的ISBN: ");
                        var isbn = scanner.nextLine();
                        boolean success = library.borrowBook(isbn);
                        System.out.println(success ? "借阅成功" : "借阅失败");
                    }
                    case 4 -> System.exit(0);
                }
            }
        }
    }
    

四、现代开发工具链

  1. 使用Maven管理依赖
    pom.xml中添加常用依赖:

    <dependencies>
        <!-- JSON处理 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.16.0</version>
        </dependency>
        <!-- 日志 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.9</version>
        </dependency>
        <!-- 单元测试 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.10.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
  2. 编写单元测试(JUnit 5)

    import org.junit.jupiter.api.Test;
    import static org.junit.jupiter.api.Assertions.*;
    
    public class LibraryTest {
         
        @Test
        void testAddBook() {
         
            var library = new Library();
            var book = new Book("123", "Java 21 Guide", "Doubao", false);
            library.addBook(book);
            assertEquals(1, library.findAvailableBooks().size());
        }
    
        @Test
        void testBorrowBook() {
         
            var library = new Library();
            var book = new Book("123", "Java 21 Guide", "Doubao", false);
            library.addBook(book);
            assertTrue(library.borrowBook("123"));
        }
    }
    
  1. 推荐书籍

    • 《Effective Java》第4版(Java 21更新版)
    • 《Java核心技术》第12版
  2. 实战项目

    • 基于Spring Boot开发REST API
    • 使用JavaFX或Java Swing开发桌面应用
    • 结合Docker部署Java应用

通过以上内容,你可以快速掌握Java 21的核心特性,并通过图书管理系统项目实践面向对象编程思想。建议结合官方文档和实战项目进一步深入学习!


java 入门,java 零基础,java 视频教程,2025 最新 java 教程,java 编程入门,java 学习视频,java 零基础教程,java 从入门到精通,java 入门课程,java 开发入门,java 新手教程,java 基础视频,java 入门培训,java 自学教程,java 零基础入门



代码获取方式
https://pan.quark.cn/s/14fcf913bae6


相关文章
|
3天前
|
并行计算 Java API
Java 基础篇完整学习攻略
本教程涵盖Java基础到高级内容,包括模块化系统、Stream API、多线程编程、JVM机制、集合框架及新特性如Records和模式匹配等,适合零基础学员系统学习Java编程。
18 0
|
2天前
|
存储 安全 Java
从基础语法到实战应用的 Java 入门必备知识全解析
本文介绍了Java入门必备知识,涵盖开发环境搭建、基础语法、面向对象编程、集合框架、异常处理、多线程和IO流等内容,结合实例帮助新手快速掌握Java核心概念与应用技巧。
16 0
|
24天前
|
并行计算 Java API
Java 入门循环结构基础知识点详解
摘要:本文介绍了Java现代循环技术的进阶应用,包括Stream API、响应式编程和模式匹配,展示了如何用Stream API替代传统循环进行声明式集合处理(如过滤、映射和并行计算),以及响应式编程在异步非阻塞场景下的优势。文章还通过电商订单处理系统的案例演示了这些技术的综合应用,并提供了性能优化建议,如合理使用并行处理和避免循环内对象创建。这些现代特性使Java代码更简洁、高效,更适合高并发和I/O密集型场景。
23 1
|
3天前
|
存储 算法 安全
JAVA 八股文全网最详尽整理包含各类核心考点助你高效学习 jAVA 八股文赶紧收藏
本文整理了Java核心技术内容,涵盖Java基础、多线程、JVM、集合框架等八股文知识点,包含面向对象特性、线程创建与通信、运行时数据区、垃圾回收算法及常用集合类对比,附有代码示例与学习资料下载链接,适合Java开发者系统学习与面试准备。
128 0
|
27天前
|
Java
银行转账p图软件,对公转账截图生成器,java版开发银行模拟器【仅供学习参考】
这是一套简单的银行账户管理系统代码,包含`BankAccount`和`BankSystem`两个核心类。`BankAccount`负责单个账户的管理
|
27天前
|
存储 Java 数据库
银行流水生成器在线制作,银行转账p图在线生成,java实现最牛的生成器【仅供学习用途】
本示例展示了一个基于Java的银行交易记录管理系统基础架构,涵盖交易记录生成、数字签名加密及账本存储功能。核心内容包括:1) TransactionRecord类
|
20天前
|
前端开发 Java 数据库
2025 年 Java 学习完整步骤及详细路线指南
本教程涵盖Java从基础到高级的完整学习路径,包括环境配置、语法基础、面向对象编程、集合框架、多线程、网络编程、数据库操作、Spring Boot、微服务架构及项目实战。通过系统学习与实操,助你全面掌握Java核心技术与企业级应用开发。
92 0
|
存储 安全 Java
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
139 1
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
|
Java 测试技术 C++
【JAVA学习之路 | 进阶篇】File类及常用方法
【JAVA学习之路 | 进阶篇】File类及常用方法

热门文章

最新文章