How to write low latency Java Applications #jt12_s221
前にチューニングした経験では、一度にアロケートするオブジェクト総サイズがでかすぎてsurvivorに収まりきらないと、世代カウントが始まることなくいきなりOld Spaceに移動してしまう。まさにそのはなしかな #JavaOneJP
2012-04-05 14:44:11young generationのGCのほうがOld GenerationのGCより効率よい #jt12_s221
2012-04-05 14:44:22マイナーGCの頻度はオブジェクトの割当割合やエデン領域のサイズによって変わる。フルGCの頻度はマイナーGCの頻度やSurvivor領域のサイズに依存する。オブジェクトの生存期間やグラフ複雑度が遅延に大きな影響を与える。 #jt12_s221 #JavaOneJP
2012-04-05 14:46:13Young 領域は、生きているオブジェクトだけに影響する。Young 領域のサイズには関係ない。 #jt12_s221 #JavaOneJP
2012-04-05 14:46:571メソッド内で使い捨てる、軽量オブジェクトを作成するコストは気にしなくていい、というのは、このGCの仕組みによるものだな。 #JavaOneJp #jt12_s221
2012-04-05 14:47:07RT @tanaka_733: 1メソッド内で使い捨てる、軽量オブジェクトを作成するコストは気にしなくていい、というのは、このGCの仕組みによるものだな。 #JavaOneJp #jt12_s221
2012-04-05 14:48:27でも短命オブジェクトが乱立しまくってもそれはそれで問題となりうるんだよね確か。Twitterの中の人がImmutableオブジェクトを作りすぎてGCが問題になった、的なことを言うてたような。 #jt12_s221 #JavaOneJP
2012-04-05 14:50:11マイナーGCの間に殺す分にはコストがかからないから、すぐに死ぬオブジェクトをたくさんnewするほうが、保持するよりもコストが安いということだろう #JavaOneJP
2012-04-05 14:50:14小さいオブジェクト、immutableなオブジェクトのほうがGCの効率がいいと。 #JavaOneJP #jt12_s221
2012-04-05 14:50:27短命なオブジェクトの new は、気にするな。また、そういうオブジェクトになるかどうかを気にすべき… かな。もちろん、new し過ぎるほど、必要のないオブジェクトは作るな。 #JavaOneJP #jt12_s221
2012-04-05 14:51:43RT @kimuchi583: 短命なオブジェクトの new は、気にするな。また、そういうオブジェクトになるかどうかを気にすべき… かな。もちろん、new し過ぎるほど、必要のないオブジェクトは作るな。 #JavaOneJP #jt12_s221
2012-04-05 14:52:08かといって無駄なオブジェクトをバンバン生成するのも良くないよと。オブジェクトアロケーションが多すぎるとGCが増え、GCが増えると世代進展も早くなるから、早くOld世代に移行してしまうと。 #JavaOneJP
2012-04-05 14:52:22