美文网首页
Day4 JVM内存模型与参数

Day4 JVM内存模型与参数

作者: 小周爱吃瓜 | 来源:发表于2022-03-12 23:57 被阅读0次
Screen Shot 2022-03-12 at 11.34.09 PM.png
  • 栈:
    存放局部变量。
    栈是线程栈,只有一个线程执行,会在栈内存中分配空间,存放线程私有的区域。 stackoverflow就在此.
  • 局部变量表:
    存放局部变量
  • 动态链接:
    将符号引用改为直接引用,存放的是地址值.

jinfo -flags pid 可以查看当前jvm的默认参数

  • 运行时数据区:


    Screen Shot 2022-03-12 at 11.39.52 PM.png

堆:
由于复制算法来回copy耗费内存,所以大对象会直接进入到老年代.

copy 15次以后就会进入到老年代中.
同时老年代也是fullgc重点发生的区域.

  • GC
  1. MinorGC,YoungGC
  2. Old GC
  3. FullGC (回收整体区域,同时包括堆外内存)
  • Survivor分区的好处是减少碎片化的产生,eden满了会移动一些到s区域.因为s0可能不连续,会导致碎片化问题.
    s0 s1 复活限制是15次.
    -XX:MaxTenuringThreshold 设置次数

  • 堆内存是内存共享的.

JVM参数

-x 非标准参数,jdk版本可能会变动
-xx 用的最多的参数

-Xms 1000M ---> -xx:InitialHeapSize = 1000M 初始化堆大小
- Xmx 最大堆大小
- Xss 线程栈大小

java -XX:+PrintFlagsFinal -version > flags.txt
  • PrintFlagsFInal 查询

MaxHeapSize 堆大小
/1024 = xxx kb
xxx kb /1024 = xxx MB
所以答应的是字节单位.

-XX: 省略
InitialHeapSize 初始化堆大小
MapHeapSize 最大堆大小
MaxNewSize 年轻代大小
OldSize 老年代大小
MetaspaceSize 方法区大小

NewRatio: 新老年代比例


相关文章

  • JVM

    栈容量由-Xss指定深入理解JVM—JVM内存模型 JVM内存模型和JVM参数的关系

  • Day4 JVM内存模型与参数

    栈:存放局部变量。栈是线程栈,只有一个线程执行,会在栈内存中分配空间,存放线程私有的区域。 stackoverfl...

  • 高效并发

    从JVM的角度看一下Java与线程,内存模型,线程安全以及JVM对于锁的优化 硬件内存模型与JVM内存模型 硬件的...

  • JVM内存模型(jvm 入门篇)

    概述 jvm 入门篇,想要学习jvm,必须先得了解JVM内存模型,JVM内存模型,JVM内存模型,JVM内存模型,...

  • JVM问题及解答

    常见JVM问题 JVM内存模型,GC机制和原理。注意JVM内存模型与Java内存模型(JMM)不是同一个东西。JV...

  • JUC(一)JMM内存模型

    一、简介 JMM((Java Memory Model)是Java内存模型,与JVM内存模型不同,与CPU内存模型...

  • java进程和普通进程在内存管理上区别于联系

    Linux与JVM的内存关系分析 在这篇文章中: 引言 一、Linux与进程内存模型 二、进程与JVM内存模型1....

  • JVM优化篇之堆内存模型

    上一篇中讲了JVM的基本参数含义JVM优化篇之参数,这一篇我们来聊一聊JMM(java内存模型).jvm的堆内存模...

  • 细说JVM内存模型

    前言 在正式学习 JVM 内存模型之前,先注意以下几个是问题: JVM 内存模型与 JAVA 内存模型不是同一个概...

  • JVM随笔(三)内存模型

    JVM内存模型 JVM内存模型与Java内存模型不是一个东西,很多人经常会搞混掉,JMM是java并发处理时针...

网友评论

      本文标题:Day4 JVM内存模型与参数

      本文链接:https://www.haomeiwen.com/subject/yxtrdrtx.html