1.方法区 在jdk1.7以下的版本中,使用-XX:PermSize设置永久区的初始化空间,使用-XX:MaxPermSize 设置永久区的最大可用空间,但1.8之后,永久区被移除,使用了元数据区, 默认情况下元数据区的大小受系统可用内存的限制,但任可以使用-XX:MaxMetaspaceSize 指定永久区的最大使用空间 2.栈 使用-Xss配置线程栈的大小 3.直接内存 最大可直接使用的内存使用-XX:MaxDirectMemorySize 设置,如果不设置默认最大的堆空间-Xmx。当直接内存达到 -XX:MaxDirectMemorySize 就会触发GC, 如果不能会收到足够的空间,会引起系统的OOM。一般来说直接内存的访问速度大于堆内存,虽然使用直接内存有较大的优势,但申请空间时没有优势。 总结:直接内存适合申请次数少访问较频繁的场合,如果内存空间本身需要频繁申请,则不合适使用直接内存 3.工作模式 Client:启动速度短,适合用户界面程序。使用-Client 指定Client模式 Server:启动速度慢,算法更优,执行速度更快。使用-Server 指定Server模式 都可以通过 -version 查看当前模式 -XX:+PrintFlagFinal 查看给定参数的默认值
JDK参数总结
最新推荐文章于 2024-06-11 12:48:16 发布