Java面试手册V2.0+突击V3.0知识点整理(十六) 附封面图片

Java面试手册V2.0+突击V3.0知识点整理(十六) 附封面图片,第1张

Java面试手册V2.0+突击V3.0知识点整理(十六) 附封面图片


1. 设置线程上下文类加载器
  • 获取线程上下文类加载器
	public ClassLoader getContextClassLoader()
  • 设置线程类加载器(可以打破Java类加载器的父类委托机制)
	public void setContextClassLoader(ClassLoader c1)

2. join
  • join是指把指定的线程加入到当前线程,比如join某个线程a,会让当前线程b进入等待,直到a的生命周期结束,此期间b线程是处于blocked状态

3. 什么是synchronized?
  • synchronized关键字可以实现一个简单的策略来防止线程干扰和内存一致性错误,如果一个对象是对多个线程可见的,那么对该对象的所有读写都将通过同步的方式来进行

4. synchronized包括哪两个JVM重要的指令?
  • monitor enter和monitor exit

5. synchronized关键字用法?
  • 可以用于对代码块或方法的修饰

6. synchronized锁的是什么?
  • 普通同步方法------>锁的是当前实例对象
  • 静态同步方法------>锁的是当前类的Class对象
  • 同步方法块—>锁的是synchronized括号里配置的对象

7. Java对象头
  • synchronized用的锁是存在Java对象头里的。对象如果是数组类型,虚拟机用三个字宽(Word)存储对象头,如果对象是非数组类型,用2字宽存储对象头
  • Tips:32位虚拟机中一个字宽等于4字节

8. Java对象头长度


9. Java对象头的存储结构
  • 32位JVM的Mark Word默认存储结构

10. Mark Word的状态变化
  • Mark Word 存储的数据会随着锁标志位的变化而变化
  • 64位虚拟机下,Mark Word是64bit大小的

上一篇:Java面试手册V2.0+突击V3.0知识点整理(十五) 附封面图片
下一篇:Java面试手册V2.0+突击V3.0知识点整理(十七) 附封面图片


Java多线程系列先暂停更新…后面会补上,先更新其它知识点

如果觉得封面图片还行,请顺手点个赞

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4661666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存