Opening Up Java EE | Oracle The Aquarium Blog Oracleがブログで、Java EE 8の開発をコミュニティの手に委ねたいと表明している。その文章がいかにも回りくどく面白かったので、とりあえず翻訳してみた。 Java EE 8についてOracleは目覚ましい進展を続けてきた。規格はほぼ固まり、この夏にリファレンス実装を提供できる予定だ。Java EE 8の提供とJavaOne 2017カンファレンスが近づいてくるにつれ、OracleとしてはJava EEの開発をより変容する業界と技術要求に対してアジャイルかつレスポンシブに対応できる開発体制を再考する余地があるのではないかと考える。 Java EEは競争的な市場において、互換性の高い実装、業界に広く採用されている技術、多大な既存のフレームワークとツール、エンタープライズとエンドユーザーに対する数
Javaのジェネリクスでしばしば話題に上がる「イレイジャ」について整理しておきたい。 イレイジャについては僕もいろいろと誤解しており、過去に誤った発言をしている。本エントリはその贖罪として書かれたものである。 「イレイジャ」という方式についてはネガティブな誤解が広まっていると思う。「イレイジャ方式」が問題の根ではない事象について、それを「イレイジャのせい」であると誤って理解することはエンジニアとしてはマイナスである。 しばしばイレイジャのせいとされる事象にnew T()できないという論点があるが、これはJavaのジェネリクスがC#でいうnew制約(型変数の制約としてデフォルトコンストラクタを持つことを要求する機能)を持たないことに起因する問題である。 そのため、この点についてJavaの言語仕様に改善を求めるのであれば、new制約を導入せよという現実的な要求とするべきである。 イレイジャ方式
こんにちは。アプリケーション基盤チームの横田です。 Javaの謎のパフォーマンス劣化にまつわる調査をしていたのですが、1ヶ月の苦労の末に原因がわかりましたので、報告させていただきます! 公開後に頂いたはてなブックマークでのご指摘・社内でのタイポ・読みにくいなどの指摘を受けてたので、謹んで修正させいただきます。 修正した内容につきましては、記事の最後を参照してください。 忙しい人のためのまとめ jdk-7u4以降のjdk-7 *1 でJavaのパフォーマンスが劣化する謎の現象 CodeCacheの容量限界に近づくとJITコンパイラを停止してコンパイルしたコードを捨てる機能が原因だった 起動オプションで回避できるので、長期運用するときは -XX:-UseCodeCacheFlushing, -XX:ReservedCodeCacheSize=128m をつける 上のオプションを設定した時に、C
Fork/Joinとは? JavaSE7でサポートされるjava.util.concurrent.ForkJoinPoolは、ExecutorServiceの一員であり、一見するとThreadPoolExecutorに似たようなものに思えるが、実際は全く別の、異質のものである。 ForkJoinPoolは、ありていに言えばWork-stealingアルゴリズムの実装であり、無数のタスクを無駄なく論理CPU分のスレッドに割り当てるものである。 ForkJoinPoolはデフォルトでは論理CPU数分のスレッドプールをもつように構築される。 そして、あるタスクが完了するか、もしくは待ちになったら、すぐに別のタスクがアクティブとなり、常に、論理CPU数分のスレッドだけがアクティブになるように調整される。 また、ForkJoinPoolに入れたForkJoinTaskは、そのタスクの中で新たなタスク
JVMはプロファイリングを利用してコードの最適化を行います。対象は頻繁に利用されるコードパスのみですが,徹底的に行うことで大きな効果を上げています。JITコンパイルされたコードに関しては,現在では多くの場面において (その割合も増えつつあります) C++の実行速度を凌駕しています。 このような事実にも関わらずJavaが今でも低速なプラットフォームとして認識されているのは,おそらくは初期バージョンのJavaプラットフォームでの経験が,歴史的な負のバイアスとして働いているためでしょう。 早まった結論を出す前に,客観的な見地に立って,最新のパフォーマンス結果を評価するようにお勧めします。 2. Java コードの1行にはそれ自体で意味がある 次の短いコード行を考えてみてください: MyObject obj = new MyObject(); Java開発者ならば誰でも分かるように,このコードはオ
Java Language and Virtual Machine Specifications Java SE 23 Released September 2024 as JSR 398 The Java Language Specification, Java SE 23 Edition HTML | PDF Preview feature: Flexible Constructor Bodies Preview feature: Implicitly Declared Classes and Instance main Methods Preview feature: Module Import Declarations Preview feature: Primitive Types in Patterns, instanceof, and switch The Java Virt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く