
Java杂货铺
文章平均质量分 87
本专栏内容旨在为读者提供参考,若您持有不同观点,欢迎共同探讨交流!
沉迷学习的咸鱼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
揭秘ThreadLocal:Java线程局部变量的实现机制
ThreadLocal是Java中的一个类,它允许你创建线程本地变量,这些变量在每个线程中都有独立的副本。这样,每个线程都可以独立地改变自己的ThreadLocal变量副本,而不会影响其他线程的副本。首先,我们来看一下ThreadLocal的基本使用方法。// 创建一个ThreadLocal对象// 启动两个线程// 设置线程本地变量的值}).start();// 设置线程本地变量的值}).start();原创 2024-04-16 14:39:56 · 998 阅读 · 0 评论 -
探索Java Collections:HashMap源码深度分析
HashMap是一种基于数组和链表或红黑树(自JDK 1.8起引入)实现的哈希表结构。它允许null键和null值,是非线程安全的,并且不保证映射的顺序。JDK 1.8对HashMap进行了显著的性能优化,特别是在处理大型数据集时,通过引入红黑树的数据结构来替代传统的链表,从而有效避免了在极端情况下链表过长导致的性能问题。红黑树作为一种自平衡的二叉查找树,确保了在最坏情况下仍然能保持较好的查找和插入性能。原创 2024-04-08 14:08:34 · 1002 阅读 · 0 评论 -
Java中隐藏的性能优化之Integer缓存揭秘
Integer缓存机制是Java 5中引入的一项优化措施,它针对自动装箱过程中整数值的频繁使用进行了优化。这种机制特别适用于-128到127之间的整数值,因为这个范围内的整数值在实际应用中使用最为频繁。通过缓存这些常用的整数值,可以避免在自动装箱时频繁地创建和销毁对象,从而减少了内存的消耗。原创 2024-04-06 00:36:24 · 755 阅读 · 1 评论 -
函数式接口
定义:有且仅有一个抽象方法,但可以有多个非抽象方法的接口。在Java 8中,函数式接口被专门存放于包内,并且该包下的所有接口都使用@FunctionalInterface注解进行标记,这是Java 8为了支持函数式编程而引入的一个新特性。除了java.util.function包中的函数式接口外,其他包中也存在一些函数式接口(例如java.lang.Runnable),其中有些并没有使用 @FunctionalInterface注解进行标注。原创 2024-03-21 17:16:56 · 330 阅读 · 0 评论