海盗船|字节内部Java技术岗‘面试真题’泄露,冒死发布!( 六 )
5、 synchronized 和 Lock 有什么区别?
6、既然提到可以通过配置不同参数创建出不同的线程池 , 那么Java中默认实现好的线程池又有哪些呢?请比较它们的异同 。
7、你刚才提到获取对象的锁 , 这个“锁”到底是什么?如何确定对象的锁?
8、 为什么要使用并发编程
9、 并发队列和并发集合的区别:
10、 线程池中 submit() 和 execute() 方法有什么区别?
11、 如何避免线程死锁
12、 什么是重排序
13、 并发关键字 synchronized ?
14、 线程和进程区别
15、 你是如何调用 wait() 方法的?使用 if 块还是循环?为什么?
16、 用过ConcurrentHashMap , 讲一下他和HashTable的不同之处?
17、 原子类的常用类
18、请谈谈ThreadLocal是怎么解决并发安全的?
19、 Thread 类中的 yield 方法有什么作用?
20、 notify() 和 notifyAll() 有什么区别?
III.Java虚拟机
1、类加载器双亲委派模型机制?
当一个类收到了类加载请求时 , 不会自己先去加载这个类 , 而是将其委派给父类 , 由父类
去加载 , 如果此时父类不能加载 , 反馈给子类 , 由子类去完成类的加载 。
2、深拷贝和浅拷贝
- 浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址 ,
- 深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存 , 使这个增加的指针指向这个新的内存 ,
- 浅复制:仅仅是指向被复制的内存地址 , 如果原地址发生改变 , 那么浅复制出来的对象也会相应的改变 。
- 深复制:在计算机中开辟一块新的内存地址用于存放复制的对象 。
在 java 中 , 程序员是不需要显示的去释放一个对象的内存的 , 而是由虚拟机自行执行 。 在JVM 中 , 有一个垃圾回收线程 , 它是低优先级的 , 在正常情况下是不会执行的 , 只有在虚拟机空闲或者当前堆内存不足时 , 才会触发执行 , 扫面那些没有被任何引用的对象 , 并将它们添加到要回收的集合中 , 进行回收 。
4、你能给我详细的介绍Java堆吗?(重点理解)
5、说一下JVM运行时数据区
6、Java会存在内存泄漏吗?请说明为什么?
7、堆栈的区别是什么?
8、简单说说你了解的类加载器 , 可以打破双亲委派么 , 怎么打破 。
9、MinorGC
10、能不能解释一下本地方法栈?
11、对象什么时候可以被垃圾器回收
12、详解JVM内存模型
13、堆里面的分区:Eden , survival(from+to) , 老年代 , 各自的特点 。
14、GC是什么?为什么要GC
15、JVM的GC收集器设置
16、你听过直接内存吗?
17、java类加载过程?
18、说说你知道的几种主要的JVM参数
19、强引用
20、常用的JVM调优的参数都有哪些?
21、JVM垃圾回收算法有哪些?
22、Jdk和Jre和JVM的区别
23、我们开发人员编写的Java代码是怎么让电脑认识的
24、能不能解释一下方法区
25、怎么打出线程栈信息 。
26、GC的三种收集方法:标记清除
27、SafePoint是什么
28、为什么新生代要分Eden和两个Survivor区域?
29、GC收集器有哪些?CMS收集器与G1收集器的特点 。
30、知道垃圾收集系统吗?
31、垃圾回收器的原理是什么?有什么办法手动进行垃圾回收?
- 阿维塔|在避免患上大公司病上,字节跳动、小米保持高度一致
- AirPods|iOS 16 内部流出,苹果「王炸」新品年底见
- 太阳内部再现诡异现象,未来地球会变冰球吗?
- 比核聚变更强大!科学家脑洞大开,想从黑洞内部获得无限能量
- 电子商务|又是欠钱不还、卷款跑路,这次连腾讯字节们都看走眼!
- 小米科技|236: 京东外卖业务;毕业生报告;新东方建供应链;字节教育业务调整
- Google|这家无所不知的公司,内部却悄悄被邪教渗透了……谷歌:这不能怪我
- meta|Facebook内部通告:将重新整合即时通讯功能
- 供应链管理|?TikTok美国用户数据已被转到甲骨文,由新团队控制,字节无法访问
- tiktok|?TikTok美国用户数据已转移到甲骨文,由新团队控制,字节无法访问
