├── .gitignore ├── Chapter12 Java内存模型与线程.md ├── Chapter2 运行时数据区域.md ├── Chapter3 垃圾收集器与内存分配策略.md ├── Chapter4 虚拟机性能监控与故障处理工具.md ├── Chapter6 类文件结构.md ├── Chapter7 虚拟机类加载机制.md ├── Chapter8 虚拟机字节码执行引擎.md ├── README.md ├── example.object ├── img ├── Cache Coherence.jpg ├── Class文件格式.jpg ├── Class文件的访问标志.jpg ├── GC Root Tracing.jpg ├── HotSpot JVM 1.6 GC .jpg ├── Java runtime data area.png ├── Java虚拟机提供的语言无关性.png ├── access object by handle.jpg ├── access object by pointer.jpg ├── mat.png ├── oom.png ├── 两个栈帧之间的共享数据.png ├── 双亲委派模型.png ├── 栈帧的概念结构.jpg ├── 类的生命周期.jpg └── 线程、主内存、工作内存之间的关系.png ├── nio-data.txt └── src └── com └── taomk └── understandingJVM ├── FutureTest.java ├── annotation ├── Client.java ├── GeetingAnnotationTest.java ├── Greeting.java ├── NameCheckProcessor.java └── NameChecker.java ├── autobox └── Test.java ├── blockqueue └── BlockingQueueTest.java ├── cache └── LocalCache.java ├── candy └── AutoPackage.java ├── concurrent ├── atomic │ └── AtomicStudy.java ├── cow │ ├── BlackListServiceImpl.java │ └── CopyOnWriteMap.java ├── executor │ ├── CachedThreadExecutorTest.java │ ├── FixedThreadExecutorTest.java │ ├── ScheduledThreadExecutorTest.java │ └── SingleThreadExecutorTest.java ├── forkjoin │ └── ForkJoinStudy.java ├── lock │ └── TestLocks.java ├── map │ ├── ConcurrentHashMapIteratorDemo.java │ └── ConcurrentHashmapStudy.java └── task │ └── consumeAndProducer │ ├── multi │ ├── Client.java │ ├── Consumer.java │ ├── Producer.java │ ├── Resource.java │ └── ResourceBy2Condition.java │ └── single │ ├── Client.java │ ├── Consumer.java │ ├── Producer.java │ ├── Resource.java │ └── ResourceByLock.java ├── encrypt ├── Base64.java ├── RSAEncrypt.java ├── RSASignature.java └── Test.java ├── forfun ├── HelloWorld.java └── Test.java ├── gc ├── Allocation.java ├── FinalizeEscapeGC.java └── ReferenceCountingGC.java ├── hashcode └── HashCodeAndEquals.java ├── innerClass └── Outter.java ├── interview ├── InterfaceWhitDefaultMethod.java ├── InterfaceWhitDefaultMethodImpl.java ├── ReverseSingleLinkedNode.java └── SortedByValueMapDemo.java ├── java8 ├── lambda │ ├── ComparatorFactory.java │ ├── defaultMethod │ │ └── DefaultMethod.java │ └── principle │ │ ├── Principle$Action.class │ │ ├── Principle.class │ │ └── Principle.java └── stream │ └── StreamTest.java ├── jcf ├── ArraysTest.java └── PerformanceTest.java ├── jmm ├── OOMMock.java ├── StackErrorMock.java └── StringOOMMock.java ├── keyworld ├── CheesyCounter.java ├── CloneStudy.java ├── VolatileStudy.java └── sync │ ├── StringThread.java │ └── SynchronizedStudy.java ├── load ├── A.java ├── SSClass.java ├── StaticTest.java ├── SubClass.java ├── SuperClass.java └── Test.java ├── lock ├── count │ ├── Counter.java │ ├── SharedVariableTest.java │ └── Test.java └── wait │ ├── DeadLock.java │ ├── Restaurant.java │ └── WaitTest.java ├── map ├── HashMapThread.java └── LinkedHashMapStudy.java ├── method_interface ├── BlockingQueueStudy.java ├── CallableAndFutureStudy.java ├── ClassLoaderStudy.java ├── DelayQueueStudy.java ├── MapStudy.java ├── NotifyStusy.java ├── ProxyStudy.java ├── ReflectStudy.java └── SerializeStudy.java ├── nio ├── FileChannelTest.java └── SocketChannelTest.java ├── oom ├── DirectMemoryOOM.java ├── HeapOOM.java ├── OOMObject.java ├── RuntimeConstantPoolOOM.java └── Test.java ├── proxy ├── Client.java ├── DynamicProxy.java ├── Subject.java └── SubjectImpl.java ├── sort └── QuickSort.java ├── stream └── StreamTest.java ├── task ├── FutureTaskTest.java └── RunnableFutureTaskTest.java ├── thread ├── InterruptTest.java ├── JoinDemo.java ├── JoinTest.java ├── ThreadLocalTest.java └── WaitTest.java ├── tree └── BinaryTreeStudy.java └── visibility └── VisibilityThred.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/.gitignore -------------------------------------------------------------------------------- /Chapter12 Java内存模型与线程.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/Chapter12 Java内存模型与线程.md -------------------------------------------------------------------------------- /Chapter2 运行时数据区域.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/Chapter2 运行时数据区域.md -------------------------------------------------------------------------------- /Chapter3 垃圾收集器与内存分配策略.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/Chapter3 垃圾收集器与内存分配策略.md -------------------------------------------------------------------------------- /Chapter4 虚拟机性能监控与故障处理工具.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/Chapter4 虚拟机性能监控与故障处理工具.md -------------------------------------------------------------------------------- /Chapter6 类文件结构.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/Chapter6 类文件结构.md -------------------------------------------------------------------------------- /Chapter7 虚拟机类加载机制.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/Chapter7 虚拟机类加载机制.md -------------------------------------------------------------------------------- /Chapter8 虚拟机字节码执行引擎.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/Chapter8 虚拟机字节码执行引擎.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # understandingJVM 2 | 《深入理解Java虚拟机》读书笔记 3 | -------------------------------------------------------------------------------- /example.object: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/example.object -------------------------------------------------------------------------------- /img/Cache Coherence.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/Cache Coherence.jpg -------------------------------------------------------------------------------- /img/Class文件格式.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/Class文件格式.jpg -------------------------------------------------------------------------------- /img/Class文件的访问标志.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/Class文件的访问标志.jpg -------------------------------------------------------------------------------- /img/GC Root Tracing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/GC Root Tracing.jpg -------------------------------------------------------------------------------- /img/HotSpot JVM 1.6 GC .jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/HotSpot JVM 1.6 GC .jpg -------------------------------------------------------------------------------- /img/Java runtime data area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/Java runtime data area.png -------------------------------------------------------------------------------- /img/Java虚拟机提供的语言无关性.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/Java虚拟机提供的语言无关性.png -------------------------------------------------------------------------------- /img/access object by handle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/access object by handle.jpg -------------------------------------------------------------------------------- /img/access object by pointer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/access object by pointer.jpg -------------------------------------------------------------------------------- /img/mat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/mat.png -------------------------------------------------------------------------------- /img/oom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/oom.png -------------------------------------------------------------------------------- /img/两个栈帧之间的共享数据.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/两个栈帧之间的共享数据.png -------------------------------------------------------------------------------- /img/双亲委派模型.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/双亲委派模型.png -------------------------------------------------------------------------------- /img/栈帧的概念结构.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/栈帧的概念结构.jpg -------------------------------------------------------------------------------- /img/类的生命周期.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/类的生命周期.jpg -------------------------------------------------------------------------------- /img/线程、主内存、工作内存之间的关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/img/线程、主内存、工作内存之间的关系.png -------------------------------------------------------------------------------- /nio-data.txt: -------------------------------------------------------------------------------- 1 | New String to write to file... 2 | 当前毫秒数:15022008793464 -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/FutureTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/FutureTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/annotation/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/annotation/Client.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/annotation/GeetingAnnotationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/annotation/GeetingAnnotationTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/annotation/Greeting.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/annotation/Greeting.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/annotation/NameCheckProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/annotation/NameCheckProcessor.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/annotation/NameChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/annotation/NameChecker.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/autobox/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/autobox/Test.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/blockqueue/BlockingQueueTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/blockqueue/BlockingQueueTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/cache/LocalCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/cache/LocalCache.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/candy/AutoPackage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/candy/AutoPackage.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/atomic/AtomicStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/atomic/AtomicStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/cow/BlackListServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/cow/BlackListServiceImpl.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/cow/CopyOnWriteMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/cow/CopyOnWriteMap.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/executor/CachedThreadExecutorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/executor/CachedThreadExecutorTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/executor/FixedThreadExecutorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/executor/FixedThreadExecutorTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/executor/ScheduledThreadExecutorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/executor/ScheduledThreadExecutorTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/executor/SingleThreadExecutorTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/executor/SingleThreadExecutorTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/forkjoin/ForkJoinStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/forkjoin/ForkJoinStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/lock/TestLocks.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/lock/TestLocks.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/map/ConcurrentHashMapIteratorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/map/ConcurrentHashMapIteratorDemo.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/map/ConcurrentHashmapStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/map/ConcurrentHashmapStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Client.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Consumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Consumer.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Producer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Producer.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Resource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/Resource.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/ResourceBy2Condition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/multi/ResourceBy2Condition.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Client.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Consumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Consumer.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Producer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Producer.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Resource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/Resource.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/ResourceByLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/concurrent/task/consumeAndProducer/single/ResourceByLock.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/encrypt/Base64.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/encrypt/Base64.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/encrypt/RSAEncrypt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/encrypt/RSAEncrypt.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/encrypt/RSASignature.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/encrypt/RSASignature.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/encrypt/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/encrypt/Test.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/forfun/HelloWorld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/forfun/HelloWorld.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/forfun/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/forfun/Test.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/gc/Allocation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/gc/Allocation.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/gc/FinalizeEscapeGC.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/gc/FinalizeEscapeGC.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/gc/ReferenceCountingGC.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/gc/ReferenceCountingGC.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/hashcode/HashCodeAndEquals.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/hashcode/HashCodeAndEquals.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/innerClass/Outter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/innerClass/Outter.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/interview/InterfaceWhitDefaultMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/interview/InterfaceWhitDefaultMethod.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/interview/InterfaceWhitDefaultMethodImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/interview/InterfaceWhitDefaultMethodImpl.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/interview/ReverseSingleLinkedNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/interview/ReverseSingleLinkedNode.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/interview/SortedByValueMapDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/interview/SortedByValueMapDemo.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/java8/lambda/ComparatorFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/java8/lambda/ComparatorFactory.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/java8/lambda/defaultMethod/DefaultMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/java8/lambda/defaultMethod/DefaultMethod.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/java8/lambda/principle/Principle$Action.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/java8/lambda/principle/Principle$Action.class -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/java8/lambda/principle/Principle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/java8/lambda/principle/Principle.class -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/java8/lambda/principle/Principle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/java8/lambda/principle/Principle.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/java8/stream/StreamTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/java8/stream/StreamTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/jcf/ArraysTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/jcf/ArraysTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/jcf/PerformanceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/jcf/PerformanceTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/jmm/OOMMock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/jmm/OOMMock.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/jmm/StackErrorMock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/jmm/StackErrorMock.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/jmm/StringOOMMock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/jmm/StringOOMMock.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/keyworld/CheesyCounter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/keyworld/CheesyCounter.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/keyworld/CloneStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/keyworld/CloneStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/keyworld/VolatileStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/keyworld/VolatileStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/keyworld/sync/StringThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/keyworld/sync/StringThread.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/keyworld/sync/SynchronizedStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/keyworld/sync/SynchronizedStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/load/A.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/load/A.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/load/SSClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/load/SSClass.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/load/StaticTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/load/StaticTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/load/SubClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/load/SubClass.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/load/SuperClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/load/SuperClass.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/load/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/load/Test.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/lock/count/Counter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/lock/count/Counter.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/lock/count/SharedVariableTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/lock/count/SharedVariableTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/lock/count/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/lock/count/Test.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/lock/wait/DeadLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/lock/wait/DeadLock.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/lock/wait/Restaurant.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/lock/wait/Restaurant.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/lock/wait/WaitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/lock/wait/WaitTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/map/HashMapThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/map/HashMapThread.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/map/LinkedHashMapStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/map/LinkedHashMapStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/BlockingQueueStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/BlockingQueueStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/CallableAndFutureStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/CallableAndFutureStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/ClassLoaderStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/ClassLoaderStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/DelayQueueStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/DelayQueueStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/MapStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/MapStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/NotifyStusy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/NotifyStusy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/ProxyStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/ProxyStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/ReflectStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/ReflectStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/method_interface/SerializeStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/method_interface/SerializeStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/nio/FileChannelTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/nio/FileChannelTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/nio/SocketChannelTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/nio/SocketChannelTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/oom/DirectMemoryOOM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/oom/DirectMemoryOOM.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/oom/HeapOOM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/oom/HeapOOM.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/oom/OOMObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/oom/OOMObject.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/oom/RuntimeConstantPoolOOM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/oom/RuntimeConstantPoolOOM.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/oom/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/oom/Test.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/proxy/Client.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/proxy/Client.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/proxy/DynamicProxy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/proxy/DynamicProxy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/proxy/Subject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/proxy/Subject.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/proxy/SubjectImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/proxy/SubjectImpl.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/sort/QuickSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/sort/QuickSort.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/stream/StreamTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/stream/StreamTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/task/FutureTaskTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/task/FutureTaskTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/task/RunnableFutureTaskTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/task/RunnableFutureTaskTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/thread/InterruptTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/thread/InterruptTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/thread/JoinDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/thread/JoinDemo.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/thread/JoinTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/thread/JoinTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/thread/ThreadLocalTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/thread/ThreadLocalTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/thread/WaitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/thread/WaitTest.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/tree/BinaryTreeStudy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/tree/BinaryTreeStudy.java -------------------------------------------------------------------------------- /src/com/taomk/understandingJVM/visibility/VisibilityThred.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maokuntao/understandingJVM/HEAD/src/com/taomk/understandingJVM/visibility/VisibilityThred.java --------------------------------------------------------------------------------