You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
本書はOpenJDK7のG1GCの実装と、それに関連する技術を解説します。 目次 スポンサーのみなさま はじめに 1.準備 2.オブジェクト管理機能 3.アロケータ 4.ヒープ構造 5.オブジェクト構造 6.HotspotVMのスレッド管理 7.スレッドの排他制御 8.GCスレッド(並列編) 9.GCスレッド(並行編) 10.並行マーキング 11.退避 12.予測とスケジューリング 13.正確なGCへの道 14.ライトバリアのコスト さらに勉強したい人へ その他参考文献 以下から(ある時点で)最新のebookをダウンロードできます。 徹底解剖「G1GC」実装編-20120915.epub 徹底解剖「G1GC」実装編-20120914.mobi 徹底解剖「G1GC」実装編-20120914.pdf 謝辞 本書はスポンサーのみなさまの金銭的支援によって執筆されました。 スポンサーのみなさま あ
These are the notes for a talk I gave at JokerConf 2017, which is why they’re written as if we were talking and going through some slides together. One of the reasons that I’m a programming language researcher is that almost everyone I meet in the the wider computer technology community uses programming languages and many of them are interested in how they work. When I was first introduced to prog
はじめに この記事はJava Advent Calendar 2016の 1 日目の記事です 先日の Java Casual #2) で jcmd について話してきました。 jcmd #javacasual from Yuji Kubota jcmd は Oracle 社のドキュメントでは推奨ツールとして扱われており、jps や jmap, jstat のような既存ツールは "Experimental" とされています。このため、既存ツールから jcmd への移行が進められる可能性があります。例えば Experimental であった jhat は Java 9 から削除されます。 Java 9 からの新機能を含めた jcmd の各種機能は上記スライドを見ていただくとして、ここでは jcmd でどのように既存ツール相当の機能が使えるかを紹介したいと思います jcmd とは jcmd はロー
Aleksey Shipilëv: One Stop Page Quick Bio Or, "the text I keep copypasting around conferences", therefore written in third person. If you want to see me bragging about myself in more detail, look at my CV. (This picture can be used as conference avatar, click for larger version) (ENG) Aleksey is working on Java performance for 15+ years. Today he is employed by AWS, where he does OpenJDK developme
Refining Jigsaw and timelinesMany of the issues could be fixed in a short amount of time, (e.g. layer primitives, circularity, version restrictions, etc.). Others might require a bit more time to get right, but would lead to a much better overall platform and user experience. A small delay is worth the cost if the alternative is rushing a solution that doesn't cover all use cases. It might also
This RFE addresses the a problem faced by long running (one or more months) Java applications generating large log files that exhaust available disk storage. This RFE introduces a new flag -XX:logfilesize=n and its usage is described as follows: -Xloggc:somefile -XX:logfilesize=n If the value of n is 0 or is not set then current behavior. else if n is positive, close somefile when its size reaches
Alcatel suggested the following improvents in the GC log file rotation handling: Improvement 1. Can you add a log message that includes a date/time stamp when a file is rotated to the new file being created. This helps in debugging/etc. GC problems and so can quickly determine which is the "active" GC log file. Would not hurt to add log the the end of the previous file as well... e.g For end... 20
As you may be aware, the JDK 8 Early Access is now available for download. This allows Java developers to experiment with some of the new language and runtime features of Java 8. One of these features is the complete removal of the Permanent Generation (PermGen) space which has been announced by Oracle since the release of JDK 7. Interned strings, for example, have already been removed from the Pe
In this post, we'll see one of the JVM update i.e, removal of Permanent Generation. Here we'll see why there were need of removal of Permanent Generation and it alternative Metaspace. This is the continuation of previous post on memory management & Garbage collection. This is how Heap Structure look like in Java 6 Permanent Generation The pool containing all the reflective data of the virtual mach
バッチ処理などスループット重視のアプリケーションはデフォルトのパラレルGCで良いが、Java EEアプリケーションサーバなどレスポンスタイム重視のものやHadoopなどのクラスタ系ソフトウェアで死活監視に引っ掛る系などのstop the worldをなるべく避けたいいわゆるサーバ系ソフトウェアを運用する場合には、UseConcMarkSweepGCを付与して停止時間の短いCMS GCを使う。その場合にCMSのチューニングに踏み込もうとするとなんだか難しい記述がいっぱいで若干困るので、簡単なガイドをメモとして書いておく。 対象バージョンは以下。 $ java -version java version "1.7.0_51" OpenJDK Runtime Environment (fedora-2.4.5.1.fc20-x86_64 u51-b31) OpenJDK 64-Bit Serve
あるアプリケーションの作業にとって、スループットは最も重要なターゲットです。1つ例を挙げると、長時間実行されるバッチ処理のジョブです。ガベージコレクションが実行されている間、バッチジョブが時々1、2秒止まっても、ジョブ全体がすぐに完了すれば問題ありません。 人間が直接対話するアプリケーションから金融取引システムまで、実質的な他のすべての作業では、システムが1、2秒か、数ミリ秒以上反応しない場合、大変なことになり得ます。金融取引では、しばしば一貫した停止時間と引き換えに、スループットを犠牲にするだけの価値はあります。物理的に利用可能なメモリ量によって制限されるアプリケーションを持ったり、footprintを維持しなければならなかったりすることもあります。そのような場合、停止時間とスループットの面の両方で、パフォーマンスをあきらめなければなりません。 以下のトレードオフは度々起こります。 大部
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く