自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟进阶之路

源码学习总结和分享,向大神看齐

  • 博客(13)
  • 收藏
  • 关注

原创 Hotspot Parker和ParkEvent 源码解析

目录一、LockSupport1、park2、unpark二、Parker1、定义2、Allocate /Release3、park4、unpark三、ParkEvent1、定义2、Allocate /Release3、TryPark /park4、unpark Parker是Unsafe类的park和unpark方法...

2020-03-30 17:56:37 2444 6

原创 Hotspot Thread本地方法实现 源码解析

目录1、start2、join3、sleep4、interrupt /interrupted5、yeild6、holdsLock7、setPriority Java中操作线程都是通过Thread的API来实现,其中核心逻辑都封装在本地方法中,其实现在jdk\src\share\native\java\lang\Thread.c中,部分方法如将当前线程...

2020-03-29 19:30:31 1414

原创 Hotspot 三种锁实现总结

目录一、BasicObjectLock / BasicLock二、偏向锁三、轻量级锁四、重量级锁六、整体加锁流程七、整体解锁流程 Java6对synchronized关键字进行了大幅度的优化,引入偏向锁和轻量级锁的概念,大幅减少了获得锁和释放锁的性能损耗。从Java6开始,加上原有的重量级锁(又叫监视器锁),Java中的对象锁一共有4种状态,分别是:无锁状...

2020-03-28 21:34:23 2817

原创 Hotspot 重量级锁ObjectMonitor(二) 源码解析

目录1、AddWaiter /DequeueWaiter /DequeueSpecificWaiter2、wait3、notify4、notifyAll5、exit6、try_enter /complete_exit7、总结本篇博客继续上一篇《Hotspot 重量级锁ObjectMonitor(一) 源码解析》将ObjectMonitor的其他关键方法的实...

2020-03-28 21:26:18 1300

原创 Hotspot 重量级锁ObjectMonitor(一) 源码解析

目录1、定义2、TrySpin_VaryDuration3、ObjectWaiter4、EnterI5、JavaThreadBlockedOnMonitorEnterState /OSThreadContendState /ThreadBlockInVM6、enterObjectMonitor不仅是重量级锁的实现,还是Object的wait/notify/no...

2020-03-28 11:43:08 3278 4

原创 Hotspot 偏向锁BiasedLocking 源码解析

目录1、定义2、init3、init方法补充说明4、revoke_bias5、bulk_revoke_or_rebias_at_safepoint6、revoke_and_rebias7、VM_RevokeBias /VM_BulkRevokeBias8、revoke_at_safepoint /revoke9、preserve_marks /r...

2020-03-23 18:58:27 2778 3

原创 Hotspot synchronized与volatile关键字实现(二) 源码解析

目录一、synchronized底层实现1、修饰代码块字节码分析2、InterpreterGenerator::lock_method3、执行本地方法synchronized解锁4、解释执行普通Java方法synchronized解锁二、jni_MonitorEnter /jni_MonitorExit1、jni_MonitorEnter2、jni_Moni...

2020-03-20 21:25:10 1241 1

原创 Hotspot synchronized与volatile关键字实现(一) 源码解析

一、synchronized用法1、修饰实例方法2、修饰静态方法3、修饰代码块二、synchronized底层实现1、修改代码块的字节码分析2、monitorenter 指令实现3、InterpreterRuntime::monitorenter4、monitorexit 指令实现5、InterpreterRuntime::monitorexit6、monitorenter/ monitorexit 指令的编译执行

2020-03-16 15:18:41 2052 5

原创 Hotspot Object本地方法实现 源码解析

一、Object.c二、JVM_Clone三、浅拷贝与深拷贝四、ObjectSynchronizer 1、FastHashCode / identity_hash_value_for2、get_next_hash3、inflate /inflate_helper4、omAlloc /omRelease /omFlush5、InduceScavenge / deflate_idle_monitors/deflate_monitor /walk_monitor

2020-03-15 11:04:45 1125 1

原创 Hotspot CMS算法实现总结(四)

1、GenCollectedHeap::do_collection2、CollectedHeap::collect_as_vm_thread3、VM_CollectForMetadataAllocation4、GenCollectedHeap::collect5、mem_allocate_work6、VM_GenCollectForAllocation7、 Debug日志分析

2020-03-08 15:45:01 632 1

原创 Hotspot CMS算法实现总结(三)

目录1、InitialMarking /checkpointRootsInitialWork2、Marking / markFromRootsWork3、Precleaning /AbortablePreclean /preclean_work4、FinalMarking /checkpointRootsFinalWork5、Sweeping /sweepWo...

2020-03-03 20:26:21 705

原创 Hotspot CMS算法实现总结 (二)

目录一、Young GC1、should_collect2、gc_prologue3、collect4、gc_epilogue二、Old GC2.1should_collect2.2 gc_prologue2.3collect2.4do_mark_sweep_work2.5do_compaction_work2.6gc_epi...

2020-03-03 20:26:04 1235

原创 Hotspot CMS算法实现总结 (一)

目录一、数据结构1、Java堆2、CodeCache3、MetaSpace二、关键类/方法1、oop/Klass2、oop_iterate / adjust_pointers /follow_contents3、ReferenceProcessor4、markOop / promote / forward5、GC_locker 和JNI关键区...

2020-03-01 15:41:08 1822 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除