Soumettre la recherche
Mettre en ligne
Effective Java 輪読会 項目77-78
•
Télécharger en tant que PPTX, PDF
•
0 j'aime
•
846 vues
Appresso Engineering Team
Suivre
Technologie
Signaler
Partager
Signaler
Partager
1 sur 15
Télécharger maintenant
Recommandé
Effective Java 輪読会 項目74-75
Effective Java 輪読会 項目74-75
Appresso Engineering Team
マルチスレッド デザインパターン ― Single Threaded Execution
マルチスレッド デザインパターン ― Single Threaded Execution
Appresso Engineering Team
レンダリングを意識したパフォーマンスチューニング
レンダリングを意識したパフォーマンスチューニング
Hayato Mizuno
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70追加
Appresso Engineering Team
JavaScript 勉強会 ― 型と値
JavaScript 勉強会 ― 型と値
Appresso Engineering Team
Effective Java 輪読会 項目53-56
Effective Java 輪読会 項目53-56
Appresso Engineering Team
JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 変数・演算子・文
Appresso Engineering Team
Effective Java 輪読会 項目63-65
Effective Java 輪読会 項目63-65
Appresso Engineering Team
Recommandé
Effective Java 輪読会 項目74-75
Effective Java 輪読会 項目74-75
Appresso Engineering Team
マルチスレッド デザインパターン ― Single Threaded Execution
マルチスレッド デザインパターン ― Single Threaded Execution
Appresso Engineering Team
レンダリングを意識したパフォーマンスチューニング
レンダリングを意識したパフォーマンスチューニング
Hayato Mizuno
Effective Java 輪読会 項目69-70追加
Effective Java 輪読会 項目69-70追加
Appresso Engineering Team
JavaScript 勉強会 ― 型と値
JavaScript 勉強会 ― 型と値
Appresso Engineering Team
Effective Java 輪読会 項目53-56
Effective Java 輪読会 項目53-56
Appresso Engineering Team
JavaScript 勉強会 ― 変数・演算子・文
JavaScript 勉強会 ― 変数・演算子・文
Appresso Engineering Team
Effective Java 輪読会 項目63-65
Effective Java 輪読会 項目63-65
Appresso Engineering Team
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
Appresso Engineering Team
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73
Appresso Engineering Team
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70
Appresso Engineering Team
Effective Java 輪読会 項目60-62
Effective Java 輪読会 項目60-62
Appresso Engineering Team
Effective Java 輪読会 項目45-48
Effective Java 輪読会 項目45-48
Appresso Engineering Team
Effective Java 輪読会 第7章 項目43-44
Effective Java 輪読会 第7章 項目43-44
Appresso Engineering Team
Effective Java 輪読会 項目49-52
Effective Java 輪読会 項目49-52
Appresso Engineering Team
20150302 java8 第一回_ラムダ式(1)
20150302 java8 第一回_ラムダ式(1)
Appresso Engineering Team
Java9 and Project Jigsaw
Java9 and Project Jigsaw
takezoe
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Appresso Engineering Team
Effective java 輪読会 項目57-59
Effective java 輪読会 項目57-59
Appresso Engineering Team
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目41-42
Appresso Engineering Team
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第7章 項目38-40
Appresso Engineering Team
Effective Java 輪読会 第6章 項目35-37
Effective Java 輪読会 第6章 項目35-37
Appresso Engineering Team
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
Appresso Engineering Team
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31
Appresso Engineering Team
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目26-29
Appresso Engineering Team
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第5章 項目23-25
Appresso Engineering Team
Effective java 輪読会 第4章 項目18-22
Effective java 輪読会 第4章 項目18-22
Appresso Engineering Team
Effective Java 輪読会 第4章 項目13-17
Effective Java 輪読会 第4章 項目13-17
Appresso Engineering Team
Effective java 輪読会 第3章 項目11, 12
Effective java 輪読会 第3章 項目11, 12
Appresso Engineering Team
Contenu connexe
En vedette
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
Appresso Engineering Team
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73
Appresso Engineering Team
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70
Appresso Engineering Team
Effective Java 輪読会 項目60-62
Effective Java 輪読会 項目60-62
Appresso Engineering Team
Effective Java 輪読会 項目45-48
Effective Java 輪読会 項目45-48
Appresso Engineering Team
Effective Java 輪読会 第7章 項目43-44
Effective Java 輪読会 第7章 項目43-44
Appresso Engineering Team
Effective Java 輪読会 項目49-52
Effective Java 輪読会 項目49-52
Appresso Engineering Team
20150302 java8 第一回_ラムダ式(1)
20150302 java8 第一回_ラムダ式(1)
Appresso Engineering Team
Java9 and Project Jigsaw
Java9 and Project Jigsaw
takezoe
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
En vedette
(10)
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目60-62
Effective Java 輪読会 項目60-62
Effective Java 輪読会 項目45-48
Effective Java 輪読会 項目45-48
Effective Java 輪読会 第7章 項目43-44
Effective Java 輪読会 第7章 項目43-44
Effective Java 輪読会 項目49-52
Effective Java 輪読会 項目49-52
20150302 java8 第一回_ラムダ式(1)
20150302 java8 第一回_ラムダ式(1)
Java9 and Project Jigsaw
Java9 and Project Jigsaw
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Plus de Appresso Engineering Team
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Appresso Engineering Team
Effective java 輪読会 項目57-59
Effective java 輪読会 項目57-59
Appresso Engineering Team
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目41-42
Appresso Engineering Team
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第7章 項目38-40
Appresso Engineering Team
Effective Java 輪読会 第6章 項目35-37
Effective Java 輪読会 第6章 項目35-37
Appresso Engineering Team
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
Appresso Engineering Team
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31
Appresso Engineering Team
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目26-29
Appresso Engineering Team
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第5章 項目23-25
Appresso Engineering Team
Effective java 輪読会 第4章 項目18-22
Effective java 輪読会 第4章 項目18-22
Appresso Engineering Team
Effective Java 輪読会 第4章 項目13-17
Effective Java 輪読会 第4章 項目13-17
Appresso Engineering Team
Effective java 輪読会 第3章 項目11, 12
Effective java 輪読会 第3章 項目11, 12
Appresso Engineering Team
Effective java 輪読会 第3章 項目8,9,10
Effective java 輪読会 第3章 項目8,9,10
Appresso Engineering Team
Effective java 輪読会 第2章 項目5,6,7
Effective java 輪読会 第2章 項目5,6,7
Appresso Engineering Team
Effective java 輪読会 第2章 項目1,2,3,4
Effective java 輪読会 第2章 項目1,2,3,4
Appresso Engineering Team
Plus de Appresso Engineering Team
(15)
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Effective java 輪読会 項目57-59
Effective java 輪読会 項目57-59
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目41-42
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第7章 項目38-40
Effective Java 輪読会 第6章 項目35-37
Effective Java 輪読会 第6章 項目35-37
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第6章 項目30-31
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目26-29
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第5章 項目23-25
Effective java 輪読会 第4章 項目18-22
Effective java 輪読会 第4章 項目18-22
Effective Java 輪読会 第4章 項目13-17
Effective Java 輪読会 第4章 項目13-17
Effective java 輪読会 第3章 項目11, 12
Effective java 輪読会 第3章 項目11, 12
Effective java 輪読会 第3章 項目8,9,10
Effective java 輪読会 第3章 項目8,9,10
Effective java 輪読会 第2章 項目5,6,7
Effective java 輪読会 第2章 項目5,6,7
Effective java 輪読会 第2章 項目1,2,3,4
Effective java 輪読会 第2章 項目1,2,3,4
Dernier
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Dernier
(10)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Effective Java 輪読会 項目77-78
1.
Effective Java 輪読会
2014/03/19 開発部田中
2.
項目77 インスタンス制御に対しては、readResolve よりenum
型を選ぶ
3.
readResolveによるインスタンス制御 • シングルトンをシリアライズする場合の伝
統的な方法 o 自身の持つシングルトンインスタンスを返すような readResolveメソッドを定義することで、デシリア ライズによって生成されたインスタンスは破棄し、 常にメモリ上に存在するインスタンスの参照を返す。
4.
インスタンス制御する場合のtransient • readResolveによって常にメモリ上のインス
タンスを返すのなら、シングルトンクラス のインスタンスフィールドをシリアライズ の対象にする必要はない。 → transient修飾子を付与する
5.
攻撃に備えてtransientを付与する • むしろreadResolveによってシリアライズさ
れるクラスのインスタンスフィールドは transientにすべき • readResolveが呼ばれる前に、デシリアライ ズによって生成されたインスタンスの参照 を「盗む」ことができてしまう。
6.
実際に参照を盗んでみる
7.
enumを使う • readResolveによるインスタンス制御は、廃
れてはいないが、十分な注意が必要 • そこで、enumを使えば、シングルトン特性 をJVMが保証してくれる • enumが使えない場合もある
8.
readResolveのアクセス可能性 • デシリアライズは、クラス階層の上から行
われる。 • スーパークラスのインスタンスが生成され てClassCastExceptionが発生しないように 気をつける
9.
まとめ • シリアライズのインスタンス制御には、可
能な限りenumを使う • readResolveメソッドによるインスタンス制 御の場合は、インスタンスフィールドがプ リミティブ型か、transientであることを確認 する
10.
項目78 シリアライズされたインスタンスの代わりに、 シリアライズ・プロキシを検討する
・シリアライズ・プロキシ・パターンとは ・writeReplace とreadResolve
11.
なぜ使うか • ネストしたクラスに、エンクロージングク
ラスの論理的状態を表現する • シリアライズ・プロキシから元のクラスの インスタンスに復元する際に、元のクラス のコンストラクタを使用できる • 言語機能によってデシリアライズを制御できる
12.
ポイント1: writeReplace •
エンクロージングクラスをシリアライズ・ プロキシへ変換する(シリアライズ・プロ キシクラスの形式でシリアライズする)
13.
ポイント2: readResolve •
シリアライズ・プロキシクラスに readResolveを実装する • デシリアライズの際にシリアライズ・プロ キシをエンクロージングクラスのインスタ ンスにエンクロージングクラスのコンスタ ラクタを使って変換する。
14.
readResolveの柔軟性 • readResolveではpublicのAPIのみを使用して
インスタンスを生成できる • staticファクトリーメソッドも使える • 実際にどのクラスのインスタンスを返すか 制御できる。 • ex. EnumSet
15.
まとめ • finalクラスについて、readObjectや
writeObjectを書く必要がある場合には、シ リアライズ・プロキシ・パターンを検討す る • クラスの不変式をシリアライズするための 簡単・確実な方法
Télécharger maintenant