Regular Expression Test Drivefor Java Developer Java正規表現の動作確認ができるサイトです。正規表現をその場でテストできます
あなたとスレッドダンプ - スレッドダンプ入門 - この国では犬が が非常にわかりやすく、自分でブログエントリを書く必要はないが、Oracle Database や Linux の性能分析に携わる者の観点から Java のスレッドダンプについて整理してみた。具体的なスレッドダンプの分析方法はサポートエンジニアが語るWebLogic Serverトラブルシュートのノウハウがとてもわかりやすい。 WebLogic のスレッドダンプの見方については id:yamadamn さんの スレッドダンプから見るWebLogic Serverの世界 #javaee - yamadamnのはてな日記 がわかりやすい。 スレッドダンプとは Javaのスレッドのスナップショット。 取得した瞬間のJava仮想マシン(JVM)内に存在するスレッド(ID、名前、状態、タイプなど)とコールスタックを見ることができる。
この記事は、インテルの SSG STOビッグデータテクノロジーグループのメンバーからDataBricksに寄稿されたブログを翻訳したものです。誤訳がありましたら、@teppei_tosaに御連絡ください。 Sparkは、その優れた性能、シンプルなインターフェイス、および分析や計算のための豊富なライブラリによって、幅広い業界で採用されてきています。ビッグデータエコシステムにおける多くのプロジェクトと同様に、Sparkは、Java仮想マシン(JVM)上で実行されます。Sparkはメモリに大量のデータを格納することにおいて、Javaのメモリ管理とガベージコレクション(GC)に大きく頼っています。また、プロジェクトTungstenなどの新たな取り組みは、将来のバージョンで、メモリ管理のさらなる簡素化と最適化を目指しています。しかし、今日時点でも、JavaのGCオプションとパラメータを理解しているユ
There was a wonderful page with that list (http://www.md.pp.ru/~eu/jdk6options.html), but it seems it's gone now and not available any more. Luckily there is http://web.archive.org which allows to make time flowing backwards and recover things which have passed away long time back. So, I have just get that page out of grave and copy/pasted here to return that bit of information back to life. Also
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring) JJUG CCC 2021 Spring にて講演。 2021年3月リリースのJDK 16 では、17個の JEP(JDK Enhancement Proposal)が導入されました。 JDK 16で導入された JEP 396: Strongly Encapsulate JDK Internals by Default による影響は十分に評価・準備することをお勧めします。 今回は、JEP 396での変更点やその背景を解説すると共に、アプリケーションでの評価・確認する際のポイントをご紹介します。
今回も前回の記事につづき、Java8による変更点で未だあまり紹介されていないポイントを記事にしようと思う。 今回はJava8のHotSpotVMの話。Java8ではJEP122が取り込まれ、VMのメモリモデルが変更された。JEP122のタイトル「Remove the Permanent Generation」から想像できるとおり、Java8のHotSpotVMからは従来のPermanent領域が無くなった。 なぜ、こういった変更が行われたのだろうか?また、元々Permanent領域に格納されていた情報は何処にいってしまったのか?JVM付属のツールにどういった影響があるのか? 今回の記事ではこの点をまとめていこうと思う。 なお、HotSpotVMのメモリモデルについて詳しくない方は、先にこちらの項番(「補足 – HotSpotVMのメモリ構造概説)を読んでいただくとスムーズに読み進められるだ
■Metaspace 格納する情報 クラスやメソッドのメタ情報 ネイティブメモリ クラスローダー毎にもつ なので基本バラバラの非連続領域 ■Compressed Class Space 格納する情報 クラス情報に特化 Compressed Oops(圧縮OOP:Ordinary Object Pointer)を利用 64bit 環境で有効 ポインタを32bitで表現(32GBまで) 統計情報的にはMetaspaceに含まれる MetaspaceとGCの動き ■前提 1.MetaspaceはGCされることはない 2.FullGC後にMetaspaceの容量調整を行う 3.Metaspaceの容量調整は確保したメモリサイズを上下させるのではなく閾値の調整を行う FullGC後に解放された領域が ・「-XX:MinMetaspaceFreeRatio(%)」(default:40)に満たない場合
こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、
New Relicとは New Relicとは、パフォーマンス監視サービスです。 サーバ側にnewrelic用モジュールをインストールし、サーバ/アプリケーションの レスポンスや実行にかかった時間などの統計情報をNew Relicのサイトで確認できます。 Java/Python/PHP/nodeなど、いろいろな言語に対応しており、 Heroku等のPaaS上で使用することもできます。 さらに最近は、モバイルの用アプリ(iOS/Android)のパフォーマンスをモニタリングできるようになったらしいです。 今回はEC2インスタンスにnewrelicサーバ用モジュールをインストールし、 EC2上で動作しているnodeアプリケーションのパフォーマンスを測定してみます。 使用した環境 今回使用した動作環境は以下のとおりです。 OS : Amazon Linux(EC2) New Relicを使ってみ
Java 8時代の開発者のためのデバッグ/トラブル解決の基本・応用テクニック~JJUG CCC 2014 Springまとめリポート(後編)(1/3 ページ) Java開発における3大トラブルと対策、IDEのデバッガー活用の必要性、Java 8より導入された新しいメモリ領域を使いこなすためのテクニック、独自のトランザクショナルメモリ機構を実装した有効性などをお伝えする。 日本Javaユーザーグループは2014年5月18日、「JJUG Cross Community Conference 2014 Spring」を開催した。「JJUG Cross Community Conference」(以下、JJUG CCC)は毎年春と秋に開催されるカンファレンス。初心者向けからエキスパート向けまで、Java/JVMに少しでも関連すればいいという広いテーマでさまざまな講演が行われている。 前編では、「S
最近仕事で Java ばかりの KrdLab です.そんな中,Eclipse の Memory Analyzer (MAT) が素晴らしかったので紹介. http://www.eclipse.org/mat/ はじめに Java ではメモリリークによって OutOfMemoryError (OOME) が発生する.このリークを特定する作業はなかなか困難な作業になることが多い (特に,誰が作ったのかわからない古いコードの保守で発生すると大変!). 今回はその作業コストを軽減するツールとして Memory Analyzer (MAT) を紹介する. Eclipse Memory Analyzer とは? JVM のヒープダンプを解析するツール.どのオブジェクトがリーク候補なのか,どこから参照されていたものだったのか,といった情報がグラフィカルに表示される. 他にもダンプ分析のための様々な機能が
以下 Java HotSpot VM Options の勝手翻訳と、追加で原文には載っていないオプションについて。Oracle JDK 6 を対象とした内容となっています。 このドキュメントは Java HotSpot 仮想マシンのパフォーマンス特性に影響を与える一般的なコマンドラインオプションと環境変数に関する情報を提供します。特に断りのない限りこのドキュメントのすべての情報は Java HotSpot Client VM と Java HotSpot Server VM の両方に適用されます。1.3.0 より古い JDK に Java HotSpot VM を移植したいユーザは Java HotSpot Equivalents of Exact VM Flags を参照して下さい。 Java HotSpot VM オプションのカテゴリ Java HotSpot VM が認識する標準オプ
以前の記事でトラブルが起きた後の初動対応を書いてみたが、いざトラブルに遭遇すると、まず再起動してからどうするか考えるケースが多いと感じている。しかし何も情報がないと『情報がない/再現方法が不明』などの理由からそのままお蔵入りになってしまう。今回はトラブルに事前に備えるために、地味だけど大切なJavaVMのオプションをまとめてみる。 GCログの出力とローテーション OutOfMemoryError発生時のヒープダンプ自動出力と出力パス設定 JavaVMクラッシュログの出力パス設定 JVMオプションの設定 (OpenJDK/OracleJDK) JavaVMにはGCおよびヒープメモリの状態をロギングする仕組みや、OufOfMemoryError時にヒープダンプを自動的に出力するような障害に備えて自動的に情報を出力する機能がある。おすすめのオプション*1は以下の通り。 java -Xms?g -
JavaでHTTP通信をやろうとすると、必ずと言っていいほど登場する、Apache HttpClient4(以前は、Jakarta Commons HttpClient3)ですが、これでちょっとハマっていた事象を見かけたので、軽くメモを。 あ、その時に使われていたのは、Jakarta Commons HttpClient3の方です。んで、ソケットのクローズ漏れでハマってました。 これ、チュートリアルだけを信じて実装すると、ハマるんですよねぇ…。 http://hc.apache.org/httpclient-3.x/tutorial.html チュートリアルの中に // Release the connection. method.releaseConnection(); みたいなことが書いてあって、いかにもコネクションをクローズしてくれそうな雰囲気がありますが、これは意味が違います。Ht
Java で 2014-04-27T13:10:02+09:00 のような ISO-8601 形式の日付文字列をパースし java.util.Date を取得する方法として、主に下記が考えられます。 (1) 日付フォーマットのタイムゾーンに 'X' を使用 (Java SE 7 以降) (2) Apache Commons Lang の DateFormatUtils を使用 ソースは http://github.com/fits/try_samples/tree/master/blog/20140427/ (1) 日付フォーマットのタイムゾーンに 'X' を使用 (Java SE 7 以降) ISO-8601 のタイムゾーン部分のパターンに X を使えば SimpleDateFormat でパースできます。 ただし、X を使えるのは Java SE 7 以降です。 Sample1.jav
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く