参见英文答案 > Why make a method volatile in java?7个
这个很奇怪.我有以下代码:
class A
{   
    protected A clone() throws CloneNotSupportedException
    {
        return (A) super.clone();       
    }
}

当我通过’showmycode.com’解码它的字节码时,它向我展示了以下代码:

class A
{

    A()
    {
    }

    protected A clone()
    throws clonenotsupportedexception
    {
        return (A)super.clone();
    }

    protected volatile object clone()
    throws clonenotsupportedexception
    {
        return clone();
    }
}

在第二个’clone’方法中,方法返回类型是volatile的意思是什么? (此代码是通过Eclipse的默认JDK 1.6编译器编译的).

解决方法

字段和方法的修饰符掩码类似但不完全相同.反编译器最有可能在这里使用toString方法

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/reflect/Modifier.java

但它没有做的是处理所有的比特

// Bits not (yet) exposed in the public API either because they
// have different meanings for fields and methods and there is no
// way to distinguish between the two in this class,or because
// they are not Java programming language keywords

它不能处理的是可以表示编译器生成的代码的合成和桥接的位.

如果volatile在这里意味着任何东西,它可能意味着即使它没有做任何事情也不要删除该方法.

java – 方法签名中的’volatile’?的更多相关文章

  1. PHP pthreads v3下的Volatile简介与使用方法示例

    这篇文章主要介绍了PHP pthreads v3下的Volatile简介与使用方法,结合实例形式较为详细的分析了PHP pthreads v3下Volatile的功能、原理、使用方法及相关操作注意事项,需要的朋友可以参考下

  2. 深入了解volatile和Java内存模型

    在本篇文章当中,主要给大家深入介绍Volatile关键字和Java内存模型。在文章当中首先先介绍volatile的作用和Java内存模型,然后层层递进介绍实现这些的具体原理、JVM底层是如何实现volatile的和JVM实现的汇编代码以及CPU内部结构,感兴趣的可以了解一下

  3. Java中Volatile关键字能保证原子性吗

    这篇文章主要介绍了Java中Volatile关键字能保证原子性吗,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  4. Java基础面试题之volatile详解

    Volatile可以看做是轻量级的 Synchronized,它只保证了共享变量的可见性,下面这篇文章主要给大家介绍了关于Java基础面试题之volatile的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

  5. 为什么Java单例模式一定要加 volatile

    这篇文章主要介绍了为什么Java单例一定要加volatile,指的是为什么懒汉模式中的私有变量要加volatile?带着疑问一起学习下面文章内容吧

  6. Java内存模型JMM与volatile

    这篇文章主要介绍了Java内存模型JMM与volatile,Java内存模型是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,定义了程序中各个变量的访问方式

  7. 必须要学会的JMM与volatile

    这篇文章主要介绍了必须要学会的JMM与volatile,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  8. PHP / pthreads Thread类不能使用数组?

    我发现一个PECLpthreadThread不能使用数组对象.找到原因可以做些什么?

  9. 是否访问不能从C语言中的函数可观察行为外部访问的volatile变量?

    访问易失性本地哪个地址不为任何其他方可观察的行为所知?

  10. java – 同步,易失性和线程安全

    我最近正在阅读一些关于java并发的书.关于线程安全性,如果无法使类不可变,则可以始终通过同步其数据来确保线程安全.以下类显然不是线程安全的然后我可以同步写入,但它仍然不是线程安全的因为我不仅需要同步写入,还需要同步读取现在问题是,通过使用volatile我可以保证其他线程会看到更新的值,所以这让我觉得这个类应该是线程安全的最后一个类是线程安全的??

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部