Unsafe类

技术定位

   CAS的实现都是CPU指令实现的,和Java语言无关,但是和CPU指令交互需要一个类,Java

开发者可以调用这个类从而实现调用CPU指令,这个类就是Unsafe.

源码讲解

      

   native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);

    首先方法被native修饰,具体实现是jdk自身处理,我们不必关系,重点关心输入 ,输出

    输入

         Object var1     要操作的对象

         long var2         偏移量,借助它就可以获取到 value 的数值

         int var4            期望值,认为当前变量的值

         int var5            修改的数值

             

          var1 和 var2 个人认为使用来实际计算内存里面的值,var4是我目前认为的值,两个相同

          则更新当前值为 var5

    输出

               boolean    是否更新成功 

上一篇:四、数据类型_1.Number 数字类型


下一篇:JDK原生反序列化利用链7u21