- 博客(20)
- 收藏
- 关注
原创 Java IO流核心知识点总结
核心方法: createNewFile() (创建文件)、 mkdir() / mkdirs() (创建目录)、 delete() (删除文件/目录)、 isFile() / isDirectory() (判断类型)、 listFiles() (获取目录下文件)。- 字节流:以 byte 为单位(1字节=8位),适用于所有文件(文本、图片、视频等),核心父类 InputStream / OutputStream。FileInputStream 读取文件字节数据 读取非文本文件(图片/视频)
2025-12-22 19:47:29
241
原创 基于多线程知识点总结
多线程并发访问共享资源时,因执行顺序不可控导致结果不符合预期(如脏读、数据丢失、重复操作)。多个线程互相持有对方需要的锁,导致永久阻塞。多线程的核心价值是提升程序并发能力,但需平衡 “并发收益” 与 “同步开销”。掌握线程生命周期、线程安全、通信机制、线程池等核心知识点,结合场景选择合适的实现方式,同时规避死锁、过度同步等问题,才能高效利用多线程提升程序性能。
2025-12-08 19:45:07
688
原创 异常的知识点总结
finally :无论是否捕获异常,必执行(仅 System.exit(0) 强制终止JVM时不执行),常用于关闭资源(如流、连接)。- catch :捕获指定异常并处理,可多个 catch 并列(子类异常在前,父类异常在后),JDK 7+支持多异常合并( | 分隔)。6. 方法重写的异常规则:子类重写父类方法时,抛出的异常不能超出父类方法声明的异常范围(可少抛、不抛,不能多抛父类未声明的检查型异常)。} (丢失原始异常链)→ 前者系统级错误(不可处理),后者程序级异常(可处理)。
2025-12-01 09:07:19
227
原创 基于Map的总结
本文系统介绍了Java中Map集合的核心概念、实现类对比及使用技巧。主要内容包括:1)Map本质是通过键值对实现快速查找的数据结构,与Collection体系并列;2)详细对比HashMap、TreeMap、LinkedHashMap和ConcurrentHashMap的底层结构、线程安全性和适用场景;3)使用规范强调key设计原则(重写hashCode/equals、推荐不可变对象)、线程安全(高并发用ConcurrentHashMap)和性能优化(合理设置初始容量);4)针对不同开发角色(新手、后端、架
2025-11-10 17:06:11
887
原创 Set专项集合总结
摘要:Set集合具有无序性、唯一性、无索引三大特性,主要通过哈希表或红黑树实现元素去重。常用实现类包括HashSet(哈希表,无序高效)、TreeSet(红黑树,有序)和LinkedHashSet(保留插入顺序)。核心方法涵盖增删查改及遍历操作,TreeSet特有排序相关功能。去重原理依赖对象的equals()/hashCode()方法(HashSet)或比较器接口(TreeSet)。使用时需注意:自定义对象要正确重写相关方法,线程不安全需同步处理,且TreeSet不支持null元素。
2025-11-02 17:19:44
250
原创 List集合专项总结
Java中的List接口是有序、可重复的集合实现,主要包含ArrayList、LinkedList、Vector和Stack等实现类。ArrayList基于动态数组,查询快但增删慢;LinkedList基于双向链表,增删快但查询慢。Vector是线程安全的ArrayList,Stack是继承Vector的栈结构。List提供索引访问和增删改查方法,支持多种遍历方式。线程安全方面,ArrayList和LinkedList非线程安全,可通过Collections.synchronizedList包装。
2025-10-19 21:14:43
730
原创 基于字符串的总结
哈希值缓存:字符串的哈希值在创建时就可以计算并缓存起来,因为字符串内容不会改变,所以在需要多次使用哈希值(如在 HashMap 等集合中作为键)时,不需要重复计算,提高了效率。总结: 在 Java 中, String 是处理字符串的核心类,位于 java.lang 包下,具有不可变性、丰富的操作方法等特性,在字符串处理场景中被广泛使用。- 字符串常量池优化:字符串常量池可以存储字符串常量,当需要使用相同内容的字符串时,可以直接从常量池获取,避免了重复创建字符串对象,节省了内存空间。
2025-09-29 11:19:17
270
原创 基于 Obiect 类及包装类的总结
Byte 、 Short 、 Integer (范围 -128 ~ 127 )、 Long (范围 -128 ~ 127 )、 Character (范围 \u0000 ~ \u007F ):该范围内通过 valueOf 或自动装箱创建的对象,会复用缓存实例。- 默认实现是比较对象的引用地址(等价于 == ),但多数子类(如 String 、 Integer 等)会重写该方法,改为比较对象的“内容”(如 String 的 equals 比较字符序列是否一致)。
2025-09-29 11:11:09
782
原创 Java内部类
Java内部类通过嵌套定义实现了更灵活的封装和代码组织,不同类型的内部类(成员、静态、局部、匿名)适用于不同场景。内部类是定义在另一个类(称为外部类)内部的类。它可以访问外部类的所有成员(包括私有成员),同时也能被外部类访问。1. 内存占用:非静态内部类会持有外部类的隐式引用,可能导致内存泄漏(如外部类是Activity,内部类是Handler)。- 静态内部类只能访问外部类的静态成员(访问实例成员需通过外部类实例)。- 只能访问外部类的静态成员(非静态成员需通过外部类实例访问)。
2025-06-14 23:28:55
353
原创 Java中的接口
Java 8及以后版本引入的默认方法、静态方法和私有方法增强了接口的灵活性和实用性,而函数式接口则是Lambda表达式的基础。- 静态方法( static ):Java 8引入,属于接口本身,通过 接口名.方法名() 调用。- 私有方法( private ):Java 9引入,仅接口内的默认方法可调用,用于封装逻辑。- 默认方法( default ):Java 8引入,有方法体,实现类可选择重写或直接使用。- 作用:允许在不修改实现类的前提下,向接口添加新方法(解决“接口演化问题”)。
2025-06-14 23:19:22
433
原创 三个修饰符
特点:不写修饰符时的默认状态,作用范围为“类内部 + 同包”,子类(跨包)不可访问。- 作用:修饰的成员(属性、方法、内部类)仅在当前类内部可见,外部无法直接访问。- 暴露接口:类的公共方法(如API接口)、需要被其他类广泛使用的工具类。- 作用:修饰的成员在当前类、同包类、子类(不同包也可访问)中可见。- 作用:修饰的成员(类、属性、方法)在任何包、任何类中都可访问。- 隐藏内部方法:类中仅内部使用的辅助方法,避免被外部误调用。- 包内共享:同包内的类可访问,同时允许其他包的子类继承。
2025-06-14 23:04:29
342
原创 面向对象-三大特性
核心概念:将数据(属性)和操作数据的方法(行为)封装在一个类中,隐藏内部实现细节,仅通过公共接口对外提供访问。- 运行时多态(动态多态):通过方法重写(Override)和父类引用指向子类对象实现,运行期确定调用的方法。- 编译时多态(静态多态):通过方法重载(Overload)实现,编译期确定调用的方法。- 缺点:类之间耦合度高(父类修改可能影响子类),Java中无法多继承(限制灵活性)。核心概念:子类(派生类)继承父类(基类)的属性和方法,实现代码复用,并可扩展新功能。
2025-06-14 22:58:13
254
原创 第七章Java中的面向对象
类通过 implements 实现接口,需实现接口的所有方法(JDK8后接口可定义 default 方法和 static 方法,不必重写)。- 子类构造方法默认调用父类无参构造方法,可通过 super() 显式调用父类构造方法(需放在构造方法第一行)。- 编译时多态(静态多态):通过方法重载(Overload)实现,方法名相同,参数列表不同。- 概念:将数据(属性)和操作数据的方法封装在类中,隐藏内部实现细节,仅暴露必要接口。- 概念:子类(派生类)继承父类(基类)的属性和方法,实现代码复用。
2025-06-14 22:52:45
416
原创 Java中的数组
数组是相同类型数据的有序集合,以连续内存空间存储,通过索引(index) 访问元素,索引从 0 开始。- 动态初始化:指定长度,元素自动赋默认值(数值型为0,布尔型为false,引用类型为null)1. 固定长度:数组创建后长度不可变,若需动态扩容,需借助集合类(如 ArrayList )。- 复制数组: Arrays.copyOf(arr, newLength) (返回新数组)3. 引用类型:数组本身是对象,存储在堆内存中,变量存储的是数组的引用地址。// 推荐写法:类型[] 数组名。
2025-06-14 22:45:16
251
原创 Java中的函数
修饰符: static (静态方法)、 final (不可重写)、 abstract (抽象方法,仅存在于抽象类/接口中)。- 访问修饰符: public (公共)、 private (私有)、 protected (受保护)、默认(包访问)。- 语法: (参数) -> { 方法体;- 同一类中,方法名相同但参数列表(数量、类型、顺序)不同,与返回类型无关。- 实例方法引用: 对象::实例方法名 (如 str::length )。- 参数列表:由参数类型和参数名组成,多个参数用逗号分隔,可无参数。
2025-06-14 22:27:44
941
原创 Java中的循环结构
Java中有 for 循环、 while 循环、 do-while 循环 和 增强 for 循环(遍历集合/数组)。不可省),如 for (;- 作用:跳出当前所在的 switch 或循环( for / while / do-while )。作用:至少执行一次循环体,再判断条件(适用于需先执行后判断的场景)。- 无法直接修改集合/数组元素(若需修改,需通过索引或迭代器)。- 作用:退出当前方法,可返回值(非 void 方法)。- 作用:跳过本次循环的剩余代码,直接进入下一次循环。
2025-06-09 15:30:39
188
原创 Java中的分支结构
表达式类型:支持 byte / short / int / char 、 String (JDK 7+)、枚举( enum )、包装类(如 Integer )。- 条件表达式必须是 布尔值( boolean ),不能用数值(如 if (a=1) 是错误的,应为 if (a==1) )。- default 相当于 if-else 中的 else ,位置不强制在最后,但建议放在末尾。作用:针对多个离散值(如枚举、整数、字符串)进行条件判断,执行效率更高。分支结构(条件判断)
2025-06-08 21:57:13
158
原创 Java语言编程基础
(1)算术运算符:包括 + (加法)、 - (减法)、 * (乘法)、 / (除法)、 % (取余)、 ++ (自增)、 -- (自减)。(2) 标识符的定义:是程序员为类、方法、变量、接口等命名的符号。(4) 位运算符:用于对二进制位进行操作,包括 & (按位与)、 | (按位或)、 ^ (按位异或)、 ~ (按位取反)、 << (左移)、 >> (右移)、 >>> (无符号右移)。(2)关系运算符: > (大于)、 < (小于)、 >= (大于等于)、 <= (小于等于)、 == (等于)、!
2025-04-26 10:38:39
673
原创 Deepseek的发展与前景
2025年推出的DeepSeek-R1模型在数学、代码推理等任务上性能对标OpenAI的GPT-4o,部分领域甚至超越,如在风格控制类模型中与GPT-4o并列第一。其未来发展取决于能否持续优化模型性能、拓展应用场景,并在高估值与实际落地之间找到平衡。DeepSeek已与吉利、比亚迪、百度搜索等70余家企业及政务云平台(如深圳、广州)深度合作,涉及智能汽车、政务服务、算力基础设施等领域。- 高估值泡沫:市场对其估值从10亿到1500亿美元的巨大波动,反映了AI领域的不确定性,需警惕技术落地不及预期的风险。
2025-03-06 16:30:35
852
原创 初识Java
1991年:Sun Microsystems公司的“Green”研发小组由James Gosling等人组成,旨在为家用电子产品开发分布式代码系统,因C/C++无法满足需求,James Gosling于6月开始开发新编程语言Oak,即Java前身。:提供了多种安全机制,如字节码验证、内存管理(自动垃圾回收,避免内存泄漏和悬空指针)、访问控制等,有效防止恶意代码的攻击,保障程序安全运行。- 1998年:12月,Java 1.2发布,在图形化用户界面、数据库互联等方面改进,引入类装载器的双亲委派模型等。
2025-03-06 16:24:46
661
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅