Skip to Content
Java Generics and Collections、第 2 版
book

Java Generics and Collections、第 2 版

by Maurice Naftalin, Philip Wadler
June 2025
Intermediate to advanced
368 pages
5h 50m
Japanese
O'Reilly Media, Inc.
Content preview from Java Generics and Collections、第 2 版

あとがき

本書は、フィル・ワドラーが2003年にアメリカからスコットランドに戻り、エジンバラ大学で教鞭をとることになったときに始まった。当時、Javaコミュニティ・プロセスで5年間受け入れられずにいたGeneric Java(Bracha et al. 1998)が、ついにJava 5に搭載されることになった。フィルはGeneric Javaの著者の一人であり、私は関数型プログラミングの経験があったので、この主要な次期機能に関する共同書籍プロジェクトは、明らかなチャンスに思えた。結局のところ、私はフィルの型理論の深いバックグラウンドには及ばなかった。そこで彼は、ジェネリックスの比較的理論的な扱いを補完するものとして、Javaコレクション・フレームワークにおける、最も重要な実用的アプリケーションに関するパートを提案した。これは私の特殊化ではなかったので、初期化の努力は控えめに言ってもお粗末なものだった。ジョシュ・ブロッホには一生恩義を感じている。彼は非常に寛大で詳細なレビューを書いてくれて、小さなエラーもすべて訂正してくれたし、資料の質も変えてくれた。

それから20年近く経ってからこの本に戻るのは、興味深い経験だった。仕事を始める前は、ジェネリクスもコレクションも、新版を出すほど変わっていないと発見するかもしれないと心配していた。結局のところ、Javaは後方互換性で有名なのだから、きっとこの本は時代を超越しているはずだ。プログラミングのイディオムやスタイルが20年以上変わっていないと考えるのは馬鹿げているのではないだろうか?結局のところ、プログラミングのイディオムやスタイルが20年以上変わっていないと考えるのは馬鹿げているのではないだろうか?しかし、何よりも驚いたのは、この2つのことが真実である可能性があるということだった。Javaはその間、際立って安定していたにもかかわらず、Javaプログラムのスタイルやイディオムは大きく変わってしまったのだ。というのも、あるプログラミング・スタイルが不人気になると、それに関連する言語は滅びるか、少なくとも無価値なものになる、ということを繰り返し見てきた世界で、私は専門家として育ったからだ。Javaを含む1990年代の言語は、30年経った今でも人気がある。そしてそれは、異なる時代にルーツを持つ言語を、いかにして現代の環境で使うのにふさわしいと感じられるようにするかという、大きな課題を提示している。

おそらく最大の変化は、メモリに対するプロセッサのスピードとパワーが大幅に向上したことだろう。これは、複数のキャッシュ・レベルを持つマルチプロセッサ・システムが一般的になり、メモリの遅延効果、特にキャッシュの振る舞いが、しばしばプログラミングの性能を支配するようになったことを意味する。そのため、空間的な局所性は、Javaの自動メモリ管理哲学の根底にあった「メモリ内のオブジェクトの物理的な位置は第一義的には重要ではない」という前提に挑戦する、優れた性能のための主要な要件となっている。JVMとガベージ・コレクタ実装の継続的な進化は、アプリケーション・プログラマをこの影響から完全に保護するのに役立っているが、リンクされたデータ構造を使用するたびに慎重な精査が必要であることに変わりはない。本書の初版には、データ構造としての配列の非推奨を主張する、あまり古びていないセクションがあった!Javaの継続的な適応の表れとして、Project Valhallaの1つの目標は、オブジェクトをキャッシュしやすい値オブジェクトに平坦化することによって、この問題に対処することである。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Java クックブック、第 4 版

Java クックブック、第 4 版

Ian F. Darwin
Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Venkat Subramaniam, 株式会社プログラミングシステム社
Java から Kotlin へ

Java から Kotlin へ

Duncan McGregor, Nat Pryce

Publisher Resources

ISBN: 9798341661011