クリスマスも近いですね。さて、クリスマスといえばどういうわけか黒魔術への需要が一気に高まる時期のようですので、Java Advent Calendar -ja 2010の12月20日はJavaの黒魔術をお送りします。昨日はid:celitanでした。 今日紹介する黒魔術はバイトコードインジェクションツールであるBytemanです。 この前ですね、お仕事で「HTTPレスポンスのヘッダが勝手に想定外のものに書き換わる」という不思議現象の相談を受けたんですね。Servletの中ではsetHeader("Foo", "bar")ってしてるのに、実際のレスポンスは"Foo: hoge"とか返ってる。アプリのJavaソース調べてもそんなことしてなさそうだし、Tomcatのソース見てもsetHeader()呼び出しでは何のログも出さないっぽいのでログを有効にしても原因がわからなさそう。なんだこれはとか思
日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート
GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu
Understanding Weak References Posted by enicholas on May 04, 2006 at 05:06 PM | Comments (9) Some time ago I was interviewing candidates for a Senior Java Engineer position. Among the many questions I asked was "What can you tell me about weak references?" I wasn't expecting a detailed technical treatise on the subject. I would probably have been satisfied with "Umm... don't they have something to
GC¥¢¥ë¥´¥ê¥º¥à¾ÜºÙ²òÀâ ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹ ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ GC ºÇ½ª¹¹¿·¡§ author_nari 2010ǯ03·î14Æü(Æü) 20:47:11ÍúÎò Tweet ¤³¤ÎWiki¤¬Ìܻؤ¹½ê GC¤È¤Ï¡© GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö ¼Â¹Ô»þ¥á¥â¥ê¹½Â¤ ´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ Reference Counter Mark&Sweep Copying ±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ IncrementalGC À¤ÂåÊÌGC ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È·¿GC LazySweep TwoFinger Lisp2 Pa
Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my
id:n_shuyo:20060814:1155547412 と id:n_shuyo:20060815:1155613198 の続き。 pure Java な SSH-2 実装である JSch で ssh のコマンド実行を実装してみたが、Ganymed SSH-2 と比べてもコーディング上の特に大きな違いはなかった。 一方、ファイル転送では2つのライブラリの違いが大きく出る。 Ganymed では scp が実装されているが、JSch では scp の実装は行われていない( ChannelScp とやらを実装すれば対応できそうだし、実際 sample ディレクトリには ChannelExec を使って scp を記述した場合のサンプルコードが納められているので、おそらくポリシーとしてあえて scp は実装していないのだろう)。その代わりというのも変だが、sftp が実装されており、かなり
今月で今やってる仕事の契約が切れるので,ここで培ったノウハウなどをメモしておこうと思う。 しかし,今後この手の開発系の仕事ができるとは限らないってのが悲しいところ。 プロジェクトポータルまわり とりあえず,Subversion(SCM), Trac(ITS/Wiki), Hudson(CI)は必須。この3セットがないプロジェクトなんてうんこ。 とにかくTrac-Subversionの連携が強力なので,Subversion以外のSCMは無視していい。HudsonはCIつうよりプロジェクトダッシュボードとして使うのが吉(数あるプラグインを有効利用しよう)。 marsのメモ - Trac marsのメモ - MacroBazaar - The Trac Project marsのメモ - 角谷HTML化計画(2006-04-25) marsのメモ - trac-post-commit-hookが
作ったサンプルをウィジェットとして実行する これをDeskletへ組み込むに当たり、DeskletFactoryクラスを用意して、関連するパーツを一式作成してDeskletへ登録するようにしました。 desklet.getContext().getDockingContainer()で取得できるコンテナへ登録したパーツは、ExitメニューやSetupメニューがあるドック領域に表示されます。desklet.getContext().getContainer()で取得できるコンテナへ登録したパーツは、ドックの右側の普段は隠れているコンテナに表示されます。 package sampleclock; import org.glossitope.desklet.DeskletContainer; public class DeskletFactory { public static Clock cr
手順概要 Tomcatへのプログラム配置・実行手順は以下のようになります。 JSP/サーブレットプログラムを作成する。 サーブレットプログラムをコンパイルする。 プログラムを配置する。 Tomcatの設定を行う。 プログラムを実行する。 1. JSP/サーブレットプログラムの作成 実行するJSP/サーブレットプログラムを作成します。今回は実行すると現在の時刻を表示するプログラムを使用します。JSP/サーブレットの記述方法、文法の解説はここでは省略します。 【JSPプログラム】HelloJsp.jsp <HTML> <BODY> <%= new java.util.Date() %> </BODY> </HTML> 【サーブレットプログラム】HelloServlet.java import java.io.*; import java.text.*; import java.util.*;
本TIPSで紹介するiTextは、PDFをJavaで扱うためのライブラリです。これを使えば、PDFファイルを作成したり、ブラウザにPDFを出力したりすることができます。しかもiTextはオープンソースで開発されており、使用に際してはMPLまたはLGPLのいずれかのライセンスを選択できます。 セットアップ iTextはjar形式のライブラリのため、必要なファイルをクラスパスへ追加するだけで利用できます。iTextの本体は、itext-x.x.jaです。これを以下のURLよりダウンロードしてください。 ・ http://www.lowagie.com/iText/download.html ダウンロードできたら、このjarファイルをクラスパスへ追加します(最も簡単な方法は、Javaの拡張ディレクトリへjarファイルをコピーすることです)。 これだけでiTextは利用可能ですが、本体には日本語フ
発売日: 2007年04月 著者/編集: ケン・アーノルド, ジェームス・ゴスリン 出版社: 桐原書店 発行形態: 単行本 ページ数: 767p ISBN: 9784894717169 注記: 原書第4版 目次(「BOOK」データベースより) はやめぐり/クラスとオブジェクト/クラスの拡張/インタフェース/ネストしたクラスとインタフェース/列挙型/トークン、値、変数/型としての基本データ型/演算子と式/制御の流れ/ジェネリック型/例外とアサーション/文字列と正規表現/スレッド/アノテーション/リフレクション/ガーベッジコレクションとメモリ/パッケージ/ドキュメンテーションコメント/I/Oパッケージ/コレクション/その他のユーティリティ/システムプログラミング/国際化とローカリゼーション/標準パッケージ 著者情報(「BOOK」データベースより) アーノルド,ケン(Arnold,Ke
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く