java代码优化防止gc java优化代码常见套路

编写java代码时注意哪些 避免jvm gc

gc?gc是jvm的内存垃圾回收啊,不需要避免的。如果你不想回收对象,就不要把对象设置为null,如果想让jvm回收对象,就把对象设置为null

创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,网站设计制作、做网站,塑造企业网络形象打造互联网企业效应。

java怎么避免BufferedReader读取文件频繁的gc。代码如下。

BufferedReader 的缓存开大一点;

或者如果确定文件大小,一次性读进一个byte[] 用ByteArrayInputStream 包起来

Java 减少GC开销的几个措施

(1) 不要显式调用System.gc()

此函数建议JVM进行主GC,虽然只是建议而非一定,但很多情况下它会触发主GC,从而增加主GC的频率,也即增加了间歇性停顿的次数。

(2) 尽量减少临时对象的使用

临时对象在跳出函数调用后,会成为垃圾,少用临时变量就相当于减少了垃圾的产生,从而延长了出现上述第二个触发条件出现的时间,减少了主GC的机会。

(3) 对象不用时最好显式置为Null

(4) 尽量使用StringBuffer,而不用String来累加字符串

由于String是固定长的字符串对象,累加String对象时,并非在一个String对象中扩增,而是重新创建新的String对象,如Str5=Str1+Str2+Str3+Str4,这条语句执行过程中会产生多个垃圾对象,因为对次作“+”操作时都必须创建新的String对象,但这些过渡对象对系统来说是没有实际意义的,只会增加更多的垃圾。避免这种情况可以改用StringBuffer来累加字符串,因StringBuffer是可变长的,它在原有基础上进行扩增,不会产生中间对象。


文章题目:java代码优化防止gc java优化代码常见套路
链接分享:http://ybzwz.com/article/ddjghsg.html