我有一个很奇怪的问题。我的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'运行它。如果您的其他代码需要加载很多类,则可能需要一些时间。 –

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐