JavaKoders - ClassPathModifier.javaKoders - ClasspathHacker.java 以下コードで、実行時に動的にクラスパスを追加できるようです。 import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; public class ClassPathModifySample { public static void main(String[] args) throws Exception { // JARファイルのURLを指定する addClassPath(new URL( "file:C:/hsqldb.jar" )); Clas
id:NAT_programming:20060729の続き。jarファイルからクラスを読み込むクラスローダーなら、J2SEのAPIにありそうだと思って探してみたら、案の定ありました。java.net.URLClassLoaderクラスです。URLでjarファイルまたはクラスディレクトリを指定するクラスローダー。 一応、使いやすくするためにjarをFileで指定するサブクラスJarClassLoaderを作ってみた。 package nat.champloo.classloader; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; /** * JARファイルからクラスを読み込むクラスローダー * @author N
作成日:2004.05.18 更新日:2005.06.21 今後、随時書き足して行きます。多分。 はじめに Java は動的にクラスのロードとアンロードが行われる仕組みになっている。 クラスはクラスファイルの形でディスク上やネットワークに配置され、プログラム中でそれらが本当に必要になった段階で JavaVM 上に読み込まれる。 またクラスはその使用が終わった段階でガーベージコレクターによって動的に回収され JavaVM からアンロードされる。 Servlet / J2EE サーバーなどはこの性質を利用して運用中にプログラムの一部を入れ替えるホットスワップ (Hot Swap) を実現している。 だがこの仕組みを実装するには少し工夫がいる。 この文書ではクラスのアンロードを実現するやり方について述べる。 1. クラスのロードとアンロードの基本的な仕組み クラスローダー Java VM がクラ
キャッシュ制御の方法 サーバサイドからキャッシュを制御するには、以下の2つの方法がある。 HTTPヘッダによる制御 METAタグによる制御 まずは、これらがどのようなものか、軽くおさらいしておく。 ■HTTPヘッダによる制御 HTTPプロトコルでは、HTTPヘッダにさまざまな情報を格納することができる。そのうちいくつかの情報は、キャッシュ制御のためのヘッダである。リクエスト(クライアント→サーバ)用のものと、レスポンス(サーバ→クライアント)用、リクエスト/レスポンス共通のものが存在する。 ■リクエスト用 If-Modified-Since 日時を指定する。指定した日時より新しいコンテンツの場合のみデータを返却するようにサーバに指示する。ローカルキャッシュの最新確認に使用される If-None-Match 指定したエンティティタグに一致しない場合のみコンテンツを返却するようにサーバに指示す
私が思いつく一般的と思われる方法は2つあります。 (1)WindowsのMutexを利用する方法 WinAPIのCreateMutex()を利用し、適当な名前のMutexを作成します。 Mutex作成の成功・失敗でプログラムの二重起動を判定します。 Windowsでは一般的な方法ですので情報は手に入れやすいと思います。 ただし、Java以外の言語でプログラムを書く必要があります。 (2)ファイルチャネルのロックを利用する方法 あくまでJavaのみでということでしたら、ファイルチャネルのロックを利用する方法があります。 説明しにくいのでサンプルコードを書きます。(あくまでサンプルなので、実際に使う場合はよくテストしてください。) 仮にVMが異常終了した場合でもロックはおそらく開放されます。(Windowsがプロセスの終了を検知するため) 万が一開放されなかった場合でも、Windowsの再起動
今回の概要 システムが応答しない、パフォーマンスが劣化したなどのトラブルが発生したときに、原因がなかなか掴めず、あたふたすることはないだろうか? 本稿では、Java EEトラブルシューティングの現場で役立つ7つ道具を紹介する ある日、突然電話が鳴る 用件は、「システムが不定期に停止する。よく分からないけど、どうやらJava EE部分がおかしい」とのこと。このような事態が発生したとき、やみくもに原因を調べ、いつまでたっても問題が解決できず、原因の一片も発見できないことが多々ある。 トラブルが発生した場合、ツールが充実していない昔は、開発者の経験と勘に頼るところが非常に大きかった。Webシステムが普及するいま、昔とは比べ物にならないほど、システムの数が増え、開発者数が増える一方、システム障害を切り分けられる職人的なエンジニアの人数はシステム数に比例して増えているわけではない。そのため、すべての
以下に、プロファイリング対象となるjavaサンプルプログラムとそのプロファイリング結果を示します。 プロファイル結果は適宜省略して記述します。また、文中、赤太文字で記述されている部分は説明のための補足であり、実際のファイルには出力されません。 → サンプルプログラム プロファイリング結果(sites指定): JAVA PROFILE 1.0.1, created Mon Jul 14 08:35:46 2003 Header for -Xhprof ASCII Output Copyright 1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved. (略) -------- THREAD START (obj=a3fb78, id
プロジェクト一覧からも分かりますが、TPTPを利用することで単体テスト、結合テスト、性能テストなどにおいて同じGUIインターフェイスを通したテストを実現することができます。このため、いくつかの異なるテストツールを複合的に使用するよりも、テストの効率化が容易であるといったところが優れているツールです。 TPTPは、さまざまなテスト機能を提供していますが、その中でも今回は「Testing Tools」プロジェクトが提供するJUnitテストコードの作成・実行に注目しながら解説していきます。 特徴 TPTPによるJUnitテストコードの作成・実行における特徴は以下になります。 ・GUIエディタでのテストスイートの編集・管理 テストエディタと呼ばれるGUIエディタを通してテストクラスおよびテストスイートの編集・管理が可能です。TPTPを利用したテストコードの生成では、テストコードを実行するために必要
Summary The Eclipse Test & Performance Tools Platform (TPTP) Profiling tool can be used to profile Eclipse plug-ins, local Java(TM) applications or complex applications running on multiple hosts and different platforms. The tool is tightly integrated with Eclipse, allowing profiling of applications running from within Eclipse. This article demonstrates how to use the TPTP Profiling tool to profile
Long ago, when Xerox defined the leading edge of the desktop GUI, applications flooded the desktop with top-level windows: main windows, alternative views, palettes, inspectors, dialog boxes spewing dialog boxes, editors, and on and on. A whole multitude of overlapping, titled, monochrome rectangles arranged in a way that mimicked a very messy, real-world desktop. Over time, our desire to simulate
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
2006.12.22 株式会社四次元データ 鈴木 圭 Java SE 6 Mustang 3章 デスクトップ関係 3.1. システム・トレイ機能 3.2. スプラッシュ・スクリーンの表示 3.3. 関連付けられたアプリケーションによる起動 3.4. JTabbedPane の改良 - タブに任意のコンポーネント 3.5. JTable のソーティング/フィルタリング 3.6. テキスト・コンポーネントの印刷機能 3.7. デプロイメント 3.8. その他の変更 Mustang ではデスクトップ関係の機能が大幅に改善されました。中でもシステム・トレイやスプラッシュ・スクリーンの表示、ネイティブで関連付けられたアプリケーションの起動など、デスクトップ環境との統合に力が入れられています。Swing 関係では JTable のソーティング/フィルタリング機能や SwingWorker の標準搭載な
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く