关于JAVA堆,下面说法错误的是()?
A.所有类的实例和数组都是在堆上分配内存的
B.堆内存由存活和死亡的对象,空闲碎片区组成
C.数组是分配在栈中的
D.数组是分配在栈中的
正确答案是 C
比如说int[] arr = new int[3]。空间分布是这样子的。
.cccccccc
123456打卡
Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。这个区域是用来存放对象实例的,几乎所有对象实例都会在这里分配内存。堆是Java垃圾收集器管理的主要区域(GC堆),垃圾收集器实现了对象的自动销毁。Java堆可以细分为:新生代和老年代;再细致一点的有Eden空间,From Survivor空间,To Survivor空间等。Java堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可,就像我们的磁盘空间一样。可以通过-Xmx和-Xms控制
数组是引用类型 放在堆
感觉第一个有点问题,Java类的实例不是所有的都是堆上分配的,如果是比较小的对象,且没有逃逸的,是在栈上分配的。
从浏览器输入URL到展示页面的全流程是怎么样的?
一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是多少?
如何理解PV、UV、IP
北京有一条1公里长的街道,你认为一天能收多少钱的停车费?
.cccccccc
123456打卡
Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。这个区域是用来存放对象实例的,几乎所有对象实例都会在这里分配内存。堆是Java垃圾收集器管理的主要区域(GC堆),垃圾收集器实现了对象的自动销毁。Java堆可以细分为:新生代和老年代;再细致一点的有Eden空间,From Survivor空间,To Survivor空间等。Java堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可,就像我们的磁盘空间一样。可以通过-Xmx和-Xms控制
数组是引用类型 放在堆
感觉第一个有点问题,Java类的实例不是所有的都是堆上分配的,如果是比较小的对象,且没有逃逸的,是在栈上分配的。