关于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类的实例不是所有的都是堆上分配的,如果是比较小的对象,且没有逃逸的,是在栈上分配的。
请写出以下代码执行输出:(构造函数、静态块执行顺序)
某公园内有个奇怪的摊主小周,他只在星期一、星期二、星期三、星期五和星期六工作,而且他只出售4种商品:玩具汽车、充气气球、橡皮泥和遥控飞机。<
B2C网站上促销价格出错了,如何做危机公关?
ArrayList和LinkedList的区别,以及各自是怎么实现扩容的?
.cccccccc
123456打卡
Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。这个区域是用来存放对象实例的,几乎所有对象实例都会在这里分配内存。堆是Java垃圾收集器管理的主要区域(GC堆),垃圾收集器实现了对象的自动销毁。Java堆可以细分为:新生代和老年代;再细致一点的有Eden空间,From Survivor空间,To Survivor空间等。Java堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可,就像我们的磁盘空间一样。可以通过-Xmx和-Xms控制
数组是引用类型 放在堆
感觉第一个有点问题,Java类的实例不是所有的都是堆上分配的,如果是比较小的对象,且没有逃逸的,是在栈上分配的。