首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
白日梦工厂厂长
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
14
文章 14
沸点 0
赞
14
返回
|
搜索文章
最新
热门
深入理解Java多线程与并发框(第⑦篇)——volatile 关键字
把对 volatile变量的单个读/写,看成是使用 同一个监视器锁 对这些单个读/写操作做了 同步。 原理:插入内存屏蔽指令,禁止一定条件下的重排序。
深入理解Java多线程与并发框(第⑥篇)——synchronized 关键字
1. 对象加锁: 使用 monitorenter 和 monitorexit 指令分别获取控制权和释放控制权。 2. 方法加锁: 方法级的同步是隐式,即无需通过字节码指令来控制的,它实现在方法调用和返回操作之中。JVM可以从方法常量池中的方法表结构(method_info St…
深入理解Java多线程与并发框(第⑤篇)——顺序一致性模型
计算的正确性取决于 多个线程 执行的 时序 时,就会发生 竞态条件。 一个线程中的所有操作必须按照程序的顺序来执行。 (不管程序是否同步)所有线程都只能看到一个单一的操作执行顺序。在顺序一致性内存模型中,每个操作都必须原子执行且立刻对所有线程可见。 在概念上,顺序一致性模型有一…
深入理解Java多线程与并发框(第④篇)——重排序、屏障指令、as-if-serial、happens-before规则
前篇文章已经讲了Java内存模型和与其三个特性:原子性、可见性、有序性。但事实上,为了提升程序的执行性能,编译器 和 处理器 常常会对程序指令序列进行 重排序。 内存屏障(Memory Barrier,或称为内存栅栏,Memory Fence)是一种CPU指令,用于控制特定条件…
深入理解Java多线程与并发框(第③篇)——Java内存模型与原子性、可见性、有序性
Java Memory Modle,简称 JMM,中文名称 Java内存模型,它是一个抽象的概念,用来描述或者规范访问内存变量的方式。因为各中计算机的操作系统和硬件不同,方式机制也可能不同,Java内存模型用于屏蔽(适配)各种差异,以此来达到访问各个平台的一致的效果。这也是Ja…
深入理解Java多线程与并发框(第②篇)——线程和进程的区别
1. 资源调度单位 在计算机中,进程是程序运行所使用资源的基本单位。比如传统的一个Web应用,运行它需要多少资源,操作系统应该分配多少资源,都是进程为基本单位进行分配资源(资源包括内存、CPU、磁盘、I/O等)。我们知道CPU是一台计算机的运算核心和控制核心,它的功能解释并处理…
深入理解Java多线程与并发框(第①篇)——线程的状态
1. 新建状态(New) 2. 可运行状态(Runable) 通过 thread.start() 方法开启线程,开启后意味着该线程 “能够” 运行,并不意味着一定会运行,因为它要抢占资源,获取CPU的使用权后,才能运行。所以此状态称为 可运行状态。从上图中可以看出,不仅通过 s…
Java常见知识点汇总(完结篇)——这应该是2020年最详细的Java知识点汇总
纸上得来终觉浅,绝知此事要躬行。笔者之前对每部分的内容对做了比较深入的学习以及代码实现,基本上比较全面地讲述了每一个Java基础知识点,当然可能有些遗漏和错误,欢迎读者指正。 1. 数据类型 2. 关于Static 3. 面向对象基础 4. Java虚函数、抽象函数、抽象类、接…
Java常见知识点汇总(⑳)——锁
如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1…
Java常见知识点汇总(⑲)——Java中的强引用、弱引用、软引用、虚引用
一. 强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下: 当内存空间不足时,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题…
下一页
个人成就
文章被点赞
90
文章被阅读
52,710
掘力值
2,015
关注了
6
关注者
25
收藏集
0
关注标签
4
加入于
2020-02-26