JVM参数
-XX:+<option>-表示开启option选项-XX:+TraceClassLoading—输出Class加载日志-XX:+TraceClassUnloading–输出Class卸载日志
-XX:-<option>表示关闭option选项-XX:+HeadDumpOnOutOfMemoryError—输出内存溢出日志
助记符
getstatic—静态变量取值putstatic—静态变量赋值invokestatic—调用静态方法ldc—表示将int,float或是String类型的常量从常量池中推至栈顶bipush—表示将单字节(-128--127)的常量值推送至栈顶sipush—表示将一个短整型常量值(-32768--32767) 推送至栈顶iconst_1—表示将int类型1推送至栈顶(iconst_m1--inconst_5)anewarray—表示创建一个引用类型的(如类,接口,数组)数组,并将其引用值压入栈顶newarray—表示创建一个指定的原始类型(如int,float,char)的数组,并将其引用值压入栈顶invokeinterface—调用接口中的方法,实际上是在运行期决定的,决定到底调用实现该接口的那个对象的特定方法invokespecial—调用自己的私有方法,构造方法(<init>以及父类的方法)invokevirtual—调用虚方法,存在运行期动态查找的过程invokedynamic—动态调用方法
常用指令
javap -verbose 文件名—用于分解class文件javap 文件名—用于反编译class文件javap -c 文件名—用于反编译class文件,生成助记符相关内容jar cvf jar包名 文件名—用于将文件打入到jar包中java -version—查看JDK版本号jvisualvm–监控JVM内存,堆等使用情况jconsole—监控JVM内存,堆等使用情况jmap—于生成堆转储快照jstat—对Heap size和垃圾回收状况的监控jps—快速查找java进程jcmd—查看java进程jcmd pid VM.flags—查看对应pid进程JVM的启动参数jcmd pid help—列出当前Java进程可以执行的操作cmdjcmd pid help cmd列出当前Java进程可以执行的操作cmd对应的选项jcmd pid PerfCounter.print—查看JVM性能相关的参数jcmd pid VM.uptime—查看JVM的启动时间jcmd pid GC.class_histogram—查看系统中类的统计信息jcmd pid Thread.print—输出当前线程的堆栈信息jcmd pid GC.heap_dump 文件名称—导出heap dump文件,导出的文件可以通过jvisualvm查看jcmd pid VM.system_properties—查看JVM的属性信息jcmd 98412 VM.version----查目标JVM的版本信息jcmd 98412 VM.command_line—查看JVM启动的命令行信息
jstack—可以查看查看或是导出Java应用程序中线程的堆栈信息jmc—一体化图形界面工具jhat—对堆转储进行分析
本文深入解析JVM参数设置,包括内存管理、类加载与卸载,以及常见JVM指令如getstatic、invokestatic等的功能与应用。同时,介绍了多种JVM监控与故障排查工具,如jvisualvm、jconsole等,帮助开发者更好地理解与优化Java应用程序。
345

被折叠的 条评论
为什么被折叠?



