日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

对象池回收对象_回收对象以提高性能

發(fā)布時(shí)間:2023/12/3 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对象池回收对象_回收对象以提高性能 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)象池回收對(duì)象

總覽

在上一篇文章中,我說(shuō)過(guò)對(duì)象反序列化更快的原因是由于使用了回收對(duì)象。 由于兩個(gè)原因,這可能令人驚訝:1)相信如今創(chuàng)建對(duì)象是如此之快,無(wú)關(guān)緊要或與回收自己一樣快,2)默認(rèn)情況下,任何序列化庫(kù)都不使用回收。

本文探討了有無(wú)回收對(duì)象的反序列化。 創(chuàng)建對(duì)象不僅較慢,而且還會(huì)通過(guò)將數(shù)據(jù)從CPU緩存中推出來(lái)減慢程序的其余部分。

雖然這涉及反序列化,但解析文本或讀取二進(jìn)制文件也是如此,因?yàn)樗鶊?zhí)行的操作是相同的。

考試

在此測(cè)試中,我對(duì)1000個(gè)Price對(duì)象進(jìn)行反序列化,而且還對(duì)復(fù)制一塊數(shù)據(jù)花費(fèi)了多長(zhǎng)時(shí)間。 該副本表示反序列化后應(yīng)用程序可能必須執(zhí)行的工作。

測(cè)試定時(shí)進(jìn)行一百萬(wàn)次,并對(duì)結(jié)果進(jìn)行排序。 X軸顯示百分比計(jì)時(shí)。 例如,90%的值是90%的最差值(或10%的值更高)。

如您所見(jiàn),反序列化必須在創(chuàng)建對(duì)象時(shí)花費(fèi)更長(zhǎng)的時(shí)間,但是有時(shí)會(huì)花費(fèi)很多時(shí)間。 這也許并不令人驚訝,因?yàn)閯?chuàng)建對(duì)象意味著要做更多的工作,并且可能被GC延遲。 但是,令人驚訝的是復(fù)制數(shù)據(jù)塊的時(shí)間增加了。 這表明不僅反序列化速度變慢,而且需要數(shù)據(jù)緩存的任何工作也因此變慢。 (這幾乎是您在實(shí)際應(yīng)用程序中可能會(huì)執(zhí)行的任何操作)
性能測(cè)試很少向您顯示對(duì)應(yīng)用程序其余部分的影響。

更詳細(xì)

檢查較高的百分位數(shù)(最長(zhǎng)的時(shí)間),您可以看到,如果反序列化必須等待GC,則性能始終很差。

在最壞的情況下,副本的性能也會(huì)大大提高。

代碼

回收示例代碼

參考: Vanilla Java博客上的JCG合作伙伴 Peter Lawrey 回收對(duì)象以提高性能 。

相關(guān)文章 :
  • Java Secret:加載和卸載靜態(tài)字段
  • C ++或Java,高頻交易哪個(gè)更快?
  • 如何在Java中獲得類似于C的性能
  • Java中的低GC:使用原語(yǔ)而不是包裝器
  • Java教程和Android教程列表

翻譯自: https://www.javacodegeeks.com/2011/11/recycling-objects-to-improve.html

對(duì)象池回收對(duì)象

總結(jié)

以上是生活随笔為你收集整理的对象池回收对象_回收对象以提高性能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。