• JVM热点问题总结


     1、所有线程共享的内存数据区:方法区,堆。而虚拟机栈,本地方法栈和程序计数器都是线程私有的。

     2、存放于栈中的东西如下

      2.1 每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象)。对象都存放在堆区中。

     2.2 每个栈中的数据(基础数据类型和对象引用)都是私有的,其他栈不能访问。

     2.3 方法的形式参数,方法调用完后从栈空间回收
      2.4 引用对象的地址,引用完后,栈空间地址立即被回收,堆空间等待GC

    3、存放于堆中的东西如下

    3.1 存储的全部是对象,每个对象包含一个与之对应的class信息

    3.2 Jvm只有一个堆区(heap)被所有线程共享,堆区中不存放基本类型和对象引用,只存放对象本身

     4、存放于方法区中的东西如下

    4.1 存放线程所执行的字节码指令

    4.2 跟堆一样.被所有线程共享.方法区包含:所有的class和static变量

  • 相关阅读:
    session
    .net core 入坑经验
    .net core 入坑经验
    .net core 入坑经验
    一段刚刚出炉的CSV文件转换为DataTable对象的代码
    Github的一般用法
    SQLite简单使用记录
    一次SQLServer数据库宕机问题
    B样条基函数(cubic spline basis)
    matlab使用
  • 原文地址:https://www.cnblogs.com/anqli-java/p/9929632.html
Copyright © 2020-2023  润新知