2012-03-14 7 views
3

終了する前にアプリケーションの現在の状態を保存することはできますか?次回アプリケーションを起動すると、中断したところからすぐにピックアップされますか?文字通り、以前のセッションのスナップショット(VirtualBoxの状態保存機能のようなもの)。Java:アプリケーションの再起動時にjvm状態を維持して復元することは可能ですか?

+0

FYIこれは継続として知られています。 –

答えて

1

アプリケーションの実行状態を維持することは可能ですが、これを達成するにはアプリケーションを特定の方法で記述する必要があります。

  • 1つのアプローチは、Javaの継続実装を使用することです。 (これをサポートするJavaライブラリの詳細とポインタについては、Googleの「continuations java」を参照してください)。

  • もう1つの方法は、オブジェクトの直列化を使用することです。ただし、これはヒープデータ構造のスナップショットのみです。このようにして、スレッドスタック上の実行状態などを保存することはできません。

Javaのどのエディションでも汎用のオールJVMまたはアプリケーションのチェックポイント設定はありません。

0

すべての変数とデータを、Serializableを実装しているクラスに貼り付けることができるかどうかを確認してください。JVM終了時にデータをファイルに保存してください。プログラムがバックアップを開始したら、ファイルからデータをロードして実行します。それは私がやったことです、あなたのアプリケーションにこれが適切かどうかはわかりません。

関連する問題