タグ

Javassistに関するmamatumoのブックマーク (5)

  • Javassist or cglib - Kazzz's diary

    Swingアプリケーション用のバイトコードエンハンサに何を使うかの検討だが、結論としてはデフォルトにJavassistを使い、場合によってはcglibも使えるようにシステムプロパティの値によってエンハンサ(を利用したAOP用プロキシの実装)を選べるようにした。※1 Javassistを選択する理由だが、基準として重要視する二つの指標を比べたところ、 配布するjarのサイズ cglib << Javassist 実行時の性能 Javassist >> cglib という結果が出たからだ。 アプリケーションをJava Web Startで配布することを考えると、jarファイルのサイズは小さいに越したことは無い。その点cglibは316KBとJavassistの584KBに比べて200KB以上小さいのは魅力だが、いくつかのベンチマークテストを行った結果ではJavassistがcglibを圧倒した

    Javassist or cglib - Kazzz's diary
  • Javaプラットフォームにおけるコード自動生成の考え方の変遷 - 達人プログラマーを目指して

    普段は上位のフレームワークや製品の中に隠蔽されているため、一般の業務アプリケーションのプログラマーには気づきにくいことですが、同じJava言語の環境といっても、時代によってコード自動生成に対する考え方は変わってきています。建材が木、石、鉄筋コンクリートと変化すれば当然建物の工法や設計も異なるように、フレームワークやソフトウェアのアーキテクチャー、開発手法は技術の進歩に合わせて望ましい形に進化させていかなくてはなりません。 ここで、Javaプラットフォームの自動生成に関する技術動向について簡単にまとめてみたいと思います。 昔は静的なソースコード生成が中心 昔といってもほんの10年くらい前のことですが、JDK1.2やJava IDL(CORBA)、RMI、EJB1.xなどが使われていた時代のことです。一部の先進的な研究を除くと、この時代にJavaで自動生成というと一般的にソースコードを自動生成

    Javaプラットフォームにおけるコード自動生成の考え方の変遷 - 達人プログラマーを目指して
  • Javassistにさわる

    作成 2004/9/9 Javassistにさわってみたメモ。ちょっとだけ。 Javassistとは? Javaassistとは、Javaバイトコードエンジニアリングライブラリです。カタカナにするとなんですが、クラスファイルを読みこんで編集するツールです。現在はJBossプロジェクトのサブプロジェクトとして開発されており、JBossAOPのコアとなる技術です。Javassistを作っているのは、千葉滋さんという方らしいです。ちなみに名前は、JavaAssistでなく、Javassistです。 JavassistのWebページ http://www.csg.is.titech.ac.jp/~chiba/javassist/ インストール JavassistはsourceforgeのJBossダウンロードページからダウンロードします。 Javassistのダウンロード https://sour

  • pshared.net

    This domain may be for sale!

  • Javassistでクラスのバイトコードを直接書き換える

    クラスファイルを直接操作するためのフレームワーク「Javassist」を利用すれば、既にできあがっているクラスを操作し改変することが可能になります。この機能を利用し、XMLファイルからBeanクラスの定義を読み込んでクラスファイルを自動生成する手法について考えてみます。 はじめに Javaのクラスファイルというのは、ソースコードからコンパイルして作成する――これが、長い間の常識でした。しかし昨今、この常識を覆すような技術が次々と登場しています。最近のフレームワークなどを見ていて、ふと不思議に思ったことはありませんか? XMLで必要な情報を定義すると、自動的にそのクラスが生成されたり、既にあるクラスの機能が書き換わったりする。プログラマがソースコードを書くこともなく、必要なクラスが作成されてしまう。そうした「クラスの自動生成」の技術を大幅に進歩させたのが「クラスのバイトコードを直接書き換える

    Javassistでクラスのバイトコードを直接書き換える
  • 1