- 博客(20)
- 收藏
- 关注
原创 【BIO、NIO、AIO的区别?】
同步阻塞模型,线程发起读写请求后。例如当调用时,线程会阻塞直到数据就绪。同步非阻塞模型,通过Selector实现。线程可以通过轮询方式检查多个通道的就绪状态,当没有就绪事件时,线程可执行其他任务。异步非阻塞模型,采用。线程发起读写请求后立即返回,操作系统完成IO操作后通过回调函数通知应用程序。
2025-05-20 10:49:16
853
原创 【String,StringBuffer,StringBuilder的区别?】
【代码】【String,StringBuffer,StringBuilder的区别?
2025-05-20 10:30:28
912
原创 【抽象类和接口的区别?】
抽象类:使用abstractabstractabstract关键字定义,可包含抽象方法(无具体实现)和非抽象方法abstract class Animal {// 实例变量// 抽象方法} // 具体方法接口:使用interfaceinterfaceinterface定义,Java 8起可包含三种方法:抽象方法(默认)默认方法(defaultdefaultdefault修饰)静态方法(stati。
2025-05-20 10:10:12
946
原创 【Java基础面试题:final,finally,finalize的区别?】
本章介绍经典基础面试题:final,finally,finalize的区别
2025-05-19 10:03:24
727
原创 【equals与==的区别?】
在Java中,equals方法与==运算符的主要区别在于比较对象和方式不同。==用于比较基本数据类型的值或引用类型的内存地址,而equals专门用于对象间的内容比较。
2025-05-19 09:53:54
419
原创 【程序员必懂的权限模型:RBAC】
RBAC(基于角色的访问控制)是一种通过“用户-角色-权限”三层关系实现权限管理的模型,其核心要素包括用户、角色和权限。
2025-05-15 14:45:01
984
原创 【HashMap底层原理】
HashMap是Java中常用的数据结构,采用数组+链表+红黑树的复合结构。其核心原理包括哈希计算、碰撞处理、树化与退化等。初始容量为16,采用位运算优化索引计算,扩容因子为0.75以平衡空间与时间效率。当链表长度≥8且数组容量≥64时,链表会转换为红黑树,提升查找效率。HashMap非线程安全,多线程环境下需使用Collections.synchronizedMap或ConcurrentHashMap。其设计通过泊松分布和红黑树约束,确保高效的数据存储与检索。
2025-05-15 14:35:14
836
原创 【Java 五种文件拷贝方式你了解多少?】
本文对比了Java中实现文件拷贝的五种方式,按效率从低到高排列:基础字节流拷贝、缓冲流包装拷贝、Files工具类拷贝、NIO通道传输和内存映射文件。
2025-05-14 16:33:08
686
原创 【电商场景下缓存淘汰机制如何选择及实现?】
LRU(最近最少使用)和LFU(最不常用)是两种常见的缓存淘汰机制。LRU基于时间维度,优先淘汰最久未被访问的数据,使用哈希表和双向链表实现,所有操作时间复杂度为$O(1)$。LFU基于统计维度,优先淘汰访问频率最低的数据,使用主哈希表、频率哈希表和双向链表实现,时间复杂度也为$O(1)$。LRU适用于短期热点数据,而LFU适用于长期稳定热点数据。LRU实现较简单,但对偶发批量访问敏感;LFU实现较复杂,但能更好地处理长期热点数据。
2025-05-14 10:31:44
1064
原创 【如何优雅的删除HashMap元素】
本章介绍如何优雅的删除HashMap中的元素,关键建议:并发场景优先使用removeIf,简单逻辑可用foreach,避免使用性能瓶颈或数据不一致的方案。所有方案均需使用ConcurrentHashMap代替非线程安全的HashMap。
2025-05-13 12:51:06
998
原创 【面试官:Java中线程安全的集合你了解多少?】
本文介绍了Java中几种常见的线程安全集合类及其适用场景。Vector和Hashtable通过synchronized实现线程安全,但性能较差,适用于低并发环境。ConcurrentHashMap采用分段锁或CAS机制,适合高并发场景。CopyOnWriteArrayList通过写时复制实现无锁读取,适合读多写少的场景。BlockingQueue支持阻塞操作,适用于生产者-消费者模式。ConcurrentLinkedQueue基于CAS实现高并发无阻塞队列。选择集合类时,应根据具体需求。
2025-05-12 17:38:16
992
原创 【如何优雅的避免空指针异常】
空指针异常(NullPointerException)是Java中常见的运行时错误,通常发生在访问或操作空对象时。为避免此类异常,可以采取多种策略
2025-05-09 18:03:49
409
Java基础知识示例代码库
2025-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人