![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程并发编程
欧拉拉拉拉
这个作者很懒,什么都没留下…
展开
-
JAVA程序运行原理分析
JAVA程序运行原理分析JAVA运行时数据区线程共享部分方法区堆内存线程独享部分虚拟机栈本地方法栈程序计数器class文件内容版本号/访问标志常量池构造函数程序入口—main方法程序完整运行分析 JAVA运行时数据区 线程共享部分 方法区 用来存储加载的类信息、常量、静态变量、编译后的代码等数据。 虚拟机规范中这是一个逻辑区域。具体实现根据不同虚拟机来实现。 如:oracle的HotSpot在j...原创 2019-08-04 09:49:52 · 166 阅读 · 0 评论 -
线程状态、线程中止、
线程状态线程状态线程切换线程终止不正确的线程终止——Stop正确的线程中止interrupt标志位 线程状态 6个状态定义:java.lang.Thread.State 1、New:尚未启动的线程的线程状态。 2、Runnable:可运行线程的线程状态,等待CPU调度。 3、Blocked:线程阻塞等待监视器锁定的线程状态。 处于sync...原创 2019-08-06 10:26:42 · 140 阅读 · 0 评论 -
CPU缓存和内存屏障
CPU缓存和内存屏障CPU性能优化手段——缓存多级缓存缓存同步协议CPU性能优化手段——运行时指令重排两个问题内存屏障 CPU性能优化手段——缓存 为了提高程序运行的性能,现代CPU在很多方面堆程序进行了优化。 例如:CPU高速缓存。尽可能的避免处理器访问主内存的时间开销,处理器大多会利用缓存(cache)以提高性能。 多级缓存 L1 Cache(一级缓存)时CPU第一层高速缓存,分为数据缓存和...原创 2019-08-06 10:57:32 · 98 阅读 · 0 评论 -
线程封闭
线程封闭概念ThreadLocal栈封闭 概念 多线程访问共享可变数据时,涉及到线程间数据同步的问题。并不是所有时候,都要用到共享数据,所以线程封闭概念就提出来了。 数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的技术称为线程封闭。 线程封闭具体的体现有:ThreadLocal、局部变量 ThreadLocal ThreadLocal是Java里一种特殊的变量...原创 2019-08-07 19:22:40 · 97 阅读 · 0 评论 -
Synchronized从使用到原理
Synchronized从使用到原理JAVA中锁的概念同步关键字synchronized堆内存中的Java对象对象头Mark Word JAVA中锁的概念 自旋锁:是指当一个线程再获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,知道获取到锁才会退出循环。 乐观锁:假定没有冲突,在修改数据时,如果发现数据和之前获取的不一致,则读最新数据,修改后重试修...原创 2019-08-23 19:28:18 · 88 阅读 · 0 评论 -
线程通信
线程通信通信方式文件共享网络共享变量共享线程协作——JDK APIAPI——被弃用的suspend和resumewait和notify机制park/unpark机制伪唤醒 线程通信,指多个线程在运行期间,进行的数据交互或者协作。 通信方式 要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。 涉及到线程之间相互通信,分为下面四类: 文件共享 网络共享 变量共享 jdk提...原创 2019-08-11 09:28:00 · 94 阅读 · 0 评论 -
线程池原理
线程池原理为什么要用线程池线程池原理—概念线程池API——接口定义和实现类方法定义线程池API——Executors工具类线程池原理——任务execute过程同步队列(SynchronousQueue):线程池中止shutdownshutdownNow线程数量 为什么要用线程池 线程是不是越多越好? 1、线程在java中是一个对象,更是操作系统的资源,线程创建、销毁需要时间。如果创建时间+销毁时间...原创 2019-08-11 10:26:56 · 174 阅读 · 0 评论 -
Java内存模型详解
Java内存模型详解JVM运行时数据区Java内存模型 VS JVM运行时数据区初看Java内存模型多线程中的问题 JVM运行时数据区 Java内存模型 VS JVM运行时数据区 Java语言规范:描述java语言特性 Java虚拟机规范:描述java虚拟机模型 Java内存模型是由,java语言规范提出 JVM运行时数据区(堆,方法区。。。)来自ava虚拟机规范 初看Java内存模型 一次执...原创 2019-08-21 10:45:29 · 115 阅读 · 0 评论 -
Atomic相关类和CAS机制
Atomic相关类和CAS机制原子操作CAS(Compare and swap) 原子操作 public class TestCollection { public static void main(String[] args) throws Exception { final TestCollection test = new TestCollection(); for (int i ...原创 2019-08-21 18:41:37 · 453 阅读 · 0 评论