ERROR JDWP Unable to get JNI 1 2 environment jvm GetEnv

本文详细记录了解决JDWP Unable to get JNI1.2环境问题的过程,包括错误出现的原因和有效的解决方法。通过分析,发现根本原因是上一次调试的代码错误未解决,导致进程未正常关闭。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2

今天在用Main函数测试一段代码的时候,出现此问题;


参考以下文章解决问题:

http://blog.youkuaiyun.com/zxl0016/article/details/7327125

http://blog.youkuaiyun.com/mmllkkjj/article/details/6149043

其它方法都不方便,就System.exit(0);最容易了,拿来试试吧。

但正如参考文章中说的,System.exit(0);会使程序立即被终止了,而程序中如果有线程还在执行任务,则后续的任务也就无法继续执行了。

后来又不出现这个问题了,经过反复测试,归结得到出现这个错误的根本原因是上次启动调试的代码有错误,导致进程没有终止,占用了Console输出,所以在之后又启动调试的时候才会出现此错误。

           

给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
这里写图片描述
package org.找车位; import com.sun.xml.internal.ws.util.QNameMap; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Scanner; public class test { /* 有 n 辆汽车去停车场找车位,这些汽车从0开始依次编号。 停车场里有无数个车位,也从0开始依次编号。当一辆汽车到达停车场时,会停在编号最小且空闲的车位。 比方说,当一辆汽车到达时,如果车位 0 ,1 和 5 被占据了,那么它会停在 2 号车位。 当一辆汽车离开停车场时,这个车位会立刻释放变成空闲状态;如果同一时刻有另一辆汽车到达,且该车位满足”编号最小且空闲”条件,则新来车辆可以立即停在这个车位。 给你汽车数量n和它们到达和离开的时刻,所有汽车到达时刻互不相同。 请你返回目标编号汽车所停的车位编号。 输入 输入有两行 第一行表示汽车数量n和目标汽车编号 第二行表示所有汽车到达和离开的时刻,共有2n个值,比如如下输入表示有三辆汽车,编号为0的汽车到达时刻为1,离开时刻为4;编号为1的汽车到达时刻为2,离开时刻为3;编号为2的汽车到达时刻为4,离开时刻为6 3 1 1 4 2 3 4 6 输出 目标编号汽车所停的车位编号 */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 输入汽车的数量 int n = scanner.nextInt(); //目标汽车编号 int y = scanner.nextInt(); //汽车所在车位 HashMap<Integer, HashMap<Integer, Integer>> Car_position = new HashMap<>(); HashMap<Integer, Integer> parkState = new HashMap<>(); // 定义一个长度为10000的数组,表示10000个车位 int[] park = new int[n]; // 输入n行,每行两个数,分别表示汽车的到达和离开时刻 for (int i = 0; i < n; i++) { //i为汽车编号 int in = scanner.nextInt(); int out = scanner.nextInt(); // InAndOut.put(i,new HashMap<>(in,out)); for (int j=0;j<park.length;j++){ //j为车位编号 if (park[j]==0){ if (Car_position.get(j)==null) { Car_position.put(j,new HashMap<>(i,out)); parkState.put(i,j); park[j]=1; i++; break; } // PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(); }else if (Car_position.get(j).get(CarByPark(parkState,j))>out){ Car_position.put(j,new HashMap<>(i,out)); parkState.put(i,j); i++; break; } } } System.out.println("目标汽车车位号为"+ y + "停车场编号为"+parkState.get(y)); } static Integer CarByPark(HashMap<Integer, Integer> map, int y){ // 存储匹配的键 Integer p = null; for (Map.Entry<Integer, Integer> entry : map.entrySet()) { if (entry.getValue().equals(y)) { p=entry.getKey(); } } return p; } } 报错C:\dev\jdk1.8.0_332\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:56884,suspend=y,server=n -javaagent:C:\Users\yWX1446235\AppData\Local\JetBrains\IntelliJIdea2024.3\captureAgent\debugger-agent.jar -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dkotlinx.coroutines.debug.enable.flows.stack.trace=true -Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true -Dfile.encoding=UTF-8 -classpath "C:\dev\jdk1.8.0_332\jre\lib\charsets.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\access-bridge-64.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\cldrdata.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\dnsns.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\jaccess.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\jfxrt.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\localedata.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\nashorn.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\sunec.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\sunjce_provider.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\sunmscapi.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\sunpkcs11.jar;C:\dev\jdk1.8.0_332\jre\lib\ext\zipfs.jar;C:\dev\jdk1.8.0_332\jre\lib\jce.jar;C:\dev\jdk1.8.0_332\jre\lib\jfr.jar;C:\dev\jdk1.8.0_332\jre\lib\jfxswt.jar;C:\dev\jdk1.8.0_332\jre\lib\jsse.jar;C:\dev\jdk1.8.0_332\jre\lib\management-agent.jar;C:\dev\jdk1.8.0_332\jre\lib\resources.jar;C:\dev\jdk1.8.0_332\jre\lib\rt.jar;D:\dev\oj\test\Oj\target\classes;C:\dev\IntelliJ IDEA 2024.3.2.2\lib\idea_rt.jar" org.找车位.test Connected to the target VM, address: '127.0.0.1:56884', transport: 'socket' 3 1 1 4 2 3 4 6Exception in thread "main" java.lang.NullPointerException at org.找车位.test.main(test.java:58) ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [util.c:840] Disconnected from the target VM, address: '127.0.0.1:56884', transport: 'socket' Process finished with exit code 1
最新发布
11-01
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值