タグ

ブックマーク / yusuke.homeip.net (8)

  • 虚無僧2.0

    虚無僧とは何ですか? 虚無僧はシンプルな MBean サーバモニタリングツールです。 虚無僧を使えば JBoss, WebLogic Server, Tomcat, Oracle Application Server and WebSphere など、あらゆる MBean ベースのサーバをローカルから、またはリモートから監視することができます。 虚無僧のユニークな点は体がたった 150 行というそのシンプルさにあります。デフォルトの動作は任意の MBean 属性の値を定期的に CSV 形式で書き出すだけですが、ソースコードを理解するのもカスタマイズするのも非常に簡単です。 システム要件 OS: Java をサポートする Windows または Unix 系 OS JVM: Java5 以降 アプリケーションサーバ: JMX Remote API(JSR160) をサポートするアプリケーシ

  • わらじ1.0

    わらじ1.0 わらじとは? わらじはクラスの衝突を検出するシンプルなJava Web Startアプリケーションです。 使い方 調査したいファイルをドラッグ&ドロップしてください。 衝突しているクラスがあればタイムスタンプとファイルサイズと共に表示してくれます。 わらじは META-INF ディレクトリ以下の衝突については報告しないことに注意してください。このディレクトリ下では必ず MANIFEST.MF ファイルが衝突しています。 現在のところ、改めて衝突を調査するにはアプリケーションを再起動する必要があります。 スクリーンショット 1. クラスの衝突が検出されていない状態 起動方法 このページトップのわらじのアイコンをクリックしてください。 Java Web Start は PCセキュリティを脅かす可能性がある旨のダイアログを表示します。 起動するには "開始 " をクリックしてく

  • メモリリークトラブルシューティング記 - その5: Memory Analyzer でヒープダンプを解析(最終回) - 侍ズム

    - その1: 自宅サーバがハング - その2: フリーズの原因はガベージコレクション - その3: 侍でヒープ使用量を確認 - その4: リーク箇所を確認する色々な方法 - その5: Memory Analyzer でヒープダンプを解析(最終回) 今回のメモリリーク現象はリークの再現方法がわからないため、運用環境から詳細なデータが取得できるheapdumpを取得した、というのが前回までのあらすじです。 次は、ヒープダンプの解析。 ヒープダンプは JDK に付属の jmap コマンドで取得します。 jmap -heap:format=x [pid] または jmap -heap:format=b [pid] といった形で実行するとヒープダンプを xml 形式、またはバイナリ形式で記録できます。 通常生のヒープダンプを人間の目で読むことはないので xml 形式は使いません。バイナリ形式で取得し

  • 侍ズム | Samuraism - Tomcat メモ - GET リクエストのパラメータのエンコーディング

    Servlet / JSP で GET/POST パラメータを受け取るときは request#setCharacterEncoding() を事前に読んでおく。 これは今時常識ですが、Tomcat でどうしても文字化けしてしまい、2時間くらいハマりました。 WebLogic ではどのバージョンでも setCharacterEncoding() で指定した文字セットでデコードしてくれるのに、Tomcat だと ISO-8859-1 として文字列が取得できてしまうという状況です。 Apache のバグデータベースにも Open 中のバグはなく、ぶらぶら調べてみたら@IT の記事に答えがありました! なんと Tomcat 5.x から GET パラメータに対しては setCharacterEncoding() が効かなくなったそうです。 ・@IT - Javaの文字化け対策FAQ(3) 対策方法

  • 侍ズム - Java - スレッドダンプの取り方 その3 / Windows サービスとして登録している場合は?

    ・その1 / スレッドダンプの取り方 ・その2 / Linux だと java プロセスがいっぱい!? →その3 / Windows サービスとして登録している場合は? ・その4 / WebLogic Server とスレッドダンプ Windows 環境で、サーバサイドのプログラムは Windows サービスとして登録して運用することが多いです。 例えば Tomcat 5.5 であれば %TOMCAT_HOME%¥bin¥service.bat install [サービス名] でサービス登録、 > net start [サービス名] で起動できます。(もちろんサービスコントロールパネルでもOk) Tomcat5.5 が Widnows サービスとして起動した様子 しかし、このコマンドプロンプトは Tomcat のプロセスに直接絡んでいないため、Ctrl+Break は効きません。 そんなと

  • 侍ズム - Java - スレッドダンプの取り方 その2 / Linux だと java プロセスがいっぱい!?

    ・その1 / スレッドダンプの取り方 →その2 / Linux だと java プロセスがいっぱい!? ・その3 / Windows サービスとして登録している場合は? ・その4 / WebLogic Server とスレッドダンプ 前回説明した通り、スレッドダンプを取るのは簡単です。解析にはちょっと慣れがいるのですが・・。 さて、運用環境でフリーズしたぞ!ってときにスレッドダンプを取ろうと思うと困ることがあります。一つは Linux 環境でやたらとプロセスが表示されてしまい、どのプロセスIDを指定すれば良いかわからない場合です。 一部の Linux ではスレッドの実装の違い(※)から、ps コマンドを実行した際、Java アプリケーションが一つしか起動していなくても大量に Java プロセスが表示されてしまいます。 その場合は pstree コマンドで一番親となるプロセス(一番左上に表示

  • 侍ズム - Java - スレッドダンプの取り方

    →その1 / スレッドダンプの取り方 ・その2 / Linux だと java プロセスがいっぱい!? ・その3 / Windows サービスとして登録している場合は? ・その4 / WebLogic Server とスレッドダンプ スレッドダンプについて網羅的に説明した資料はあまりないのでちょっと書いてみました。まとまったら侍のドキュメントに追加するつもりです。 スレッドダンプとは、 Java のプロセス内部で動作している各スレッドがそれぞれ何をしているか確認できるものです。 Java のプログラムがフリーズした場合や、パフォーマンス低下が見られる場合などに取得すると、どのスレッドが停滞しているのか、プログラム中具体的にどこで止まっているのか確認できます。 スレッドダンプは任意のタイミングで SIGQUIT シグナルを送る(Unix)、または キーボードで Ctrl+Break を押下す

  • 侍ズム: JavaScript のテストのコツ

    を尋ねられたので一つ。 最近は JavaScript の開発はそばでやっている。リアルタイムに結果がわかるので便利。 ただ、ブラウザ間の互換性をテストするのに、「スクリプトのコピー->ブラウザの切り替え->ペースト->何か操作」では面倒なのでちょっと工夫をしている。 今のとこ、ページをロードしたら自動的にテストさせるように作って、起動してあるブラウザで再ロードだけすれば良いようにしている。将来的にはそばで編集中の html を各ブラウザで自動ロードさせるような仕組みを作る予定。 実際のコードはこんな感じ。JavaScriptUnitね。assertEquals に何かの実行結果と、期待値を渡す。 ・足し算関数 add と 1 加えた値を返す inc関数のテスト ---- <html> <head> <Script> function add(var1,var2){ return var1+

  • 1