java - 如果 jvm 支持 -d64 选项,如何从 java 代码进行测试?

标签 java virtual-machine

我考虑过使用下面的代码,但是有没有更简洁的方法呢?

Process theProcess = Runtime.getRuntime().exec("java -d64 -version");
BufferedReader errStream = new BufferedReader(new InputStreamReader(theProcess.getErrorStream()));
System.out.println(errStream.readLine());

最佳答案

决定发布这个作为答案:

public static boolean supports64Bit() {
    try {
        final Process process = Runtime.getRuntime().exec("java -d64 -version");
        try {
            return process.waitFor() == 0;
        } finally {
            process.getInputStream().close();
            process.getOutputStream().close();
            process.getErrorStream().close();
        }
    } catch (IOException e) {
        // log error here?!
        return false;
    }
}

关闭与进程关联的所有流是一种很好的做法,可以防止资源泄漏。

未测试。

关于java - 如果 jvm 支持 -d64 选项,如何从 java 代码进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3415449/

相关文章:

java - 在JSP中导入org.apache.commons时出现问题

java - 用于检测前面和后面的小写字母和数字的正则表达式

java - 提高java中声音文件的播放速度

python - 未知协议(protocol)类型 : 'file' : I keep getting an error while creating a Virtual Machine in vert-manager on Ubuntu

visual-studio-2010 - 如何从域外的虚拟机对域中的SQL Server数据库进行身份验证?

powershell - 远程 PowerShell 到 AzureRM 虚拟机

selenium - 在 Selenium 中为远程 Webdriver 设置设备宽度

java - java中的正则表达式

java - 在文件搜索中使用进度条

azure - 如何将 AzureKeyVault 中的 secret 用于 PowerShell -Credential?