作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
java中如何提高GC调用率?是否有任何 JVM 参数可以调整调用 GC 的速率?
谢谢!!
最佳答案
如果更改 GC 暂停时间,垃圾收集应该更频繁地进行。这可能对于某些时间关键的应用程序很有用,在这些应用程序中,您需要垃圾回收的时间不要尽可能长,即使可能有更多的回收。 -XpauseTarget
应该作为 VM 参数执行此操作。这里的最小值为 10 毫秒。不要调用 System.gc()
。根据您调用它的位置,您可能会使您的应用程序效率极低。
最好的想法是简单地优化您的应用程序以使用更少的对象。您可以使用 JDK 自带的 JVisualVM 等工具在运行时检查您的应用程序,找出问题所在,还可以查看垃圾收集信息。
您也可以尝试不同的垃圾收集器。我使用以下内容,它在内存使用比 CPU 时间更重要的某些应用程序中对我有帮助(尽管这里有一些无用的选项——只是将它们剔除):
-Xincgc
-XX:+CMSIncrementalPacing
-XX:+UseAdaptiveSizePolicy
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrent
-XX:+UnlockExperimentalVMOptions
-XX:+UseConcMarkSweepGC
-XX:UseSSE=3
-XX:+UseParNewGC
-XX:SurvivorRatio=2
-XX:NewRatio=8
-XX:+DoEscapeAnalysis
-XX:+UseFastAccessorMethods
-XX:+ForceTimeHighResolution
-XX:+UseTLAB
-XX:+ResizeTLAB
-XX:MaxGCPauseMillis=10
-XX:ParallelGCThreads=8
-XX:+CMSParallelRemarkEnabled
-XX:+DisableExplicitGC
-XX:+UseAdaptiveGCBoundary
-XX:-UseGCOverheadLimit
-Xnoclassgc
-server
-Xss128k
-Xms1g
-Xmx1g
关于java - 如何提高java中的GC调用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6915633/
我的代码遇到了很大的困难。我正在开发一个显示歌词和和弦的应用程序。我使用两个重叠的textview分隔了和弦和歌词。 我在这个项目中遇到的问题是音高改变功能。我尽我所能向我解释得更好: 和弦总数为12
我有一个游戏并使用 Tune 作为分析库。使用最新的 Unity (5.3.4f1) 并通过 Unity 获取 apk(无 eclipse/android studio)。 我的游戏在 Play 商店
我是一名优秀的程序员,十分优秀!