• Java虚拟机--------JVM常见参数


    JVM 调优常见参数

    Java1.7的jvm参数查看一下官方网站。
    http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
    Java1.8
    http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
    Hotspotvm知识查看一下官方网站。
    http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html
    主要的参数是:堆的大小、栈的大小、新生代和老年代的比值、新生代中eden和s0、s1的比值。
    -Xms:初始堆大小,默认是物理内存的1/64。默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到--Xmx的最大限制。例如:-Xms 20m。
    -Xmx:最大堆大小。默认是物理内存的1/4  默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。
    -XX:NewSize=n:设置年轻代大小(初始值)。 
    -XX:MaxNewSize:设置年轻代最大值。
    -XX:NewRatio=n:设置年轻代和年老代的比值。
    -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。
    -XX:PermSize(1.8之后改为MetaspaceSize)  设置持久代(perm gen)初始值,默认是物理内存的1/64。
    -XX:MaxPermSize=n:(1.8之后改为MaxMetaspaceSize)设置最大持久代大小。
    -Xss:每个线程的堆栈大小。
    

    JVM 学习思路

    jdk --> java develop kit ,jre ---> java runtime environment,java 有个特点:一次编译运行,就是有这个jvm,jvm,java viturl machine
    jvm ---> 一、程序隔离区,一个程序共享区
    
    jvm -->堆---> 为了内存溢出---> gc(垃圾)--->判断(引用、可达性分析)--->最终判断生死需要两次判断(如果其中调用了finalize方法,就会复活,不会被回收)
    ---> 回收算法(标记+清除+整理,复制)--->选择合适的回收器(paranew + cms)--> 对象进入老年代得三种可能,---> jvm分析工具(jps,jmap,jconsole,jstat)
  • 相关阅读:
    jquery常用操作@测试分享
    selenium 上传文件
    python 安装mysql驱动
    创建react项目
    入栈操作的合法性 【重复元素】
    git笔记
    python GUI实战项目——tkinter库的简单实例
    Excel更改单元格格式后无效
    Find the Difference
    Two Sum IV
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/10418122.html
Copyright © 2020-2023  润新知