私は困っている。 Java 7はArrayListからロードする要素をどのように処理しますか? 私はより明確にしようとする:私は自分のデータベースからArrayListを取得します。私がそれを得ると、それに格納されているバイト配列のすべてがロードされているのか、それともそれらを呼び出すときにだけ動的にロードされるのでしょうか?
回答:
回答№1は0まあ、内部的に、 ArrayList
実際に使用する array
データを格納する。
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
private static final long serialVersionUID = 8683452581122892189L;
/** The array buffer into which the elements of the ArrayList are stored.
* The capacity of the ArrayList is the length of this array buffer.
*/
private transient Object[] elementData;
はい、データは既に読み込まれています。
回答№2の場合は0
リスト内のすべてのオブジェクトはすでにメモリに入っています。全体のarraylistには、データベースから取得した要素が入力されます。 arraylistの動的な読み込みのようなものはありません。
回答№3の場合は0
私はあなたがDBのために使用しているものについてはよく分かりません部。あなたが休止状態のようなツールを使うと、このarraylistは動的にロードされます。動的に言うと明確になるように、arraylistにアクセスしようとすると読み込まれますが、そこにも1つの撮影でロードされます(すべてのバイトが読み込まれます)。 Arraylist internalは要素のコレクションを管理する配列を使用します。
したがって、プレーンjdbcを使用してあなたがArraylistに自分自身を入れなければならないことを記録してください。そこには何も動かないのです。最下行は、配列を内部で使用するので、配列を取り込むのと同じくらい簡単です。