小编rei*_*erl的帖子

OS X上是否存在特定于Java的打开文件限制?

不知何故,我无法在MacBook上打开超过10223个Java文件,而sysctl,launchd和ulimit的打开文件限制设置为65535,我可以从C程序打开62282个文件.

你知道Java是否有一些额外的限制,以及我如何改变它?

我用来测试的Java代码是:

import java.io.*;
import java.util.*;

class OpenFilesTest {
    private static List<InputStream> streams = new ArrayList<InputStream>();

    public static void main(String[] args) {
        for (int i = 0; true; i++) {
            FileInputStream f = null;
            try {
               f = new FileInputStream("/dev/null");
            } catch (Throwable e) {
               System.err.println(e.getMessage());
               e.printStackTrace();
               System.exit(1);
            }
            streams.add(f);
            System.out.println("We have " + (i + 1) + " InputStream's for /dev/null");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个输出:

We have 1 InputStream's for /dev/null
We have 2 InputStream's for /dev/null
We …
Run Code Online (Sandbox Code Playgroud)

c java macos file-io osx-mavericks

2
推荐指数
1
解决办法
790
查看次数

标签 统计

c ×1

file-io ×1

java ×1

macos ×1

osx-mavericks ×1