Based on common JVM garbage collection algorithms, jvm garbage collection
There are four common garbage collection algorithms in JVM:
Mark-clearing algorithm (Mark-Sweep );
Copying );
Mark-Compact );
Generational collection;
Next we will introduce them one by one:
I. Mark-clearing algorithm (Mark-Sweep)
This is the most basic garbage collection algorithm. The alg
JVM-program compilation and code early (during compilation) optimization, jvm-CompilationEarly (Compilation) Optimization
I. Javac Compiler
1. Javac source code and debugging
The source code of Javac is stored in JDK_SRC_HOME/langtools/src/shares/classes/com/sun/tools/javac. Besides JDK APIs, only the code in JDK_SRC_HOME/langtools/src/shares/classes/com/sun/* is referenced. The debugging environment is sim
The principle of this method is to write a DLL with the same interface function as the DLL called by the original process, and then replace the original DLL with our DLL. During the replacement process, we will write functions of interest to replace the original functions, while functions of the original
A rough understanding of JVM and JVM
1. How Java is cross-platform
Java compiles source code into a Class file based on bytecode. bytecode is a file stored in bytes and is combined with cross-platform. It is a set of virtual commands that describe the program to run, this virtual command has nothing to do with any platform. The Java Virtual Machine knows it and the Java Virtual Machine translates it into co
The individual believes that JVM tuning is primarily addressed by the following methods1. Set the appropriate maximum heap memory (maximum and value for Cenozoic and Laosheng generations) and minimum heap memory (the operating system memory size consumed by JVM startup), and set the scale allocation of the heap.2, set up the suitable new generation because of its impact on the system performance and GC reco
Export JVM memory information on CentOS, and export jvm memory from centosFirst, check the Tomcat process Id:
[root@iZ25Z ~]# ps aux | grep javawww 2111 4.0 23.5 1637648 452756 ? Sl 10:12 4:35 /usr/java/jdk1.7.0_80/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties ... We can see that the Tomcat process Id is 2111, and then use the JDK built-in tool jmap to e
Pgc:perm generation (bytes)S0: The first survivor (Survivor area) of the young generation has been used as a percentage of current capacityS1: The second survivor (Survivor area) in the younger generation has been used as a percentage of current capacityE: Eden (Eden) in the young generation has been used as a percentage of current capacityPercentage of current capacity used by O:old generationPercentage of current capacity used by P:perm generationS0CMX: Maximum Capacity (bytes) of the first S
Open VB6, create a new ActiveX DLL
2. Add Microsoft Active Server Pages Object Library selection in project references
3, fill in the code as follows:
Copy Code code as follows:
' Code Start
' Declaration section
Private Myscriptingcontext as ScriptingContext
Private MyApplication as Application
Private Myrequest as Request
Private Myresponse as Response
Private MyServer as Server
Private MySession as session
' Definition of commo
Suitable for cygwin JVM (Java Virtual Machine) starters
Introduction
Have you encountered problems with JNI and cygwin? Can't you use the JVM under elasticsearch to load the library files created under cygwin? This article will help you solve this problem by creating a JVM initiator. I suppose you have a basic understanding of JNI.
About cygwin
Cygwin is a Linux-
Let's talk about the method of calling the QT Dynamic link library, mainly including:1, explicit link DLL, call DLL global function, using QT Qlibrary method2. Show link DLL, call DLL class object, member function. (A call to a class member function can be implemented through an object)① uses the method of virtual func
Java.lang.OutOfMemoryError:PermGen Space
Found that many people attribute the problem to: Spring,hibernate,tomcat, because they generate classes dynamically, causing permanent heap overflow in the JVM. Then there is a divergence of opinions about how to upgrade the Tomcat version to the latest or even simply without Tomcat. There are also questions about spring that are hotly discussed at the Spring Forum, because spring's use of cblib in AOP creates
Several precautions for creating a C/C ++ dynamic link library (dll), dynamic link library dllI. The C \ C ++ Runtime Library compilation option is a simple explanation: My dll cannot be used by others.
The Runtime Library is a very complex thing. It is a part of the dll production needs to be understood during the development process. Here we will briefly introd
class execution mechanism
The JVM executes class bytecode based on the stack architecture, and after the thread is created, the program counter (PC) and stack (stack) are generated.
The PC holds the offset of the next executed instruction within the method, the stack holds a stack frame, each stack frame corresponds to each call of each method, and the stack frame holds local variables and the operand stack
The structure of the stack
JVM-class file full parsing-method table set, jvm-class setMethod table set
The previous magic number, minor version number, main board number, constant pool entry, constant pool, access flag, class index, parent index, interface index set, and field table set, then the method table will be followed.
The method table is constructed like a field table, which contains several items in sequence: access_flags,
JVM-class file full parsing-Attribute Table set, jvm-class setAttribute Table set
In front of magic number, minor version number, main board number, constant pool entry, constant pool, access flag, class index, parent index, interface index set, field table set, method table set, the next step is the set of attribute tables.
In the class file, field tables, and method tables, you can carry your own attribu
JVM-concurrency-Java memory model, jvm-concurrency-java modelJava Memory Model
(1). Master memory and working memory
The Java Memory Model specifies that all variables are stored in the primary memory.
Copies of the primary memory of each type of thread variables. All operations (read operations, value assignment operations, etc.) of the thread on the variables must be performed in the working memory, rathe
Deep understanding of JVM Reading Notes Mind Map, deep understanding of jvm Reading Notes
To prove that I have completed this book and bought a new book, I don't have to worry about it... After 8 minutes of brain image, I feel that the entire person is not good. T_T brain cells do not know the number of dead cells...
In fact, it is not thoroughly understood. It is estimated that we will open it again in a f
JVM memory structure --- deep understanding of Java Virtual Machine (jvm)
When executing a Java program, the Java Virtual Machine divides the memory it manages into several different data regions. These regions have different purposes and create and destroy data independently based on their respective execution rules.
Virtual Machine memory Division ,:
The regions with independent threads are as follows:
V
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.