全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+

当前位置:首页 > Java

Java8开始ConcurrentHashMap,为什么舍弃分段锁?

ConcurrentHashMap的原理是引用了内部的 Segment ( ReentrantLock ) 分段锁,保证在操作不同段 map 的时候, 可以并发执行, 操作同段 map 的时候,进行锁的竞争和等待。从而达到线程安全, 且效率大于 synchronized。

2022-09-21

队列和栈是什么?有什么区别?

1.队列则不同,他基于地址指针进行遍历,而且可以从头或尾部开始遍历,但不能同时遍历,无需开辟临时空间,因为在遍历的过程中不影像数据结构,速度要快的多。

2022-09-21

什么是双亲委派模型?

如果一个类收到了类加载请求,它并不会自己先去加载,而是会把这个请求委托给父类的加载器执行。如果父加载器还存在其父加载器,则再进一步向上委托,依次递归,请求将最终到达顶层的启动类加载器。如果父类加载器可以完成加载任务,就成功返回;如果父加载器无法完成加载任务,子加载器才会尝试自己去加载,这就是双亲委派模型。

2022-09-21

说一下类加载的执行过程?

当程序主动使用某个类时,如果该类还未被加载到内存中,JVM会通过加载、连接、初始化3个步骤对该类进行类加载

2022-09-21

说一下JVM的主要组成部分?及其作用?

JVM包括类加载子系统、堆、方法区、栈、本地方法栈、程序计数器、直接内存、垃圾回收器、执行引擎。 1. 类加载子系统:类加载子系统负责加载class信息,加载的类信息存放于方法区中。 2. 直接内存 直接内存是在Java堆外的、直接向系统申请的内存空间。访问直接内存的速度会由于Java堆。出于性能的考虑,读写频繁的场合可能会考虑使用直接内存。

2022-09-21

热问标签

热门频道

在线咨询 免费试学 教程领取