GC设置为:
最小、最大、总JVM大小(-xms-xmx)
JVM_SIZE="-Xms24g -Xmx24g"
JVM_SIZE_NEW="-Xmn2g"
JVM_GC_TYPE="-XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
JVM_GC_OPTS="-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:SurvivorRatio=8 -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark -XX:+UseCMSCompactAtFullCollection -XX:+CMSClassUnloadingEnabled"
也许24g对CMS来说太大了?
这取决于你的业务,它需要那么多还是它可以用更少的24g。
然而,记忆被两个残缺的空间分开,年轻的和老的。这两个空格是单独收集的,因此要启用CMS
,您需要使用-xx:+useconcmarksweepgc
-XX:MaxNewSize= -> this need to be 40% from your Xmx value
-XX:NewSize= -> this need to be 40% from your Xmx value
对于控制GC
延迟,您还可以使用:
–XX:CMSWaitDuration= -delay in ms-
我知道在一堂课上 我可以在初始值设定项列表中初始化,如下所示: 但是,如果计算所需的数据来自字符串并且可能涉及计算,那么从第二个构造函数初始化的正确方法是什么?
(仅限类和接口,必需) (仅限类和接口,必需。请参见脚注1) (仅限方法和构造函数) (仅限方法) (是Javadoc 1.2中添加的同义词) (或或) (请参阅如何以及何时弃用API) 在这里,似乎被标记为“required”,即使不是这样。这在我看来很奇怪。事实上,后来在同一份文件中,我发现了以下陈述: 您可以提供一个@author标记、多个@author标记或不提供@author标记。
下面的示例类无法编译: 此代码的编译错误消息是: 但是,对于包含以下方法的类,Java不会生成任何错误消息: 关于初始化及其要求,为什么Java对最终实例变量和最终局部变量的处理不同?谢谢
如果我在我的类中创建一个bool,就像一样,它默认为false。 当我在我的方法中创建相同的bool时,我得到一个错误“使用未分配的局部变量检查”。为什么?