我有这个用于启用GC日志记录:
updateJVMArguments("-Xloggc:gc_" + myapp.getFileName() + "-" + getDateTime() +".log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M");
正如你所看到的那样很长,无论如何都要使用StringBuilders来缩短它,甚至使用变量来传递2M
和5
?
答案 0 :(得分:3)
使用长字符串是您的应用程序的要求,因此您无法对其长度进行操作 但是你可以通过将它分成多行来提高其可读性:
String.format("-Xloggc:gc_%s-%s.log " // This option that
+ "-verbose:gc "
+ "-XX:+PrintGCDetails " // this activates such
+ "-XX:+PrintGCDateStamps "
+ "-XX:+PrintGCTimeStamps "
+ "-XX:+UseGCLogFileRotation "
+ "-XX:NumberOfGCLogFiles=%d "
+ "-XX:GCLogFileSize=%s",
myapp.getFileName(), getDateTime(), 5, "2M");
与简单地移动滚动条相比,它不仅可以简单地阅读。它为每个选项的简短评论留出了空间。
答案 1 :(得分:1)
如果使用String.format:
,这将更具可读性String.format("-Xloggc:gc_%s-%s.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M", myapp.getFileName(), getDateTime());
您还可以为2M和5值添加额外的占位符:
String.format("-Xloggc:gc_%s-%s.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=%s -XX:GCLogFileSize=%s", myapp.getFileName(), getDateTime(), 5, '2M');