互联网架构
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 · 248 阅读 · 0 评论 -
互联网架构学习-第一章 并发编程基础(二)
1 第一章 并发编程基础1.2 线程安全核心概念线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或“临界区”。当多个线程访问Thread的run方法时,以排队的方式进行处理(这里排对是按照CPU分配的先后顺序而定的),一个线程想要...原创 2018-10-09 00:11:07 · 150 阅读 · 0 评论 -
互联网架构学习-第一章 并发编程基础(三)
1 第一章 并发编程基础1.3 Volatile及原子性Volatile概念Volatile关键字的主要作用是使变量在多个线程间可见。在多线程间可以进行变量的变更,使得线程间进行数据的共享可见。阻止指令重排序,happens-beforevolatile的作用就是强制线程到主内存(共享内存)里去读取变量,而不去线程工作内存区里去读取,从而实现了多个线程间的变量可见。也就是满足线程之间的可...原创 2018-10-09 13:54:23 · 146 阅读 · 0 评论 -
互联网架构学习-第一章 并发编程基础(四)
1 第一章 并发编程基础1.4 Unsafe类的核心作用和原理1.4.1 JDK Unsafe类使用与CAS原子特性由于java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能:内存操作字段的定位与修改挂起与恢复CAS操作(乐观锁)内存操作类中提供的3个本地方法allocateMemory、reallocateMem...原创 2018-10-23 18:12:59 · 151 阅读 · 0 评论