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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,1000CU*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


相关文章
|
26天前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
199 3
|
30天前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
302 1
|
1月前
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
1月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
164 1
|
29天前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
79 0
|
2月前
|
前端开发 Java API
新手 Java 学习资料结合最新技术的精选推荐及高效学习资源参考
本文为新手推荐了涵盖Java基础到最新技术的学习资料,包括官方文档、在线课程、书籍、学习网站及实践平台,帮助系统掌握Java编程,并通过Spring Boot实战提升开发能力。
124 1
|
1月前
|
存储 搜索推荐 安全
Java 大视界 --Java 大数据在智能教育学习效果评估与教学质量改进中的应用(209)
本文探讨了 Java 大数据在智能教育中的创新应用,涵盖学习效果评估、教学质量改进及个性化教学方案定制等内容,结合实战案例与代码解析,展现技术如何赋能教育智能化转型。
|
2月前
|
存储 缓存 NoSQL
java 集合入门基础理论的核心概念与实用长尾知识
本文介绍了Java集合框架的基础理论知识,包括单列集合(List、Set、Queue)和双列集合(Map)的特点及常用实现类(如ArrayList、HashSet、HashMap等)。详细讲解了集合的遍历方式(迭代器、增强for循环、Lambda表达式)和典型应用场景(如数据去重、键值存储等)。通过具体代码示例,帮助初学者理解集合框架的核心概念和实际应用,为Java编程中的数据存储与管理提供基础指导。
77 0
|
2月前
|
缓存 NoSQL Java
Java Web 从入门到精通之苍穹外卖项目实战技巧
本项目为JavaWeb综合实战案例——苍穹外卖系统,涵盖Spring Boot 3、Spring Cloud Alibaba、Vue 3等主流技术栈,涉及用户认证、订单处理、Redis缓存、分布式事务、系统监控及Docker部署等核心功能,助你掌握企业级项目开发全流程。
271 0
|
2月前
|
存储 安全 Java
Java 学习路线 35 掌握 List 集合从入门到精通的 List 集合核心知识
本文详细解析Java中List集合的原理、常用实现类(如ArrayList、LinkedList)、核心方法及遍历方式,并结合数据去重、排序等实际应用场景,帮助开发者掌握List在不同业务场景下的高效使用,提升Java编程能力。
289 0