【Java基础知识面试题 2】2020年6月20日 星期六(请不要查资料,填写你们的答案)

1、什么是线程池

线程池是是统一管理线程的地方,在使用线程时,可以直接从线程池中拿取,不需要new的过程。

线程池的优点:

(1)程序在使用线程时,可以直接从线程池中拿取,不需要new,提高了使用线程的效率。

(2)对线程进行统一管理,可以将不使用的线程销毁,解决了线程过多造成的卡顿问题。

2、Java自带有哪几种线程池

(1)定长线程池

(2)带缓存的线程池

(3)单一线程池

3、Java中有几种类型的流

(1)字节流

  • 输入流:InputStream(FileInputStream+BufferedInputStream)
  • 输出流:OutputStream(FileOutputSteam+BufferedOutStream)

(2)字符流

  • 输入型:Reader(InputstreamReader + BufferedReader)
  • 输出流:Writer(OutputstreamWriter + BufferedWriter)

4、字节流如何转为字符流

通过InputstreamReader 的构造函数,传入InputStream即可实现转换。

5、请写出你最常见的5个RuntimeException

  • NullPointerException;
  • 数组越界异常
  • 参数异常
  • 类型转换异常
  • 类找不到异常

6、JVM内存分哪几个区,每个区的作用是什么?

(1)方法区

存放已加载的类,静态变量,常量,在方法区中不进行垃圾回收操作

(2)栈

存放方法,栈的生命周期和方法的生命周期一致

(3)本地方法区

和栈的定义差不多,是native修饰的方法

(4)堆

虚拟机开启时自动开辟的存储空间,存放大量的变量,垃圾回收操作较为频繁。

(5)程序计数器

虚拟机在进行工作的时候,通过程序计数器来记录具体的过程。

7、heap和stack有什么区别

哑口无言!

(1)申请方式

(2)申请后系统的响应

(3)申请大小的限制

(4)申请效率的比较

(5)heap和stack中存储的内容

8、Java类加载过程

 

9、什么是类加载器,类加载器有哪些

 

10、Java中垃圾收集的方法有哪些

 

11、如何判断一个对象是否存活(或者GC对象的判断方法)

 

12、简述Java内存分配与回收策略以及Minor GC 和Major GC(Full GC)

 

13、你所知道的设计模式有哪些

 

14、什么是代理模式,为什么要用代理模式

 

15、有哪几种代理模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章