Home  >  Article  >  Java  >  Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

零下一度
零下一度Original
2017-06-14 16:18:582733browse

1: Java technology system module Figure 2: JVM memory area model 1. The method area is also called "permanent generation" and "non-heap". It is used to store class information, constants, static variables, etc. loaded by the virtual machine. Memory area shared by threads. The default minimum value is 16MB and the maximum value is 64MB. You can limit the size of the method area through the -XX:PermSize and -XX:MaxPermSize parameters. Runtime constant pool: It is part of the method area. In addition to the description information such as class version, fields, methods, interfaces, etc., there is also a constant pool in the Class file, which is used to store various symbol references generated by the compiler. This part of the content will be placed in the runtime constant pool in the method area after the class is loaded. 2. The virtual machine stack describes the memory model of Java method execution: when each method is executed, a "stack frame" is created to store local variable tables (including parameters), operation stacks, method exits and other information. The process from each method being called to the completion of execution corresponds to the process of a stack frame from being pushed into the stack to being popped out of the stack in the virtual machine stack. The declaration cycle is the same as the thread and is private to the thread. Local variable table storage

1. Java Virtual Machine Learning - Architecture Memory Model

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

##Introduction: Also known as "permanent generation" and "non-heap", it is used to store class information, constants, and static variables loaded by the virtual machine. It is a memory area shared by each thread. The default minimum value is 16MB and the maximum value is 64MB. You can limit the size of the method area through the -XX:PermSize and -XX:MaxPermSize parameters.

2. Java Virtual Machine Learning - Object Access

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

##Introduction: Object access involves three memory areas: Java stack, Java heap, and method area.

3.

Java Virtual Machine Learning - Garbage Collection Algorithm

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

Introduction: The tracking collector adopts a centralized management method to globally record the reference status between objects. When executing, it starts from a series of GC Roots objects and searches all nodes downward from these nodes. Reference chain, when an object does not have any reference chain to GC Roots, it proves that this object is unavailable.

4.

Java Virtual Machine Learning - Garbage Collector

Introduction: The Serial collector is a new generation collection processor, single-threaded execution, using a copy algorithm. It must suspend all other worker threads (user threads) while performing garbage collection. It is the default new generation collector in Jvm client mode. For an environment limited to a single CPU, the Serial collector has no thread interaction overhead, so it can naturally achieve the highest single-thread collection efficiency by focusing on garbage collection.

5.

Java Virtual Machine Learning - Object Memory Allocation and Recycling

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning##Introduction: In most cases, objects are allocated first in the new generation Eden area. When the Eden memory area does not have enough space for allocation, the virtual machine will trigger a Minor GC (New Generation GC). During Minor GC, the virtual machine moves objects in the Eden area to one of the Survivor areas.

6.

Java virtual machine learning - command line tool to view JVM parameters and values

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learningIntroduction: 1. Each globals.hpp file in HotSpot vm View the initial default values ​​and parameters of jvm

7.

Java Virtual machine learning - JDK visual monitoring tool

Introduction: The JConsole tool is in the JDK/bin directory. After starting JConsole, it will automatically search for the jvm process running on the local machine. No jps command is needed to query and specify. Double-click one of the jvm processes to start monitoring, or use "remote process" to connect to the remote server.

8. Java Virtual Machine Learning - Object Reference Strength

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

##Introduction: Whether it is to determine the number of references to an object through a counting algorithm, or to determine whether the object reference chain is reachable through a root search algorithm, determining whether an object is alive is related to "references".

9. Java Virtual Machine Learning - Memory Tuning

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

##Introduction: JVM tuning is mainly for memory management tuning, including controlling the size of each generation and GC strategy. Since GC will suspend application threads when it starts garbage collection, which seriously affects performance, the purpose of tuning is to minimize the pause time of application threads caused by GC and reduce the number of Full GCs.

10.

Java virtual machine learning - ClassLoader

Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning

Introduction: The class loader (ClassLoader) is used to load class bytecode into the Java virtual machine. Generally speaking, the Java virtual machine uses Java classes as follows: Java source files are converted into Java bytecode files (.class files) after passing through Javac. The class loader is responsible for reading Java bytecode and converting it into an instance of the java.lang.Class class. Each such instance represents a Java class. The actual situation may be more complicated. For example, Java byte code may be dynamically generated through tools or downloaded through the network.

The above is the detailed content of Introductory tutorials for virtual machine learning: 10 recommended introductory tutorials for zero-based virtual machine learning. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn