現在、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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
private static という変数の修飾
-
複数の変数を宣言する時、同時...
-
インスタンス参照でアクセスで...
-
変数名の付け方
-
C#「オブジェクト参照が必要で...
-
オブジェクト参照がオブジェク...
-
C#において、同じインスタンス...
-
変数の参照でエラーが出てしま...
-
VB.NET getとsetの概念がわかり...
-
ASPX(C#)で別ファイルで自分で...
-
インスタンスを同じ名前で作成...
-
生成したインスタンスを削除す...
-
SerialPort処理でInvokeメソッ...
-
Eclipse3でVisualEditorが起動...
-
【java】コンストラクタの処理...
-
抽象クラスのインスタンス生成...
-
objective-cで分かりにくい所教...
-
SQLを連続発行する時の正しい(?...
-
参照渡し
-
他のファイルの変数参照
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
private static という変数の修飾
-
オブジェクト参照がオブジェク...
-
複数の変数を宣言する時、同時...
-
VB.NET getとsetの概念がわかり...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
変数の参照でエラーが出てしま...
-
「インスタンス」の意味をわか...
-
[Visual C#] 優先される処理に...
-
文字列を日付に変換でParseExce...
-
javaのクラスの作り方、エラー...
-
フォームの存在をチェックする方法
-
newしないインスタンス?実体化...
-
C#「オブジェクト参照が必要で...
-
String a = "a"; と String b =...
-
他のファイルの変数参照
-
VB6.0で、DLLを動的に参照したい
おすすめ情報