第2章 Java并发机制的底层实现原理
时间:2019-02-11
本文章向大家介绍第2章 Java并发机制的底层实现原理,主要包括第2章 Java并发机制的底层实现原理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
2.1 volatile的应用
volatile相比于synchronized的特点是什么?
2.1.1 volatile的定义于实现原理
1、java语言规范第3版种对volatile的定义是什么?
2、volatile具体的两条实现原则是什么?
2.1.2 volatile的使用优化(以后再看)
2.2 synchronize的实现原理与应用
1、先来看下利用synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现为哪3种形式?
2、synchronize的JVM实现原理是什么?(P26下部分)
2.2.1 Java对象头
1、synchronized用的锁是存在哪里的?
2、Java对象头里的内存结构是什么??
2.2.2 锁的升级与对比
1、Java SE 1.6为了减少获得锁和释放锁带来的性能消耗,引入了哪两种锁?
2、Java SE 1.6中,锁一共有4种状态,级别从低到高依次是?
2.2.2.1 偏向锁
1、偏向锁的获得和撤销具体流程是什么?
2、关闭偏向锁
2.2.2.2 轻量级锁
1、轻量级加锁和解锁的流程是什么?
2、轻量级锁的膨胀流程是什么?
2.2.2.3 锁的优点缺点对比
1、偏向锁,轻量级锁,重量级锁的优缺点?
2.3 原子操作的实现原理
2.3.1 术语定义(了解)
2.3.2 处理器如何实现原子操作(了解)
2.3.3. java如何实现原子操作
(1)使用循环CAS实现原子操作
(2)使用CAS操作的3大问题是什么?
(3)使用锁
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- python实现将两个文件夹合并至另一个文件夹(制作数据集)
- rxjs里使用from operator从一个generator里生成Observable
- 使用asyncScheduler进行Observable的延迟subscribe
- 解决flask接口返回的内容中文乱码的问题
- Android自定义控件实现带数值和动画的圆形进度条
- rxjs interval和take的混合使用
- Android自定义控件实现带文本与数字的圆形进度条
- 云函数Python依赖包安装,应用启动超时问题排查
- Android Volley扩展实现支持进度条的文件上传功能
- Android自定义控件实现球赛比分条效果
- rxjs里concat operators的用法
- rxjs里merge operators的用法
- Android实现多参数文件和数据上传
- 解决pyPdf和pyPdf2在合并pdf时出现异常的问题
- rxjs里scan operators的用法