2011年6月24日金曜日

javaで円マークとバックスラッシュ

はまったのでメモ

円マークのwiki
Unihan Database

円マークとバックスラッシュ
Shift_JIS
  0x5c 円マーク
  0xa5 なし
  
UTF-8
  0x5c   バックスラッシュ
  0xc2a5 円マーク

UTF-16
  0x005c バックスラッシュ
  0x00a5 円マーク
  

ISO-8859-1
  0x5c バックスラッシュ
  0xa5 円マーク


Unicodeエスケープで確認
●画面出力
  日本語フォント  MS ゴシック
  "\\"              →  円マーク
  "\u005c\u005c"    →  円マーク
  "\u00a5"          →  円マーク

  英語フォント    Arial
  "\\"              →  バックスラッシュ
  "\u005c\u005c"    →  バックスラッシュ
  "\u00a5"          →  円マーク

●JasperReportでPDF出力
  "\\"              →  バックスラッシュ
  "\u005c\u005c"    →  バックスラッシュ
  "\u00a5"          →  円マーク

ブラウザからの入力時に、円マークとバックスラッシュを入力・区別できるのかというと、
とりあえずファイルで作成したものをコピペで両方入力可能でした。
円マークもバックスラッシュも両方画面上は円マークとして表示される(日本語フォント)が、
サーバ側で取得すると判別可能なためString.replaceAll等で置換可能ですね。

2011年6月16日木曜日

eclipseでリモートデバッグ

eclipseでリモートデバッグ方法メモ

▼リモートのJVM起動オプションに下記を追加
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address
=12345


▼eclipse
「eclipseメニューの実行」→「構成及びデバッグ」→「リモートjava
アプリケーション」→右クリックして新規→
・「プロジェクト」 デバッグするプロジェクトを指定
・「接続タイプ」 標準(ソケット接続)
・「ホスト」 ホストを指定
・「ポート」 JVMオプションで指定したportを指定(上記の例だと12345)
→「適用」→「デバッグ」

JVMのリモートメモリ監視(jconsole)

JDK5.0以降、監視ツールなど有用なものがけっこう含まれています。
※JDK6.0で試しています

メモリはjconsoleが一番見やすいと思います。

JVM起動オブションに下記を追加
-Dcom.sun.management.jmxremote.port=ポート番号
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false    

portはwellknownポートでなければなんでもOK。
デフォルトでSSLとパスワード認証が有効になっているので無効にする。
jconsoleを起動して、リモートプロセスタブに[ホスト名:port]を入力して「接続」
でリモートJVMの監視ができます。

ここに色々のっていますね。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/management/agent.html#auth_disabled