选择题-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关键字的定义无关。

相关推荐
Python大数据分析@2 分钟前
python操作CSV和excel,如何来做?
开发语言·python·excel
上海_彭彭27 分钟前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
3345543235 分钟前
element动态表头合并表格
开发语言·javascript·ecmascript
沈询-阿里39 分钟前
java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl
java·开发语言
AaVictory.1 小时前
Android 开发 Java中 list实现 按照时间格式 yyyy-MM-dd HH:mm 顺序
android·java·list
残月只会敲键盘1 小时前
面相小白的php反序列化漏洞原理剖析
开发语言·php
ac-er88881 小时前
PHP弱类型安全问题
开发语言·安全·php
ac-er88881 小时前
PHP网络爬虫常见的反爬策略
开发语言·爬虫·php
爱吃喵的鲤鱼1 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
LuckyLay1 小时前
Spring学习笔记_27——@EnableLoadTimeWeaving
java·spring boot·spring