雑記#
1. Java のオブジェクト指向設計において、いつ抽象クラスを使用し、いつインターフェースを使用すべきですか?#
一般的に、名詞は抽象クラスとして設計されます。
例:動物、車、果物
動詞や機能はインターフェースとして設計されます。
例:DAO、service、controller
2. メモリオーバーフローとメモリリークとは何を指しますか?#
メモリオーバーフローは、メモリが書き込まれるデータを保持できないことを指します。たとえば、メモリが 100M しかなく、200M のデータを書き込む必要がある場合、メモリオーバーフローの問題が発生します。
メモリリークは、解放されていないメモリが存在し、解放されていないメモリが長期間メモリを占有していることを指します。たとえば、100M のメモリに 80M の内容を書き込んだ場合、十分なメモリがあるにもかかわらずエラーが発生する場合、メモリリークが発生している可能性があります。
原因は、1. 前回使用したメモリを解放していないこと(人為的に解体すればこの問題を回避できます)、2. メモリの断片化(メモリの断片化問題は解決できず、メモリ管理者をできる限り小さくし、メモリ管理者を使用する必要があります)
--------------------------------------続く-----------------------------------