Day19 2021.4.5 JVM入门

Day19 2021.4.5

JVM入门

  • 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?
  • 什么事OOM,什么事栈溢出StackOverFlowError?怎么分析
  • JVM的常用调优参数有哪些?
  • 内存快照如何抓取,怎么分析Dump文件?知道吗?
  • 谈谈JVM中,类加载器你的认识

1.JVM的位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oNfDxLE2-1617606415829)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20210405131515251.png)]

2.JVM的体系结构

img

所谓的JVM调优就是在调方法区和堆

三种JVM

  • HotSpot
  • JRockit
  • J9VM

程序计数器

内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成

如果线程正在执行一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是 Native 方法,这个计数器的值则为 (Undefined)。此内存区域是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError 情况的区域。

3.类加载器

作用是加载class文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ugDNY7sf-1617606415831)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20210405132822146.png)]

1.虚拟器自带的加载器

2.启动类(根)加载器

3.扩展类加载器

4.应用程序加载器

public class Demo01 {
   
    public int age;

    public static void main(String[] args) {
   
        //类是加载,对象是具体的
        Demo01 demo1 = new Demo01();
        Demo01 demo2 = new Demo01();
        Demo01 demo3 = new Demo01();
        System.out
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值