├── .gitignore ├── README.md ├── images ├── 3-2.png ├── 3-3.png └── Shenandoah.png ├── lib ├── asm-3.3.1.jar └── cglib-2.2.2.jar └── src ├── CMakeLists.txt ├── indify └── Indify.java └── org └── fenixsoft └── jvm ├── chapter10 ├── AutoBoxing.java ├── BADLY_NAMED_CODE.java ├── NameCheckProcessor.java ├── NameChecker.java └── jdk8 │ ├── BADLY_NAMED_CODE.java │ ├── NameCheckProcessor.java │ └── NameChecker.java ├── chapter12 └── VolatileTest.java ├── chapter13 ├── AtomicTest.java ├── VectorTestCase_1.java └── VectorTestCase_2.java ├── chapter2 ├── DirectMemoryOOM.java ├── HeapOOM.java ├── JavaMethodAreaOOM.java ├── JavaVMStackOOM.java ├── JavaVMStackSOF_1.java ├── JavaVMStackSOF_2.java ├── JavaVMStackSOF_3.java ├── RuntimeConstantPoolOOM_1.java └── RuntimeConstantPoolOOM_2.java ├── chapter3 ├── FinalizeEscapeGC.java ├── ReferenceCountingGC.java └── TestSerialGCAllocation.java ├── chapter4 ├── BTraceTest.java ├── JConsoleTestCase.java ├── JHSDBTestCase.java ├── ThreadDeadLockTestCase_1.java └── ThreadDeadLockTestCase_2.java ├── chapter5 └── EclipseStartTime_1.0.0.201011281102.jar ├── chapter7 ├── ClassLoaderTest.java ├── ConstClass.java ├── DeadLoopTestCase.java ├── FieldResolution.java ├── NotInitialization_1.java ├── NotInitialization_2.java ├── NotInitialization_3.java ├── SubClass.java └── SuperClass.java ├── chapter8 ├── Dispatch.java ├── DynamicDispatch.java ├── FieldHasNoPolymorphic.java ├── GrandFatherTestCase_1.java ├── GrandFatherTestCase_2.java ├── InvokeDynamicTest.java ├── MethodHandleTest.java ├── Overload.java ├── StaticDispatch.java └── StaticResolution.java └── chapter9 ├── ByteUtils.java ├── ClassModifier.java ├── DynamicProxyTest.java ├── HackSystem.java ├── HotSwapClassLoader.java └── JavaclassExecuter.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/README.md -------------------------------------------------------------------------------- /images/3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/images/3-2.png -------------------------------------------------------------------------------- /images/3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/images/3-3.png -------------------------------------------------------------------------------- /images/Shenandoah.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/images/Shenandoah.png -------------------------------------------------------------------------------- /lib/asm-3.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/lib/asm-3.3.1.jar -------------------------------------------------------------------------------- /lib/cglib-2.2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/lib/cglib-2.2.2.jar -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/CMakeLists.txt -------------------------------------------------------------------------------- /src/indify/Indify.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/indify/Indify.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter10/AutoBoxing.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter10/AutoBoxing.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter10/BADLY_NAMED_CODE.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter10/BADLY_NAMED_CODE.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter10/NameCheckProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter10/NameCheckProcessor.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter10/NameChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter10/NameChecker.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter10/jdk8/BADLY_NAMED_CODE.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter10/jdk8/BADLY_NAMED_CODE.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter10/jdk8/NameCheckProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter10/jdk8/NameCheckProcessor.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter10/jdk8/NameChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter10/jdk8/NameChecker.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter12/VolatileTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter12/VolatileTest.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter13/AtomicTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter13/AtomicTest.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter13/VectorTestCase_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter13/VectorTestCase_1.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter13/VectorTestCase_2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter13/VectorTestCase_2.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/DirectMemoryOOM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/DirectMemoryOOM.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/HeapOOM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/HeapOOM.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/JavaMethodAreaOOM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/JavaMethodAreaOOM.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/JavaVMStackOOM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/JavaVMStackOOM.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/JavaVMStackSOF_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/JavaVMStackSOF_1.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/JavaVMStackSOF_2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/JavaVMStackSOF_2.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/JavaVMStackSOF_3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/JavaVMStackSOF_3.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/RuntimeConstantPoolOOM_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/RuntimeConstantPoolOOM_1.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter2/RuntimeConstantPoolOOM_2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter2/RuntimeConstantPoolOOM_2.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter3/FinalizeEscapeGC.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter3/FinalizeEscapeGC.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter3/ReferenceCountingGC.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter3/ReferenceCountingGC.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter3/TestSerialGCAllocation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter3/TestSerialGCAllocation.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter4/BTraceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter4/BTraceTest.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter4/JConsoleTestCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter4/JConsoleTestCase.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter4/JHSDBTestCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter4/JHSDBTestCase.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter4/ThreadDeadLockTestCase_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter4/ThreadDeadLockTestCase_1.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter4/ThreadDeadLockTestCase_2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter4/ThreadDeadLockTestCase_2.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter5/EclipseStartTime_1.0.0.201011281102.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter5/EclipseStartTime_1.0.0.201011281102.jar -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/ClassLoaderTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/ClassLoaderTest.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/ConstClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/ConstClass.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/DeadLoopTestCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/DeadLoopTestCase.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/FieldResolution.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/FieldResolution.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/NotInitialization_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/NotInitialization_1.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/NotInitialization_2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/NotInitialization_2.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/NotInitialization_3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/NotInitialization_3.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/SubClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/SubClass.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter7/SuperClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter7/SuperClass.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/Dispatch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/Dispatch.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/DynamicDispatch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/DynamicDispatch.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/FieldHasNoPolymorphic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/FieldHasNoPolymorphic.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/GrandFatherTestCase_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/GrandFatherTestCase_1.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/GrandFatherTestCase_2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/GrandFatherTestCase_2.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/InvokeDynamicTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/InvokeDynamicTest.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/MethodHandleTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/MethodHandleTest.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/Overload.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/Overload.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/StaticDispatch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/StaticDispatch.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter8/StaticResolution.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter8/StaticResolution.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter9/ByteUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter9/ByteUtils.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter9/ClassModifier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter9/ClassModifier.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter9/DynamicProxyTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter9/DynamicProxyTest.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter9/HackSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter9/HackSystem.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter9/HotSwapClassLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter9/HotSwapClassLoader.java -------------------------------------------------------------------------------- /src/org/fenixsoft/jvm/chapter9/JavaclassExecuter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fenixsoft/jvm_book/HEAD/src/org/fenixsoft/jvm/chapter9/JavaclassExecuter.java --------------------------------------------------------------------------------