タグ

ブックマーク / qiita.com/cilto (1)

  • 「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita

    はじめに この記事はシスコ同志によるAdvent Calendarの25日目として投稿しています。 幸いタイトルのような無茶振りには遭ったことはありませんが、シスコではJavaバイトコードを操作する技術を使った監視製品を開発しているので、その技術について記事でサンプルを交えて紹介します。 この記事を読んで出来ること おわかりでしょうか?HelloWorldはAliceに対して挨拶するプログラムだったのに、-javaagent:agent.jarというオプションを付けて実行すると、Malloryに挨拶するプログラムに変わってしまいました。 このカラクリはJVMが読み込んだJavaバイトコードを実行時に書きかえ、変数の値をAliceからMalloryに変えています。HelloWorldのソースコードも、コンパイル後の.classファイルも変えていないにも関わらず、実行時に処理を変更できてしま

    「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita
    ura_ra
    ura_ra 2020/12/26
  • 1