甲.class文件是一个相当有据可查的格式定义部分和大小,因此,最大尺寸为好.
例如,一个.class文件包含一个幻数(4个字节),一个版本(4个字节),一个常量池(可变大小)等.但是可以在几个级别定义大小:你可以有65535个方法,每个方法仅限于65535个字节.
其他限制是什么?并且,如果你想使最大的.class文件成为可能,它的大小是多少?
如果需要,限制Java的答案.这意味着如果Scala或Clojure(或......)改变了某些限制,则忽略这些值.
这是一个纯粹的概念性问题.
Java 8中的Lambdas将转换为使用该方法调用的方法invokedynamic.
如果对一个类可以拥有的最大方法数有JVM限制,这是否意味着一个类中使用的lambdas的最大数量也受到JVM的严格限制?
这个问题几乎与这个问题相同吗?Java类可以拥有的最大方法数是多少?
我们知道,ReentrantLock有一个最大的重入限制:Integer.MAX_VALUE; synchronized块是否也有重入限制?
更新:我发现很难为同步重入编写测试代码:
public class SyncReentry {
public static void main(String[] args) {
synchronized (SyncReentry.class) {
synchronized (SyncReentry.class) {
// ...write synchronized block for ever
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助编写一些同步重入限制测试的代码吗?
我一直在玩BiFunction(java.util.function).我举了一些例子,我有一个问题.
是否可以使用BiFunction嵌套操作的次数有限制?是否像
add(a, b)想要的那样多次嵌套假设方法一样简单?
例如三个嵌套 theFunction.apply()
public static int methodContainingMethod
(int a, int b, int c, BiFunction<Integer, Integer, Integer> theFunction) {
return theFunction.apply(theFunction.apply(theFunction.apply(a,b),c),c),c);
}
Run Code Online (Sandbox Code Playgroud)
四个嵌套 theFunction.apply()
return
theFunction.apply(theFunction.apply(theFunction.apply(theFunction.apply(a,b),c),c),c),c);
Run Code Online (Sandbox Code Playgroud)
嵌套的数量可以继续,我测试嵌套功能超过十次.
我没有关于需要多少嵌套的确切要求......但我很好奇这样可以做多少嵌套?
java类或关联对象实例可以拥有的字段数是否有限制,如果有,是什么?
我明确询问字段,而不是在这个问题中询问 的方法:Java 类可以拥有的最大方法数是多少?