- 博客(6)
- 收藏
- 关注
原创 Java并发-JUC原子类详解
CAS的全称为Compare-And-Swap,直译就是对比交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,经过调查发现,其实现方式是基于硬件平台的汇编指令,就是说CAS是靠硬件实现的,JVM只是封装了汇编调用,那些AtomicInteger类便是使用了这些封装后的接口。简单解释:CAS操作需要输入两个数值,一个旧值(期望操作前的值)和一个新值,在操作期间先比较下在旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化则不交换。
2024-02-25 19:12:00
732
2
原创 Java并发-关键字:volatile详解
我们从一个最经典的例子来分析重排序问题。大家应该都 很熟悉单例模式的实现,而在并发环境下的单例实现方式,我们通常可以采用双重检查加锁(DCL)的方式来实现。现在我们分析一下为什么要在变量singleton之间加上volatile关键字。但是由于操作系统可以对指令进行重排序如果是这个流程,多线程环境下就可能将一个未初始化的对象引用暴露出来,从而导致不可预料的结果。因此,为了防止这个过程的重排序,我们需要将变量设置为volatile类型的变量。
2024-02-25 18:37:59
653
1
原创 Java并发-关键字: synchronized详解
示例1@Override// 同步代码块形式——锁为this,两个线程使用的锁是一样的,线程1必须要等到线程0释放了该锁后,才能执行System.out.println("我是线程" + Thread.currentThread().getName());try {System.out.println(Thread.currentThread().getName() + "结束");t1.start();t2.start();我是线程Thread-0Thread-0结束。
2024-02-25 17:55:19
1359
1
原创 双边滤波实现
噪声类别:椒盐噪声(盐=白色,椒=黑色):椒盐噪声是数字图像中的常见噪声,一般是由图像传感器、传输信道及解码处理等产生的黑白相见的亮暗点噪声,椒盐噪声常由图像切割产生。椒盐噪声是指两种噪声:盐噪声(salt noise)及椒噪声(pepper noise)。盐噪声一般是白色噪声,椒噪声一般是黑色噪声,前者高灰度噪声,后者属于低灰度噪声,一般两种噪声同时出现,呈现在图像上就是黑白杂点。图像去除脉冲干扰及椒盐噪声最常用的算法是中值滤波,图像模拟添加椒盐噪声是通过随机获取像素值点并设置为高亮点来实现的。
2023-05-11 22:45:44
1225
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人