Java: 从入门到精通
文章平均质量分 81
该系列规划了一条从“纯小白“到“项目实战“的学习路径,一共约 60 多篇文章,分为六个阶段:入门篇 :与Java的第一次握手、基础篇:夯实语法地基、核心篇:面向对象编程、进阶篇:常用API与工具、精通篇:JDK 21新特性与并发、实战篇:项目驱动与生态拓展。欢迎关注。
gugucoding
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
62. 【Java】路的尽头是新的起点:给读者的进阶指南
本文是《Java 从入门到精通》系列教程的终章,旨在为完成六十二篇学习旅程的读者提供一个全面的回顾与展望。原创 2026-08-26 10:20:22 · 440 阅读 · 0 评论 -
61. 【Java】阶段实战:个人博客项目(下)
本文详细介绍了如何从零开始构建一个完整的个人博客系统,涵盖Spring Boot 3、Spring Data JPA、PostgreSQL、Thymeleaf、Bootstrap 5和Spring Security等核心技术栈。通过分步讲解Service层业务逻辑、Controller层请求处理、前端页面模板设计以及用户认证集成,帮助开发者掌握企业级Web应用开发全流程。原创 2026-08-26 10:17:28 · 409 阅读 · 0 评论 -
60. 【Java】阶段实战:个人博客项目(上)
本文是个人博客项目的上篇,详细讲解如何使用Spring Boot 3.4、JPA、PostgreSQL和Thymeleaf等技术栈搭建博客系统的后端基础。内容涵盖需求分析、技术选型、数据库设计、项目初始化、实体层和Repository层的完整实现,并提供了可运行的代码示例和初始化数据脚本,帮助Java开发者快速掌握全栈项目开发的核心流程。原创 2026-08-25 10:30:02 · 453 阅读 · 0 评论 -
59. 【Java】Spring Boot 入门:第一个 Web 应用
本文是Spring Boot入门实战指南,从零开始手把手教你创建第一个Spring Boot应用。文章详细介绍了Spring Boot的核心概念、自动配置机制、起步依赖原理,并通过Hello World和用户管理API两个完整示例,展示如何快速构建RESTful Web服务。原创 2026-08-25 10:28:17 · 790 阅读 · 0 评论 -
58. 【Java】JDBC:Java与数据库的“桥梁“
本文全面介绍Java数据库连接(JDBC)技术,从基础概念到实战应用。涵盖JDBC核心组件、数据库连接建立、SQL执行与结果处理,重点讲解PreparedStatement防SQL注入、事务管理确保数据一致性、连接池提升性能等关键知识点。通过完整代码示例演示增删改查操作,并结合DAO设计模式展示企业级应用架构,最后总结最佳实践与常见陷阱,帮助Java开发者掌握数据库访问的核心技能。原创 2026-08-24 13:11:30 · 559 阅读 · 0 评论 -
57. 【Java】日志框架:SLF4J与Logback
本文系统介绍Java日志框架SLF4J+Logback的核心概念与实战应用。从日志框架的必要性出发,对比System.out.println()的局限性,详细讲解SLF4J门面模式的优势、Logback配置方法、日志级别控制、文件输出策略以及异步日志优化。通过完整示例演示如何在项目中集成日志记录,并分享日志最佳实践,帮助开发者构建可维护、高性能的日志系统。原创 2026-08-24 13:10:59 · 438 阅读 · 0 评论 -
56. 【Java】单元测试:JUnit 5 从入门到实践
本文是Java单元测试框架JUnit 5的完整入门指南,从零开始讲解如何在Maven项目中引入JUnit 5、编写第一个单元测试、掌握核心注解和断言方法,到参数化测试、测试覆盖率分析和最佳实践。通过计算器和用户服务等实战示例,帮助开发者建立自动化测试思维,提升代码质量和可维护性,为后续学习日志框架等高级主题打下坚实基础。原创 2026-08-20 11:19:55 · 623 阅读 · 0 评论 -
55. 【Java】Maven:项目构建的“管家”
本文是Java项目构建工具Maven的入门实战指南,从零开始讲解Maven的核心概念、安装配置、依赖管理、生命周期等关键知识。通过实际示例演示如何创建Maven项目、添加依赖、打包运行,并分享多模块项目构建和常见问题解决方案,帮助Java开发者告别手动管理JAR包的繁琐,实现项目构建的标准化和自动化。原创 2026-08-20 11:19:17 · 624 阅读 · 0 评论 -
54. 【Java】阶段实战:高并发聊天室
本文详细介绍了如何使用Java虚拟线程构建高并发实时聊天室。通过整合虚拟线程、ConcurrentHashMap、Socket网络编程等核心技术,实现了一个支持广播、私聊、在线用户列表等功能的命令行聊天室。项目采用传统IO+虚拟线程的简洁架构,既能享受阻塞式编程的直观性,又能轻松支持成千上万的并发连接,是学习Java并发网络编程的绝佳实践。原创 2026-08-19 10:58:58 · 613 阅读 · 0 评论 -
53. 【Java】网络编程:Socket 与 HTTP 客户端
本文全面介绍Java网络编程的核心技术,从基础的Socket编程到现代的HttpClient API。详细讲解如何使用ServerSocket和Socket实现TCP通信,以及如何利用JDK 11+的HttpClient发送同步/异步HTTP请求、处理JSON数据和流式响应。结合虚拟线程技术,展示如何构建高并发的网络应用。原创 2026-08-19 10:58:04 · 579 阅读 · 0 评论 -
52. 【Java】JDK21 的核心 JEP
DK 21 是自 Java 8 以来最重要的长期支持版本,带来了 15 项核心增强。本文全面解析其语言特性(模式匹配、字符串模板等)、库与 API(虚拟线程、顺序集合等)、性能优化(分代 ZGC)及工具改进,帮助开发者快速掌握这一里程碑版本的核心价值,为构建现代高性能应用奠定基础。原创 2026-08-18 11:45:01 · 413 阅读 · 0 评论 -
51.【Java】JDK 21 的模式匹配:switch 的“超能力”
本文深入解析 JDK 21 中强大的模式匹配(Pattern Matching)特性,展示如何用 `switch` 语句直接匹配类型、解构 Record 对象,并处理 `null` 值。通过对比传统 `if-else` + `instanceof` 的冗余写法,详细介绍了类型模式、守卫条件(`when` 子句)、穷尽性检查等核心语法,并结合密封类与记录模式,演示如何编写更简洁、安全且富有表现力的 Java 代码。原创 2026-08-18 11:38:56 · 553 阅读 · 0 评论 -
50. 【Java】JDK 21的虚拟线程(下): 实战与最佳实践
本文深入探讨Java虚拟线程在生产环境中的实战应用与最佳实践,涵盖从传统线程池平滑迁移的三步策略、结构化并发编程、ScopedValue替代ThreadLocal、虚拟线程调试监控技巧到性能优化考量。通过具体代码示例和综合微服务场景演示,帮助开发者掌握虚拟线程的核心用法,解决synchronized钉住、内存管理等常见问题,实现高并发应用的性能飞跃。原创 2026-08-17 16:59:30 · 454 阅读 · 0 评论 -
49. 【Java】JDK 21的虚拟线程(上):革命性的并发模型
本文深入解析JDK 21引入的虚拟线程(Virtual Threads)技术,从传统平台线程的资源瓶颈出发,阐述虚拟线程的轻量级特性、M:N调度模型及其工作原理。详细介绍了两种创建虚拟线程的方法,并通过性能对比实验展示其在I/O密集型场景下的显著优势。总结了虚拟线程的适用场景、使用注意事项以及与平台线程的核心差异,帮助开发者掌握这一革命性的并发编程工具。原创 2026-08-17 16:58:52 · 550 阅读 · 0 评论 -
48. 【Java】并发容器与原子类
本文深入解析Java并发编程中的原子类与并发容器,涵盖CAS原理、AtomicInteger、LongAdder、ConcurrentHashMap、CopyOnWriteArrayList等核心工具的使用场景与实现机制。通过对比synchronized/Lock,展示无锁编程在高并发场景下的性能优势,并提供综合示例演示如何构建线程安全的计数器与缓存系统,帮助开发者选择最适合的并发解决方案。原创 2026-08-16 21:09:40 · 480 阅读 · 0 评论 -
47. 【Java】Java内存模型(JMM)与可见性
本文深入探讨Java并发编程中的内存可见性问题,从CPU缓存与指令重排序的硬件原理出发,解析Java内存模型(JMM)的核心机制。通过具体代码示例展示volatile关键字如何解决可见性问题,对比volatile与synchronized的适用场景,并详细解释原子性、可见性、有序性三大并发概念的区别。原创 2026-08-16 21:09:07 · 448 阅读 · 0 评论 -
46. 【Java】JUC并发工具:让并发更简单
本文深入解析 Java 并发编程的核心工具集 JUC(java.util.concurrent),涵盖线程池、阻塞队列、同步辅助类等关键组件。通过实际代码示例,详细讲解如何利用 ExecutorService 管理线程生命周期、使用 BlockingQueue 实现线程安全队列、借助 CountDownLatch、CyclicBarrier 和 Semaphore 协调线程执行,以及 Fork/Join 框架和 CompletableFuture 的高级应用。原创 2026-08-15 16:40:07 · 504 阅读 · 0 评论 -
45. 【Java】等待与通知:线程间的协作
本文深入讲解Java线程间的等待与通知机制,涵盖wait()/notify()/notifyAll()的基本用法、虚假唤醒问题、Condition接口的灵活应用,以及生产者-消费者模式的实现。通过对比synchronized与ReentrantLock+Condition的差异,帮助开发者掌握线程协作的核心原理,避免常见陷阱,编写高效可靠的多线程程序。原创 2026-08-15 16:39:22 · 472 阅读 · 0 评论 -
44. 【Java】线程安全与同步:synchronized与Lock
本文深入解析Java多线程编程中的线程安全问题根源——共享可变数据的非原子操作,并系统讲解两种核心同步机制:synchronized关键字和Lock接口。通过对比分析synchronized方法、代码块、静态方法以及ReentrantLock的tryLock、可中断锁、公平锁等特性,帮助开发者理解如何选择合适锁机制。文章还涵盖死锁避免、锁粒度优化等实战技巧,并提供一个完整的银行账户转账综合示例,为编写安全高效的多线程程序提供全面指导。原创 2026-08-14 15:56:18 · 588 阅读 · 0 评论 -
43. 【Java】并发编程入门:线程的创建与生命周期
本文是Java并发编程的入门指南,从进程与线程的基本概念讲起,详细介绍了Java中创建线程的三种方式(继承Thread类、实现Runnable接口、实现Callable接口),深入解析线程的生命周期与六种状态,并讲解了控制线程的关键方法(start、sleep、join、yield、interrupt)。原创 2026-08-14 15:55:24 · 385 阅读 · 0 评论 -
42. 【Java】阶段实战:图书管理系统
本文详细讲解如何使用Java构建一个完整的命令行版图书管理系统。系统涵盖图书管理、用户管理、借阅归还、数据统计等核心功能,并实现数据持久化存储。通过这个实战项目,你将综合运用集合框架、Stream API、I/O操作、日期时间处理、异常机制、枚举、注解等Java核心知识,从理论走向实践,掌握企业级应用开发的基本架构和设计思想。原创 2026-08-13 14:19:14 · 451 阅读 · 0 评论 -
41. 【Java】注解:给代码“贴标签”
本文全面解析Java注解(Annotation)的核心概念与应用实践。从内置注解(@Override、@Deprecated等)到自定义注解定义,从元注解(@Retention、@Target等)到反射读取机制,深入探讨注解在编译时检查、代码生成(Lombok)、框架配置(Spring、JUnit)、ORM映射等实际场景中的关键作用。原创 2026-08-13 14:18:33 · 512 阅读 · 0 评论 -
40. 【Java】反射:窥探类的“内在”
本文深入解析Java反射机制的核心原理与实践应用,从获取Class对象到动态访问字段、方法和构造方法,全面讲解反射在运行时检查与操作类内部结构的能力。通过实际代码示例展示反射在框架开发、序列化、配置驱动等场景中的关键作用,并探讨反射的性能开销、安全限制以及与JDK 21模块化的协同注意事项。原创 2026-08-12 11:57:53 · 740 阅读 · 0 评论 -
39. 【Java】Optional:告别 NullPointerException
本文全面解析Optional容器类,帮助开发者告别繁琐的null检查,编写更安全、优雅的代码。从Optional的基本概念、创建方式到安全取值方法(ifPresent、orElse、orElseGet等),再到转换过滤操作(map、flatMap、filter)以及与Stream的配合使用,系统讲解Optional的核心用法。同时指出常见使用陷阱和最佳实践。原创 2026-08-12 11:49:36 · 608 阅读 · 0 评论 -
38. 【Java】Stream API(下):高级操作与性能
本文深入探讨Java Stream API的高级特性,涵盖并行流的多核加速原理与线程安全实践、Collectors工具类的多级分组与下游收集技巧、原始类型 IntStream/LongStream/DoubleStream 的性能优化、Stream调试方法以及性能考量策略。原创 2026-08-11 15:11:42 · 588 阅读 · 0 评论 -
37. 【Java】Stream API(上):集合操作的“流水线”
本文全面介绍 Stream API 的核心概念与实战应用。从Stream的本质 —— 一条数据处理的流水线出发,详细讲解如何创建Stream、中间操作与终止操作的区别,以及filter、map、sorted、collect等常用操作的具体用法。原创 2026-08-11 15:10:45 · 328 阅读 · 0 评论 -
36. 【Java】Lambda 表达式:函数式编程的入口
本文深入讲解Java 8引入的Lambda表达式,从匿名内部类的痛点出发,详细解析Lambda的基本语法、函数式接口、方法引用等核心概念。原创 2026-08-10 10:45:29 · 431 阅读 · 0 评论 -
35. 【Java】日期与时间:java.time 包
本文系统讲解LocalDate、LocalTime、LocalDateTime、ZonedDateTime等核心类的使用方法,涵盖日期运算、时区处理、格式化解析等实战技巧,并分享新旧API互操作、最佳实践及JDK 21增强特性,帮助开发者高效处理日期时间需求。原创 2026-08-10 10:44:29 · 502 阅读 · 0 评论 -
34.【Java】I/O流(下):NIO与文件操作
Path:代表文件或目录路径,提供了丰富的路径操作方法。FilesexistscreateFilecopymovedeletewrite等。:流式读取大文件,逐行处理。目录遍历(一层)、(递归)、(带条件搜索)、(精细控制)。文件属性:通过获取创建时间、修改时间、大小、权限等。与传统 I/O 互操作toFile()toPath()等。NIO.2 让 Java 的文件操作从“繁琐”变成了“简洁”。现在你已经掌握了最现代、最推荐的文件处理方式。原创 2026-08-04 10:12:47 · 558 阅读 · 0 评论 -
33. 【Java】I/O流(上):字节流与字符流
在 Java 中,“流”是一个抽象概念,它代表了一个有序的、连续的数据序列。输入流(Input Stream):数据从外部“流进”程序。比如,你从文件读取数据,数据从文件流向程序。输出流(Output Stream):数据从程序“流出”到外部。比如,你把数据写入文件,数据从程序流向文件。流的本质是一连串的字节(或字符)。你可以把它想象成水管里的水——水从源头流向目的地,你可以在中途“接”一部分水(读取),也可以往里面“加”水(写入)。字节流(Byte Stream):以字节(8 位)为单位进行读写。原创 2026-08-04 10:12:17 · 602 阅读 · 0 评论 -
32. 【Java】泛型:类型安全的“守护者“
本文深入解析Java泛型(Generics)的核心概念与应用,从没有泛型的"黑暗历史"讲起,逐步介绍泛型类、泛型方法、泛型接口的定义与使用。重点剖析通配符(`?`、`? extends T`、`? super T`)的三种形式及其应用场景,解释PECS(Producer Extends, Consumer Super)原则。同时揭示类型擦除机制的本质,列举泛型的常见限制,并通过一个完整的泛型缓存工具示例巩固所学知识。原创 2026-08-03 14:20:15 · 508 阅读 · 0 评论 -
31. 【Java】集合框架(下):实用技巧与 JDK 21 新特性
本文深入讲解Java集合框架的实用技巧与最新特性,涵盖Collections工具类的排序、查找、不可变集合等核心功能,JDK 9+的集合工厂方法,JDK 8+的高级操作如removeIf()、computeIfAbsent(),以及JDK 21的Sequenced Collections统一接口。通过性能优化建议和综合示例,帮助开发者编写更简洁、高效、安全的集合代码。原创 2026-08-03 14:18:05 · 638 阅读 · 0 评论 -
30. 【Java】集合框架(中):Map 与 Queue
本文深入讲解Java集合框架中的Map和Queue两大核心接口。Map作为键值对映射容器,涵盖HashMap、LinkedHashMap和TreeMap的实现原理与使用场景;Queue作为先进先出队列,介绍LinkedList、ArrayDeque和PriorityQueue的实践应用。文章通过丰富代码示例展示遍历方式、键唯一性原理、选择指南及常见陷阱,帮助开发者掌握这两种在日常开发中高频使用的数据结构,提升编程效率与代码质量。原创 2026-08-02 10:42:08 · 670 阅读 · 0 评论 -
29. 【Java】集合框架(上):List 与 Set
本文系统讲解Java集合框架中List和Set两大核心接口,深入剖析ArrayList、LinkedList、HashSet、LinkedHashSet、TreeSet等常用实现类的特性、使用场景与性能差异。通过对比数组痛点、集合体系结构、遍历方式及元素相等性判断,帮助开发者掌握集合框架的核心概念与实战应用,并介绍JDK 21的Sequenced Collections新特性,为构建高效Java应用奠定基础。原创 2026-08-02 10:37:07 · 406 阅读 · 0 评论 -
28. 【Java】阶段实战:学生管理系统(OOP 版)
本文通过一个完整的Java学生管理系统实战项目,系统性地展示了面向对象编程三大特性(封装、继承、多态)的实际应用。从需求分析、系统设计到逐步实现,详细讲解了如何使用抽象类、枚举、自定义异常等核心概念构建健壮的应用程序。项目包含人员管理、课程管理、选课与成绩三大模块,提供了完整的命令行交互界面和异常处理机制,帮助读者将理论知识转化为实践能力。原创 2026-08-01 23:00:03 · 462 阅读 · 0 评论 -
27. 【Java】包与导入:组织代码的“文件夹“
本文深入解析Java包(Package)和导入(Import)机制,从命名冲突问题出发,详细讲解包的声明规范、物理目录结构、import语句的使用技巧,包括通配符导入和静态导入。同时介绍JDK 9引入的模块化系统(JPMS),帮助初学者理解Java代码组织的基本原理和最佳实践。通过综合示例演示包、导入和静态导入的实际应用,为构建清晰、可维护的Java项目打下坚实基础。原创 2026-08-01 22:58:04 · 291 阅读 · 0 评论 -
26. 【Java】Record:告别繁琐的 POJO
本文深入解析Java Record特性,从JDK 16正式引入的一行代码定义数据类开始,全面讲解Record的本质、使用场景、自定义构造方法、添加方法等核心用法。重点介绍JDK 21的Record Patterns解构功能,展示如何与密封类配合构建类型安全的代数数据类型。通过订单系统综合示例,演示Record在实际项目中的应用,帮助开发者掌握这一简化数据建模的现代Java特性。原创 2026-07-31 10:30:41 · 617 阅读 · 0 评论 -
25. 【Java】异常处理:让程序更健壮
本文全面讲解Java异常处理机制,从异常体系结构到实际应用技巧。详细介绍了try-catch-finally、throw与throws、自定义异常等核心概念,通过真实代码示例演示异常捕获与处理的最佳实践。帮助开发者编写更健壮、可维护的Java程序,让程序在遇到错误时能够优雅恢复而非直接崩溃。原创 2026-07-31 10:29:08 · 588 阅读 · 0 评论 -
24. 【Java】枚举:更安全的常量
本文深入讲解 Java 枚举(Enum)的核心概念与实战应用。从基础定义、内置方法、与 switch 的配合,到带字段和方法的“丰满”枚举、策略枚举等高级用法,全面剖析枚举如何替代传统常量,提升代码的类型安全性与可读性。文章通过丰富的代码示例,展示了枚举在状态管理、错误码设计、数据库映射等实际场景中的最佳实践,并对比了枚举与 final 常量的适用场景,帮助开发者掌握这一优雅且强大的语言特性。原创 2026-07-30 23:10:28 · 429 阅读 · 0 评论 -
23. 【Java】内部类与静态嵌套类
本文深入解析Java内部类的四种类型:成员内部类、静态嵌套类、局部内部类和匿名内部类。通过生动的比喻和实际代码示例,详细讲解每种内部类的定义方式、访问权限、使用场景及优缺点。文章还提供了学生管理系统的综合示例,展示内部类在实际项目中的应用,并探讨内部类与设计模式的关系,帮助开发者更好地理解和使用这一重要的Java特性。原创 2026-07-30 23:09:23 · 464 阅读 · 0 评论
分享