博客
关于我
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/

你可能感兴趣的文章
oracle中sql查询上月、本月、上周、本周、昨天、今天的数据!
查看>>
oracle中sql的case语句运用--根据不同条件去排序!
查看>>
Oracle中Transate函数的使用
查看>>
oracle中关于日期问题的汇总!
查看>>
Oracle中常用的语句
查看>>
Oracle中序列的操作以及使用前对序列的初始化
查看>>
oracle中新建用户和赋予权限
查看>>
Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
查看>>
Oracle中的rownum 和rowid的用法和区别
查看>>
oracle中的大小写、字符、dual、数字、处理、日期、函数、显/隐式、时间、条件表达式case、decode、to_date、to_char、sysdate
查看>>
Oracle修改字段类型
查看>>
oracle典型安装失败,安装oracle 10失败
查看>>
Oracle分析函数之LEAD和LAG
查看>>
Oracle和SQL server的数据类型比较
查看>>
Oracle用游标删除重复数据
查看>>
Oracle监听配置、数据库实例配置等
查看>>
Oracle系列:安装Oracle RAC数据库(二)
查看>>
oracle系统 介绍,ORACLE数据库管理系统介绍
查看>>
oracle获取数据库表、字段、注释、约束等
查看>>
Oracle计划将ZGC项目提交给OpenJDK
查看>>