Depth understanding of java virtual machine (a) Second Edition

Preface:

Java is currently the most users, one of the most widely used software development techniques. Java technology system mainly supported by the Java program to run virtual machines, each development interface provides support in the field of Java API, Java programming language and many third-party Java frameworks (such as Spring, Struts, etc.). In China, the relevant Java API Java language syntax and the third box "frame of technical information and books are very rich, by contrast, information on the Java virtual machine was extremely poor .. This situation is largely the Java development technology a itself - an important advantage due to: the virtual machine level hides the complexity of the underlying technology as well as differences in the machine and operating system case physical machine to run the program vary widely, and the Java virtual machine is in poor million. other physical machines on the establishment of a unified = - operating platform to achieve at any - - virtual machine on the program can be compiled to run properly on any virtual machine that - a great advantage makes development of Java applications than traditional CLC ++ application development more efficient and faster, programmers can focus focus on specific business logic rather than on physical hardware compatibility. in general, as long as a programmer to understand the necessary Java API, Java syntax, and learn the proper framework for third-party developers, it has been developed to meet the basic daily needs of a virtual opportunity to finish in the user unknowingly For hardware platform compatibility and memory and other resources for the management therefore, to understand the operation of the virtual machine is not a - general knowledge must master developer However, everything has two sides with the continuous development of Java technology, it is. applied in more and more areas in which -. some fields, such as electric power, finance, communication, program performance, stability and scalability are high demand program while the individual is likely 10 completely normal use, but will slow in the 10000 personal use, deadlock, or even collapse. There is no doubt, but to meet the next 10,000 individuals who need higher performance while using physical hardware, in most cases, enhance hardware performance can not be proportional to enhance operational performance and concurrency program, and may even absolutely no improvement in the operating health process and there are reasons for the Java virtual machine: in order to reach to all hardware provided - a virtual platform consistent purpose, the expense - - some hardware-related performance characteristics more important is man-made reasons: If the development of high-ranking officials do not understand the virtual machine - - some technical features of the operating principle, you can not write code most suitable for virtual machines running and self-optimizing. In fact, the current commercial high-performance Java Virtual peach provides quite a few optimizations and means of regulation, to meet the application requirements for performance and stability in the actual production environment. If only to learn who the door, let the program run properly on your machine, then these characteristics can be said is optional; if the developer has used for production and development, particularly in business-class production and development, there is an urgent need for at least Some people have a very clear understanding of the characteristics and method of adjusting the virtual machine, so the Java development system, the demand for architects, system tuning division, such as the role of senior programmer has been very large. Learning virtual machine operational characteristics of various automatic principle also become bound to come into contact with the Java programmers growth path - - lesson. This book allows readers - a relatively easy way to learn the principles of operation of the virtual machine, on the growth of Java programmers also have more help.

The second edition of the first edition of difference

JDK 1.7 officially released on July 28, 2011, with respect to JDK 1.6, the new version of the JDK released in 2006 has many new features and improvements. The second edition of this book accordingly been modified and upgraded to explain the technology platform upgrade from JDK 1.6 to JDK 1.7. For example, an increase of JDK 1.7 analysis to explain the latest G1 collector, and JDK 1.7 in JSR-292 knvokeDynamic (call support for non-Java language) and other content. After the first edition was published, I received feedback from many enthusiastic readers see, some readers asked OpenJDK open source has been a long time, very few first edition factory direct content analysis OpenJDK source code, a little "as Baoshan and not see" feeling. Therefore, in the second edition of this book, the author in particular to strengthen this part of the contents of the talks, which in Chapter 1 on how to analyze, debug OpenJDK source code and so on. In subsequent chapters of this book, a lot of explanation about function points are used directly in the native code OpenJDK HotSpot JIT compiler to generate source code or as an argument. How the Java virtual machine principle in many highly theoretical knowledge into practice characteristics developed throughout this book refers to. As the author hopes to further strengthen practical knowledge in the second edition of this book, and therefore increased the number of the JVM processing skills to explain common problems, including how to analyze GC logs, how to analyze the JIT compiler code generation and code optimization process and so on. And, on the basis of the first edition, the second edition of a further increase in the number of cases processed practice JVM problem for the reader. In addition, the second edition of this book also amended the first edition many wrong, ambiguous and incomplete descriptions. Errata relevant information, refer to the first edition errata page (tp: //icyfenix.iteye.com/blog/1119214).

This book is for readers

(1) the use of Java technology system, the Senior Developer
Java virtual machine as a senior developer must practice knowledge, has a high learning curve, this book can serve as excellent textbook learning virtual machine.
(2) system tuning division
system tuning division in recent years before the rise of the occupation, a large number of cases in this book, code and tune will have a direct practical help to the daily work of system tuning division.
(3) System Architect
performance, concurrency, and the ability to stretch and other support systems is a core responsibility of the system architect - a, which is part of the intended machine operation boo inseparable, this book can serve as their underlying framework to develop applications references.
 

 

 

Published 298 original articles · won praise 107 · Views 140,000 +

Guess you like

Origin blog.csdn.net/ywl470812087/article/details/105023764