Javaをより良く使おうと思って、今コレクションフレームワークを勉強中です。
浅煎り珈琲 Javaアプリケーション入門
調べてみると、昔のAPIは同期を常に行っている関係で、負担が大きかったとか。Vectorとか、HashTableとかはその典型らしいです。で、それをより汎用的に使えるようにするために、CollectionFrameworkが作られたって話です。
このフレームワークに含められているクラスは、同期されてないものなんですが、Collectionsクラスのstaticメソッドを使ったり、プログラマが意識することで、同期を取るように変更したらしいです。いくらJavaに速度を期待しないほうがいいとはいっても、遅いよりは速いほうがいいですからね。同期されていない軽量なものを作ることで、高速に実行できるようになったらしいです。
いろいろなサイトを読めば読むほど、よくできてるな〜と感心します。こんなテクニックを使って、いろいろなコードを組んでみたいですね。
Comments [2]
wさん
コレクションは重要だなあ。というか、java.util.*は全部Javaプログラマにとって重要らしい。
昔あったEnumerationとかも勉強してるんだろうか…いや、必要ないんやけどね。
tetsuさん
いや、それは勉強はしてないけどIteratorにどうしたら変更できるんだろうか、とかは考えてる。こっちのほうはパフォーマンスは関係あるの?
コメントする