VM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识。先上图:JVM必备知识1、JVM基本概念1.1、JVM是什么JVM 的全称是 「Java Virtual Machine」,也就是我们耳熟能详的 Java 虚拟机。
线上排查、性能优化等概念也是面试过程中的“常客”,而对于线上遇到的“疑难杂症”,需要通过理性的思维去分析问题、排查问题、定位问题、解决问题,同时,如果解决掉所遇到的问题或瓶颈后,也可以在能力范围之内尝试最优解以及适当考虑拓展性。
-XX:SurvivorRatio:Eden 区与 Survivor 区大小的比值,如果设置为8,两个 Survivor 区与一个Eden区的比值为2:8,一个Survivor区占整个新生代的十分之一。
可以想象到,这个程序会对 GC 造成压力:修改 pom.xml,配置 spring-boot-maven-plugin 插件打包的 Java 程序的 main 方法类:然后使用 java -jar 启动进程,设置 JVM 参数,让堆最小最大都是 1GB:完成这些准备工作后,我们就可以使用 JDK 提供的工具,来观察分析这个测试程序了。
监控远程的tomcat想要监控远程的tomcat,就需要在远程的tomcat进行对JMX配置,配置完毕重启tomcat#在tomcat的bin目录下,修改catalina.sh,添加如下的参数 CATALINA_OPTS=“$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.0.108 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false” #这几个参数的意思是: #‐Dcom.sun.management.jmxremote :允许使用JMX远程管理 #‐Dcom.sun.management.jmxremote.port=9999 :JMX远程连接端口 #‐Dcom.sun.management.jmxremote.authenticate=false :不进行身份认证,任何用户都可以连接 #‐Dcom.sun.management.jmxremote.ssl=false :不使用ssl。