选择题-java

题目来自牛客网

1.在 JAVA 编程中, Java 编译器会将 Java 程序转换为( )

A.字节码

B.可执行代码

C.机器代码

D.以上都不对

选 A

Java编译器会将Java程序转换为字节码,这是一种中间代码,它可以在Java虚拟机(JVM)上运行。字节码不是直接针对任何特定的计算机硬件平台的机器代码,而是一种跨平台的、可移植的代码形式。Java虚拟机负责将字节码解释或编译成本地机器代码,然后在相应的操作系统上执行。因此,选项A是正确的。

2.下面关于垃圾收集的说法正确的是

A.一旦一个对象成为垃圾,就立刻被收集掉。

B.对象空间被收集掉之后,会执行该对象的finalize方法

C.finalize方法和C++的析构函数是完全一回事情

D.一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此

在Java编程中,垃圾收集(Garbage Collection, GC)是自动管理内存的过程。当一个对象不再被任何引用指向时,它成为垃圾收集器的候选对象进行回收。然而,对象不会立即被回收,而是在垃圾收集器运行时才可能被清理。

选项A说"一旦一个对象成为垃圾,就立刻被收集掉"是错误的。对象在成为垃圾后,可能会在很长时间内都不被回收,这取决于垃圾收集器的工作时机和垃圾回收策略。

选项B说"对象空间被收集掉之后,会执行该对象的finalize方法"也是错误的。在Java中,当对象成为垃圾收集的候选对象时,并不一定会执行其finalize方法。finalize方法是在垃圾收集过程中,在对象被回收之前可能被调用的方法,但它的调用是不确定的。

选项C说"finalize方法和C++的析构函数是完全一回事情"是错误的。虽然finalize方法和C++的析构函数在概念上有些相似,都是清理资源的机制,但它们在实现和行为上有所不同。finalize方法是Java中的一种特殊方法,而C++的析构函数是C++语言的一部分。

选项D说"一个对象成为垃圾是因为不再有引用指着它,但是线程并非如此"是正确的。当没有任何引用指向一个对象时,该对象就可能成为垃圾收集的目标。而线程的生命周期是由程序的控制流决定的,与垃圾收集机制无关。

因此,正确答案是D。

3.在java7中,下列不能做switch()的参数类型是?

A.int型

B.枚举类型

C.字符串

D.浮点型

在Java 7中,switch语句的参数类型被扩展了,除了支持基本数据类型如intchar,以及它们的包装类型之外,还支持String类型和枚举类型。因此,在Java 7及以后的版本中,你可以使用String类型和枚举类型作为switch语句的参数。

选项A(int型)和选项B(枚举类型)都是Java 7中支持的switch语句参数类型。选项C(字符串)同样是Java 7中支持的类型。

选项D(浮点型)是不能作为switch语句的参数类型的。在Java 7之前,switch语句只能接受整型常量表达式作为参数,包括byteshortcharint类型,以及它们的包装类型。从Java 7开始,虽然增加了对String和枚举类型的支持,但仍然不支持浮点数类型(floatdouble)作为switch语句的参数。

因此,正确答案是D(浮点型)。

4.语句:char foo='中',是否正确?(假设源文件以GB2312编码存储,并且以javac -- encoding GB2312命令编译)

A.正确

B.错误

A.正确

在Java中,char类型是用来存储单个16位Unicode字符的数据类型。当源文件以GB2312编码存储时,只要确保在编译时指定了正确的编码(如使用javac -encoding GB2312命令),那么使用中文字符(如'中')作为char类型的字面量是完全合法的。Java虚拟机(JVM)内部会将这些中文字符映射到相应的Unicode码点。因此,声明char foo = '中';是正确的,前提是编译时使用了正确的编码设置。

5.关于final说法正确的是? ( )

A.final类的方法肯定不能被同一个包的类访问

B.final类的方法能否被同一个包的类访问不是由final决定

C.final方法等同于private方法

D.final对象本身的引用和值都不能改变

选项B说"final类的方法能否被同一个包的类访问不是由final决定"是正确的。final类的方法可以被同一个包内的其他类访问,这与final关键字的定义无关。

相关推荐
码力码力我爱你15 分钟前
C HTML格式解析与生成之gumbo
c语言·开发语言·html
工程师老罗24 分钟前
Java笔试面试题AI答之设计模式(4)
java·开发语言·设计模式
KuaiKKyo28 分钟前
c++9月20日
java·c++·算法
muzi_liii29 分钟前
C++类和对象(下)
开发语言·c++
zero.cyx38 分钟前
JS函数部分
开发语言·前端·javascript
xmh-sxh-131438 分钟前
java缓存介绍
java
超级小的大杯柠檬水40 分钟前
SpringBoot lombok(注解@Getter @Setter)
java·前端·spring
国通快递驿站40 分钟前
理解JVM中的死锁:原因及解决方案
android·java·jvm·spring·诊断
一丝晨光40 分钟前
语言的条件语句
java·开发语言·c++·程序员·c·条件语句·algol
Kixuan21442 分钟前
ES学习笔记
java·笔记·学习·elasticsearch·搜索引擎