Javaバイトコード変換による構造リフレクションの実現  [in Japanese] Structural Reflection by Java Bytecode Instrumentation  [in Japanese]

Access this Article

Search this Article

Author(s)

    • 千葉 滋 CHIBA Shigeru
    • 東京工業大学大学院情報理工学研究科/科学技術振興事業団さきがけ研究21 Graduate School of Information Science and Engineering, Tokyo Institute of Technology / PRESTO, Japan Science and Technology Corporation

Abstract

Java標準のリフレクションAPIではプログラムの内観(introspection)を行えるが,プログラムの振舞いを変更することはできない.本論文は,リフレクションAPIを拡張して,プログラムの振舞いを変更できるようにすることを提案する.従来の動作リフレクションに基づいた拡張と異なり,本論文で提案するJavassistは構造リフレクションに基づく.標準のJava仮想機械(JVM)を使ったまま,実行性能の低下をともなわずにリフレクションを実行できるようにするため,JavassistではクラスがJVMにロードされる前でのみ構造リフレクションを許す.本論文はJavassistの設計上の要点を示し,関連する研究との違いを明らかにする.The standard reflection API of Java provides the ability to introspecta program but not to alter program behavior. This paper presents anextension to the reflection API for addressing this limitation.Unlike other extensions enabling behavioral reflection, our extension called t Javassist enables structural reflection in Java. For using astandard Java virtual machine (JVM) and avoiding a performanceproblem, Javassist allows structural reflection only before a class isloaded into the JVM. This paper presents the design principles ofJavassist, which distinguish Javassist from related work.

The standard reflection API of Java provides the ability to introspect a program but not to alter program behavior. This paper presents an extension to the reflection API for addressing this limitation. Unlike other extensions enabling behavioral reflection, our extension called Javassist enables structural reflection in Java. For using a standard Java virtual machine(JVM)and avoiding a performance problem, Javassist allows structural reflection only before a class is loaded into the JVM. This paper presents the design principles of Javassist, which distinguish Javassist from related work.

Journal

  • Transactions of Information Processing Society of Japan

    Transactions of Information Processing Society of Japan 42(11), 2752-2760, 2001-11-15

    Information Processing Society of Japan (IPSJ)

References:  20

Cited by:  1

  • Implementation Techniques for Faster Reflective Computing  [in Japanese]

    CHIBA Shigeru , TATSUBORI Michiaki , SATO Yoshiki , NAKAGAWA Kiyoshi , Shigeru Chiba , Michiaki Tatsubori , Yoshiki Sato , Kiyoshi Nakagawa , 東京工業大学数理・計算科学 , 日本アイ・ビー・エム東京基礎研究所 , 東京工業大学数理・計算科学 , 東京工業大学数理・計算科学 , Dept. of Mathematical and Computing Sciences Tokyo Instiute of Technology , IBM Tokyo Research Laboratory , Dept. of Mathematical and Computing Sciences Tokyo Instiute of Technology , Dept. of Mathematical and Computing Sciences Tokyo Instiute of Technology

    Computer Software 21(6), 427-437, 2004-11-25

    J-STAGE  References (44) Cited by (1)

Codes

  • NII Article ID (NAID)
    110002726056
  • NII NACSIS-CAT ID (NCID)
    AN00116647
  • Text Lang
    JPN
  • Article Type
    Journal Article
  • ISSN
    1882-7764
  • NDL Article ID
    5975490
  • NDL Source Classification
    ZM13(科学技術--科学技術一般--データ処理・計算機)
  • NDL Call No.
    Z14-741
  • Data Source
    CJP  CJPref  NDL  NII-ELS  IPSJ 
Page Top