b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Java虚拟机所管理的内存会包括以下几个运行时数据区域

电脑杂谈  发布时间:2021-03-03 07:02:44  来源:网络整理

一、 Java内存管理

Java程序在虚拟机(JVM)上运行。 JVM等效于Java程序和操作系统之间的桥梁。 Java程序通过JVM与平台无关,并且可以跨平台运行。在Java程序执行期间,Java虚拟机将其管理的内存划分为多个不同的数据区域,每个区域都有其自己的创建和销毁目的和时间。由Java虚拟机管理的内存将包括以下运行时数据区域,如下图所示:

jvm 堆内存与栈内存

主要介绍三种内存区域:堆内存,堆栈内存和方法区域

堆内存和栈内存_java堆内存和栈内存_jvm 堆内存与栈内存

二、三种内存区域堆内存

1. JVM只有一个堆区,所有线程都共享该堆区。它是在虚拟机启动时创建的。它是虚拟机管理的最大内存。该存储区的唯一目的是存储对象实例和数组

2.堆中分配的内存由Java虚拟机的自动垃圾收集器管理

3.创建对象时,参考变量存储在堆栈存储器中,而对象存储在堆存储器中。引用变量的值是对象在堆中的第一个地址。这将建立一个连接(该参考变量实际上是一个指针),在程序超出其范围运行后释放参考变量。数组和对象本身在堆中分配。即使程序在使用new来生成数组或对象的语句所在的代码块之外运行,数组和对象本身占用的内存也不会释放。该数组和对象没有任何引用变量指向。当它变成垃圾时,无法使用该对象(因为无法找到该对象),但它仍然占用内存空间,并被垃圾收集器拿走并无限期地释放。这也是Java占用更多内存的原因,也是堆中数据存储速度较慢的原因。

java堆内存和栈内存_jvm 堆内存与栈内存_堆内存和栈内存

堆栈内存

1.每个线程包含一个堆栈区域(并非所有线程共享),每个堆栈中的数据都是私有的,其他堆栈(线程)无法访问,并且单个堆栈的数据可以共享

2.仅将基本数据类型和自定义对象的引用存储在堆栈中(不存储对象,对象存储在堆区域中)

3.堆栈的提取速度比堆快,仅次于寄存器

jvm 堆内存与栈内存_java堆内存和栈内存_堆内存和栈内存

方法区

1.,也称为静态区域,始终是程序中唯一的元素存储区域(例如类,静态变量)。像堆一样,它是每个线程共享的内存区域

2.它存储类信息,常量,静态变量,由即时编译器编译的代码等,这些信息已由Java虚拟机加载。

以上!


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-362709-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...