staticについて調べたのですが、その内容があっているのかどうか
間違い・アドバイスなどありましたら是非伺いたいと思います。
よろしくお願い致します。
------------------------------------------------------------
シェルから起動されるJavaでバッチ処理を行うアプリケーションを
作成していまして、サーバマシンの複数のプロセスから起動されます。
(つまりjavaコマンドが複数回同時に実行されます)
1回の実行の間保持しておきたい値をstaticなクラス変数に格納しています。
そしてそれは、1回の実行の間はずっと同じなのですが、
プロセスごとに異なる値です 。
この時、この1回の実行の間に保持しておきたい"static"な変数は
次のプロセスから実行された時に書き換えられるのか?
という疑問がでたのが始まりです。
マルチスレッドの処理はありません。
------------------------------------------------------------
調べたところ、
■1台で2つ以上のJavaアプリケーションを実行する場合、
それぞれのアプリケーションを個別にjavaコマンドで起動・・・
=>javaコマンド毎に"個別のJVMが"それぞれのプロセス上で動作する。
■フィールドをstatic指定するとクラス変数となり、
ロードされたクラスごとに"JVM上に"1つしか存在しない変数となる。
・以上の2点から、staticの変数がメモリ上で共有されるのは
1つのJVM(1プロセス)内での話しであり、他のプロセスから
その値を書き換えられる事はないと考えています。
そして、1プロセス内でのマルチスレッドな処理を行っている場合、
staticな変数の値は注意が必要だけど、
複数プロセスでシングルスレッドな処理を行っている場合、
(性能などの問題上staticにするかどうか良し悪しはあるとしても)
staticな変数の値の不整合について
考慮は不要と考えても宜しいのでしょうか?
経験が浅い為、確信が持てずにいる状況です。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Java Java 配列<選挙> 4 2023/07/31 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ShellExecuteの使い方について
-
MacOS:ターミナルではNPMのコ...
-
C#からバッチファイルを起動で
-
コンパイルできるのに実行できない
-
SYSTEM関数等を用いて複数のコ...
-
jarファイルをバッチで実行させ...
-
CloudSticky.jarが起動しない。
-
ACCESSでタイトルバーを非表示...
-
javaからバッチファイル実行
-
staticのメモリ共有について
-
Eclipseのアンインストールの仕方
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
シンボルが見つかりませんとい...
-
split関数で区切り文字がない場合
-
vs codeはオフラインでも使用で...
-
classファイルについて
-
Eclipse(JAVA)のデバッグで他...
-
JAVAにのeclipseに関する質問で...
-
マイクラjavaでForgeを入れたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでタイトルバーを非表示...
-
VBプログラムから「管理者とし...
-
ShellExecuteの使い方について
-
CloudSticky.jarが起動しない。
-
windowsのタスクスケジューラを...
-
ブレークポイントを設置してな...
-
32bitアプリから64bitアプリの...
-
staticのメモリ共有について
-
実行したらがメモ帳出て来てしまう
-
ShellExecuteでDOSコマンド実行...
-
batよりjava起動
-
C# コマンドプロンプト画面で表...
-
jarファイルをバッチで実行させ...
-
コマンドを実行してコマンドラ...
-
Tomcatのメモリー使用量が知りたい
-
windows power shell icacl
-
SYSTEM関数等を用いて複数のコ...
-
コンパイルできるのに実行できない
-
C#からバッチファイルを起動で
-
「SimpleEntry を型に解決でき...
おすすめ情報