什么';What’java.io.BufferedWriter.min(intA,intB)的要点是什么?
在什么';What’java.io.BufferedWriter.min(intA,intB)的要点是什么?,java,java-io,bufferedwriter,Java,Java Io,Bufferedwriter,在java.io.BufferedWriter中有一个方法: /** * Our own little min method, to avoid loading java.lang.Math if we've run * out of file descriptors and we're trying to print a stack trace. */ private int min(int a, int b) { if (a < b) return a; retu
java.io.BufferedWriter
中有一个方法:
/**
* Our own little min method, to avoid loading java.lang.Math if we've run
* out of file descriptors and we're trying to print a stack trace.
*/
private int min(int a, int b) {
if (a < b) return a;
return b;
}
我将进入日志:
[Loaded java.lang.Math from /opt/jdk/jdk1.8.0_65/jre/lib/rt.jar]
错误是这样说的:
如果您在尝试打印堆栈跟踪时用完了文件描述符,并且调用了
Math.min(a,b)
,并且类加载器尚未加载Math(不太可能,但可能会发生,例如在启动时),那么您甚至无法生成堆栈跟踪。因此,他们将min
直接添加到BufferedWriter
类中,以避免出现这种情况。错误是:
如果您在尝试打印堆栈跟踪时用完了文件描述符,并且调用了
Math.min(a,b)
,并且类加载器尚未加载Math(不太可能,但可能会发生,例如在启动时),那么您甚至无法生成堆栈跟踪。因此,他们将min
直接添加到BufferedWriter
类中,以避免出现这种情况。如果JVM很早就失败,可能还无法加载数学。在调用main
之前,JVM做了大量工作并运行了大量代码。这意味着在你达到这一点之前,很多事情可能会出错
例如,这个简单的程序
public class HowManyStrings {
public static void main(String[] args) throws IOException {
System.out.println("Hello world");
System.in.read();
}
}
创建大约10000个对象
如果JVM很早就失败了,那么可能还没有加载Math。在调用
main
之前,JVM做了大量工作并运行了大量代码。这意味着在你达到这一点之前,很多事情可能会出错
例如,这个简单的程序
public class HowManyStrings {
public static void main(String[] args) throws IOException {
System.out.println("Hello world");
System.in.read();
}
}
创建大约10000个对象
Ha!可能是1995年写的。我认为这篇评论描述得够多了。你的问题是什么?哈!可能是1995年写的。我认为这篇评论描述得够多了。你的问题是什么?