Javaは簡単にデコンパイルできるから簡単にノウハウが流出してしまう・・・みたいな話を聞かなくなって久しいですね。対策としては難読化やAOTコンパイラによるネイティブコードへの変換があるわけですが、今回は難デコンパイルの実装コードを実用 ...
JVMを起動するためのコマンド。JVMは起動後、指定されたクラスをロードし、このクラスのmainメソッドを呼び出す。 クラス名の後に続ける引数の事を「起動パラメータ」、「コマンドライン引数」と呼ぶ。 起動パラメータは、スペースで区切って複数指定 ...
Here's a quick look at the three types of class loaders and everything you need to know to work with them in your Java programs. Java class loaders are a component of the Java virtual machine (JVM) ...
Javassistで、クラスファイル変換を使ってクラスの中身を変えてしまいましょう。 確かに、addfieldとaddmethodがプログラム実行後のTestBean.classに追加されていることがわかります。実に簡単にクラスが操作できてしまうでしょう? 若干、ソースコードが元の ...
先月に引き続き、今月もNIO2で導入されたファイルシステムインタフェースについて紹介していきます。 簡単に前回のおさらいをしておきましょう。 新しいファイルシステムインタフェースは、既存のFileクラスの欠点を解決すべく導入されたAPIです。
前回はJavaで作成された統合開発環境である 「NetBeans IDE (以下、 NetBeans⁠)⁠」について、 その主な機能とインストール方法について紹介しました。今回はそのNetBeansを用いて実際にJavaプログラムを作成・ 実行する方法を解説します。 NetBeansを起動すると ...
ダブルクリックで動く簡単なアプリケーションを作ってみましょう。 これでプログラムそのものはだいたいわかりました。コンパイルし動かして動作も確認できたはずですね。では、今回のプログラムを「ダブルクリックして実行できるプログラムファイル ...
先週はjava.util.ResourceBundleクラスの基本的な使い方を解説しました。 今週はResourceBundleクラスの新しい機能について紹介していきます。 といっても、ResourceBundleクラス本体はそれほど変更がありません。ではどこが変更されたかというと、ResourceBundleクラスの ...
Javaではさまざまな方法でファイルのコピーを実装できる。Javaプログラマなら誰しも一度は、どの方法がもっとも高速にファイルコピーを実現できるか考えたことがあるだろう。プログラマにとって実行速度はいつでも最大の関心事のひとつだ。 File Copy in ...
OpenJDKでは6カ月ごとに新しいメジャーバージョンをリリースしており、Java技術のイノベーションスピードが速くなっています。しかし、イノベーションと互換性は、トレードオフになることがあります。 Java言語・ランタイムは、他のプログラミング言語に ...