多线程&高并发
Java多线程高并发专栏
码农渔夫
喜欢分享,喜欢折腾,拥抱变化!
路漫漫其修远兮,吾将上下而求索。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解synchronized底层源码,小白这篇足够了
深入理解synchronized底层源码 前言 这篇文章从JVM源码分析synchronized的实现逻辑,这样才能更加对synchronized深度的认识。 进程:操作系统资源分配的基本单位。线程:cpu调度的基本单位(真实执行) 阅读导航深入理解synchronized底层源码前言一、synchronized的使用场景二、JVM中,对象在内存中的布局三、synchronized底层从字节码聊起四、monitor到底是什么?五、深入synchronized底层源码六、锁的优化1、偏向锁2、偏向锁的获取原创 2020-06-26 12:27:55 · 2092 阅读 · 0 评论 -
synchronized源码,就是这么简单!
简单分析synchronized的源码 从 monitorenter和 monitorexit这两个指令来开始阅读源码,JVM将字节码加载到内存以后,会对这两个指令进行解释执行, monitorenter, monitorexit的指令解析是通过 InterpreterRuntime.cpp中的两个方法实现。 IRT_ENTRY_NO_ASYNC(void, InterpreterRuntime::monitorenter(JavaThread* thread, BasicObjectLock* elem)原创 2020-06-25 15:13:39 · 908 阅读 · 0 评论 -
面试官:HashMap加载因子为什么是0.75?小伙子当场懵了
HashMap的确有很多细节值得我们注意,正如被问到HashMap加载因子为什么是0.75?,好了废话不多说,直接上源码分享。 HashMap加载因子是什么? static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); } // AbstractMap public int hashCode() { int h =原创 2020-06-23 22:37:22 · 2184 阅读 · 0 评论 -
最近面试又被synchronized虐,该怎么办好?
1、面试被问synchronized,你真的回答对了吗 首先认识synchronized是什么,为什么要用它,它能给我们带来什么好处? synchronized关键字是用来解决在多线程之间访问资源的下得到同步性的,就是当被synchronized修饰的方法或者代码块时,它会保证任意时刻只能有一个线程执行。这样就确保线程互斥的访问同步代码、保证共享变量的修改能够及时可见、有效解决重排序问题。 2、你是如何使用synchronized加锁的 修饰实例方法:作用于当前对象实例加锁,进入同步代码前获得当前对象实例原创 2020-06-12 15:10:40 · 410 阅读 · 0 评论
分享