様々な定数プール

レコードのそれ(最後に右を知らない、私は問題はないはずだと思います)。

最初の一部の方法エリアで、クラスの定数プールで、jdk1.8後、永遠の世代が削除されているので、今スペースのこの部分は元にする必要があり、それがローカルメモリです。

この領域は方法の一部である実行時定数プールは、それがエレメント空間でもあります。

文字列定数プール、これは除去jdk1.7方式エリアされ、ヒープに移動した後、このようにヒープであり、それは別個のスタックの一部であるべきです。

注:永久世代は、実装の面積と考えられ、およびメソッド領域は論理的にヒープの一部ですが、また、非ヒープとして知られています。jdk1.8には、直接殺す、プラスメタスペースへ。

解釈のインターン方法もあります。

STR1 =文字列の新しい新しいのStringBuilder(" コンピュータ").append(" ソフトウェア.toString")(); 
。システムout.printlnを(str1.intern()== STR1);
文字列str2を= 新しい新しいStringBuilderの("JA")APPEND。 ("VA")のtoString();.
システム。out.printlnを(str2.intern()== str2の);

最初のリターンは、の話されていないものをJDK1.6のために、第二がfalseで、真実でありますここではSTR1のStringBuilder内と外が新しいことであると言いたいすぎて、それがヒープです。だから、インターンの後に、
文字列定数プール「コンピュータソフトウェア」を基準点に追加され、第二には、Javaのキーワードであるので、このJavaの文字列定数プールを持っているので、インターン定数プールを指していることになります
「Java」、とstr2ポイントの「Java」のヒープは、2 falseを返すので、アドレス空間の同じ部分を指していないということです。




おすすめ

転載: www.cnblogs.com/cold-windy/p/11849283.html