博客
关于我
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中所有异常的基类。
  • Serializable是Exception的接口之一。
  • CheckedException和UncheckedException是Exception的子类。

3. GC线程

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

解析:

  • GC线程属于Finalizer或ReferenceHandler,是守护线程。
  • 守护线程在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

解析:

  • 面向字节的输入流:FileInputStream、BufferedReader。
  • 面向字符的输入流: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线程是Finalizer或ReferenceHandler,属于守护线程。
  • 守护线程在JVM未退出时运行。

10. Thread的方法

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

B. AES
C. DSA
D. RSA

答案:AB

解析:

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

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)捕获。
  • FileNotFoundException是IOException的子类,会被捕获。
  • 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

解析:

  • 接口只能有public、static、abstract和final修饰符。
  • 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 A和static B。
  • 构造函数依次执行,HelloA和HelloB。

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

你可能感兴趣的文章
python3.5实现socket通讯(TCP)
查看>>
python3.6 ubuntu部署nginx、 uwsgi、 django
查看>>
Python3.6.3中,functools似乎不能用
查看>>
python3.6.5+cuda9+cudnn7.1+win10+tensorflow-gpu1.9.0下载配置
查看>>
python3.6使用pickle序列化class
查看>>
python3.6入门到高阶(全栈) day027 网络通信协议 osi七层模型
查看>>
Python3.6属性错误:模块‘;异步没有属性‘;运行‘;
查看>>
python3.6版本中的python-weka-wrapper安装失败,错误代码为%1
查看>>
Python3.7安装cv2踩过的坑
查看>>
python写txt文件
查看>>
python关于sorted排序函数详细解析 附实战代码(全)
查看>>
python3.8调用m文件,调用matlab
查看>>
python3.9新特性_Python 3.9 新特性速览
查看>>
Python3.x:遍历select下拉框获取value值
查看>>
python360百科_11月编程排行榜:Python超过Java成第二
查看>>
Python关于Paginator分页函数详细解析 附实战代码
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>
python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
查看>>
python3与django中@property详解
查看>>
python3中如何表示无穷大
查看>>