我有一个很奇怪的问题。我的Java应用程序启动非常慢。以下是一段代码:非常慢的java应用程序启动
public static void main(String[] args) {
System.out.println("Is this going to be printed really fast?");
if (args.length == 0) {
//other code below
事情是即使println语句不是即时打印它。我尝试了远程分析 - 无济于事,JVM显然不够快。我试着在println上设置一个断点,然后用调试器远程连接 - 断点在几分钟内不会被触发。我的JVM版本:
java -Xmx120m -version
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)
我的操作系统是:Linux的2.6.27.45光泽-1.8.3.ddn3.3#1 SMP星期二10月19日15时02分53秒BST 2010 x86_64的GNU/Linux和我没有静态类。 我调用我的应用程序的方式 - java -Xmx120m -jar/path/to/app。如果我有代码中的错误 - 我会理解 - 昂贵的操作,片状逻辑 - 无论如何。但是,主班后的第一个声明,启动缓慢,我不认为这是正常的。
+0
你使用哪个操作系统? –
+0
你能定义“慢”吗?它有多慢? –
+2
您可以尝试使用'java -verbose'或'java -verbose:class'运行它。如果您的其他代码需要加载很多类,则可能需要一些时间。 –