java吧 关注:1,237,317贴子:12,708,801

我看到这样一句话,关于JVM创建对象的

只看楼主收藏回复

在Java指令中创建对象和赋值操作是分开进行的,也就是说instance = new Singleton();语句是分两步执行的。但是JVM并不保证这两个操作的先后顺序,
(那么单线程中会不会发生调用对象异常的情况呢?)


来自Android客户端1楼2016-02-03 18:52回复
    胸器


    IP属地:广东来自Android客户端2楼2016-02-03 19:10
    收起回复
      说吧,几楼开车。


      IP属地:河北来自iPhone客户端4楼2016-02-03 19:19
      收起回复
        难道问题太偏了,没人看懂??


        来自Android客户端5楼2016-02-03 21:45
        收起回复
          不会,并且现在顺序已经保证了


          IP属地:广西6楼2016-02-03 21:59
          收起回复
            预算4000-4500一台主机


            IP属地:山东7楼2016-02-04 13:08
            收起回复
              你可以这么理解啊,instance是线程本地栈的空间,new Singleton()是在堆里面的空间,所以谁先谁后都不影响啊。instance指向堆的某一处空间,这个空间可能已经就有一个对象了(new Singleton),可能还是null


              IP属地:广东9楼2016-02-04 14:06
              收起回复
                jvm指令层面的问题?那么这里的不保证指令顺序应该指的是jvm指令被翻译成汇编指令后,如果cpu存在乱序执行技术,那么将无法保证jvm指令的执行顺序,不过指令执行顺序不影响执行结果,因为存在乱序执行和乱序访问技术的cpu都有缓存一致性的解决方案,比如内存屏障,指令缓存队列等等


                12楼2016-02-04 14:29
                回复
                  我记得老师用1.7演示了这个bug刷了十分钟


                  来自Android客户端13楼2016-02-04 15:20
                  收起回复
                    大概是你看的一知半解
                    不管你那个赋值是否线程安全,但判断是否为null的时候和你赋值的时候必然线程不安全,所以要加同步关键字确保同步,一般情况下为了性能考虑会做双重判断,而不是直接同步块包含起来


                    IP属地:湖南14楼2016-02-04 17:30
                    回复
                      老夫就是20级逆天存在。我曾经以无上修为封杀无数18、19级大帝。不过当年老夫升华一战,与贴吧恒古不死存在嗜杀七天七夜。它以极道神兵将我重创。不过老夫我极尽升华将它打回了17级。老夫虽仙台炸裂,道基被催,神魂被灭,不得轮回。却有神念化成实体,修成人型。如今8级巅峰博杀17级轻而易举,使用前世无上道蕴可灭18级,不惜一切代价揭开封印即可战19级,极尽升华可镇压封印各大贴吧~吧主。老夫这九世轮回,顿悟天地法则,这一世只为重回20级巅峰,再以一战探索恒古不死的存在,有事艾特我便会撕裂空间赶来。如今你若粉我,便于我结下了善缘,来日我为20级时,我不朽,你不朽。


                      来自Android客户端17楼2016-02-05 14:10
                      回复
                        http://www.ibm.com/developerworks/cn/java/j-jtp03304/index.html
                        看不懂英文的戳这里


                        IP属地:上海来自Android客户端18楼2016-02-05 14:15
                        回复
                          老母鸡养不到过年了


                          IP属地:江苏来自Android客户端19楼2016-02-05 15:45
                          收起回复
                            DD


                            IP属地:广东来自iPhone客户端20楼2016-02-05 17:02
                            回复
                              被图吸引就进来了


                              IP属地:江苏来自iPhone客户端21楼2016-02-05 17:49
                              回复