
Java
大象大象你的鼻子怎么那么长
学海无涯乐作舟,直挂云帆济沧海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java线程池
什么是线程?线程是指进程中的一个执行流程,一个进程可以运行多个线程。比如java.exe进程可以运行很多线程。线程总是输入某个进程,进程中的多个线程共享进程的内存。线程的创建/获取方式1.继承Thread类2.实现Runnable接口3.实现Callable接口4.线程池获取实现Callable接口和实现Runnable接口有什么不同?相同点:两者都是接口;两者都可用来编写多线程程序;两者都需要调用Thread.start()启动线程;不同点:两者最大的不同点是:实现Callabl原创 2020-10-16 11:24:57 · 209 阅读 · 1 评论 -
浅谈CAS底层原理和ABA问题
文章目录概述CAS底层原理CAS缺点ABA问题解决ABA问题AtomicStampedReference总结概述CAS的全称是Compare-And-Swap,它是CPU并发原语它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的CAS并发原语体现在Java语言中就是sun.misc.Unsafe类的各个方法。调用UnSafe类中的CAS方法,JVM会帮我们实现出CAS汇编指令,这是一种完全依赖于硬件的功能,通过它实现了原子操作,再次强调,由于CAS是一种系统原语,原语原创 2020-09-30 23:12:25 · 750 阅读 · 0 评论 -
浅谈Volatile三大特性
文章目录JMMJMM是什么特性Volatile可见性原子性禁止指令重排Volatile针对指令重排做了什么?JMMJMM是什么JMM是Java内存模型,也就是Java Memory Model,简称JMM,本身是一种抽象的概念,实际上并不存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式JMM关于同步的规定:线程解锁前,必须把共享变量的值刷新回主内存线程解锁前,必须读取主内存的最新值,到自己的工作内存加锁和解锁是同一把锁原创 2020-09-30 22:29:31 · 932 阅读 · 0 评论 -
Java锁机制的粗略总结
对【多线程】月薪20K必须知道的Java锁机制的笔记文章目录1. 什么是锁?1.1 Java锁机制是怎么设计的?2. 对象、对象头、结构2.1 Mark Word3. Synchronized3.1 Synchronized同步机制3.2 Synchronized同步机制为什么会存在性能问题?4. 无锁、偏向锁、轻量级锁、重量级锁4.1 无锁4.2 偏向锁4.3 轻量级锁4.3.1 轻量级锁和线程的绑定过程4.3.2 轻量级锁锁定后,其他线程想获取该怎么办?4.4 重量级锁1. 什么是锁?在并发环.原创 2020-09-16 16:04:51 · 746 阅读 · 0 评论