博客
关于我
Java面试精选30题
阅读量:582 次
发布时间:2019-03-11

本文共 2882 字,大约阅读时间需要 9 分钟。

Java基础题目集合

1. Thread类的方法

问题:下面哪些是Thread类的方法?选项:A. start()

B. run()
C. exit()
D. getPriority()

答案:ABD

解析

  • start():用于启动线程,执行run()方法。
  • run():线程执行的方法,可以被多个线程共享。
  • exit():属于System类的方法,与Thread无关。

2. lang.Exception类的说法

问题:下面关于lang.Exception类的说法正确的是?选项:A. 继承自Throwable

B. Serializable
C. 不记得,反正不正确
D. 不正确

答案:A

解析

  • Exception继承自Throwable,是Java中所有异常的基类。
  • SerializableException的接口之一。
  • CheckedExceptionUncheckedExceptionException的子类。

3. GC线程

问题:GC线程是否为守护线程?答案:是

解析

  • GC线程属于FinalizerReferenceHandler,是守护线程。
  • 守护线程在JVM未退出时一直运行,负责垃圾回收。

4. volatile关键字

问题:volatile关键字是否能保证线程安全?答案:不能

解析

  • volatile保证可见性和一致性,但不能保证线程安全。
  • 线程安全需要synchronized关键字或Thread类的方法。

5. ArrayList扩充

问题ArrayList list = new ArrayList(20);中的list扩充几次?答案:A

解析

  • 默认初始大小为10,新建时设置为20,不需要扩充。

6. 对称加密

问题:下面哪个流类属于面向字符的输入流?选项:A. BufferedReader

B. FileInputStream
C. ObjectInputStream
D. InputStreamReader

答案:D

解析

  • 面向字节的输入流:FileInputStreamBufferedReader
  • 面向字符的输入流:InputStreamReader

7. Thread的start()和run()

问题:下面程序的运行结果是什么?代码

public static void main(String args[]) {    Thread t = new Thread() {        public void run() {            pong();        }    };    t.run();    System.out.print("ping");}static void pong() {    System.out.print("pong");}

答案:B

解析

  • start()启动新线程,run()由线程执行。
  • t.run()不会启动新线程,直接调用run(),输出“ping”后“pong”不会输出。

8. 关系型数据库

问题:下面属于关系型数据库的是?选项:A. A

B. B
C. IMS
D. D

答案:AB

解析

  • IMS数据库包括关系型和层次型两种类型。
  • 关系型数据库:如DB2
  • 层次型数据库:如IMS

9. Thread的优先级

问题:GC线程是否为守护线程?答案:是

解析

  • GC线程是FinalizerReferenceHandler,属于守护线程。
  • 守护线程在JVM未退出时运行。

10. Thread的方法

问题:下面哪些是对称加密?选项:A. DES

B. AES
C. DSA
D. RSA

答案:AB

解析

  • 对称加密:加密和解密使用相同密钥。
  • 非对称加密:使用不同密钥,DSARSA属于非对称。

11. Thread的错误处理

问题:下列程序能正常运行吗?代码

public class NULL {    public static void haha() {        System.out.println("haha");    }    public static void main(String[] args) {        ((NULL)null).haha();    }}

答案:能运行

解析

  • null可以强制转换为任何类,static方法不依赖对象。

12. Thread的异常捕获

问题:下列程序的运行结果是什么?代码

public void getCustomerInfo() {    try {        // 可能抛出IOException或FileNotFoundException    } catch (FileNotFoundException ex) {        System.out.print("FileNotFoundException!");    } catch (IOException ex) {        System.out.print("IOException!");    } catch (Exception ex) {        System.out.print("Exception!");    }}

答案:A

解析

  • IOException继承自Exception,会被catch (IOException ex)捕获。
  • FileNotFoundExceptionIOException的子类,会被捕获。
  • Exception是基类,会被最后一个catch捕获。

13. String类型判断

问题:0.6332的数据类型是?选项:A. float

B. double
C. Float
D. Double

答案:B

解析

  • 默认为double,需写f才是float

14. Java接口修饰符

问题:Java接口的修饰符可以为?选项:A. private

B. protected
C. final
D. abstract

答案:CD

解析

  • 接口只能有publicstaticabstractfinal修饰符。
  • final作为常量或不能继承的方法。

15. 创建对象

问题:不通过构造函数也能创建对象吗?答案:是

解析

  • 使用反射、clone()readObject()等方式。

16. ArrayList长度

问题ArrayList list = new ArrayList(20);中的list扩充几次?答案:A

解析

  • 初始大小为10,新建时设置为20,不需要扩充。

17. Thread的运行顺序

问题:下面程序的运行结果是什么?代码

public static void main(String[] args) {    new HelloB();}

答案:D

解析

  • 静态初始化块先执行,static Astatic B
  • 构造函数依次执行,HelloAHelloB

转载地址:http://hwqvz.baihongyu.com/

你可能感兴趣的文章
Postgresql中PL/pgSQL的游标、自定义函数、存储过程的使用
查看>>
SpringBoot中集成XXL-JOB分布式任务调度平台,轻量级、低侵入实现定时任务
查看>>
Postgresql中的表结构和数据同步/数据传输到Mysql
查看>>
Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
查看>>
SpringBoot中集成websocket后WebSocketServer中注入mapper为空
查看>>
postgreSQL入门命令
查看>>
PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
查看>>
Qt开发——爱情公寓人事管理系统
查看>>
Qt开发——文件下载软件
查看>>
PostgreSQL和Oracle两种数据库有啥区别?如何选择?
查看>>
Qt开发——多线程网络时间服务器端
查看>>
Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入
查看>>
PostgreSQL在何处处理 sql查询之四
查看>>
postgresql基本使用
查看>>
PostgreSQL学习总结(10)—— PostgreSQL 数据库体系架构
查看>>
PostgreSQL学习总结(11)—— PostgreSQL 常用的高可用集群方案
查看>>
Qt开发——多线程网络时间客户端
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 15.8 如何成就数据库性能王者?
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 目录结构与配置文件 postgresql.conf 详解
查看>>
PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装
查看>>