jls

    8热度

    1回答

    我不确定这是否是绝对最好的问题,但我认为这里的回答的可能性最高(因为该主题)。 有没有人跨越.mobi的Java语言规范的(亚马逊的Kindle)版本出来?我知道我可以阅读Kindle上的PDF,但与mobi相比,它的体验更少。 http://docs.oracle.com/javase/specs/

    4热度

    4回答

    在为乱序中提到的例子写的双重检查锁定的情况(参考: IBM article & Wikipedia Article) 我无法理解的原因很简单为什么Thread1在构造函数完全初始化之前会出现同步块。根据我的理解,创建“new”和调用构造函数应该按顺序执行,同步锁不应该被释放,直到所有工作都没有完成。 请让我知道我在这里失踪。

    3热度

    1回答

    我已经看到Java的其他语言中的一些简洁功能,比如生成器和最近的“await”功能,并且我尝试使用字节码操作来实现其中的一些功能。不过,我认为这些对于大多数开发人员来说足够简洁,使其成为语言功能。我见过kijaro项目;然而,似乎很少有关于如何到达那里的文件。所以,即使只是为了我自己的用途和好奇心,我该如何处理呢? 谢谢!

    3热度

    1回答

    可能重复: Cannot declare Public static final String s = new String(“123”) inside an inner class 在下面的例子,为什么CONST_ONE,CONST_TWO允许的,但CONST_THREE与错误标记 “内部类不能有静态声明”? package com.myco.mypack; public final cla

    1热度

    3回答

    在Java中编写另一个do ... while循环时,我开始思考它的语法。一个典型的程序员会喜欢写东西 do { somethng(); }while(booleanValue); 然而,Java有允许程序员删除括号当只有一个行内循环(这是典型的Java表达式)压缩本的内置的方式: do something(); while(booleanValue); 这可以被认

    7热度

    2回答

    以下Java代码会生成以下JVM字节码。 我很好奇为什么生成从偏移量31到偏移量36的代码。 JLS7或JVM7规范中没有提到这一点。我错过了什么吗? 即使我删除println语句,由于println调用已被删除,代码(偏移31到偏移量36)仍然会生成,只能在较早的位置生成。 // Java code void testMonitor() { Boolean x = new

    3热度

    2回答

    Oracle拥有最新版本的http://docs.oracle.com/javase/specs/,但我无法找到旧版本的Java规范。这些存档在任何地方吗?

    1热度

    6回答

    从JLS: 每当它是一个应用程序的执行 在同一对象不止一次上调用,hashCode方法必须一致地返回 相同的整数,没有设置中使用的信息等于所述比较 对象被修改。该整数不必从一个应用程序的一个执行 保持一致,以同一应用程序的另一执行。 什么是这里的长期应用和意思,为什么hashcode()的对象上允许不同的执行相同的应用程序之间有什么不同?

    10热度

    1回答

    代码 我有一个成员接口下面的类: package com.example.withinterface; public class SomeClass { interface SomeInterface { void doSomething(); } } 而另一个类试图访问它: package com.example.withinterface.main

    5热度

    2回答

    我正在寻找描述调用变量arity(vararg)方法时的行为的Java语言规范(JLS)的相关部分。 考虑方法: public static void printVarArgs(String... args) { System.out.println(Arrays.toString(args)); } 如果我调用像这样的方法: printVarArgs(); 的输出如下:[]因