どこでインスタンス生成整数番号がメモリに配置されようとしていますか?

Irinel:

質問があります; それがダムであるかどうか私は知らない...しかし、私は、私たちが言うことをすべて知ってとにかく我々を聞いてきますString name = "someName";、我々はそれがヒープ/スタックに取得するつもりはないので、これはプールされた文字列であることを知っているけどは...

私たちが言うならばInteger integer = new Integer(888);、我々は、これはヒープ上に取得する予定です知っている...そして、Integer otherInteger = 444;ここで、「otherIntegerは、」取得するつもりですか?どのようなメモリ位置?ありがとう!

Ulviyya Ibrahimli:

文字列名= "someNameという"; 文字列は不変クラスと文字列型は、ヒープ内の「文字列、定プール」に配置される「someNameという」オブジェクトへの参照または非プリミティブ型、名前の基準点にある。(NOスタック)。整数(プリミティブにオブジェクトとオブジェクトにプリミティブに変換する機構を提供する)ラッパークラスです。コード整数otherInteger = 444。一例であるオートボクシングhttps://docs.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html(444))と、コンパイラが自動的に整数otherInteger = Integer.valueOfに次の行を変換します; だから、整数otherInteger = Integer.valueOf(444)ヒープに置かれ、このすなわちIntegerオブジェクトを返します。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=378799&siteId=1