- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我安装了最新版本的 Java,它在 Eclipse 和其他程序中运行良好。
A Duke University online course要我下载并运行 their flavor适用于 Windows 的 BlueJ。我安装了它,但它无法启动。它说:
Could not create the Java virtual machine
在确保 _Java_Options 环境变量设置了足够的堆后,我浏览了 BlueJ 程序文件夹。我在 bin 中看到它有自己的 javaw.exe。当我尝试运行它时,我遇到了同样的错误。
我该如何解决这个问题?
我使用的是 Windows 10 64 位。
这个 IDE 声称拥有自己的 JDK 并且可以开箱即用:
Windows
On Windows, BlueJ comes bundled with a Java Development Kit, JDK, so only a single download is needed.
Download the Duke/Coursera specific version (choose Save instead of Run)
Double-click the downloaded install file and follow the wizard to install it in your preferred location
By default, the installer will place a shortcut to BlueJ on your desktop
更新:
我终于明智地尝试从命令行运行 .exe 并将结果通过管道传输到文本文件:
C:\Program Files (x86)\BlueJ>BlueJ.exe > tmp.txt
文本文件的内容是:
Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap
所以它似乎没有足够的内存,但这很奇怪,因为我立即检查了资源监视器,我的 RAM 使用率只有 2.7 GB,而 16 GB。
更奇怪的是,我只是将 _JAVA_OPTIONS
堆大小更改为 1GB,然后重新运行完全相同的命令。结果是完全相同的错误消息...即使我将堆缩减到 1GB,它仍在尝试分配 2GB...
我也设置了
SET JAVA_OPTS="-Xms256m -Xmx512m"
但我仍然得到相同的结果。
最佳答案
终于我得到了这个工作。
诀窍是将 initial - 不是最大也不是初始和最大 - _JAVA_OPTIONS
中的堆大小设置为非常小值,我认为这是因为 BlueJ 坚持使用 32 位 Java,即使 64 位可用:
SET _JAVA_OPTIONS="-Xms256m"
请注意,JAVA_OPTS
中的相同设置没有任何好处。
如果您对这是为什么有更深入的了解,并且想提交此答案的更好版本,请提交,我会将您的答案标记为解决方案。
关于Java 在 Windows 中运行良好,但 BlueJ IDE 的 Java 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39038200/
嗨,我正在考虑开发一种文件传输程序,想知道我是否想要尽可能好的加密,我应该使用什么? 我会用 C# 开发它,所以我可以访问 .net 库 :P在我的 usb 上有一个证书来访问服务器是没有问题的,如果
我创建的这个计算两个数组的交集是线性的方法的复杂度(在良好、平均、最差的情况下)? O(n) public void getInt(int[] a,int[] b){ int i=0; int
我已经能够使用 RTCPeerConnection.getStats() API 获得 WebRTC 音频调用的各种统计信息(抖动、RTT、丢包等)。 我需要将整体通话质量评为优秀、良好、一般或差。
基本问题: 如果我正在讲述/修改数据,我应该通过索引硬编码索引访问文件的元素,即 targetFile.getElement(5);通过硬编码标识符(内部翻译成索引),即 target.getElem
在 Linux 上,我想知道要调用什么“C”API 来获取每个 CPU 的统计信息。 我知道并且可以从我的应用程序中读取 /proc/loadavg,但这是系统范围的负载平均值,而不是每个 CPU 的
在客户端浏览器中使用 fetch api,GET 或 POST 没有问题,但 fetch 和 DELETE 有问题。它似乎将 DELETE 请求方法更改为 OPTIONS。 大多数研究表明是一个cor
我是一名优秀的程序员,十分优秀!