
互联网架构
NFTDigger
(PMP、OCA、MCSD)地道持续的努力才是到达目标的唯一正确方法。
展开
-
互联网架构学习-第一章 并发编程基础(一)
互联网架构学习-第一章 并发编程基础 篇外:推荐使用的IDE是基于Eclipse开源工程的进行Spring Boot, Spring Cloud 开发的STS(Spring Tools Suite)。 1 第一章 并发编程基础 1.1 并发容器类 同步类容器都是线程安全的。但在某些情况下需要加锁来保护复合操作。 1.1.1 同步类容器的常见问题 下面两种写法(增强For循环及迭代器While循环)...原创 2018-10-03 21:47:19 · 265 阅读 · 0 评论 -
互联网架构学习-第一章 并发编程基础(二)
1 第一章 并发编程基础 1.2 线程安全核心概念 线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。 synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或“临界区”。 当多个线程访问Thread的run方法时,以排队的方式进行处理(这里排对是按照CPU分配的先后顺序而定的),一个线程想要...原创 2018-10-09 00:11:07 · 164 阅读 · 0 评论 -
互联网架构学习-第一章 并发编程基础(三)
1 第一章 并发编程基础 1.3 Volatile及原子性 Volatile概念 Volatile关键字的主要作用是使变量在多个线程间可见。在多线程间可以进行变量的变更,使得线程间进行数据的共享可见。阻止指令重排序,happens-before volatile的作用就是强制线程到主内存(共享内存)里去读取变量,而不去线程工作内存区里去读取,从而实现了多个线程间的变量可见。也就是满足线程之间的可...原创 2018-10-09 13:54:23 · 161 阅读 · 0 评论 -
互联网架构学习-第一章 并发编程基础(四)
1 第一章 并发编程基础 1.4 Unsafe类的核心作用和原理 1.4.1 JDK Unsafe类使用与CAS原子特性 由于java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 内存操作 字段的定位与修改 挂起与恢复 CAS操作(乐观锁) 内存操作 类中提供的3个本地方法allocateMemory、reallocateMem...原创 2018-10-23 18:12:59 · 164 阅读 · 0 评论