你不知道的事情_关于JVM命令行标志.docVIP

  • 4
  • 0
  • 约2.64千字
  • 约 3页
  • 2017-08-23 发布于河南
  • 举报
关于 JVM 命令行标志 JVM 是多数开发人员视为理所当然的 Java 功能和性能背后的重负荷机器。然而,我们很少有人能理解 JVM 是如何进行工作的 — 像任务分配和垃圾收集、转动线程、打开和关闭文件、中断和/或 JIT 编译 Java 字节码,等等。 不熟悉 JVM 将不仅会影响应用程序性能,而且当 JVM 出问题时,尝试修复也会很困难。 1. DisableExplicitGC 我已记不清有多少次用户要求我就应用程序性能问题提供咨询了,其实只要跨代码快速运行 grep,就会发现清单 1 所示的问题 — 原始 java 性能反模式: 清单 1. System.gc(); // We just released a bunch of objects, so tell the stupid // garbage collector to collect them already! System.gc(); 显式垃圾收集是一个非常糟糕的主意 — 就像将您和一个疯狂的斗牛犬锁在一个电话亭里。尽管调用的语法是依赖实现的,但如果您的 JVM 正在运行一个分代的垃圾回收器(大多数是)System.gc(); 强迫 VM 执行一个堆的 “全部清扫”,虽然有的没有必要。全部清扫比一个常规 GC 操作要昂贵好几个数量级,这只是个简单数学问题。 您可以不把我的话放在心上 — Su

文档评论(0)

1亿VIP精品文档

相关文档