
java基础
文章平均质量分 90
magic 245
这个作者很懒,什么都没留下…
展开
-
Java 9 到 Java 21 新特性全解析:从语法简化到API增强
本文全面概述了Java 9到Java 21的新特性,涵盖了语法简化、API增强及性能优化。从Java 9的模块化系统到Java 17的长期支持版本,再到Java 21的最新功能,详细介绍了如jShell、try-with-resources、局部变量类型推断、instanceof模式匹配、switch表达式、文本块、Record类、密封类等新特性,帮助开发者更好地理解和应用现代Java编程。原创 2025-03-02 19:37:06 · 919 阅读 · 0 评论 -
深入理解Java Stream API:高效处理集合数据的利器
Java Stream API自Java 8引入,提供了一种声明式处理数据集合的方式,支持过滤、映射、排序等操作。Stream不是数据结构,而是来自数据源的元素队列,支持中间和终端操作。本文详细介绍了Stream的创建、中间操作(如筛选、映射、排序)和终端操作(如遍历、匹配、归约),并展示了如何通过Stream高效处理集合数据,提升代码简洁性和可维护性。原创 2025-03-02 16:11:10 · 718 阅读 · 0 评论 -
匿名内部类与Lambda表达式不理解点
代码思路原始代码使用了传统的匿名内部类来实现 接口并创建一个新线程。拆分的过程就是把匿名内部类提取出来,创建一个具体的类来实现 接口,然后使用这个类的实例来创建线程。代码解释二、匿名内部类语法结构1.基本概念匿名内部类是没有名字的局部内部类,它可以扩展一个类或者实现一个接口。通常用于创建只使用一次的类实例。2.继承一个类的匿名内部类⑴.关键点解析:⑵.完整写法3.实现一个接口的匿名内部类三、Lambda 表达式是什么?Lam原创 2025-03-02 14:23:41 · 1099 阅读 · 0 评论 -
Java-Lambda表达式详解
本文全面解析Java Lambda表达式,涵盖语法、函数式接口、方法引用及在集合中的应用。通过实例代码详细讲解Lambda表达式的使用场景、语法精简及与匿名内部类的对比,帮助开发者掌握Lambda编程技巧,提升代码简洁性与可读性。原创 2025-03-01 20:01:05 · 1265 阅读 · 0 评论 -
深入理解Java网络编程:从基础到高级应用
本文全面解析Java网络编程,涵盖IP地址、端口号、通信协议、TCP/UDP编程及Socket套接字的使用。通过实例代码详细讲解TCP/UDP协议的实现、Socket编程技巧及网络通信模型,帮助开发者掌握网络编程核心知识,提升网络应用开发能力。原创 2025-03-01 00:40:04 · 1138 阅读 · 0 评论 -
内存中的缓存区
(具体是 JVM 堆内存的一部分),但它们的作用是优化数据的传输效率,并不是直接操作硬盘和内存之间的缓存。应用程序变量 → JVM 堆内存缓冲区 → 操作系统内核缓冲区 → 硬盘。直接读写硬盘速度慢,缓冲区通过批量操作减少对底层资源的访问次数。:开发者通过代码操作的变量、对象,也位于 JVM 堆内存中。缓冲流的“缓冲区”是 JVM 堆内存的一部分,数据在。:由操作系统管理的内存区域,不属于 JVM 堆内存。:JVM 堆内存的一部分,由 Java 程序管理。:缓存磁盘数据,加速对硬盘的读写操作。原创 2025-02-28 21:02:31 · 1037 阅读 · 0 评论 -
Java注解(详解)
本文全面解析Java注解,涵盖内置注解、自定义注解、元注解及反射注解的应用。通过实例代码详细讲解注解在编译时、运行时及框架开发中的使用,帮助开发者掌握注解技巧,提升代码灵活性与可维护性。原创 2025-02-28 15:33:25 · 1247 阅读 · 1 评论 -
深入理解Java反射机制:从基础到高级应用
本文全面解析Java反射机制,涵盖Class对象获取、Field操作、Method调用、Constructor实例化及泛型反射等核心内容。通过实例代码详细讲解反射在动态创建对象、读取配置文件、反编译类结构等场景中的应用,帮助开发者掌握反射技巧,提升代码灵活性与可扩展性。原创 2025-02-28 00:15:35 · 1047 阅读 · 0 评论 -
深入理解Java多线程编程:从基础到高级应用
本文全面解析Java多线程编程,涵盖线程创建、生命周期、同步机制、线程通信、死锁问题及线程池技术。通过实例代码详细讲解synchronized、ReentrantLock、wait/notify等核心概念,帮助开发者掌握多线程编程技巧,提升程序并发性能与安全性。原创 2025-02-26 22:40:49 · 1673 阅读 · 0 评论 -
Java文件操作与属性配置文件读取:File类与Properties类的深度解析
本文深入探讨Java中File类的使用,涵盖文件与目录的创建、删除、查询等操作,并详细解析如何通过Properties类和ResourceBundle读取属性配置文件,实现灵活配置管理,提升代码的可维护性和扩展性。原创 2025-02-25 13:41:18 · 908 阅读 · 0 评论 -
【JAVA】IO操作
Java中的缓冲流(BufferedInputStream和BufferedOutputStream)通过内置缓冲区减少与磁盘的I/O操作次数,显著提升读写效率。BufferedInputStream通过预加载数据到内存缓冲区,减少底层I/O操作;BufferedOutputStream则通过缓冲区批量写入数据。本文详细解析了缓冲流的工作原理、常用构造方法、文件复制应用及mark/reset功能的使用,帮助开发者更好地理解和应用缓冲流优化文件操作。原创 2025-02-24 19:39:06 · 692 阅读 · 0 评论 -
【JAVA】io流之缓冲流
本文深入解析Java中缓冲流的核心特性与使用方法,涵盖BufferedInputStream与BufferedOutputStream的构造方法、读写操作及文件复制技巧,通过代码示例演示高效文件操作与缓冲区管理策略,助你提升I/O性能与开发效率原创 2025-02-23 21:59:11 · 875 阅读 · 0 评论 -
Java文件操作全解析:从FileReader到FileWriter与类路径管理实战
本文深入解析Java中FileReader与FileWriter的核心用法,涵盖字符流操作、文件路径管理及类路径资源加载,通过代码示例演示文件读写与路径调试技巧,助你掌握高效文件操作与资源管理策略原创 2025-02-23 16:43:17 · 923 阅读 · 0 评论 -
Java IO流全解析:从FileInputStream到FileOutputStream与try-with-resources实战
本文深入解析Java中IO流的核心概念与分类,详细剖析FileInputStream与FileOutputStream的常用方法及文件操作技巧,涵盖字节流、字符流及try-with-resources自动资源管理,助你掌握高效文件读写与资源管理策略。原创 2025-02-23 15:23:44 · 992 阅读 · 0 评论 -
Java集合框架全解析:从LinkedHashMap到TreeMap与HashSet面试题实战
本文深入解析Java中LinkedHashMap、TreeMap及HashSet的核心特性与底层实现,涵盖红黑树、哈希表及二叉树数据结构,通过代码示例与面试题剖析,助你掌握集合类的排序、遍历与性能优化技巧,提升开发效率与代码质量。原创 2025-02-22 15:50:18 · 721 阅读 · 0 评论 -
HashMap 详解
本文深入解析Java中HashMap的核心特性、底层数据结构及哈希冲突处理机制,涵盖自定义类型作为key的处理、手写HashMap实现及Java8后的优化,通过源码分析揭示哈希表扩容与性能优化策略,助你掌握高效数据管理与操作技巧。原创 2025-02-21 23:33:47 · 962 阅读 · 0 评论 -
Java集合框架之Map接口详解
本文深入解析Java中Map接口的核心特性、常用方法及实现类,涵盖HashMap、TreeMap、LinkedHashMap的使用场景与性能对比,通过代码示例演示键值对操作、集合遍历及不可变Map的创建,助你掌握高效数据管理与操作技巧原创 2025-02-21 15:53:31 · 701 阅读 · 0 评论 -
Java链表全解析:从单向链表到双向链表的实现与优化
本文深入解析Java中链表的核心特性、类型及应用场景,详细剖析双向链表LinkedList的源码实现,涵盖增删改查操作,并通过手写单向链表示例演示链表的基本操作与优化技巧,助你掌握链表数据结构的设计与实现。原创 2025-02-20 22:09:29 · 1085 阅读 · 0 评论 -
Java集合框架之ArrayList解析
本文深入解析Java中ArrayList与Vector的底层数据结构、扩容策略及线程安全机制,通过源码分析揭示其性能差异与适用场景,探讨ArrayList的高效随机访问与Vector的同步代价,助你掌握集合类的核心原理与优化技巧。原创 2025-02-20 21:15:00 · 684 阅读 · 0 评论 -
Java集合框架之List接口详解
本文深入解析Java List接口的核心特性、常用实现类及特有方法,涵盖元素操作、子列表处理、ListIterator迭代器及Comparator排序,通过代码示例演示增删改查、遍历与自定义排序技巧,助你掌握高效数据管理与操作原创 2025-02-20 19:53:09 · 1281 阅读 · 0 评论 -
迭代集合时删除元素的正确姿势:避开ConcurrentModificationException的陷阱
Fail-Fast(快速失败)是Java集合框架的一种设计思想。一旦检测到“非预期”的并发修改,立即抛出异常终止程序,防止潜在的数据不一致问题。原创 2025-02-20 16:17:24 · 897 阅读 · 0 评论 -
Java泛型(超详细介绍)
本文深入讲解 Java 泛型与通配符知识。泛型可解决不使用时需频繁向下转型、类型不安全等问题,Java 7 引入钻石表达式简化写法。泛型存在擦除与补偿机制,前者为兼容旧版本在编译后擦除泛型信息,后者在运行时自动强转。泛型可在类、静态方法、接口上定义,与普通类、方法、接口相比,类型更灵活、安全且复用性高。通配符有无限定、上限、下限三种形式,无限定通配符仅能读数据(除 null 外无法添加),上限通配符安全读数据但限制添加,下限通配符可安全添加数据但读取类型受限,各有其设计原理与应用场景原创 2025-02-20 15:21:17 · 1133 阅读 · 0 评论 -
Java21下的 Java 集合框架
本文深入解析Java集合框架的核心概念、体系结构与常用方法,涵盖Collection接口的通用操作、迭代器遍历及Java21新增的SequencedCollection接口,通过代码示例演示集合的增删改查、反转与遍历技巧,助你掌握高效数据管理与操作。原创 2025-02-20 15:11:57 · 1450 阅读 · 0 评论 -
Java常用工具类详解
本文深入解析Java中Math的数学运算、Random的随机数生成、System的系统交互及UUID的唯一标识符生成,涵盖常用方法、底层原理与实战场景,通过代码示例演示数学计算优化、高效随机算法、系统资源管理及分布式ID生成,助你掌握核心工具类,提升开发效率与代码健壮性。原创 2025-02-17 19:21:33 · 617 阅读 · 0 评论 -
Java 5 新特性之枚举:让代码更清晰安全的利器
本文深入探讨Java枚举类型的本质、使用场景及底层原理,涵盖枚举定义、类型安全、高级用法(构造方法、接口实现等),并通过代码示例展示枚举在状态管理、行为定制中的强大功能,助你编写更清晰、安全的代码。原创 2025-02-17 16:20:57 · 692 阅读 · 0 评论 -
Java 日期相关 API 全面解析
本文全面解析Java日期时间处理,涵盖传统Date、Calendar的缺陷与使用技巧,重点详解Java 8新API的LocalDateTime、Instant及线程安全设计,对比时间计算、格式化与高精度操作,助你掌握高效日期处理方案,规避多线程陷阱,轻松应对开发与面试场景。原创 2025-02-17 13:48:54 · 1139 阅读 · 0 评论 -
深入理解Java大数处理与数字格式化
本文详解Java中BigInteger处理超大整数、BigDecimal解决浮点精度丢失及DecimalFormat实现数字格式化的核心用法,涵盖构造方法、运算技巧及财务计算场景,助你规避溢出风险,优化数据展示,提升代码精确性与可维护性。原创 2025-02-16 20:36:33 · 1086 阅读 · 0 评论 -
Java 包装类详解
本文全面解析Java包装类的核心机制,涵盖自动装箱拆箱、字符串转换、缓存优化及Integer类常用方法,深入探讨空指针风险、数值精度等陷阱,结合高频面试题剖析整数型常量池原理,助你掌握包装类使用技巧并规避常见错误,轻松应对开发与面试挑战。原创 2025-02-16 17:26:39 · 1094 阅读 · 0 评论 -
【Java】StringBuffer与StringBuilder详解
本文深度解析Java中String、StringBuilder和StringBuffer的核心差异,涵盖不可变性、线程安全、构造方法及常用操作,结合性能测试数据对比三者效率,提供预分配容量、避免隐式转换等优化策略,助你提升代码性能并轻松应对高频面试题。原创 2025-02-16 01:01:36 · 1649 阅读 · 0 评论 -
Java 高频面试题深度解析
本文深度解析 Java String 类的核心面试考点,涵盖字符串常量池、不可变性、编译优化等高频问题,并提供代码示例。同时,探讨 Java 其他常见面试题,如 try-finally 返回值覆盖、方法重载与 null 参数匹配等,帮助读者全面掌握面试要点原创 2025-02-15 00:20:51 · 1178 阅读 · 0 评论 -
【Java】 String 类中常用方法的详细说明
Java String 类中常用方法的详细说明、使用场景及代码示例原创 2025-02-14 14:46:31 · 662 阅读 · 0 评论 -
Java String 类深度解析:内存模型、常量池与核心机制
**摘要**: 本文深入解析 Java String 类的核心机制,涵盖字符串常量池、不可变性、内存模型及构造方法。通过代码示例,探讨字面量、`new String()` 和 `intern()` 的区别与使用场景,分析字符串拼接、编码问题及性能优化技巧,帮助开发者高效处理字符串并避免常见陷阱。原创 2025-02-14 00:14:27 · 1286 阅读 · 0 评论 -
Java 字符编码与解码:深入理解 Charset 类
本文深入探讨了Java中java.nio.charset.Charset类的核心功能及其应用,涵盖字符集的概念、Charset类的常用方法如获取字符集实例、编码与解码操作、字符集检测与支持等。通过示例代码展示了如何正确处理文本数据的编码与解码,避免乱码问题。同时介绍了常见使用场景及注意事项,确保在不同环境中能够有效管理字符编码,提升软件开发中的文本处理能力。 Charset类提供了强大的工具来统一管理字符集和编码规则,对于全球化应用程序尤为重要。原创 2025-02-13 22:48:40 · 998 阅读 · 0 评论 -
Java 中的 getBytes() 方法
本文围绕 Java 中 String 类的 getBytes() 方法展开。该方法可将字符串按指定字符编码转为字节数组,有常见重载形式:getBytes() 使用平台默认编码;getBytes(Charset charset) 用指定 Charset 对象编码;getBytes(String charsetName) 用指定编码名称编码,不支持时抛异常。文中给出示例代码展示不同编码转换效果。原创 2025-02-13 18:35:18 · 1038 阅读 · 0 评论 -
Java异常详解
编译时异常 vs 运行时异常①所有的RuntimeException的子类:运行时异常/未检查异常(UncheckedException)/非受控异常②Exception的子类(除RuntimeException之外):编译时异常/检查异常(CheckedException)/受控异常①编译时异常特点在编译阶段必须提前处理,如果不处理编译器报错。在编译阶段可以选择处理,也可以不处理,没有硬性要求。③编译时异常一般是由外部环境或外在条件引起的,如网络故障、磁盘空间不足、文件找不到等。原创 2025-02-12 23:42:25 · 1795 阅读 · 1 评论 -
Arrays工具类详解
本文详细介绍了Java中`Arrays`工具类的常用方法,包括数组转字符串、排序、查找、填充、拷贝等操作。通过代码示例展示了`Arrays.toString()`、`Arrays.deepToString()`、`Arrays.sort()`、`Arrays.binarySearch()`等方法的使用场景和注意事项,帮助开发者高效处理数组操作。原创 2025-02-11 23:32:19 · 736 阅读 · 0 评论 -
数据结构与算法
文章介绍了数据结构和算法的相关知识。数据结构分逻辑和物理结构,前者包括集合、线性、树形、图状结构,后者有顺序、链式、散列存储,选择需遵循法则。算法是解决问题步骤,评价看时间和空间复杂度,如计算1到100的和有不同算法。时间复杂度指算法运行时间,有常见等级,计算分三步,包括计算基本操作次数、得数量级函数、用大O表示。常见时间复杂度有常数、对数、线性等阶,各有定义和示例,如常数阶无循环递归,对数阶循环变量固定倍数增长,线性阶循环次数与输入规模成正比等。原创 2025-02-11 17:35:15 · 1239 阅读 · 0 评论 -
JUnit5 单元测试详解
文章介绍Java单元测试相关知识。单元测试针对软件最小可测试单元,能降低错误风险、提升代码质量。JUnit 5是流行的Java单元测试框架,引入方式有Maven和Gradle,也可从官方仓库下载jar包,可在项目结构中查看是否引入成功。编写单元测试时,类名遵循被测试类名+Test,方法用@Test注解,返回值为void且无参数,通过断言判断期望值和实际值。JUnit 5提供多种常用注解,可解决Scanner失效问题,还有忽略测试、超时测试等高级功能,合理使用可提升代码质量。原创 2025-02-10 16:28:09 · 1773 阅读 · 0 评论 -
学生管理系统
文章介绍了一个学生信息管理系统的设计与实现。系统需求涵盖启动时读取预设学生数组,具备显示、查找、添加、修改、删除学生信息及退出程序等功能,并确保数据一致性。系统由客户端、学生类、学生服务类构成。学生类封装学生信息,学生服务类实现核心操作,客户端负责交互。代码对各功能详细实现,如学生服务类通过数组管理学生信息,客户端依据用户输入调用相应方法。文末提出可从数据存储、验证及界面交互等方面优化系统。原创 2025-02-09 23:15:21 · 923 阅读 · 0 评论 -
深入浅出Java数组:从基础到高阶应用
本文深入解析Java数组。开篇点明数组是Java基础且重要的数据结构,用于存储相同数据类型元素集合。接着阐述数组概述,包括定义、分类、存储元素特点、优缺点。随后详细介绍一维数组,涵盖静态初始化、增强for循环、动态初始化、存储引用时内存图、获取最大值、通过值找下标、数组反转、main方法形参args作用、可变长度参数、数组扩容等内容。最后讲解二维数组的静态初始化和动态初始化,包括等长与不等长二维数组的创建方式,为全面掌握Java数组提供了系统指导 。原创 2025-02-09 19:02:32 · 1144 阅读 · 0 评论