![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
(1)サーバ側のローカルファイルにある設定ファイル情報を
staticなフィールドのHashTableに保有するためのfinalなクラスがあります。WEB-INFのclassesの下にあります。
(2)、(1)に情報を格納するHttpServletを作成しました。
(3)クライアントアプリケーション(GUIのjavaアプリケーション)が起動する時に、java.net.HttpURLConnection
を使用して、(2)のサーブレットを起動し、サーバ側の
(1)のクラス内に設定情報が保有されます。
(4)クライアントアプリケーションは必要に応じて
HttpURLConnectionやブラウザーランチャーという
ブラウザ起動用のクラスを使うなどして、
Webサーバにアクセスしますが、
その際、サーバ側では(1)のクラスに格納されている
情報を参照して処理をすすめることが多々あります。
上記を踏まえた上で質問したいのですが、
(1)に格納された情報がTom-catが再起動するまで、
永続的に存続してくれないと、仕様上困るんです。
ローカルのjavaアプリケーションでは、
クラスが一度ロードされると、
そのクラスのstatic領域はアプリケーション終了時
まで、生きています。それと同じ感覚でいるのですが。
tom-cat側でロードされたクラスのstatic領域の
情報は永続的に存在しつづけるのか
教えてほしいです。
また、これはテストではあまり確認しづらいです。
うまく、いってるように見えても、5、6時間
放置しておくと、情報が消えてるかもしれないです
そんなの確認できないです。
tom-catの挙動はあまりよくしらないです。
たとえば、なにかのサービスのタイミングとかで、
情報の初期化みたいなことが行われて、(1)の
情報が消えたりしないでしょうか?
そこらへん詳しい方にご確認したいのが、
今回の質問の趣旨です。
長々とすいません。
以上
No.1ベストアンサー
- 回答日時:
結論から言うと、static領域の情報は(無理やり消さなければ)永続的に存在します。
これを利用してご質問のようなことを実現するのは、Webアプリケーション開発では一般的なことです。
Webアプリケーションサーバ(ここで言うTomcat)は、Javaを動かすために、JavaVMを持っています。(持っているっていう言い方はおかしいかも…)
ですので、JavaVMに対してstaticな領域を確保したなら、それはJavaVMが終るまでstaticな領域として存在するはずです。
では、WebアプリケーションサーバにおいてJavaVMが終るのはいつか、というと、管理者がWebアプリケーションサーバを停止させた時(もしくは落ちた時)です。
ということは、意図的にWebアプリケーションサーバ(Tomcat)を停止させたり、何らかの事故で停止してしまったりしたときを除き、static領域は存在しつづけると考えてよいでしょう。
ローカルのjavaアプリケーションと同じ考えです。この場合、サーバのjavaアプリケーションであり、そのjavaアプリケーションがTomcat自体である、と考えればよいかと思います。(作成したServletたちは、Tomcatが動かす部品に過ぎないと考えればよいでしょう。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- C言語・C++・C# condaコマンドに対応したプロキシ設定が思うようにならないようです。 2 2022/04/11 17:15
- ノートパソコン ESETの初期インストールの仕方 1 2022/10/14 08:26
- Bluetooth・テザリング android(Galaxy S-22)、bluetoothの「この端末名」がコロコロ変わる 1 2022/12/17 13:15
- VPN 無料のwifiはなぜ危険性高い? VPN プライベートDNSモードにすれば安全? 2 2022/06/04 18:23
- デスクトップパソコン ん~…分からん 7 2022/06/10 10:47
- YouTube SMS認証が出来なくて乗っ取られたアカウントを取り戻せません。 2 2023/04/02 15:29
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IISワーカープロセスが原因でCP...
-
vba クリップボードクリアにつ...
-
C++からC#へ
-
unzip32.dllの利用について(64b...
-
Java(Servlet,JSP)を使用して...
-
素人ですけど・・・
-
他のアプリケーションへserver...
-
JSPファイルで生じるエラーをど...
-
visual stadio 参照問題
-
MSCOMCTL.OCXのアップデートの方法
-
Eclipseソース開発画面の行番号...
-
データベースのデータをTextBox...
-
Javaでのエラーについて
-
プログラミング 学習
-
gitでバージョン指定してダウン...
-
ロールバックの逆の言葉は?
-
マイクラ Ender IO 入れたらク...
-
中学生でいきなりJava
-
正規表現について質問です。 カ...
-
XCODE コンソールのクリア
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
IISワーカープロセスが原因でCP...
-
unzip32.dllの利用について(64b...
-
プラグインとパッチの違いは?
-
C++からC#へ
-
C#のメモリマップドファイルに...
-
32ビットのアプリで、64ビットO...
-
appleスクリプトでアプリケーシ...
-
ASP(VB).NETでの背景色変更
-
RTT計測
-
予約システムの開発ツール
-
VBとVBAの違いについて
-
意味が分からないエラー
-
Javaセキュリティによってブロ...
-
Javaの種類ってどんだけあるの?
-
作ったアプレットを自動でアプ...
-
帳票出力について
-
javaのソースの呼び方
-
ログオフ中でもアプリケーショ...
-
GDIはいつ使われていますか?
おすすめ情報