JRE:Java运行环境,包含JVM,用于解释执行Java的字节码文件。只安装 JRE(Java Runtime Environment)就可以运行 Java 程序。
JDK:包含JRE、JVM,Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。如需编译、调试程序,则需安装。
JVM:Java虚拟机,是java实现跨平台的最核心部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。
如果一个类加载器收到类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器完成。每个类加载器都是如此,只有当父加载器在自己的搜索范围内找不到指定的类时(即ClassNotFoundException),子加载器才会尝试自己去加载。
set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=512m
-Xms512m 堆的分配参数,堆的最小内存
-Xmx2048m 堆的分配参数,堆的最大内存,-Xmx -Xms,可以将JVM最大内存与初始内存设置相等,避免JVM垃圾回收后重新分配内存。
-XX:newSize:表示新生代初始内存的大小,应该小于-Xms的值;
-XX:MaxNewSize=256m表示新生代可被分配的内存的最大上限;当然这个值应该小于 -Xmx的值;
-XX:PermSize=256M表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
-XX:MaxPermSize=512m表示对非堆区分配的内存的最大上限。
-XX:NewRatio=4 年轻代与年老代比例 = 1:4
原文:https://www.cnblogs.com/scorpio-cat/p/12868430.html