![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在、Java言語でネットワークプログラムを作っています。
このプログラムでは、どのIPが自分のPCとつながっているかを全て把握することが必要になってきます。
しかしながら、作り込んでいくうちにクラスが増えてきました。
そこで、IPアドレスなどのネットワーク情報を一気に管理できないかと考えた末、staticメンバを持ったクラスを作ろうという考えに至りました。インスタンスに依存しない、いわばDBのような形式を以て、管理できると考えたからです。
そこで、いくつか質問があります。
・「DBのような形式」というニュアンスで間違っていないか
・↑の質問とほぼ同じですが、staticフィールドは「グローバル変数の代わり」としてみてもよいか
以上の2点です。
ちなみに、そのstaticメンバを持つクラス内のメソッドは、staticフィールドの内容に関わるものなので、一応、オブジェクト指向の線からは外れていないと思います。
また、もし使い方が間違っているということでしたら、どのように全体的な情報を管理していくべきかご教授頂けると嬉しいです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>これを使うと、使う場所で毎回インスタンスを取得しなくてはならず、
>それだったら、staticメンバを用いた方が効率が良い
毎回実行される "インスタンスを取得する" の中身はインスタンスポインタの値をロードするだけです。
これはいずれにしろ必要な動作です。
それ以外にstaticメンバの場合と比べてSingletonパターンの場合はマシン命令のコール/リターンが余分に必要になりますが、プログラム実行時間全体から見れば0.01%程度以下?で全く無視出来るでしょう。
以下等を参考に、どちらか適当な方を使われたら良いのではないでしょうか。
http://www.atmarkit.co.jp/fjava/javatips/075java …
No.1
- 回答日時:
あなたのやりたいことを読むに、「Singletonパターン」で検索してみると幸せになれると思います。
この回答への補足
Singleton、初めて聞きました。
少し調べてみましたが、
これを使うと、使う場所で毎回インスタンスを取得しなくてはならず、
それだったら、staticメンバを用いた方が効率が良いと思うのですが、
どうなのでしょうか。
回答ありがとうございました。
今回はStaticメンバを使用して組むことにしました。
Singletonを知れただけでも為になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java final 1 2022/06/10 22:49
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- ビジネスマナー・ビジネス文書 管理組合・議案書内の理事長の挨拶文書について 1 2023/03/25 23:54
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 分譲マンション 管理組合・議案書内の理事長の挨拶文書作成にについて 2 2023/03/26 01:56
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の付け方
-
private static という変数の修飾
-
インスタンス参照でアクセスで...
-
static 参照するには??
-
文字列を日付に変換でParseExce...
-
Delphiでインスタンスが作成さ...
-
VC#での24ビットbmp形式での保...
-
オブジェクト参照がオブジェク...
-
VB6.0で、DLLを動的に参照したい
-
Javaのソースコードの解説お願...
-
複数の変数を宣言する時、同時...
-
マルチスレッド間でデータ交換...
-
C# クラスのインスタンスについて
-
static修飾子の使いどころ
-
「インスタンス」の意味をわか...
-
SQLを連続発行する時の正しい(?...
-
インターフェースとトレイトっ...
-
エクセルVBAで、条件に一致する...
-
【JAVA】与えられた金額を貨幣...
-
「天声人語」をインターネット...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
private static という変数の修飾
-
複数の変数を宣言する時、同時...
-
VB.NET getとsetの概念がわかり...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
「インスタンス」の意味をわか...
-
変数の参照でエラーが出てしま...
-
SQLを連続発行する時の正しい(?...
-
オブジェクト参照がオブジェク...
-
文字列を日付に変換でParseExce...
-
VB6.0で、DLLを動的に参照したい
-
javaのクラスの作り方、エラー...
-
インスタンスを同じ名前で作成...
-
エクセル(複数インスタンス)...
-
フォームの存在をチェックする方法
-
C#「オブジェクト参照が必要で...
-
newしないインスタンス?実体化...
おすすめ情報