作成 2002/1/12 なんとなくリフレクションについて簡単にまとめてみようと思います。 リフレクションとは? とりあえず動かしてみる(あそぶ) 例1:ToStringer 例2:FormatUtil DynamicProxy 1.4はどんだけ速い?(書かないうちに1.5になりそう) リフレクションとは? リフレクション(Reflection)は、 Javaクラスからフィールドやメソッドなどの情報を取得する APIです。 取得したメソッドを実行することもできます。 APIはjava.lang.reflectパッケージにあり、 クラスも少なく、ちょっと使う分には、それほど難しくありません。 使われる場面は、主にフレームワーク、開発ツール だと思われますが、ちょっとしたユーティリティークラスでも 使うと便利な場合もあります。 使うと便利なんですが、コードが複雑になる (しかもコンパイラやリフ
Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい本、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた
この連載では、Javaのデータベース・アクセスAPIである「JDBC」の機能を、サンプルコードを交えて解説していきます。また、J2EEにおけるJDBCの位置付けや、JDBCを利用するさまざまなテクノロジについても解説していく予定です。前提知識としては、Javaとリレーショナル・データベースに関するベーシックな知識があれば十分です。 今回は、JDBCの概要について簡単に触れた後、JDBCのアーキテクチャについて解説します。 JDBCとは? JDBCは、一言でいってしまうなら「リレーショナル・データベース(および、ほとんどすべての表形式のデータ)にアクセスするための、標準Java API」です。JDBCは「Java Database Connectivity」の省略だといわれています(が、実はJDBC仕様には明記されていません)。 企業内のクリティカルなデータは、多くの場合リレーショナル・デー
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー
【概要】 SoftReference/WeakReference/PhantomReference が含まれる java.lang.ref は JDK1.2 の頃に導入されたパッケージであるが、昔から用意されている API の割にあまり使われていない。このパッケージを利用するとプログラムからガーベージコレクタとの対話を可能になるため、開発の中でヒープの動作をプログラム的に調整したい場合には便利である。 【キーワード】 リファレンス、reference、java.lang.ref、SoftReference、WeakReference、PhantomReference、ReferenceQueue、ガーベージコレクション、ガーベージコレクタ、GC、Garbage Collection、Garbage Collector 1. 参照オブジェクトの種類 (1) ソフト参照(SoftReferen
わんくまでは珍しいJavaを中心とした日記です 目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 218 記事 - 0 コメント - 14580 トラックバック - 28 書庫 2008年7月 (1) 2008年2月 (2) 2008年1月 (10) 2007年12月 (9) 2007年11月 (5) 2007年10月 (27) 2007年9月 (25) 2007年8月 (27) 2007年7月 (29) 2007年6月 (15) 2007年5月 (23) 2007年4月 (37) 2007年3月 (8) 日記カテゴリ Java (rss) JavaScript (rss) SQL (rss) WEB (rss) その他 (rss) いろいろリンク The Herringroe Projects(Javaで色々) わんくまトップ 古い方のブログ Javaには参照
ガベージコレクタの仕組みを理解する チューニングのためのJava VM講座(後編) メモリ管理作業をプログラマに代わって行うガベージコレクションを理解することは、Javaのパフォーマンス確保に非常に重要だ 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9) ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27) 「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6) ログ基盤を実現するFluentd+
多くの人はこうやればいいと思っているかもしれません。 java.util.Date d = new java.util.Date(); java.sql.Date d2 = new java.sql.Date(d.getTime());確かにこれでも一応変換はできますが、きちんと変換してはいません。java.sql.DateのJavadocを見るとこう書いてあります。 SQL DATE の定義に対応させるために、java.sql.Date のインスタンスでラップされたミリ秒の値は、インスタンスが関連した特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定することで、「標準化」する必要があります。 つまり、java.util.Date#getTime()をjava.sql.Dateにただ渡すだけでは不十分で、「特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定しなければいけない」のです。そ
The page you are trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for.
lib/log4j/ これらのJARをクラスパスに通します。 IoCを試す ではさっそく作っていきましょう。まずは基本のIoCな機能をためします。 テスト用のビーンとインターフェイス まず、今回繰り返し使う、簡単なビーンとインターフェイスを作ります。 IFoo.java package bean; public interface IFoo { void doSomething(); } Foo.java package bean; public class Foo implements IFoo{ private String message = ""; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } publ
作成 2002/7/9 更新 2002/12/1 Ant概要 Antとは? 一連の処理を自動化 バッチファイル makeツール Antの特徴 Antの使い方 インストール Hello Ant プロジェクトとターゲットとタスク タスクを探す プロパティー パス類似構造 Antの使い方(2) コンパイルするぞ 実行するぞ 様々なタスク XMLの妥当性検査(XMLValidateタスク) ディレクトリ以下の.jarをクラスパスに含める システムコマンドの実行(Execタスク) サブルーチン的に使う(AntCallタスク) 自動テスト(CVS(VSS)→JUnit→JUnitReport) ENTITYでファイルを分割 独自タスク Myタスクの作成 MatchingTaskの利用 JDBCTaskの利用 その他 XDocletの利用 Antの概要 ここでは、Antの概要を説明します。 Antとは?
ここで頭の中を整理する為にJVMのメモリ構造に関して触れておきます。JVMの管理するメモリ領域には大きく2つの区画があり、それぞれスタック・ヒープエリアと呼ばれます。ヒープヒープエリアは主にインスタンスを管理するメモリ領域です。ヒープエリアにはメソッドエリアと呼ばれるクラスの情報やメソッドの情報などの静的な情報を格納する区域があり、ここはGCの対象とはなりません。インスタンスが生成される時はメソッドエリアに格納されているクラス情報を雛形として実データが作成されます。スタックスタックは主にプログラムの実行を制御する為の領域で処理(命令・メソッド)が格納されます。スタックに詰まれた処理は上から順番に実行され、実行済みの処理は破棄されていきます。これはいわゆるLIFO(Last-In-First-Out: 後入先出) のスタック(Stack:待ち行列)と呼ばれる構造です。単純に言えばソースコード
Fedora5/java last-modified: 2006-04-19 (水) 21:58:23 (907d)[変更箇所] Fedora5 Fedoraのjava環境 † Fedora5ではjava環境が大幅に変更されています。詳しくはリリースノートを参考にしてください。 リリースノート http://fedora.redhat.com/docs/release-notes/fc5/ja_JP/ coreパッケージにEclipseが含まれている事もjava関連のサポートが充実した証拠でしょぅ。国際化パッケージこそありませんが、Eclipseがまともに動作し、apacheなどが提供する、antやlog4jにjunitなどもcoreに含まれておりインストールが容易になっています。サードパーティのライブラリは、実装は/usr/lib/gcjに、ドキュメントは/usr/share/java
J2EEがミッションクリティカルな分野に適用されるようになり、Javaのパフォーマンスチューニングの重要性はさらに高まっています。パフォーマンスチューニングにはさまざまなパラメータがありますが、中でもJava VMに関連するチューニングの効果は大きいといわれています。本稿は、Java VMに関連するチューニング手法を学ぶための前提知識を提供することを目的にしています(編集部)。 Java VMに関連するチューニングを行い、J2EEアプリケーションのパフォーマンスを上げるためには、Java VMについて詳しく知る必要があります。本稿は2回に渡ってJava VMの基本構造と動作原理を詳細に解説しますが、内容を理解するためにはプログラムがコンピュータ上で動作する基本原理とJava VMの基本用語を知っている必要があります。Java VMの基本用語に関しては、「実行スピードに挑戦するJavaアーキ
SDAS(エスダス)(注1)は、開発期間短縮を実現し、お客様のビジネスのスピードアップに貢献する為の総合システム開発体系です。 新しい「SDAS」は、「短期間・高品質」のシステム開発を実現するとともに、「オープン性・国際標準」「ライフサイクル全般でのシステム最適化」「エンジニアリングとマネジメントを両輪とするプロジェクト遂行」を特長としています。 これにより、システム開発期間を従来と比べ、概ね半減することが可能となり、ITの観点から、お客様のマーケットの動きを先取りしたビジネス展開を支援していくことで、競争優位確保に貢献します。 システム開発を「要件定義」「設計」「構築」「テスティング」の4フェーズに分け、それぞれのフェーズを最短化する開発手法、標準技術に基づくツール群およびテンプレートを適用することで、トータルの期間短縮を実現します。 注1 SDAS: System Developmen
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く