java线程相关知识点有哪些

技术java线程相关知识点有哪些这篇文章主要讲解了“java线程相关知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java线程相关知识点有哪些”吧!cas c

本文主要讲解“与java线程相关的知识点有哪些”。本文的解释简单明了,易学易懂。请跟随边肖的思路一起学习和学习“java线程相关的知识点有哪些”!

00-1010读取当前值

计算结果值

将当前值与内存值进行比较。

更新新值

ABA问题,添加额外字段

底层原语锁定(硬件锁定信号)cmpxchg

00-1010对象头(markword,class point,在64位系统上,jvm打开时压缩为4字节,不打开时压缩为8字节),(数组长度-4字节)实例数据,以及对齐(通过填充系统总线位数来提高效率),如下图所示java线程相关知识点有哪些

00-1010新款-偏置锁-轻量锁(无锁、旋转锁、自适应旋转锁)-重量级锁

偏置锁定(默认延迟4秒以上)-在对象的标记字中添加指向锁定对象的指针。

轻量级锁——竞争线程通过cas竞争指向锁对象。

重量级锁定用户模式适用于系统锁定到内核模式,之后所有其他竞争线程都处于队列状态(减少资源消耗)。

锁定:通常发生在gc的情况下,所以此时降级是没有意义的。

锁消除:当引用不会被其他线程调用时,隐式消除内部锁。

锁定粗化:对于一组具有相同操作的对象,该值锁定最外层的操作(例如while(i100)}.})

超线程:一组算术逻辑单元,两组寄存器

同步实施过程

代码层:同步

源代码监视器进入监视器退出

锁定升级

锁定cmpxchg

cas compare and swap(exchange):

当程序读取数据时,它以块为单位读取数据,以提高效率(根据cpu,64字节)。

Cpu一级和二级缓存属于核心,三级缓存是共享的。

java线程相关知识点有哪些

volatile关键字的作用

线程可见性

如下所述,禁止代码重排。

内存屏障确保语句的顺序执行,底层仍然是锁。

写屏障易失性写操作写读屏障

读屏障易失性读操作读写屏障

00-1010强引用:对象o=新对象();

软引用: softreferenceObject软引用=新软引用(new object());当没有足够的堆空间时,它将被回收,这适合缓存。

弱引用: weakreference对象weak reference=new weak reference(new object());只要gc将被回收,它就适用于ThreadLocal.entry使用的弱引用,如一次性使用和缓存。使用ThreadLocal时,必须调用ThreadLocal.remove一次来释放映射的值,因为回收ThreadLocal时只会回收密钥,而不会回收条目。

虚拟引用:幻影引用对象幻影引用=新幻影引用(新对象(),新引用队列());管理堆外内存,如NIO和ZeroCopy。

感谢阅读,以上就是《java线程相关的知识点有哪些》的内容。学习完这篇文章,相信你对java线程相关的知识点有了更深的理解,具体用法还需要实践验证。在这里,边肖将为您推送更多关于知识点的文章,敬请关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115172.html

(0)

相关推荐

  • c++ 文本处理

    技术c++ 文本处理 c++ 文本处理c++ 文本处理
    1、使用sstream版本
    (1)功能:截取第一列为1以后的数据,如下图,截取第5行(包括第5行)以后的数据,前面4行数据丢弃。(2)代码:tex

    礼包 2021年12月3日
  • 手把手带你刷二叉树,第一期)

    技术手把手带你刷二叉树,第一期) 手把手带你刷二叉树(第一期)https://labuladong.gitee.io/algo/2/18/21/读完本文,你不仅学会了算法套路,还可以顺便去 LeetCo

    礼包 2021年11月12日
  • a4纸一半是a几纸,请问a4打印纸的一半就是a5么

    技术a4纸一半是a几纸,请问a4打印纸的一半就是a5么A4纸的大小为210mm×297mm A4的一半是A5纸 A5纸大小为210mmX148mm A0的尺寸为1189mm×841mm, A1的尺寸为841mm×594m

    生活 2021年10月28日
  • 前端代码注释规范

    技术前端代码注释规范 前端代码注释规范前端代码注释规范
    目的和原则
    提高可读性和可维护性
    如无必要,勿增注释;如有必要,尽量详尽
    语法和快捷键
    单行注释:// 快捷键: ctrl+/
    多行注释:/**/

    礼包 2021年11月25日
  • spark硬件推荐配置(spark调优最佳配置)

    技术Spark调优之硬件要求有哪些这篇文章将为大家详细讲解有关Spark调优之硬件要求有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一,存储系统因为因为大多数Spark工作可能需

    攻略 2021年12月16日
  • 深入理解C++11-附录B

    技术深入理解C++11-附录B 深入理解C++11-附录B深入理解C++11
    附录B
    弃用的特征
    1.auto:
    可在任何需要声明变量类型的上文中使用,但不能声明函数参数(因为重载的原因,不能这么使用)

    礼包 2021年11月23日