开发者社区> 问答> 正文

JAVA应用的优点和缺点有哪些?

JAVA应用的优点和缺点有哪些?

展开
收起
1358896759097293 2021-05-04 15:29:36 811 0
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    一次编译到处执行是Java的一个很大的卖点,通过一段代码来了解在Java内是如何被加载和执行的,如在应用代码里面去调用 new Gson(). from Json(..);然后有一个new byte code会触发loadClass()机制,还要去找”com.google.gson.Gson”用loadClass方法,去找Jar,因为应用的class 下有很多Jar包,如commons-io.jar、myaql-connector.jar、gson.jar,找到gson.jar里面有com.google/gson/Gson.class文件,然后会把 Class给读出来,读成一个byte的数组,调用一个define class JVM的接口,define class会进行parse、verify、link,调出 ,最终达到一个可以让Jvm识别的 byte code,Jvm解释器会去执行byte code到2000次以后,会运行一个client compiler让代码编译到c1级别,c1级别其实已经在native执行了,同时会收集一些provide信息,帮助编译到更高的优化级别c2,然后到15,000次以后会进入到最快的c2级别,interpret和c2之间可能大概有50倍的差距,所以Java1开始是很慢的,但只要跑稳后是非常快的。 4.png

    通过上述,一段代码想要被执行,生命周期是非常长的,优点是这种跨平台性,可以收集的信息越跑越快,缺点就是Java代码装载的开销非常大。

    2021-05-05 22:45:36
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载