考虑以下代码:
class Test {
public static void main(String... args) {
var t = new Test();
while(true) {
t.work();
}
}
public void work() {
ExecutorService executorService = Executors.newFixedThreadPool(10);
try {
/* Do work */
您好,我正面临以下错误。我在谷歌上看到的是,我的本机内存正在耗尽。任何帮助解决这个问题的人都将不胜感激。请注意,我使用的是32位Windows 7。
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:597)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.star
以这个简单的例子为例:
public class Main
{
public static void main(String[] args) throws Exception
{
Runtime.getRuntime().exec("sleep 1000");
// This is just so that the JVM does not exit
Thread.sleep(1000 * 1000);
}
}
我正在使用openjdk6在Linux上运行这个程序。如果我试图向“睡眠”进程发送一个SIGQ
我在JNI中使用C++作为我的母语,我能够创建(c++)共享库,并且能够在共享库的帮助下调用java函数。
在我的过程中涉及的步骤:
1)使用JNI_CreateJavaVm.IN C++创建VM
2)使用创建的VM进行处理。
3)从线程中退出
如果我再次执行相同的过程,JNI_CreateJavaVm不会创建任何VM,它将返回JNI错误代码为-1 (未知错误).Then,我检查getCreatedJavaVM返回的返回值为0,而我试图使GetEnv崩溃。
我也尝试了函数GetJavaVM,但是它会因为错误消息而崩溃,
#
# A fatal error has been detected b
我正在使用Windows 7,在32 GB内存的PC上,刚刚接受了最新的Java 8更新(60)。在更新之前,我曾经能够在命令窗口中处理需要使用几GB内存的文件。现在,我得到
java.lang.OutOfMemoryError: Java heap space
运行的应用程序所需内存比我以前使用的要少得多。
当我运行NetBeans时,我可以通过执行R-click:Properties:Run和set来将项目设置为使用1GB内存
-Xms1g
在
VM Options
窗户。
现在,当我这样做,并试图运行程序,我得到
Error: Could not create the Java Virt
我有如此简单的java应用程序,它只需创建一个对象,并在无限循环中调用一个函数。
public class h {
public static void main( String[] args) {
while(true) {
B b = new B();
b.print();
}
}
}
class B {
public void print() {
System.out.println("Hello I'am class B");
}