java20(JVM)

JVM结构

 

JVM

Runtime data area, 运行时数据区

1. method area

        在所有进程间共享

  类,常量,静态变量

2. heap

        在所有进程间共享。、

        对象,数组

  -Xms:设置堆初始值

  -Xmx:设置堆最大值

  分为old generation

            

 

          young generation

      幸存1区

      幸存2区

    永久代  // method area

  堆设置

    -Xms:初始堆大小

    -Xmx:最大堆大小

    -XX :NewSize=n:设置年轻代            大小

    -XX:NewRatio=n:设置年轻代和老年代的比值。为3代表年轻代/老年代=1:3

    -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。Survivor有两个,n=3表示Eden:Survivor=3:2,一个Survivor占整个年轻代的1/5

    -XX:MaxPermSize=n:设置持久化大小

  收集器设置

    -XX:+UseSerialGC:设置穿行收集器

    -XX:+UseParallelGC:设置并行收集器

    -XX:+UseParalledlOldGC:设置并行年老代收集器

    -XX:+UseConcMarkSweepGC:设置并发收集器

  垃圾回收统计信息

    -XX:+PrintGC

    -XX:+PrintGCDetails

    -XX:+PrintGCTimeStamps

    -Xloggc:filename

  并行收集器设置

    

3. java stack

        不共享

        每个线程对应一个stack,线程栈, 方法栈

        调整栈空间:java -Xss1m

        stackOverflowError

        OOM:out of memory内存不足

4. native method area

        不共享

5. program counter register

        不共享

6. 通过jvisualvm查看

        a. cmd -->jvisualvm

        b. 工具 --> 插件

  c. 搜索visual GC 安装

 7. 通过Jconsole查看类加载

 

finalize

   回收线程

daemon

  守护线程

GC

  garbage collection, 垃圾回收

 

 

heap(堆)

non-heap(非堆heap以外的空间)

off-heap(离堆位于jvm之外的空间)

 

final(修饰符)

  变量:不可改变(常量)

  函数:不可重写

  类:不可继承

finally

  try{}catch(){}finally{}

finalize(函数)

  对象被回收时调用

 

转载于:https://www.cnblogs.com/8386blogs/p/7745520.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值