jvm
白先森的csdn
这个作者很懒,什么都没留下…
展开
-
Synchronized 耗时的原因,用户态切换内核态耗时的原因
Synchronized 是基于底层操作系统的 Mutex Lock 实现的,每次获取和释放锁操作都会带来用户态和内核态的切换,从而增加系统性能开销。用户态切换内核态的过程如下开销的地方1、切换线程上下文,需要保护和恢复寄存器数据2、切换到执行内核线程的时候,内核代码对用户不信任,需要进行额外的检查。3、内核线程执行完返回过程有很多额外工作,比如检查是否需要调度等4、...原创 2019-12-05 11:45:50 · 3393 阅读 · 5 评论 -
JVM 堆中的对象的内存区域
注意:如果对象为数组,那么在对象头中还必须有一块用于记录数组长度的数据,因为虚拟机可以通过普通java对象的元数据信息确定java对象大小,但是从数组对象的元数据中却无法确定数组大小。...原创 2018-03-15 16:08:02 · 314 阅读 · 0 评论