Download address: Network disk download
Directory: Preface the first part of the introduction to Java 1th Chapter approaching Java 1.1 Overview 1.2 Java Technology System 1.3 Java History 1.4 Java Virtual machine history 1.4.1 Sun Classic Exact VM 1.4.2 Sun H Otspot vm 1.4.3 Sun mobile-embedded vm meta-circular vm 1.4.4 bea JRockit IBM J9 vm 1.4.5 Azul VM BEA liquid vm 1.4.6 Apac He Harmony Google Android Dalvik VM 1.4.7 Microsoft JVM and other 1.5 Outlook Java Technology Future 1.5.1 Modular 1.5.2 Hybrid language 1.5.3 multicore parallel 1.5.4 further enrich Syntax 1 .5.5 64-bit virtual machine 1.6 combat: self-compiling JDK 1.6.1 get JDK source code 1.6.2 System Requirements 1.6.3 Build compilation environment 1.6.4 compile 1.6.5 Debug source code in IDE Tools 1.7 Chapter Two automatic memory Management mechanism 2nd Chapter Java memory area and memory overflow Exception 2.1 Overview 2.2 Runtime Data Region 2.2.1 Program counter 2.2.2 Java Virtual machine stack 2.2.3 Local method Stack 2.2.4 Java heap 2.2.5 method area 2.2.6 run a constant amount of pool 2.2.7 Direct Memory 2 .3 Hotspot Virtual Machine Object Quest 2.3.1 Object's creation 2.3.2 object's memory layout 2.3.3 object's access location 2.4 Combat: OutOfMemoryError Exception 2.4.1 java heap overflow 2.4.2 virtual machine stack and local method stack Overflow 2.4.3 Method area and run frequent pool overflow 2.4.4 Native Direct Memory Overflow 2.5 Summary of Chapter 3rd garbage collector and Memory allocation Strategy 3.1 Overview 3.2 object dead? 3.2.1 Reference counting algorithm 3.2.2 Accessibility analysis algorithm 3.2.3 to talk about the 3.2.4 to survive or die 3.2.5 Recovery method Area 3.3 Garbage collection Algorithm 3.3.1 tag-purge algorithm 3.3.2 replication algorithm 3.3.3 Tag-collation algorithm 3.3.4 generation collection algorithm 3.4 hotspot algorithm implementation 3.4.1 enumeration root node 3.4.2 security point 3.4.3 Ann Total area 3.5 garbage collector 3.5.1 SeriAl collector 3.5.2 Parnew collector 3.5.3 Parallel scavenge collector 3.5.4 serial old collector 3.5.5 Parallel old collector 3.5.6 cms collector 3.5.7 G1 collector 3.5.8 Understanding GC Log 3.5.9 Garbage collector parameter Summary 3.6 memory allocation and recovery strategy 3.6.1 object priority in the Eden allocation 3.6.2 large objects directly into the old age 3.6.3 long-term survival of the object will enter the old age 3.6.4 dynamic object age to determine 3.6.5 space allocation guarantee 3. 7 Summary of Chapter 4th virtual machine performance monitoring and troubleshooting Tools 4.1 Overview 4.2 JDK command-line tools 4.2.1 JPS: Virtual machine process Status Tool 4.2.2 Jstat: Virtual machine Statistics monitoring Tool 4.2.3 Jinfo:java configuration information tool 4.2.4 JM Ap:java Memory Image tool 4.2.5 Jhat: Virtual machine heap Dump snapshot analysis tool 4.2.6 Jstack:java stack trace tool 4.2.7 hsdis:jit generate code Disassembly 4.3 jdk visual Tools 4.3.1 Jconsole:java Monitoring and Management Console 4.3.2 VISUALVM: Multi-in-one fault handling tool 4.4 Summary of the 5th chapter of the analysis and actual Combat 5.1 Overview 5.2 Case Studies 5.2.1 Program deployment strategy on High-performance hardware 5.2.2 set of memory caused by synchronization between groups Overflow error caused by overflow 5.2.3 heap memory 5.2.4 External command causes system to slow down 5.2.5 server JVM process crashes 5.2.6 improper data structure causes memory footprint too large 5.2.7 long pauses caused by Windows virtual Memory 5.3 Combat: Eclipse Run Speed Program running status before tuning 5.3.1 5.3.2 upgrade JDK 1.6 performance changes and compatibility issues 5.3.3 compile time and class load time optimization 5.3.4 adjust memory settings control garbage collection frequency 5.3.5 Select collectors Reduce Latency 5.4 Summary of the third part of virtual machine execution subsystem 6th class file Structure 6.1 Overview 6.2 The cornerstone of the 6.3 class file Structure 6.3.1 magic number and class file version 6.3.2 constant pool 6.3.3 Access Flag 6.3.4 Class index, parent class index and interface index collection 6.3.5 Field table Collection 6.3.6 Method Table Collection 6.3.7 property sheet collection 6.4 Byte code instruction introduction 6.4.1 byte code and data type 6.4.2 loading and storage instruction 6.4.3 operation instruction 6.4.4 type conversion instruction 6.4.5 object creation and access instruction 6.4.6 operand stack management instruction 6.4.7 Control transfer instruction 6.4.8 method call and return instruction 6.4.9 exception handling instruction 6.4.10 Sync Instruction 6.5 The development of the 6.6 class file structure by public design and private implementation 6.7 Summary of Chapter 7th virtual machine class loading Mechanism 7.1 Overview 7.2 class loading Time 7.3 class loading process 7.3.1 loading 7.3.2 validation 7.3.3 preparing 7 .3.4 Parse 7.3.5 Initialization 7.4 class loader 7.4.1 class and class loader 7.4.2 Parent delegation Model 7.4.3 destroy Parental delegation Model 7.5 Chapter 8th virtual machine byte Code Execution Engine 8.1 Overview 8.2 run-time stack frame structure 8.2.1 local variable table 8.2.2 operand stack 8.2.3 Dynamic Connection 8.2.4 method return address 8.2.5 additional Information 8.3 method call 8.3.1 Parse 8.3.2 assign 8.3.3 dynamic type language support 8.4 stack based byte code interpretation execution engine 8.4.1 interpret execution 8.4. 2 Stack-based instruction set and register-based instruction set 8.4.3 compiler execution Process 8.5 Chapter 9th class loading and implementation subsystem cases and actual Combat 9.1 Overview 9.2 Case Analysis 9.2.1 Tomcat: The Orthodox ClassLoader architecture 9.2.2 OSGi: Flexible classes Plus Carrier Architecture 9.2.3 Bytecode generation technology and implementation of dynamic proxy 9.2.4 Retrotranslator: Cross JDK version 9.3 Combat: Implement remote execution function 9.3.1 target 9.3.2 idea 9.3.3 realize 9.3.4 Verification 9.4 Chapter Summary Part IV program compilation and code optimization chapter 10th early (compile-time) Optimization 10.1 Overview 10.2 javac compiler 10.2.1 Javac source code and debug 10.2.2 parsing and filling symbol table 10.2.3 Annotation Processor 10.2.4 Semantic analysis and bytecode generation 10.3 Java syntax sugar flavor 10.3.1 generics and type erase 10.3.2 automatic boxing, unboxing and traversal loops 10.3.3 conditional compilation 10.4 Combat: Insert Annotation Processor 10.4.1 Combat target 10.4.2 Code implementation 10.4.3 Run and test 10.4.4 other Application Case 10.5 This chapter summarizes the late 11th chapter (YunDeparture) Optimization 11.1 Overview 11.2 hotspot virtual Machine instant compiler 11.2.1 interpreter and compiler 11.2.2 compiler object and trigger condition 11.2.3 compile Process 11.2.4 View and analyze Just-in-time compilation Results 11.3 compilation optimization technology 11.3.1 optimization techniques Operation Overview 11.3.2 Common subexpression elimination 11.3.3 array boundary check elimination 11.3.4 method inline 11.3.5 Escape Analysis 11.4 java and cc++ compiler comparison 11.5 Chapter five efficient concurrency 12th chapter Java memory model and thread 12.1 Overview 12.2 Hardware efficiency and consistency 12.3 Java memory Model 12.3.1 main memory and working memory 12.3.2 Inter-memory interaction 12.3.3 special rules for volatile variables 12.3.4 special rule 12 for long and double variables. 3.5 atomicity, visibility and order 12.3.6 first occurrence principle 12.4 java and Thread 12.4.1 Thread Implementation 12.4.2 Java thread Dispatch 12.4.3 state Transition 12.5 Chapter Summary 13th Chapter thread Safety and lock Optimization 13.1 Overview 13.2 Line Thread safety in 13.2.1 Java language 13.2.2 Thread Security Implementation Method 13.3 Lock optimization 13.3.1 spin lock and adaptive spin 13.3.2 lock elimination 13.3.3 lock coarsening 13.3.4 lightweight lock 13.3.5 Bias lock 13.4 Chapter Summary Appendix A compiled Windows version of OPENJDK Appendix B virtual machine byte code Instruction table Appendix C hotspot Virtual Machine main parameter table Appendix D object Query Language (OQL) Introduction Appendix E JDK History version track
Download address: Network disk download