gpt4 book ai didi

java - java.io.BufferedWriter.min(int a, int b) 有什么意义?

转载 作者:行者123 更新时间:2023-11-29 03:00:24 27 4
gpt4 key购买 nike

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;
}

这个方法有什么意义?加载 java.lang.Math 需要额外的文件描述符吗?

如果我用 -verbose:class 编译并运行空程序

public class Main {
public static void main(String[] args) {
}
}

我将获取日志:

[Loaded java.lang.Math from /opt/jdk/jdk1.8.0_65/jre/lib/rt.jar]

最佳答案

如果您的 JVM 很早就失败了,Math 可能还没有加载。在调用 main 之前,您的 JVM 会执行大量工作并运行大量代码。这意味着在达到这一点之前可能会出现很多问题。

例如这个简单的程序

public class HowManyStrings {
public static void main(String[] args) throws IOException {
System.out.println("Hello world");
System.in.read();
}
}

创建大约 10,000 个对象。

http://vanillajava.blogspot.co.uk/2015/10/common-misconception-how-many-objects.html

关于java - java.io.BufferedWriter.min(int a, int b) 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35385145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com