オブジェクトのシリアライズ
-
シリアライズとは
シリアライズとは、オブジェクトをバイト列に変換する処理のことです。 -
シリアライゼーションが必要な理由 テキスト、イメージ、オーディオ、ビデオなどのネットワーク伝送では、それらはバイト列としてネットワーク上を伝送されます。
-
シリアライズ方法
serializableインターフェイスかExternalizableのどちらかを実装します。前者は自動シリアライズ、後者は手動シリアライズという違いがあります。- serialVersionUID定数とは何ですか?
シリアライズ可能なクラスのバージョンを一意に識別します。 - トランジェント
シリアライズする必要のないプロパティを変更します。
- serialVersionUID定数とは何ですか?
反射メカニズム
- 反射の原理
- リフレクションがシングルトンパターンを破る仕組みと防止策
- シングル・インスタンス・パターンのさまざまな書き方とは
かわりにものをいう
- リバースプロキシ
- Nginx
- 代理店モデル
- 静的プロキシと動的プロキシ
- 負荷分散
JAVA財団
-
メモリ上のjavaオブジェクトの構造
-
梱包と開梱
Javaにおけるボクシングとアンボクシングの徹底分析
整数のボックス化は、値が[-128,127]にあるときにIntegerCacheキャッシュから直接データを取得することに注意してください。 -
整数の値の範囲
-
Javaにおける負の数の表現
-
バイトの範囲が-128~721なのはなぜですか?
-
配列リスト関連
- 初期容量:10、新規時に空の配列を作成するだけで、最初の挿入時に、割り当てられた領域のみ。
- 拡張容量:現在の容量の1.5倍、1.5倍の拡張が十分でない場合は、予想される容量に拡張します。
- まず拡大、次に挿入
- シーンよりもクエリに適用される、ヘッドを挿入すると、パフォーマンスが良いリンクリストされていない、各時間は、テールまたは中間とバックを挿入する場合は、実際には、挿入パフォーマンスも大丈夫です。
- failFastメカニズム:modCountを使用して変更回数を記録し、イテレーターで使用します。
-
LinkedList関連
- 頭部結節と尾部結節の保持
- 挿入と削除がより簡単に
- しかし、前ノードと次ノードが保存されるため、全体のコンテンツ空間は配列よりも大きくなります。
- failFast メカニズムもサポートされています。
- 容量拡張の検討は不要
- Dequeサポート、キューサポート、キューメソッド、オファー、ピーキング、ポーリングなど。
-
ArrayListとLinkedListの類似点と相違点
- ArrayListは:一番下は、オブジェクトの配列の実装です:配列のアドレスが連続的であるため、配列はO(1)ランダムアクセスをサポートしています。配列の初期化は、容量を指定する必要があります。配列は、動的な拡張をサポートしていない、そのようなArrayList、ベクター、スタックなど、問題の容量を気にせずに使用されるように見えるが、彼らは実際に基礎となる、配列の拡張を行います。コストの拡大は比較的大きいです、あなたは新しい配列を配列の拡張効率は低いですにデータをコピーするために開く必要があります。
- LinkedListは:ノードデータ構造の基礎となる使用は、双方向リンクリストの実装の前後に2つのポインタがあります。配列に相対的に、チェーンテーブルの挿入効率は、唯一の前後に2つのポインタを変更する必要があります。チェーンテーブルが連続的な記憶領域を必要としないため、さらに、チェーンテーブルの拡張はありませんが、データの挿入は、各回は、単に最後のポインタの変更です。彼は前後に2つのポインタを維持する必要があるため、さらに、チェーンテーブルは、配列よりも多くのメモリを必要とする、それは削除、より多くのシナリオの挿入に適しています。さらに、LinkedListはまた、Dequeインターフェイスを実装しています。
-
hashMapの原理
-
初期容量:16、着信が16未満の場合、最も近い2のべき乗が取られます。
-
ハッシュアンドリハッシュ
-
マルチスレッドでのデッドロック問題
-
ハッシュテーブルとの違い
-
とconcurrentHashMap.
-
DOS攻撃
-
ハッシュの競合を解決する方法
- オープンアクセス
- ハッシュアゲイン
- ジップス
- 公共のオーバーフロー・エリアの設置
-
-
1.7から1.8へのconcurrentHashMapの進化
ConcurrentHashMapの進化から見るJavaマルチスレッドコア技術 -
B/B+ツリー
バランスド・バイナリー・ツリー、Bツリー、B+ツリー、B*ツリー 一つ理解すれば、すべてがわかります。
B-treeとB+treeの挿入、削除のグラフィック詳細
なぜMongodbのインデックスはB-treeで、MysqlのインデックスはB+treeなのか?