Skip to Content
Javaの最適化
book

Javaの最適化

by Benjamin J. Evans, James Gough, Chris Newland
March 2025
Intermediate to advanced
440 pages
6h 29m
Japanese
O'Reilly Media, Inc.
Content preview from Javaの最適化

第14章. 高性能ロギングとメッセージング

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

C++などの言語と比較した場合、JavaとJVMの使用はトレードオフとみなされることがある。Javaは、開発者が日々の開発で扱わなければならない低レベルの関心事の数を減らすことで、生産性の向上を達成している。トレードオフとみなされるのは、より高レベルの言語抽象化であり、低レベルの制御と生のパフォーマンスを犠牲にして開発者の生産性の向上につながる。

C++は、どんな新しい言語機能があろうとも、性能は決して妥協してはならないというアプローチをとっている。 C++の哲学は、洗練されたレベルの制御をもたらすが、その代償として、すべての開発者はリソースを手動で管理するか、適切なイディオムに従わなければならない。

Javaプラットフォームは、開発者が低レベルの詳細に関する懸念から解放されるべきというアプローチをとる。 自動メモリ管理の利点は、生産性を大きく向上させるものとして過小評価すべきではない。著者たちは、無自覚なC++開発者が犯しかねない過ちや損害を長年目撃しており、今でもその傷跡が残っている。

しかし、ガベージ・コレクションやJVM上の他の上位レベルの管理された抽象化は、パフォーマンスに関する予測不可能なレベルを引き起こす可能性がある。 この非決定性は、当然ながら遅延に敏感なアプリケーションでは最小化されるべきものである。

警告

これは、JavaとJVMが高性能システムのプラットフォームには適していないということなのだろうか?

この章では、高性能で遅延の影響を受けやすいアプリケーションを検討する際に、開発者が対処しなければならない一般的な懸念事項を探ることを目的とする。 また、低遅延システムに課される設計アプローチと要件についても考察する。 低遅延で高性能なシステムの中心となる2つの考慮事項は、ロギングとメッセージングである。

保守可能なJavaシステムには通常、多くのログ・メッセージが含まれるため、ロギングはJava開発者なら誰でも気にするはずである。 しかし、遅延を気にする開発者にとっては、ロギングは特殊化する可能性がある。 幸いなことに、ロギングは多くの開発と研究が行われてきた分野であり、この章ではその研究を行う。

メッセージングシステムは、近年最も成功したアーキテクチャパターンの1つである。その結果、通常、低遅延システムの最前線に位置し、通常、1秒間に処理されるメッセージ数で測定される。 システムが処理できるメッセージ数は、競争上の優位性を獲得するために重要であることが多い。 スループット(例えば、1秒あたりの取引)に具体的な価値を結びつけることができるため、この分野は重点的に研究され、資金が投入されている。 この章の後半で、いくつかの最新のメッセージングアプローチについて説明する。

ロギング

多くの開発者にとって、ロギング・ライブラリはプロジェクトの重要な一部とは考えられておらず、その選択は「最も抵抗の少ないパス」プロセスである。これは、プロジェクトに導入される他のライブラリ( )の多くとは対照的であり、その機能を研究し、おそらくいくつかの性能ベンチマークを検討するために時間をコミットする。

、本番グレードのロギングシステムの選択にまつわるいくつかのアンチパターンがある:

10年ロガー

かつて誰かがロガーの設定を成功させた。再作成するよりも、その設定を借りる方がずっと簡単だ。 ...

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

ネットワークとKubernetes

ネットワークとKubernetes

James Strong, Vallery Lancey
ファストAPI

ファストAPI

Bill Lubanovic

Publisher Resources

ISBN: 9798341636446