![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
Dcwjh
这个作者很懒,什么都没留下…
展开
-
【深入Java虚拟机】之三:垃圾回收
说明:本文是根据周志明的《深入理解Java虚拟机整理而成》1. 如何判断对象是否回收1.1 引用计数算法(主流的Java虚拟机不选它来管理内存)在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的。优点:引用计数算法(Reference Counting)虽然占用了一些额外的内存空间来进行计数,但它的原理简单,判定效率也很高缺点:有很多例外情况要考虑,必须要配合大量额外处理才能保证正确地工作,譬如单纯的原创 2020-05-17 14:52:11 · 227 阅读 · 0 评论 -
【深入Java虚拟机】之二:对象创建
对象的创建当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务实际上便等同于把一块确定大小的内存块从Java堆中划分出来...原创 2020-04-29 09:35:46 · 208 阅读 · 0 评论 -
【深入Java虚拟机】之一:Java内存区域与内存溢出
内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。 下面详细阐述各数据区所存储的数据类型。![在这里插入图片描述](https://img-blog.csdnimg.cn/20200428152640155.png?x-o...原创 2020-04-28 15:28:10 · 299 阅读 · 0 评论 -
JVM介绍
1. 什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节...转载 2020-04-28 15:19:54 · 275 阅读 · 0 评论 -
JVM_自动内存管理
目录Java内存管理程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存Java内存管理程序计数器**程序计数器(Program Counter Register)**较小的内存空间,看作是当前线程所执行的字节码的行号指示器,为了线程切换后能恢复到正确的执行位置,每条线程都有一个独立的程序计数器,各个线程之间计数器互不影响,独立存储Java虚拟机栈**Java...原创 2019-12-23 10:27:01 · 156 阅读 · 0 评论