静的変数はどこに保存されますか? 静的変数用の別のメモリはありますか? それらはオブジェクトの一部ではないことを知っています.Javaヒープの一部でもなく、どこかにdを保存していますか?
もしそうなら、それは安全ではありませんか?
静的メンバーは、オブジェクトをインスタンス化したクラスオブジェクトの一部です。クラスオブジェクトもオブジェクトであり、ヒープに存在します。覚えておいてください: すべてのクラスはクラスのインスタンスClass
です!
これらはPermGem
JVM の一部に格納されます。
static Object var= new Object();
var
は にPermGen
あり、オブジェクトインスタンスは にありHeap
ます。
EDIT : パーマネント ジェネレーション (またはPermGen
) は、クラス定義と関連するメタデータに使用されます。永続世代はヒープの一部ではありません。