{"product_id":"110264","title":"Digging into the JVM's Underside ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYEEOLlnMlgkNIqoP6LTVLKFLX7Ex.png?v=1765098188\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Digging into the JVM's Underside \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/126114513\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eBook Introduction\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003e“An exciting adventure deep into the Java Virtual Machine.”\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Back when programming was primarily done using C and C++, the difficult memory management and platform portability issues were a significant burden for developers.\u003cbr\u003e In such a situation, Java, which appeared with the slogan “Write once, run anywhere,” was considered a groundbreaking language.\u003cbr\u003e And the technology that laid the foundation for making that slogan a reality was the Java Virtual Machine (JVM). While the JVM seemed to grant developers the gift of automatic memory management and platform independence, it came at a price: poor performance and out-of-memory errors. \u003cbr\u003eAnd the reality is that even today we are not free from such problems.\u003cbr\u003e To solve these problems, we need to understand the core principles of how the JVM handles complex, low-level problems.\u003cbr\u003e\u003cbr\u003e 『Understanding the JVM』 examines the core operating principles of automatic memory management, execution subsystem, compilation, and concurrency, which are the four main topics of the JVM, and introduces how these principles affect the execution of software actually written in Java and how the JVM operating mechanism can be applied to problems encountered in the development field.\u003cbr\u003e Developers who wish to build robust systems using Java, which has grown from the days of creating small applets to a language that supports a corner of the Internet world, will find many ideas and inspiration in this book.\u003cbr\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindex\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e  \u003cdiv\u003eTranslator's Note\u003cbr\u003e introduction\u003cbr\u003e Acknowledgements\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePart 1: Getting to Know Java\u003cbr\u003e\u003cbr\u003e Chapter 1: Introduction to the Java Technology System\u003c\/b\u003e\u003cbr\u003e 1.1 Introduction\u003cbr\u003e 1.2 Java Technology System\u003cbr\u003e 1.3 Java's Past and Present\u003cbr\u003e 1.4 Java Virtual Machine Family\u003cbr\u003e 1.5 The Future of Java Technology\u003cbr\u003e 1.6 Real-World: Building the JDK with My Own Hands\u003cbr\u003e 1.7 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePart 2 Automatic Memory Management\u003cbr\u003e\u003cbr\u003e Chapter 2 Java Memory Areas and Memory Overflow\u003c\/b\u003e\u003cbr\u003e 2.1 Introduction\u003cbr\u003e 2.2 Runtime Data Area\u003cbr\u003e 2.3 Looking at Objects in the Hotspot Virtual Machine\u003cbr\u003e 2.4 Practice: OutOfMemoryError Exception\u003cbr\u003e 2.5 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 3: Garbage Collector and Memory Allocation Strategies\u003c\/b\u003e\u003cbr\u003e 3.1 Introduction\u003cbr\u003e 3.2 Is the subject dead?\u003cbr\u003e 3.3 Garbage Collection Algorithm\u003cbr\u003e 3.4 Detailed implementation of the hotspot algorithm\u003cbr\u003e 3.5 Classic Garbage Collector\u003cbr\u003e 3.6 Low-Latency Garbage Collector\u003cbr\u003e 3.7 Choosing the Right Garbage Collector\u003cbr\u003e 3.8 Practice: Memory Allocation and Reclaim Strategies\u003cbr\u003e 3.9 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 4: Virtual Machine Performance Monitoring and Troubleshooting Tools\u003c\/b\u003e\u003cbr\u003e 4.1 Introduction\u003cbr\u003e 4.2 Basic Troubleshooting Tools\u003cbr\u003e 4.3 GUI Tools \u003cbr\u003e4.4 Hotspot Virtual Machine Plug-in and Tools\u003cbr\u003e 4.5 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 5: Optimization Case Analysis and Practice\u003c\/b\u003e\u003cbr\u003e 5.1 Introduction\u003cbr\u003e 5.2 Case Analysis\u003cbr\u003e 5.3 Practice: Reducing Eclipse Startup Time\u003cbr\u003e 5.4 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePart 3 Virtual Machine Execution Subsystem\u003cbr\u003e\u003cbr\u003e Chapter 6 Class File Structure\u003c\/b\u003e\u003cbr\u003e 6.1 Introduction\u003cbr\u003e 6.2 The cornerstone toward platform independence\u003cbr\u003e 6.3 Class File Structure\u003cbr\u003e 6.4 Introduction to Bytecode Instructions\u003cbr\u003e 6.5 Design is public, implementation is private\u003cbr\u003e 6.6 Evolution of the Class File Structure\u003cbr\u003e 6.7 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 7 Class Loading Mechanism\u003c\/b\u003e\u003cbr\u003e 7.1 Introduction\u003cbr\u003e 7.2 Class Loading Points\u003cbr\u003e 7.3 Class loading process\u003cbr\u003e 7.4 Class Loader\u003cbr\u003e 7.5 Java Module System\u003cbr\u003e 7.6 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 8 Bytecode Execution Engine\u003c\/b\u003e\u003cbr\u003e 8.1 Introduction\u003cbr\u003e 8.2 Runtime Stack Frame Structure\u003cbr\u003e 8.3 Method Calls\u003cbr\u003e 8.4 Dynamically Typed Language Support\u003cbr\u003e 8.5 Stack-based bytecode interpretation and execution engine\u003cbr\u003e 8.6 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 9: Class Loading and Execution Subsystems, Case Studies, and Practices\u003c\/b\u003e\u003cbr\u003e 9.1 Introduction\u003cbr\u003e 9.2 Case Studies \u003cbr\u003e9.3 Practice: Implementing Remote Execution Functions Yourself\u003cbr\u003e 9.4 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePart 4 Compilation and Optimization\u003cbr\u003e\u003cbr\u003e Chapter 10 Front-End Compilation and Optimization\u003c\/b\u003e\u003cbr\u003e 10.1 Introduction\u003cbr\u003e 10.2 javac compiler\u003cbr\u003e 10.3 Interesting aspects of Java's convenient grammar\u003cbr\u003e 10.4 Practice: Creating a Plug-in Annotation Processor\u003cbr\u003e 10.5 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 11 Backend Compilation and Optimization\u003c\/b\u003e\u003cbr\u003e 11.1 Introduction\u003cbr\u003e 11.2 JIT Compiler\u003cbr\u003e 11.3 AOT Compiler\u003cbr\u003e 11.4 Compiler Optimization Techniques\u003cbr\u003e 11.5 Practice: Understanding the Graal Compiler in Depth\u003cbr\u003e 11.6 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePart 5: Efficient Concurrency\u003cbr\u003e\u003cbr\u003e Chapter 12: Java Memory Model and Threads\u003c\/b\u003e\u003cbr\u003e 12.1 Introduction\u003cbr\u003e 12.2 Efficiency and Consistency in Hardware\u003cbr\u003e 12.3 Java Memory Model\u003cbr\u003e 12.4 Java and Threads\u003cbr\u003e 12.5 Java and Virtual Threads\u003cbr\u003e 12.6 In conclusion\u003cbr\u003e\u003cbr\u003e \u003cb\u003eChapter 13: Thread Safety and Lock Optimization\u003c\/b\u003e\u003cbr\u003e 13.1 Introduction\u003cbr\u003e 13.2 Thread Safety\u003cbr\u003e 13.3 Lock Optimization\u003cbr\u003e 13.4 In conclusion\u003cbr\u003e\u003cbr\u003e Appendix List of Abbreviations\u003cbr\u003e Search \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e GOODS SPECIFICS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate of issue:\u003c\/strong\u003e April 30, 2024\u003c\/div\u003e\n\n \u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003ePage count, weight, size:\u003c\/strong\u003e 688 pages | 1,280g | 188*240*34mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13:\u003c\/strong\u003e 9788966264414 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893709832234,"sku":"110264","price":57.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/368ffc038af08b51c5b5291abaa656eb.jpg?v=1765413112","url":"https:\/\/librairie.coreenne.fr\/en\/products\/110264","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}