jvm
文章平均质量分 74
追影少年*
这个作者很懒,什么都没留下…
展开
-
java程序在内存中的存储分配情况
java程序在内存中的存储分配情况一、堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)转载 2021-07-29 11:43:06 · 197 阅读 · 1 评论 -
JVM类的加载器及加载过程
类的加载器及加载过程类的加载过程加载—>验证—>准备—>解析—>初始化加载:通过一个类的全限定类名获取此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口链接(验证、准备、解析):验证:确保Class文件的字节流包含信息符合当前虚拟机要求;保证加载类的正确性,不会危害虚拟机的自身安全;准备:为变量分配默认值(不包括final修饰的);不原创 2021-03-07 17:41:24 · 155 阅读 · 1 评论 -
《深入理解Java虚拟机》——第二章
第2章 Java内存区域与内存溢出异常Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。2.1 概述 相对于c、c++在内存管理方面java把控制内存的权力基本都交给了java虚拟机,这样做的好处无疑是非常明显的,开发人员就算对内存管理一无所知也可以进行程序的编写,然而一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误、修正问题将会成为一项异常艰难的工作。2.2 运行时数据区域 [外链图片转存失败,源站可能有原创 2021-02-26 16:40:58 · 165 阅读 · 1 评论