X



【IT】無償のコードエディタVSCode、実行中のJavaアプリのコードを動的に書き換えて修正できるホットコード置換を実現
■ このスレッドは過去ログ倉庫に格納されています
0001ノチラ ★
垢版 |
2018/02/05(月) 13:05:29.30ID:CAP_USER
VSCodeで、JavaのHot Code Replacement(ホットコード置換)がサポートされた。ホットコード置換を用いると実行中のアプリケーションのコードを実行したまま動的に修正できるため、トライアンドエラーが容易になる。


アプリケーションのコードを修正した場合、その修正を反映させるためには、コンパイル型の言語であれば再コンパイルする必要があり、インタープリタ型の言語であればアプリケーションの再実行が必要となります。

しかしコードを書き換え、実行し、動作を確認するということを何度も繰り返す開発作業では、いちいち再コンパイルをしたり、再実行する手間はなんとも面倒です。

そこでJavaには、「Hot Code Replacement」(ホットコード置換)と呼ばれる機能が用意されています。これはコードを再コンパイルすることなく変更した内容をJavaVMに転送し、反映できるというものです。

FAQ What is hot code replace? - Eclipsepedia
アプリケーションが実行中であっても修正内容が動的に反映できるため、再コンパイルどころかアプリケーションの再スタートも必要ありません。

例えば、実行中のアプリケーションにループのコードがあったとして、ループカウンタの増分を変更するとアプリケーションに動的に反映されて、ループが早く終了する、といったことが可能になります。

下記はJavaのHot Code Replacementを紹介する動画です。ゲームを実行したままスペースインベーダーの動きを制御するコードを書き換えており、書き換えるたびに実行中の画面内のインベーダーが下がったり上がったりする様子を見ることができます。
https://vimeo.com/34306396

Visual Studo Codeがホットコード置換に対応
ホットコード置換は、Java開発環境として知られるEclipseでは以前から対応していましたが、その機能がマイクロソフトがオープンソースで開発しているVisual Studio Code(以下VSCode)にも搭載されたことが、Visual Studio Blogの記事「Hot Code Replacement for Java comes to Visual Studio Code | The Visual Studio Blog」で紹介されました。

最新のVSCodeでは、そのほかにもJavaの単体テストのためのフレームワーク「JUnit」サポート機能やTomcat対応、Maven対応の強化なども盛り込まれており、Javaの開発環境が強化されています。
http://www.publickey1.jp/blog/18/vscodejavahot_code_replacement.html
0008名刺は切らしておりまして
垢版 |
2018/02/05(月) 15:05:25.39ID:cN+m6W2V
>>4
アホらしい。

マネージドコードなら基本的にはできて当たり前。

お前の主張ならインタプリタはマルウェアに利用されることになる。現実はインタプリタはマルウェアには強い。
0010名刺は切らしておりまして
垢版 |
2018/02/05(月) 18:30:16.95ID:wFdV4pYd
>>2
今時Vista使ってるお前の方がゴミだろぼけ
0011名刺は切らしておりまして
垢版 |
2018/02/05(月) 18:34:58.39ID:F3tYruPq
すごい危険な気がする
0013名刺は切らしておりまして
垢版 |
2018/02/05(月) 18:41:52.44ID:TJ/0vwtw
Javaも禄に書いたことがない自称SEが寄ってたかって無知を曝け出してもよいスレはここですね?
0014名刺は切らしておりまして
垢版 |
2018/02/05(月) 18:43:46.58ID:j57apQV2
実行中にというとLispの専売特許のようなものだったのに
0016名刺は切らしておりまして
垢版 |
2018/02/05(月) 19:02:08.07ID:DKhU4B6p
C#/F#もやってくれ
0021名刺は切らしておりまして
垢版 |
2018/02/05(月) 22:56:37.24ID:I7/UxwRo
自分自身のコードを書き換えるコードで
コンピューターの処理能力で力技で
一瞬で何百万回、何千万回と
コードの修正、改良をして
人間が手を付けられない危険な
プログラムが生まれちゃったり
しないの?
0022名刺は切らしておりまして
垢版 |
2018/02/05(月) 22:59:15.51ID:e4scSmmF
flashにもはよ
0024名刺は切らしておりまして
垢版 |
2018/02/05(月) 23:40:28.27ID:xbft4Jog
>>21
15年以内にそう言うのが生まれ始めて、
30年以内に身近なシステムがそれにほぼ置き換わると予想されてる
0025名刺は切らしておりまして
垢版 |
2018/02/06(火) 15:57:58.46ID:Z/tktejz
>>2
いまだにVista使う気持ちは分かる
VB6のIDEが動作するのがVistaまでだからVBをメンテするときだけVMで起動してるわ
■ このスレッドは過去ログ倉庫に格納されています