what should I learn if I want to develop a monitoring tool for JVM?
what should I learn if I want to develop a monitoring tool for JVM?
jmap, jps, jinfo, jstat, jmx, etc.
JMX can achieve most functions.
calls the JMX interface regularly to send data through messages.
use a unified monitoring application for data statistics.
has not been developed, and the details are not very clear, but " in-depth understanding of the Java virtual machine "Section 4.1 has the following snippets:
JDK's command-line tools are mostly a thin wrapper of the java/lib/tools.jar class library, and their main functional code is implemented in the tools class library.
.
with the interface in the tools.jar class library, we can directly implement the powerful monitoring and analysis function in the application.
so maybe you can start with tools.jar.
look directly at the jconsole,jvisualvm source code
Previous: Error copying previous path to another canvas by canvas
Next: How to move left and right when the directory structure opened by VsCode is too deep.
is CAS compare and set or compare and sweep, or are these two different things ...
in JAVA, running programs can be managed and monitored through the JMX interface. you can obtain the program GC through the open function of JMX, as follows: public class TestJMX { public static void main(String[] args) { List<GarbageC...
https: www.cnblogs.com ggjuc. this article says: < H2 > 1 CMS will not defragment the heap, so in order to prevent full gc, from causing heap fragmentation, merge the fragments by opening the CMS phase: < H2 > does this mean that after CMS full g...
< H2 > the book says: during the concurrent cleanup phase, the user thread is still running, and new garbage may be generated during this period. New garbage cannot be removed this time GC, but can only be cleaned up next time. These rubbish have a profe...
< H2 > the main method executes an exception and does not exit the program all the time < H2 > A RuntimeException,Spring container startup interrupt is thrown in the static code block of the class, but the program has not been terminated. I don t kn...
Let s not talk about the principle of the train algorithm here. the train algorithm is the gc algorithm used by the G1 collector D _ C are three objects that need to be called to each other. There are no other citations. But when the algorithm sc...
ask two questions: is there any difference in jvm execution between using fully qualified names and using import, except for the difference in length? If there is a difference, which is more efficient? use the class name. What is the difference in ...
Why does JAVA have multiple loaders I know that the function of the loader is to get the binary byte stream through the class name. It is mainly divided into four kinds of loaders: startup class-> extension class-> application class-> custom class. I al...
for example, the member variable of a class: Object obj = new Object(); obj is an instance of an object. In a broad sense, it is stored on the "stack " and points to the memory address on the "heap ". Specifically, I have the impression that obj sho...
in the process of learning Java, there are some problems that you need to use Java disassembly tool javap to view bytecode instructions, but there are some problems when viewing bytecode instructions, assuming the following simple code, public static v...
Use the top command to check memory under linux. at first it seems to be stable at 800m, but the memory increases by 23m every ten minutes or so. it is suspected that there is a memory leak, and it is normal and stable to use visualVM to observe the...
as the title shows, many books and materials do not explicitly mention which operations are atomic, which is very important in writing concurrent programs. ...
public class Main{ public staic void main(String[] args){ System.out.println(Class.forName("a.b.old.C")); } } Class.forName needs to be changed due to some special requirements, and when using this method, if the package name o...
there is some doubt about the reading semantics of volatile: Why can t normal read and volatile read after volatile read be reordered? volatile read I know it is to fetch variable values directly from main memory, but since they are both reads, will i...
I want to dump all the classes loaded by the virtual machine through the ClassDump in sa-jdi.jar. ClassDump supports dump classes from jvm processes or jvm core dump. for online applications, you should not dump, pid directly if you want to get a co...
as mentioned above, I understand that the benefits of runtime compilation can be that you can save startup time and do hot deployment hot replacement (such as jsp hot replacement) , but in fact, when website development does not need jsp, to launch, the ...
you can modify the jvm parameters of an application in catalina.sh by declaring JAVA_OPTS, at the beginning of tomcat. Here are two places I do not quite understand, ask the bosses to advise: 1. If you set the jvm maximum heap memory limit to 2G here, d...
for example, how does java.lang.Object-sharpwait (), locate it in the jvm source code? ...
public class A{ public static void main(String[] args){ B b = new B(); } } public class B{ int i; C c; B(){ i = 1; c = new C(); } } public class C{ } it is generally said that the reference is on the st...
jvm has its own gc strategy, so what s the point of using System.gc ()? ...