Java常见面试题(一)

1、锁优化有哪些思路?

  • 减少锁持有时间
  • 减小锁粒度
  • 锁分离
  • 锁粗化
  • 锁消除


2、虚拟机是怎么优化锁的?

偏向锁

轻量级锁

自旋锁


3javac编译可分为哪三个步骤?

  1. 解析与填充符号表过程;
  2. 插入式注解处理器的注解处理过程;
  3. 语义分析与字节码生成过程。


4、基本垃圾回收算法有哪些?

  • 引用计数(Reference Counting)
  • 标记-清除(Mark-Sweep)
  • 复制
  • 标记-整理(Mark-Compact)


5、引用有几种类型

强引用

软引用

弱引用

虚引用


6、类加载器的分类有哪些?

启动类加载器

扩展类加载器

应用程序类加载器

自定义加载器

7CyclicBarrierSemaphore的区别?

CyclicBarrier能让一组线程到达一个屏障时被阻塞,直到最后一个线程到达时,所有被拦截的线程才会继续运行。与CountDownLatch区别在于这个计数器可以反复使用。

Semaphore则用于做流量控制,特别是公用资源有限的应用场景,比如数据库连接。


8Java中有几种类型的流?

答:字节流和字符流。字节流继承于InputStream/OutputStream,字符流继承于Reader/Writer。在java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。


关于Java的I/O需要注意的有两点:

一是两个对称性(输入和输出的对称性,字节和字符的对称性);

二是两个设计模式(适配器模式和装饰器模式)。


9BIONIOAIO 有什么区别?

  • BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
  • NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。
  • AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。


10、创建线程有哪几种方式?

创建线程有三种方式:

  • 继承 Thread 重写 run 方法;
  • 实现 Runnable 接口;
  • 实现 Callable 接口。

#面试题目#
全部评论
你的第三题,又叫前端编译;第六题,可以扩展下jdk9以后,类加载器的架构改变;参考周志明第三版
1 回复 分享
发布于 2021-02-14 20:14
test
点赞 回复 分享
发布于 2021-02-15 17:38
test2
点赞 回复 分享
发布于 2021-02-15 17:40

相关推荐

评论
14
87
分享
正在热议
# 25届秋招总结 #
440737次浏览 4493人参与
# 春招别灰心,我们一人来一句鼓励 #
41503次浏览 524人参与
# 阿里云管培生offer #
119880次浏览 2219人参与
# 地方国企笔面经互助 #
7928次浏览 18人参与
# 同bg的你秋招战况如何? #
75684次浏览 552人参与
# 虾皮求职进展汇总 #
114355次浏览 884人参与
# 北方华创开奖 #
107313次浏览 599人参与
# 实习,投递多份简历没人回复怎么办 #
2454094次浏览 34848人参与
# 实习必须要去大厂吗? #
55687次浏览 960人参与
# 提前批简历挂麻了怎么办 #
149836次浏览 1977人参与
# 投递实习岗位前的准备 #
1195731次浏览 18546人参与
# 你投递的公司有几家约面了? #
33180次浏览 188人参与
# 双非本科求职如何逆袭 #
661934次浏览 7394人参与
# 如果公司给你放一天假,你会怎么度过? #
4734次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157604次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11381次浏览 271人参与
# 发工资后,你做的第一件事是什么 #
12431次浏览 61人参与
# 工作中,努力重要还是选择重要? #
35621次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20091次浏览 240人参与
# 我的上岸简历长这样 #
451933次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39241次浏览 314人参与
# 非技术岗是怎么找实习的 #
155852次浏览 2120人参与
牛客网
牛客企业服务