[過去ログ] ★★Java質問・相談スレッド182★★ (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: (アウアウウー Sa73-AAco [106.132.135.194]) 2018/11/19(月)11:37 ID:C68x9bSia(1) AAS
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    2ch板:hp
Webプログラミング 2ch板:php
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)外部リンク:www.wikiroom.com
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド181★★
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
973: (ワッチョイ ff01-9eV8 [111.90.14.57]) 2020/04/28(火)23:33 ID:4kUhwH6S0(1) AAS
>>971
外部リンク:paiza.io
974: (アウアウエー Sae3-D935 [111.239.186.191]) 2020/04/29(水)09:13 ID:GLkFkZ60a(1) AAS
>>972 973
ありがとうございました。
ラムダを使えばきれいに書くことが分かりよかったです。
975
(3): (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)02:37 ID:UCNL2IRg0(1/18) AAS
質問
マルチスレッドでコンストラクト中の状態を逸出させないということで
コンストラクタの中でインスタンスメソッドを呼ばないようにしましょうという原則がありますが
コンストラクタの中でインスタンスメソッドを呼びたいときもあると思います
そういうときみなさんはどうしていますか?

・コンストラクタの代わりにstaticのファクトリメソッドを作ってその中でnewしてインスタンスメソッドをコールする
・コンストラクタの中で呼びたいインスタンスメソッドを別のクラスに移動する
・シングルスレッドでしか使わないのでマルチスレッドの原則なんて気にしない、コンストラクタの中でインスタンスメソッドをコールする
・その他

アンケートみたいな感じですけどご回答いただければ幸いです
976
(3): (ワッチョイ 82ad-48kr [27.139.77.105]) 2020/05/06(水)06:32 ID:izcxg96Z0(1) AAS
>>975
外部リンク:irof.hateblo.jp
977
(2): (ワッチョイ 8d9c-HM7w [122.249.239.156]) 2020/05/06(水)07:43 ID:4GtcOPgo0(1/3) AAS
>>975>>976 は書いてることが違う?
>>976 はコードに問題があれば100%バグが再現する
>>975 はマルチスレッドと言ってる
>>975 はどのような問題が起こるのかをまず説明して欲しい(知りたい)

コンストラクタな完了前にオブジェクト変数にインスタンス参照が設定される問題は私も知ってるけど
それはインスタンスメソッド呼び出しどうこうといった問題ではないし・・・
978
(1): (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)09:33 ID:UCNL2IRg0(2/18) AAS
>>976
ありがとうございます!
ドキュメントに書く、オーバーライドできないようにすればおkということですね

>>977
> >>975>>976 は書いてることが違う?
同じです、結局のところそういうことです

> コンストラクタな完了前にオブジェクト変数にインスタンス参照が設定される問題は私も知ってるけど
それです、残念ながらそれです

コンストラクタでインスタンスメソッドを呼び出しても問題ないからやる派ですね?
979
(2): (ワッチョイ 519f-FhGp [118.109.112.224]) 2020/05/06(水)11:58 ID:q8N1X/Ij0(1/2) AAS
>>977,978
別の話が混ざり合ってるな
読んだ人は腑に落ちないか誤解すると思う
互いに密接で合わせ技もあるので完全に切り離すことはできないけど、一緒くたにすると影響や対処に漏れが出る

> マルチスレッドでコンストラクト中の状態を逸出させない
という表現に合うのはこれ
外部リンク[html]:www.jpcert.or.jp
ただしコンストラクタとは別の初期化メソッドを提供する場合の話

コンストラクタ中から逸出させるなという規約はこれ
外部リンク[html]:www.jpcert.or.jp
コンストラクタからのインスタンスメソッド呼び出し自体は問題にしてない
シングルスレッドの場合も問題がある

>>976はこれ
外部リンク[html]:www.jpcert.or.jp
this逸出の話に比べるとかなり限定的な話
980: (ワッチョイ 8d9c-HM7w [122.249.239.156]) 2020/05/06(水)12:22 ID:4GtcOPgo0(2/3) AAS
これってJVMのバグではないの?
JVMがコンストラクタが完了するまでインスタンス参照を変数に代入しないようになれば解決するんじゃないの?
なぜ不完全なインスタンスへの参照が変数に設定される可能性をプログラマーが考慮し続けてないといけないの?
今後もずっと続くの?
981
(1): (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)12:22 ID:UCNL2IRg0(3/18) AAS
>>979
コンストラクタからインスタンスメソッドを呼びたいときどうしますか?
一般論ではなくて個人の考えを教えていただけると幸いです
982
(1): (ワッチョイ 519f-FhGp [118.109.112.224]) 2020/05/06(水)15:56 ID:q8N1X/Ij0(2/2) AAS
>>981
一般論うんぬんじゃなくて論理的かどうかで判断しないとプログラムは言うことを聞かないし
こんな匿名の場で少ないサンプルを集めたところでかりそめの安心感しか得られない
俺の脳内のタカアンドトシが女子か!!と激しくツッコミいれるわ
俺は上で挙げたルールに反しないように書くよ
983: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)15:59 ID:UCNL2IRg0(4/18) AAS
>>982
ふーん
984
(1): (ワッチョイ a2f8-Qa3R [115.163.210.109]) 2020/05/06(水)16:30 ID:LXTBA+hx0(1/2) AAS
いったいどうしてマルチスレッドでコンストラクタからインスタンスメソッドを呼び出しちゃいけないなんて思ったのか、先に説明してくれよ。
>>979が出処と違うんか?
985
(1): (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)16:44 ID:UCNL2IRg0(5/18) AAS
>>984
それですよ
僕が説明したとしてあなたは何ができますか?
986
(1): (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)16:45 ID:UCNL2IRg0(6/18) AAS
僕が勘違いしてたことを追求してどうするんです?
僕をどうするつもりなんですか!?
987
(1): (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)16:47 ID:UCNL2IRg0(7/18) AAS
いまのところコンストラクタの中でインスタンスメソッドをコールするのが全員のようですね
988
(1): (ワッチョイ a2f8-Qa3R [115.163.210.109]) 2020/05/06(水)19:13 ID:LXTBA+hx0(2/2) AAS
>>986
勘違いしていることに気がついたのなら先にそう言いいなよ。
>>985
君が勘違いしていると思ってその原因を探りたかっただけなんだが。
>>987
君が勘違いしていたのだから当たり前だろう
989: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)19:34 ID:UCNL2IRg0(8/18) AAS
きっしょw
990: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)19:34 ID:UCNL2IRg0(9/18) AAS
あ、ごめんつい本音がw
991
(1): (ワッチョイ 8d9c-HM7w [122.249.239.156]) 2020/05/06(水)20:04 ID:4GtcOPgo0(3/3) AAS
恥ずかしい人だなー
誠実な対応ができず茶化して誤魔化すような人って技術的にも成長できず頭打ちになる人が多い印象がある
992: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:05 ID:UCNL2IRg0(10/18) AAS
>>991
それなw
993: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:06 ID:UCNL2IRg0(11/18) AAS
>>988
お前のことだぞ
994: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:30 ID:UCNL2IRg0(12/18) AAS
原因を探って何をするつもりだったのでしょうか
どうして原因を探ろうと思ったのでしょうか
そこを探っても質問の回答には辿り着けません

僕の質問はみんながどう考えてるかってことでした
自分はこう考えてるという意見が欲しかったのですが・・・
995: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:31 ID:UCNL2IRg0(13/18) AAS
遺憾です、このスレは埋めさせていただきます
996: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:32 ID:UCNL2IRg0(14/18) AAS

997: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:32 ID:UCNL2IRg0(15/18) AAS

998: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:32 ID:UCNL2IRg0(16/18) AAS

999: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:32 ID:UCNL2IRg0(17/18) AAS

1000: (ワッチョイ 0601-6t4H [111.90.14.57]) 2020/05/06(水)20:32 ID:UCNL2IRg0(18/18) AAS

1001
(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 534日 8時間 55分 36秒
1002
(1): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。

───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
外部リンク:premium.5ch.net

▼ 浪人ログインはこちら ▼
外部リンク[php]:login.5ch.net
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.375s*