我在Eclipse中调试后得到此错误.但调试成功了.
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [../../../src/share/back/util.c:820]
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
我找到了终止(关闭或停止)我的Java程序的方法.我找到了两个解决方案.
使用回报;
当我想退出或终止程序执行时,我添加了这个.
使用System.exit() ;
有时我用它.我从这个问题中读到了Sytem.exit().
所以,我对他们都知之甚少.但我仍然对他们的实际工作方式感到困惑.请检查以下代码......
public class Testing {
public static void main(String... str) {
System.out.println(1);
System.exit(0);
System.out.println(2);
return;
}
}
Run Code Online (Sandbox Code Playgroud)
我相信2不会出现.我想知道为什么return;或其他代码可以写在声明System.exit(0);和真正定义的下面return;(因为对我来说这return没有任何变量或值是奇怪的事情)?
if (myCondition1 && myCondition2 && myCondition3)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我编写了这段代码并成功运行.但我对(...)的一部分发出了警告.警告是"死代码".这对我来说很有趣.你有什么想法吗?感谢你
前言:这是我做的第一个真正的挥杆程序。
我有一个摇摆程序,其中一个 JButton 应该退出程序。该按钮触发 this.dispose();。当我单击此 JButton 时,它确实使窗口完全消失,但查看调试器,程序本身仍在运行。
我的主要方法只包括:
public static void main (String[] args)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new StartupGui().setVisible(true);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我的退出按钮看起来像操作按钮:
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
this.dispose();
}
Run Code Online (Sandbox Code Playgroud)
我也试过这个退出按钮:
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
dispose();
}
});
}
Run Code Online (Sandbox Code Playgroud)
按下退出按钮后查看调试器,我看到以下内容(仅以下内容):
Daemon Thread [AWT-XAWT] (running)
Thread [AWT-Shutdown] (running)
Thread [AWT-EventQueue-0] (running)
Thread [DestroyJavaVM] (running)
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我为什么在此之后程序没有关闭的正确方向?我已经做了一些谷歌搜索,但到目前为止还没有到任何地方。如果您需要更多信息,请告诉我
谢谢 :)
这是"绝对Java"一书中的一种方法.我不明白为什么最后一个else语句需要返回值为0.作者的评论是"需要保持编译器满意".并且有一个原因返回值是0,还是可以是任何整数?
public int getMonth( )
{
if (month.equals("January"))
return 1;
else if (month.equals("February"))
return 2;
else if (month.equalsIgnoreCase("March"))
return 3;
else if (month.equalsIgnoreCase("April"))
return 4;
else if (month.equalsIgnoreCase("May"))
return 5;
else if (month.equals("June"))
return 6;
else if (month.equalsIgnoreCase("July"))
return 7;
else if (month.equalsIgnoreCase("August"))
return 8;
else if (month.equalsIgnoreCase("September"))
return 9;
else if (month.equalsIgnoreCase("October"))
return 10;
else if (month.equals("November"))
return 11;
else if (month.equals("December"))
return 12;
else
{
System.out.println("Fatal Error");
System.exit(0);
return 0; //Needed to keep the compiler happy
}
}
Run Code Online (Sandbox Code Playgroud)