Java认证考试

关于 JAVA 堆,下面说法错误的是()。A、所有类的实例和数组都是在堆上分配内存的B、对象所占的堆内存是由自动内存管理系统回收C、堆内存由存活和死亡的对象组成D、数组是分配在栈中的

题目

关于 JAVA 堆,下面说法错误的是()。

  • A、所有类的实例和数组都是在堆上分配内存的
  • B、对象所占的堆内存是由自动内存管理系统回收
  • C、堆内存由存活和死亡的对象组成
  • D、数组是分配在栈中的
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。()


参考答案:错误

第2题:

下列关于垃圾回收机制说法错误的是( )。

A.Java 语言中,类的实例化对象都存储在内存堆中

B.Java 有一个系统级的线程

C.Java 语言中,只有部分系统事物封装于类中

D.系统级线程在系统空闲时进行垃圾回收


正确答案:C

第3题:

Java语言有自动收集垃圾的功能,会周期性地回收一些长期不用的对象占有的内存。下列哪项是对象清除的途径?()

A.依靠Java的垃圾回收机制回收内存

B.调用System.gc(),请求垃圾回收

C.Java系统开始运行时,自动调用jav

D.object.finalize()释放内存

E.在程序中调用重写的finalize()释放系统资源


正确答案:B

第4题:

关于Java语言的内存回收机制,下列选项中正确的一项是______。

A.Java程序允许用户使用指针来释放内存

B.Java程序要求用户必须手工创建一个线程来释放内存

C.内存回收线程负责释放无用内存

D.内存回收线程不能释放内存对象


正确答案:C

第5题:

Windows内存分配归为两个类型,是( )

A.段分配、块分配

B.段分配、堆分配

C.块分配、栈分配

D.栈分配、堆分配


正确答案:D
解析:内存分配分为分栈配和堆分配。栈上分配的内存系统自动释放,堆上分配的内存,系统不释放。栈一般是静态分配内存,堆上一般是动态分配内存。

第6题:

以下关于程序运行时内存分配区域的叙述中,说法错误的是(33)。

A.全局变量区域存放了程序当中的所有全局变量,是静态分配的区域

B.栈区域是由系统自动来分配的

C.堆是在函数调用时分配的,当函数调用结束之后,相应的堆就会被释放.

D.主函数和其他函数的代码在程序开始运行时,就被装入到内存,保存在代码区


正确答案:C
解析:栈帧是指在调用函数时,系统会自动地分配一块内存区域给这个函数,用来保存它的运行上下文、形参和局部变量。栈帧是在函数调用时分配的,当函数调用结束之后,相应的栈帧就会被释放。而堆区域主要用做动态分配的内存。

第7题:

关于类和对象的说法,不正确的是( )。

A.类是对象的类,对象是类的对象

B.系统不为类分配内存空间,而为对象分配内存空间

C.类和对象一样

D.类可以看作数据类型,对象也可以叫做类的实体、实例等


正确答案:C
解析:对象是类的实例化,类和对象不一样。

第8题:

下列( )语句关于Java中内存回收的说明是正确的。

A.程序员必须创建一个线程来释放内存

B.内存回收程序允许程序员直接释放内存

C.内存回收程序负责释放无用内存

D.内存回收程序可以在指定的时间释放内存对象


正确答案:C

第9题:

以下关于程序运行时内存分配区域的叙述中,说法错误的是(23)。

A.全局变量区域,存放了程序当中的所有全局变量,是静态分配的区域

B.栈区域是由系统自动来分配的

C.堆是在函数调用时分配的,当函数调用结束之后,相应的堆就会被释放

D.主函数和其他函数的代码在一个程序开始运行时,就被装入到内存,保存在代码区中


正确答案:C
解析:栈帧是指在调用一个函数时,系统会自动地分配一块内存区域给这个函数,用来保存它的运行上下文、形参和局部变量等信息的一块内存区域。栈帧是在函数调用时分配的,当函数调用结束之后,相应的栈帧就会被释放。而堆区域主要用于动态分配的内存。

第10题:

下面关于数组的说法,错误的是( )。

A、数组是最简单的复合数据类型,是一系列数据的集合

B、声明数组时,必须分配内存

C、数组的元素可以是值(基本数据类型)、对象或其他数组

D、一个数组中的所有值都必须是相同的类型


正确答案:B

更多相关问题