首页 > 其他分享 >Unsafe详解

Unsafe详解

时间:2023-12-15 15:03:04浏览次数:23  
标签:Java CAS Unsafe 详解 内存 方法 类中

UnsafeCAS的核心类,由于Java方法无法直接访问底层系统,需要通过本地(native)方法来访问,Unsafe相当于一个后门,基于该类可以直接操作特定内存的数据。

Unsafe类存在于sun.misc包中,其内部方法操作可以像C的指针一样直接操作内存,因为Java中CAS操作的执行依赖于Unsafe类的方法。

注意Unsafe类中所有方法都是native修饰的,也就是说Unsafe类中的方法都直接调用操作系统底层资源执行相应任务。

变量valueOffset,表示该变量值子在内存中的偏移量,因为Unsafe就是根据内存偏移地址获取数据的。

变量value用volatile修饰,保证了多线程之间的可见性。

标签:Java,CAS,Unsafe,详解,内存,方法,类中
From: https://blog.51cto.com/u_11315052/8841477

相关文章

  • CAS详解
    CAS的全称为Compare-And-Swap,它是一条CPU并发原语。它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。CAS并发原语体现在Java语言中就是sun.misc.Unsafe类中的各个方法。调用Unsafe类中的CAS方法,JVM会帮我们实现出CAS汇编指令。这是一种完全依赖......
  • owasp-top10 2023 详解
    经典的TOP10漏洞 A1注入漏洞在2013、2017的版本中都是第一名,可见此漏洞的引入是多么的容易,同时也证明此漏洞的危害有多么严重。攻击方式利用应用程序弱点,通过恶意字符将恶意代码写入数据库,获取敏感数据或进一步在服务器执行命令。漏洞原因未审计的数据输入框使用网址直接传......
  • 一文带你掌握Spring事务核心:TransactionDefinition详解!
    TransactionDefinition是Spring框架中用于定义事务属性的核心接口。在Spring的事务管理中,这个接口扮演着至关重要的角色,它允许开发者定制事务的各种属性,如隔离级别、传播行为、超时时间以及是否只读。基本介绍TransactionDefinition接口的主要方法:getIsolationLevel():返......
  • Unity3D ugui适配iPhoneX的齐刘海屏幕详解
    Unity3D是一款强大的游戏开发引擎,广泛应用于手机游戏开发。随着苹果推出了iPhoneX,这款全面屏手机的出现给游戏开发者带来了新的适配问题。本文将详解如何在Unity3D中适配iPhoneX的齐刘海屏幕,并给出相应的技术详解和代码实现。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习......
  • C 语言注释和变量详解
    C语言中的注释C语言中可以使用注释来解释代码并使其更具可读性。它还可以在测试替代代码时防止执行。单行注释单行注释以两个斜杠(//)开头。//和行末之间的任何文本都会被编译器忽略(不会被执行)。此示例在代码行之前使用单行注释://这是一个注释printf("HelloWorld!");......
  • 秦疆的Java课程笔记:69 面向对象 Super详解
    super调用父类属性//首先写一个父类publicclassPerson{protectedStringname="1";}//然后写一个子类publicclassStudentextendsPerson{privateStringname="2";publicvoidtest(Stringname){System.out.println(name)......
  • 详解C#中的string与String
    详解C#中的string与String2023年5月31日下午5:36 • C#详解C#中的string与String在C#中,string是一个关键字,也是一个引用类型,用于表示文本字符串。而String则是string类型的别名,它们其实是同一种类型,只是在命名规范上不同。本文将详细讲解string和String类型的定义、使用......
  • mysql的备份方法详解
    MySQL数据库备份是确保数据安全的重要步骤。有多种备份方法可用,以下是几种常见的MySQL备份方法:1.使用mysqldump命令行工具:mysqldump是MySQL提供的备份工具,通过命令行使用。以下是基本的备份和恢复示例:备份整个数据库:mysqldump-uusername-pdatabase_name>backup.sql......
  • Unity3D 如何读取策划给定的Excel表格详解
    前言Unity3D是一款非常流行的游戏开发引擎,它可以帮助开发者快速构建游戏并进行测试和发布。在游戏开发过程中,策划经常会提供一些Excel表格,这些表格包含了游戏中的各种数据,如角色属性、技能效果等等。那么,如何在Unity3D中读取这些Excel表格呢?本文将详细介绍Unity3D如何读取策划给......
  • 第六节:二叉树详解
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......