- 博客(22)
- 收藏
- 关注
原创 LinkedList 和 ArrayList的区别
频繁进行 随机访问(get/set 操作多);插入 / 删除操作主要在 尾部;数据量较大,且对内存连续性有要求(缓存友好)。
2025-11-10 16:55:03
982
原创 Java集合介绍
Java 集合框架通过接口标准化了集合操作,不同实现类针对不同场景优化了性能:数组实现侧重查询,链表实现侧重增删,哈希表实现侧重高效去重,红黑树实现侧重排序,并发实现侧重线程安全。理解其底层原理(如动态数组、链表、红黑树、哈希表)是灵活运用的关键。
2025-10-31 17:09:57
608
原创 Java注解
Target作用:指定注解可修饰的目标元素(如类、方法、字段等)。常用参数:ElementType.TYPE(类 / 接口)、METHOD(方法)、FIELD(字段)、PARAMETER(参数)等。@Retention作用:指定注解的保留策略(生命周期)。常用参数:RetentionPolicy.SOURCE:仅在源码中保留,编译后丢弃(如@Override)。RetentionPolicy.CLASS:编译后保留在 class 文件中,但 JVM 运行时不加载(默认)。
2025-10-29 10:39:43
686
原创 HashMap底层原理
HashMap 底层通过哈希表实现高效映射,核心是哈希计算、冲突处理和动态扩容,结合链表和红黑树平衡不同场景下的性能,是 Java 中查询效率极高的集合类(理想情况下时间复杂度为 O (1))。
2025-10-21 13:55:26
401
原创 Java单例模式
在 Java 中,单例模式是一种创建型设计模式,其核心目的是确保某个类在整个应用程序中只存在一个实例,并提供一个全局访问点来获取该实例。这种模式常用于管理共享资源(如配置文件、数据库连接池、日志对象等),避免重复创建对象造成的资源浪费。
2025-10-17 16:31:41
763
原创 jvm内存结构、参数设置
3、根据应用特性选择合适的垃圾回收器(如响应时间优先选 G1、ZGC;5、合理的 JVM 参数设置能够显著提升应用性能和稳定性,特别是对于高并发、大数据量的应用尤为重要。1、生产环境中通常将 - Xms 和 - Xmx 设置为相同值,避免堆大小动态调整带来的性能开销。线程私有,存储方法调用的栈帧(局部变量表、操作数栈、动态链接、返回地址等)所有线程共享,存储类信息、常量、静态变量、即时编译器编译后的代码等。方法区的一部分,存储编译期生成的各种字面量和符号引用。JVM 中最大的内存区域,垃圾回收的主要区域。
2025-10-17 15:53:59
257
原创 数据库分库分表
1、水平拆分:解决 “数据量大” 问题,按行拆分(分库 / 分表)。2、垂直拆分:解决 “访问效率” 问题,按列或业务拆分(分库 / 分表)。3、核心原则:让数据 “分布均匀” 且 “符合业务访问模式”,避免热点数据集中。
2025-09-29 16:55:31
495
原创 Java中TheadpoolExecutory用途
ThreadPoolExecutor 是 Java 中最灵活的线程池实现,可通过参数配置(核心线程数、最大线程数、队列类型等)适应不同的业务场景。在 Java 中,ThreadPoolExecutor 是 java.util.concurrent 包提供的线程池实现,它的核心用途是管理和复用线程资源,以高效处理多个并发任务。1、减少线程创建销毁开销线程的创建和销毁需要消耗系统资源(CPU、内存),线程池通过复用已创建的线程,避免频繁创建销毁线程带来的性能损耗。3、需要控制并发度的批量任务处理。
2025-09-29 11:07:54
269
原创 生产上oom内存溢出怎么处理
处理 OOM 的核心流程:先恢复服务可用性,再通过日志和快照定位根因,最后针对性优化代码或配置。关键在于 “预防”,通过监控、压测和规范代码,提前发现潜在的内存问题,避免在生产环境爆发。
2025-09-28 10:38:17
480
原创 什么是死锁,死锁的4个必要条件,死锁的处理策略
死锁(Deadlock) 是指多个进程或线程在执行过程中,因争夺共享资源(如内存、CPU、文件、锁等)而陷入的一种互相等待、无法继续推进的僵局状态。初始状态:系统有 “打印机” 和 “扫描仪” 两个资源,进程 A 和进程 B 都需要这两个资源完成任务。形成 “A 等 B 的扫描仪,B 等 A 的打印机” 的循环等待链(满足 “循环等待”);第一步:进程 A 先占用 “打印机”(满足互斥条件),然后请求 “扫描仪”。第二步:进程 B 先占用 “扫描仪”(满足互斥条件),然后请求 “打印机”。
2025-09-24 10:17:54
1637
原创 通过DateTimeFormatter格式器格式化日期时间
通过DateTimeFormatter格式器格式化日期时间题目要求:用扫描器获取输入的时间(年月日时分),这个时间的格式是常用的格式,然后格式化这个时间,把格式化的时间输出到控制台,可以在控制台重复输入时间.格式化的时间参考企业微信聊天记录的展示时间.知识需求java基础知识Scanner扫描器普通类,枚举类final修饰符正则表达式DateTimeFormatter格式器(格...
2020-01-11 09:28:43
1266
3
原创 用控制台控制类方法,实例方法,类变量,实例变量的使用
用控制台控制类方法,实例方法,类变量,实例变量的使用效果图如下所示:控制台已启动,请输入合法信息:信息须知:1.调用类方法,通过输入[staticM]键,即静态方法按键2.调用实例方法,通过输入[instanceM]键,即实例方法按键3.调用实例变量,通过输入[instanceName]键,即实例变量按键4.调用静态成员变量,通过输入[STATIC_AGE]键,即静态成员变量按键...
2019-12-14 11:43:49
294
原创 日期时间格式化
日期时间格式化题目要求:用扫描器获取输入的时间(年月日时分),这个时间的格式是常用的格式,然后格式化这个时间,把格式化的时间输出到控制台,可以在控制台重复输入时间.格式化的时间参考企业微信聊天记录的展示时间.实现代码如下:package seven.four.exeicise;import java.util.Scanner;/** * 测试类<br> * 2019...
2019-12-07 11:49:21
295
原创 java“克隆“
一起学习java中的"克隆"知识理解克隆克隆包括浅克隆与深克隆.浅克隆就是复制对象时,仅仅复制对象本身(包括对象的基本成员变量),而不复制对象包含的引用指向的对象.深克隆不仅复制对象本身,而且复制对象包含的引用指向的所有对象.自定义类实现克隆自定义类实现”克隆”的步骤如下:自定义类实现Cloneable接口.这是一个标记性接口,实现该接口的对象可以实现”自我克隆”,接口里没有定义任...
2019-12-04 20:28:31
314
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅