zoukankan      html  css  js  c++  java
  • 堆的核心概述

    • 一个JVM实例对应一个进程,一个进程对应多个线程。一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。
    • 堆是JVM管理的最大一块内存空间,Java堆在JVM启动的时间就被创建,它的大小也就确定了。堆的大小是可以调整的。
    • Java虚拟机规范》规定堆可以处于物理上不连续的内存空间,但是逻辑上应该是被视为连续的。
    • 所有的线程都共享Java堆,这里还可以划分线程私有的缓冲区(thread local allocation bufferTLAB)。

    • Java虚拟机规范》对Java堆的描述是:所有的对象实例以及数组都应该在运行时分配在堆上。从实际使用角度看,“几乎”所有的对象实例都在这里分配内存。
    • 数组和对象可能永远不会存储在堆上,因为栈帧中保存引用,这个引用指向对象或数组在堆中的位置。
    • 在方法结束后,堆中的对象不会被马上移除,仅仅在垃圾收集的时候才会被移除。
    • 堆是GCGarbage collector,垃圾收集器)执行垃圾回收的重点区域。
    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    java笔记之输入输出流
    英文单词个数统计及排序
    课后作业_程序员修炼之道读后感
    第五周-内网穿透简易搭建(远程查看javaweb程序)
    第五周总结
    结对开发
    第四周学习总结
    第四周--爬虫的学习
    第四周学习总结
    第三周---------学习动态规划
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/13751521.html
Copyright © 2011-2022 走看看