プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。
前スレ
★★Java質問・相談スレッド180★★
https://mevius.5ch.net/test/read.cgi/tech/1492780397/
探検
★★Java質問・相談スレッド181★★
レス数が900を超えています。1000を超えると表示できなくなるよ。
2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
815デフォルトの名無しさん
2018/10/25(木) 14:00:36.81ID:oNBD1gf9 計算がよくわからん時は、まず括弧で囲えって、
今でも教える人がいるからな
今でも教える人がいるからな
816デフォルトの名無しさん
2018/10/25(木) 14:21:09.91ID:6wYT/HJT かっこいい、かっこわるい?
817デフォルトの名無しさん
2018/10/25(木) 18:46:51.45ID:zmVgc+jl818デフォルトの名無しさん
2018/10/27(土) 15:01:56.02ID:1x6RXWmG javaでaccessdbと接続するようなソフト作ってみたいんですが
フレームワークって必要ですか
ちょっとフレームワーク自体よくわかってないです。
規模は社内で5人くらいで使用します。
フレームワークって必要ですか
ちょっとフレームワーク自体よくわかってないです。
規模は社内で5人くらいで使用します。
819デフォルトの名無しさん
2018/10/27(土) 19:11:03.52ID:RbshV9yz 検索すれば出てくるけど
ハマることが多そうだからオススメしない
Javaが要件なのかAccessが要件なのかわからんが
ハマることが多そうだからオススメしない
Javaが要件なのかAccessが要件なのかわからんが
820デフォルトの名無しさん
2018/10/27(土) 19:15:14.94ID:LS+3DLFQ821デフォルトの名無しさん
2018/10/27(土) 19:16:29.43ID:ZlRq8doU Ruby on Rails, Node.js などでは、開発環境では、SQLite を使うけど
822デフォルトの名無しさん
2018/10/27(土) 22:29:57.54ID:229rJcCX823デフォルトの名無しさん
2018/10/28(日) 03:09:10.51ID:7tRDHbkL >>822
バイナリ互換じゃなくなるけどソースコード互換ではあるので・・・
JavaでGUIアプリ作ってネットで配布する場合、エンドユーザーの環境に依存するの辛いでしょ
むしろJRE同梱したい、と思うのが普通だよ
JRE同梱によるファイルサイズ増加はもはや問題にならないし
どうせJRE同梱作業するなら、その時にJavaFX入れれば良いので、分離されたのも妥当な気がするし
むしろクライアントサイドで進歩してると言っても良いのでは
バイナリ互換じゃなくなるけどソースコード互換ではあるので・・・
JavaでGUIアプリ作ってネットで配布する場合、エンドユーザーの環境に依存するの辛いでしょ
むしろJRE同梱したい、と思うのが普通だよ
JRE同梱によるファイルサイズ増加はもはや問題にならないし
どうせJRE同梱作業するなら、その時にJavaFX入れれば良いので、分離されたのも妥当な気がするし
むしろクライアントサイドで進歩してると言っても良いのでは
824デフォルトの名無しさん
2018/10/28(日) 03:59:58.74ID:WcIuuSyz >JavaでGUIアプリ作ってネットで配布する場合、エンドユーザーの環境に依存するの辛いでしょ
JRE同梱だと回避できて、JARだけだとダメな問題ってどういうのがあるん?
実際にクライアントの環境が異なってたらどうやって提供しようが辛さは一緒におもえる
だいたいJRE同梱なんかされたら何仕込まれてもわからん
サンドボックスのしっかりした仕組みがあるわけじゃなし
そもそもWindowsとかOS側が信用できない
共通のJavaだから信頼感あったのに
JRE同梱だと回避できて、JARだけだとダメな問題ってどういうのがあるん?
実際にクライアントの環境が異なってたらどうやって提供しようが辛さは一緒におもえる
だいたいJRE同梱なんかされたら何仕込まれてもわからん
サンドボックスのしっかりした仕組みがあるわけじゃなし
そもそもWindowsとかOS側が信用できない
共通のJavaだから信頼感あったのに
825デフォルトの名無しさん
2018/10/28(日) 04:08:51.40ID:z9u8vCUJ 今どき.NETですらランタイム同梱する流れだからな
826デフォルトの名無しさん
2018/10/28(日) 04:22:29.53ID:WcIuuSyz MSはユーザーの個人情報盗みたい側だし
827デフォルトの名無しさん
2018/10/28(日) 04:26:41.29ID:7tRDHbkL >>824
何言ってるか良く分からんが、JRE同梱すればJREのバージョン違いによる問題が無くなるだろう。
いちいちJREをインストールしてもらう手間も無くなる。
例えば一部のJREはJavaFXを同梱しているが、一部はそうではない。
何仕込まれても、ってのは良く分からんが
スタンドアロンアプリでもセキュリティマネージャーは動くはず
何言ってるか良く分からんが、JRE同梱すればJREのバージョン違いによる問題が無くなるだろう。
いちいちJREをインストールしてもらう手間も無くなる。
例えば一部のJREはJavaFXを同梱しているが、一部はそうではない。
何仕込まれても、ってのは良く分からんが
スタンドアロンアプリでもセキュリティマネージャーは動くはず
828デフォルトの名無しさん
2018/10/28(日) 04:32:23.62ID:7tRDHbkL 確かにこれまでと比べると、オラクルのサイトからJRE落としてそれで動かしてたのに比べると
アプリ毎にJRE同梱されちゃうとおかしなネイティブ実行ファイルが同梱されてないか、という問題はある
しかし同梱されたプラットフォーム固有の実行ファイルはハッシュ値とかで適切なファイルかを照合できるはず
あとそもそもバイトコード部分でも相当な処理が可能だから、さほどセキュリティリスクが変わると思わない
ネットからプログラムを落とすなら、オープンソースか信頼できる大御所か
これまでと変わらないのでは
アプリ毎にJRE同梱されちゃうとおかしなネイティブ実行ファイルが同梱されてないか、という問題はある
しかし同梱されたプラットフォーム固有の実行ファイルはハッシュ値とかで適切なファイルかを照合できるはず
あとそもそもバイトコード部分でも相当な処理が可能だから、さほどセキュリティリスクが変わると思わない
ネットからプログラムを落とすなら、オープンソースか信頼できる大御所か
これまでと変わらないのでは
829デフォルトの名無しさん
2018/10/28(日) 04:34:29.37ID:z9u8vCUJ >>826
ランタイム同梱の意味わかってる?
ランタイム同梱の意味わかってる?
830デフォルトの名無しさん
2018/10/28(日) 04:36:35.55ID:WcIuuSyz 問題はJREのバージョンか
たしかに多少の問題はあるが
JRE同梱必須にしたらJavaの目指していた未来と可能性そのものを切り捨てることになる
そうできるってのとそうしなきゃいけないってのはえらい違い
たしかに多少の問題はあるが
JRE同梱必須にしたらJavaの目指していた未来と可能性そのものを切り捨てることになる
そうできるってのとそうしなきゃいけないってのはえらい違い
831デフォルトの名無しさん
2018/10/28(日) 04:42:15.05ID:7tRDHbkL JREを同梱しないと、10年経ったら動かなくなってると思う
クライアントサイドはJRE同梱で作れと強制する事は、そんな悪い事じゃないと思う
そうしないとJavaがバージョンアップしづらい問題もあるから、オラクルはそうしたいんだろう
クライアントサイドはJRE同梱で作れと強制する事は、そんな悪い事じゃないと思う
そうしないとJavaがバージョンアップしづらい問題もあるから、オラクルはそうしたいんだろう
832デフォルトの名無しさん
2018/10/28(日) 04:46:39.09ID:vBzuIBdi 元々Write once,Test anywhere
って失望されてたじゃ無いか。。。
HTML5も同じだけど、理想と現実は遥かに遠い隔たりがある。
って失望されてたじゃ無いか。。。
HTML5も同じだけど、理想と現実は遥かに遠い隔たりがある。
833デフォルトの名無しさん
2018/10/28(日) 04:48:23.37ID:GS4HIDpq スタティックリンクの肥大した実行ファイルと一緒だよね
Write Onceで全プラットフォームで動いたら開発者としては理想じゃないかな
Write Onceで全プラットフォームで動いたら開発者としては理想じゃないかな
834デフォルトの名無しさん
2018/10/28(日) 04:49:04.83ID:7tRDHbkL オラクルはJavaを高速バージョンアップしたいみたいな事も言ってるが、
一連の話は整合性がある
サーバーサイドはエンジニアが管理しててJRE固定できる、
クライアントサイドはJRE同梱。
現状だとJavaから古いAPIを削除したら多くのアプリが動かなくなるから、
移行期間を作ってそのようなアプリが減るのを待つ。
そうしないとJavaに未来が無いという判断は、理解できなくない。
一連の話は整合性がある
サーバーサイドはエンジニアが管理しててJRE固定できる、
クライアントサイドはJRE同梱。
現状だとJavaから古いAPIを削除したら多くのアプリが動かなくなるから、
移行期間を作ってそのようなアプリが減るのを待つ。
そうしないとJavaに未来が無いという判断は、理解できなくない。
835デフォルトの名無しさん
2018/10/28(日) 05:01:48.54ID:WcIuuSyz じぶんとこのOracleDBは枯れまくってても平気なくせに
836デフォルトの名無しさん
2018/10/28(日) 05:47:19.26ID:D9Gt7gmT 改変されたJREを同梱されたら終わりではないか?
837デフォルトの名無しさん
2018/10/28(日) 05:51:56.29ID:7tRDHbkL だから、同梱されたファイルのハッシュ値調べればわかるし、
アンチウイルスだって有名な実行ファイルについてハッシュ値を知識として持っておくべき。
オープンソースは誰かが検証すべき。
で、もともとバイトコード部分でも相当な事ができるからセキュリティリスクは変化してない。
アンチウイルスだって有名な実行ファイルについてハッシュ値を知識として持っておくべき。
オープンソースは誰かが検証すべき。
で、もともとバイトコード部分でも相当な事ができるからセキュリティリスクは変化してない。
838デフォルトの名無しさん
2018/10/28(日) 14:47:49.66ID:Ii5bdv+P クラス変数にもvar使わせてほしいよな
無名クラスにリフレクションで値を代入するフレームワークとかでてきそうだし
class Hoge {
public var xyz = new Object() { int x, y, x };
}
無名クラスにリフレクションで値を代入するフレームワークとかでてきそうだし
class Hoge {
public var xyz = new Object() { int x, y, x };
}
839デフォルトの名無しさん
2018/10/28(日) 23:50:32.90ID:vn58j50+ それをやると型を特定するために延々先を辿らなきゃいけなくなるんだ…
840デフォルトの名無しさん
2018/10/28(日) 23:52:24.19ID:qcVVu7B5 Class#forNameで動的リンクするときjlinkとかは依存するクラス検出できないから
結局手動で全部依存関係調べるかfull jre使うかの二択になる。
>>838
互換性が保証できなくなるからやらないだろ。
実行時の型と推論された型は違うから。
結局手動で全部依存関係調べるかfull jre使うかの二択になる。
>>838
互換性が保証できなくなるからやらないだろ。
実行時の型と推論された型は違うから。
841デフォルトの名無しさん
2018/10/29(月) 00:01:40.82ID:k1+zlMbU というかあれだぞ。
javapackagerなくなったからjava11ではjre同梱したパッケージ作れないし、
なくなったのはpublic jreだけでjreのビルド自体はadopt openjdkがやってるからjre自体はあるぞ。
javapackagerなくなったからjava11ではjre同梱したパッケージ作れないし、
なくなったのはpublic jreだけでjreのビルド自体はadopt openjdkがやってるからjre自体はあるぞ。
842デフォルトの名無しさん
2018/10/29(月) 00:06:53.79ID:RWf1bRTo >>838
コンパイラの仕組み上困難
Javaコンパイラはまず、メンバのシグネチャだけを解析してクラスごとにメンバのお品書きを作る
そして、それが一通り終わった後に各メソッド本体やフィールド代入元の式を解析する
ところがフィールドの型にvarを許してしまうと、お品書きを作る段階でフィールド代入元の式を解析しなきゃいけなくなる
それによりコンパイラのパスが増えてしまうから、コンパイル速度が大きく低下する
コンパイラの仕組み上困難
Javaコンパイラはまず、メンバのシグネチャだけを解析してクラスごとにメンバのお品書きを作る
そして、それが一通り終わった後に各メソッド本体やフィールド代入元の式を解析する
ところがフィールドの型にvarを許してしまうと、お品書きを作る段階でフィールド代入元の式を解析しなきゃいけなくなる
それによりコンパイラのパスが増えてしまうから、コンパイル速度が大きく低下する
843デフォルトの名無しさん
2018/10/29(月) 01:24:28.42ID:Cn2rCt1V844デフォルトの名無しさん
2018/10/29(月) 02:54:18.59ID:doCXynSY >>841
Java 11でクライアントサイドはどういう扱いになってるの?
Java 11でクライアントサイドはどういう扱いになってるの?
845デフォルトの名無しさん
2018/10/29(月) 03:02:24.77ID:doCXynSY 新しいパッケージングツールの要件はJavaFX未対応とされている
http://openjdk.java.net/jeps/343
JavaFX由来のパッケージングツールが削除された
じゃあ、JavaFXアプリをエンドユーザーに配布したい場合、どうするの?
現在見つかる情報は、非JavaFXの自己完結型パッケージャ、
JavaFXのビルド方法だけで、JavaFXの自己完結型パッケージャが行方不明なんだけど
http://openjdk.java.net/jeps/343
JavaFX由来のパッケージングツールが削除された
じゃあ、JavaFXアプリをエンドユーザーに配布したい場合、どうするの?
現在見つかる情報は、非JavaFXの自己完結型パッケージャ、
JavaFXのビルド方法だけで、JavaFXの自己完結型パッケージャが行方不明なんだけど
846デフォルトの名無しさん
2018/10/29(月) 04:02:15.84ID:doCXynSY847デフォルトの名無しさん
2018/10/29(月) 22:22:22.37ID:Cn2rCt1V アウト、セーフ、よよいのよい
848デフォルトの名無しさん
2018/10/29(月) 23:23:48.16ID:KWB0XUD6849デフォルトの名無しさん
2018/10/30(火) 14:22:42.63ID:ySliw7Bj public synchronized void method1(){}
こういうメソッドレベルでsynchronizedした場合、
synchronized(this){}ということですか?
つまり他のところでsynchronized(this)が書かれていたら、どちらかが待機になるんでしょうか
こういうメソッドレベルでsynchronizedした場合、
synchronized(this){}ということですか?
つまり他のところでsynchronized(this)が書かれていたら、どちらかが待機になるんでしょうか
850デフォルトの名無しさん
2018/10/30(火) 15:22:20.46ID:E+8/TrgC >>849
その通り
thisをロックするのはパフォーマンスの低下やデッドロックの原因になるため、現代では一般には悪手とされている
synchronizedがデフォルトでthisをロックするのはJavaがまだオモチャでカジュアルに排他制御してた時代の名残で、
ちゃんと作るなら排他制御には private メンバを使って外に漏らさないようにした方が安全
その通り
thisをロックするのはパフォーマンスの低下やデッドロックの原因になるため、現代では一般には悪手とされている
synchronizedがデフォルトでthisをロックするのはJavaがまだオモチャでカジュアルに排他制御してた時代の名残で、
ちゃんと作るなら排他制御には private メンバを使って外に漏らさないようにした方が安全
851デフォルトの名無しさん
2018/10/31(水) 12:34:18.73ID:6PFXXFSS thisをロックするのとロック専用オブジェクトをロックするのは
性能の違いがあるんですか?
性能の違いがあるんですか?
852デフォルトの名無しさん
2018/10/31(水) 14:41:22.75ID:3SYFbLW8 >>851
thisはクラス外からも当然見えているわけで、他のクラスも同じオブジェクトを同時にロックしている可能性がある
どえせ内部的に同期してるんなら他のクラスが同時にアクセスしてくることは何の問題もないはずで、これは完全に無駄なブロックだ
クラス外から見えるオブジェクトをロックするのはパフォーマンスだけではなくてデッドロックの可能性を高める非常に悪い行為
thisはクラス外からも当然見えているわけで、他のクラスも同じオブジェクトを同時にロックしている可能性がある
どえせ内部的に同期してるんなら他のクラスが同時にアクセスしてくることは何の問題もないはずで、これは完全に無駄なブロックだ
クラス外から見えるオブジェクトをロックするのはパフォーマンスだけではなくてデッドロックの可能性を高める非常に悪い行為
853デフォルトの名無しさん
2018/10/31(水) 15:22:21.60ID:6PFXXFSS デッドロックの可能性は分かるんですが、
その性能の劣化というのは、クラス外でたまたまロックに使われていた場合、
待機時間が生じるから、ということですか?
待機時間以外に構造的に複雑なオブジェクトをロックすることでの性能劣化はありえますか?
その性能の劣化というのは、クラス外でたまたまロックに使われていた場合、
待機時間が生じるから、ということですか?
待機時間以外に構造的に複雑なオブジェクトをロックすることでの性能劣化はありえますか?
854デフォルトの名無しさん
2018/10/31(水) 15:45:06.31ID:3SYFbLW8855デフォルトの名無しさん
2018/10/31(水) 15:58:04.06ID:lmDzWSZe 意味不明なエラーで苦しめw
856デフォルトの名無しさん
2018/10/31(水) 16:17:19.41ID:SePuugIe ロック可能なのは全部ロックしたら苦しんだ黒歴史・・・
857デフォルトの名無しさん
2018/10/31(水) 17:20:43.08ID:6PFXXFSS 専用オブジェクトでロックしても結局プログラマーが入念にチェックする以外
無い気がするんですが合ってますか?
よく言われてるようなロック順序云々では解決しない気がするんですが
無い気がするんですが合ってますか?
よく言われてるようなロック順序云々では解決しない気がするんですが
858デフォルトの名無しさん
2018/10/31(水) 17:23:06.92ID:xpjrbgPR Javaはいつかなくなるんですか
859デフォルトの名無しさん
2018/10/31(水) 19:25:31.36ID:ZwMW2kAu いつか
860デフォルトの名無しさん
2018/10/31(水) 19:27:08.55ID:iY3LkiS1 きっとどこかで生き残る
861デフォルトの名無しさん
2018/10/31(水) 19:30:32.81ID:umCB7ism 俺のディスクの上で生き残る
862デフォルトの名無しさん
2018/10/31(水) 19:48:34.38ID:umCB7ism デッドロックと言えば、サーバをまたいだロックを掛けててデッドロックになった時は原因究明が大変だったなあ。
863デフォルトの名無しさん
2018/10/31(水) 20:18:06.23ID:YzLC1QbG864デフォルトの名無しさん
2018/10/31(水) 21:04:23.41ID:6PFXXFSS >>863
クラスA#method1() method3呼び出し
クラスA#method2()
クラスB#method3() method2呼び出し
この状況でmethod1,3を異なるスレッドが呼び出したらデッドロックになりうるのでは?
クラスA,Bがそれぞれ専用のロックオブジェクトを持っていて
method1,2,3の内部でロックオブジェクトでロックしているとして
クラスA#method1() method3呼び出し
クラスA#method2()
クラスB#method3() method2呼び出し
この状況でmethod1,3を異なるスレッドが呼び出したらデッドロックになりうるのでは?
クラスA,Bがそれぞれ専用のロックオブジェクトを持っていて
method1,2,3の内部でロックオブジェクトでロックしているとして
865デフォルトの名無しさん
2018/10/31(水) 21:13:55.51ID:umCB7ism そういやJavaVMって実行時にデッドロックを見つけ出す機能はないのかな?
OSのファイルロックだと見つけてくれたりするよな。NFS絡むと無理だけど。
(あ、でも2プロセスでロック掛け合った場合だけかな?)
OSのファイルロックだと見つけてくれたりするよな。NFS絡むと無理だけど。
(あ、でも2プロセスでロック掛け合った場合だけかな?)
866デフォルトの名無しさん
2018/10/31(水) 21:30:17.03ID:6PFXXFSS デッドロックを通知する仕組みはあるようです。JConsole
安全なsynchronizedというものは、そのメソッドがどこから呼び出されているか、
どれを呼び出しているかというような依存関係で決まって、
単純な記述方法で安全性を確保する事はできないのではと思いました。
どのオブジェクトをロックしてもこの問題は残ります。
https://www.jpcert.or.jp/java-rules/lck07-j.html
これなんかもそうですが、ロック順序だけで解決できると考えてしまっていますが、
synchronizedブロック内のロジックが他のメソッドを呼び出している場合、
まだデッドロックが発生する可能性があると思います。
派生していくメソッド呼び出しのどこかにsynchronizedブロックがあれば。
もちろん、多くの場合、プログラムは様々なメソッドを呼び出します。
>>857はこの理解で正しいかという意味です
安全なsynchronizedというものは、そのメソッドがどこから呼び出されているか、
どれを呼び出しているかというような依存関係で決まって、
単純な記述方法で安全性を確保する事はできないのではと思いました。
どのオブジェクトをロックしてもこの問題は残ります。
https://www.jpcert.or.jp/java-rules/lck07-j.html
これなんかもそうですが、ロック順序だけで解決できると考えてしまっていますが、
synchronizedブロック内のロジックが他のメソッドを呼び出している場合、
まだデッドロックが発生する可能性があると思います。
派生していくメソッド呼び出しのどこかにsynchronizedブロックがあれば。
もちろん、多くの場合、プログラムは様々なメソッドを呼び出します。
>>857はこの理解で正しいかという意味です
867デフォルトの名無しさん
2018/10/31(水) 21:40:58.89ID:KdCoWYCo 頑張れぼうやw
868デフォルトの名無しさん
2018/10/31(水) 22:59:47.53ID:GrkkoIKB >>864のケースで仮にAがthisをロックしていたとしたら、B#method3がA#method2を呼ばずともB#method3内で直接または間接的にAのロックを試みただけでデッドロックするだろう。
privateなロックオブジェクトを用いたからといってデッドロックの可能性はゼロにはならないが、thisを使うのに比べれば確実に可能性は低くなる。
あえてリスクの大きくパフォーマンスの低下する方を選択する積極的な理由がない。
privateなロックオブジェクトを用いたからといってデッドロックの可能性はゼロにはならないが、thisを使うのに比べれば確実に可能性は低くなる。
あえてリスクの大きくパフォーマンスの低下する方を選択する積極的な理由がない。
869デフォルトの名無しさん
2018/10/31(水) 23:05:48.35ID:VI6I+9K/ >>866
何を言いたいのか理解できないが、どこの誰がどんなタイミングでロックを取りに来ようとも、ロックの順番さえ守ってれば絶対にデッドロックは起こらないよ。
何を言いたいのか理解できないが、どこの誰がどんなタイミングでロックを取りに来ようとも、ロックの順番さえ守ってれば絶対にデッドロックは起こらないよ。
870デフォルトの名無しさん
2018/10/31(水) 23:43:17.95ID:QZT9zuHU DB などほとんどのアプリでは、デッドロックでタイムアウトする。
絶対に回避できない
ロックする順番は、2プロセスの場合、
プロセスAがX, Y、
プロセスBがY, X
3プロセスの場合、
プロセスAがX, Y、
プロセスBがY, Z、
プロセスCがZ, X
絶対に回避できない
ロックする順番は、2プロセスの場合、
プロセスAがX, Y、
プロセスBがY, X
3プロセスの場合、
プロセスAがX, Y、
プロセスBがY, Z、
プロセスCがZ, X
871デフォルトの名無しさん
2018/11/01(木) 00:20:30.29ID:IO/IeQZr >>870
ロックの順番があべこべなのだからデッドロックするのは当然だろう
ロックの順番があべこべなのだからデッドロックするのは当然だろう
872デフォルトの名無しさん
2018/11/01(木) 06:39:30.81ID:MRwfHAbj873デフォルトの名無しさん
2018/11/01(木) 07:11:11.17ID:m171VN/W874デフォルトの名無しさん
2018/11/01(木) 07:11:48.43ID:m171VN/W >>868
>どのオブジェクトをロックしてもこの問題は残ります。
>どのオブジェクトをロックしてもこの問題は残ります。
875デフォルトの名無しさん
2018/11/01(木) 07:13:39.94ID:m171VN/W 現在している話は、普通のプログラムにおいてロックの順番を守る妥当な方法は存在しないという話です。
synchronizedブロック内でメソッド呼び出しがあった時点でそうなります。
それに対してロックの順番を守ればいいとかthisをロックしろとか言い続けているのは話が分かっていません。
synchronizedブロック内でメソッド呼び出しがあった時点でそうなります。
それに対してロックの順番を守ればいいとかthisをロックしろとか言い続けているのは話が分かっていません。
876デフォルトの名無しさん
2018/11/01(木) 07:17:18.61ID:m171VN/W もう少し分かり易い説明を思いつきました。
ここにある問題は、synchronizedブロックで一旦ロック順序を守ったとしても、
そのブロック内から呼び出されているメソッド及びそこから派生的に呼び出されている全てのメソッドにおいて
synchronziedブロックを使う場合デッドロックが生じうるという問題で、
リファクタリング等において恒久的に懸念が残り続けるという問題です。
これは一時ロック順序を守ったコードを書いても解決しません。
ここにある問題は、synchronizedブロックで一旦ロック順序を守ったとしても、
そのブロック内から呼び出されているメソッド及びそこから派生的に呼び出されている全てのメソッドにおいて
synchronziedブロックを使う場合デッドロックが生じうるという問題で、
リファクタリング等において恒久的に懸念が残り続けるという問題です。
これは一時ロック順序を守ったコードを書いても解決しません。
877デフォルトの名無しさん
2018/11/01(木) 07:20:14.51ID:m171VN/W すみません、経験上凡人レベルの人に話しても理解されなくて、辛い思いをするだけです。
話を終わります。
話を終わります。
878デフォルトの名無しさん
2018/11/01(木) 07:36:25.75ID:PBz6MbCm そうや。情報処理資格のテキストに書いてある。
楽観的とか、ああいうやつ
何も知らない奴が、ギャアギャア言ってるだけ
楽観的とか、ああいうやつ
何も知らない奴が、ギャアギャア言ってるだけ
879デフォルトの名無しさん
2018/11/01(木) 07:55:33.73ID:MRwfHAbj ID:QZT9zuHU = ID:m171VN/W
バカのまま永遠にデッドロックしとけ
バカのまま永遠にデッドロックしとけ
880デフォルトの名無しさん
2018/11/01(木) 08:23:01.98ID:Tn1c1okn 例題とかじゃなくて、どういう時にロックが必要になるか考えて実際にやってみたらいいんじゃないか
そんな複雑なsynchronizedの使い方をしたことはしないだろう
そんな複雑なsynchronizedの使い方をしたことはしないだろう
881デフォルトの名無しさん
2018/11/01(木) 09:20:12.40ID:AYHv18S/ >すみません、経験上凡人レベルの人に話しても理解されなくて、辛い思いをするだけです。
世間は俺のことを分かってくれない(馬鹿のFAQ)w
世間は俺のことを分かってくれない(馬鹿のFAQ)w
882デフォルトの名無しさん
2018/11/01(木) 09:30:29.97ID:KWvf1ga0 ID:m171VN/Wは天才すぎる故に凡人レベルの嫉妬を買ってしまった
883デフォルトの名無しさん
2018/11/01(木) 09:40:00.51ID:mQsUQM4b いや本当。凡人レベルの人には話が通じませんよね。
という具合にみんなして同調しておけばいいのに。
という具合にみんなして同調しておけばいいのに。
884デフォルトの名無しさん
2018/11/01(木) 09:41:09.33ID:VmLiOLMi 凡人にも理解出来る様に説明出来る能力を持ってるのが、天才の条件だな
説明出来ない人は紙一重の方
説明出来ない人は紙一重の方
885デフォルトの名無しさん
2018/11/01(木) 09:47:33.79ID:DtT8Cv0d まあ責任と前提の問題だな
正常な頭してたらクラスAとクラスBが相互に密結合するような設計をすることはありえないから、
似た状況が起こりうるのはBがAに自身を登録してAがBをinterface経由で「コールバック」するようなパターンだろう
その場合、BのメソッドがAのコンテキストから呼び出されることはBを作る側は当然知っているはずで、Aを更に別のスレッドから呼ぶような基地外的行為をしないという人間としての最低限度の責任はB側にある
そしてA側はそのようなリスクのある拡張ポイントをなるべく作るべきではないし、やむを得ないときはドキュメントに明記するべき
正常な頭してたらクラスAとクラスBが相互に密結合するような設計をすることはありえないから、
似た状況が起こりうるのはBがAに自身を登録してAがBをinterface経由で「コールバック」するようなパターンだろう
その場合、BのメソッドがAのコンテキストから呼び出されることはBを作る側は当然知っているはずで、Aを更に別のスレッドから呼ぶような基地外的行為をしないという人間としての最低限度の責任はB側にある
そしてA側はそのようなリスクのある拡張ポイントをなるべく作るべきではないし、やむを得ないときはドキュメントに明記するべき
886デフォルトの名無しさん
2018/11/01(木) 10:30:23.17ID:Tn1c1okn あれだ
スレッドを知った初心者が無駄に使いたくなってる状態に近いんじゃないか
スレッドを知った初心者が無駄に使いたくなってる状態に近いんじゃないか
887デフォルトの名無しさん
2018/11/01(木) 10:34:13.85ID:x+OioMtW888デフォルトの名無しさん
2018/11/01(木) 11:38:29.67ID:mQsUQM4b889デフォルトの名無しさん
2018/11/01(木) 14:20:26.28ID:aGO292A7 馬鹿は死ななきゃ治らない
890デフォルトの名無しさん
2018/11/01(木) 15:10:14.12ID:Nl3jEz8g javaの資格のsilverやgoldはどの程度の実力で受かりますか?
デザインパターンやリファクタリングをちゃんと理解しているレベルなら余裕で受かる?
デザインパターンやリファクタリングをちゃんと理解しているレベルなら余裕で受かる?
891デフォルトの名無しさん
2018/11/01(木) 15:35:43.13ID:mUSj63Sn892デフォルトの名無しさん
2018/11/01(木) 15:58:36.20ID:Nl3jEz8g893デフォルトの名無しさん
2018/11/01(木) 16:03:52.20ID:OxvwXsOa 受けようと思ったことすらないのでわからない。
894デフォルトの名無しさん
2018/11/01(木) 16:11:52.48ID:Nl3jEz8g 職歴にプログラミングがないのでしかたなく資格でもアピールする必要があるのですが
Java資格はGoldを取るとして
あとなにがあったほうがよいでしょうか?
データベース関連やUML関連やネットワーク関連の資格ですか?具体的にはなにが印象いいでしょうか?
Java資格はGoldを取るとして
あとなにがあったほうがよいでしょうか?
データベース関連やUML関連やネットワーク関連の資格ですか?具体的にはなにが印象いいでしょうか?
895デフォルトの名無しさん
2018/11/01(木) 16:12:24.17ID:Nl3jEz8g デザインパターン関連の資格ってないのかな?
896デフォルトの名無しさん
2018/11/01(木) 16:23:14.20ID:DtT8Cv0d >>894
まずはIPAのデスペとデスペ
まずはIPAのデスペとデスペ
897デフォルトの名無しさん
2018/11/01(木) 16:33:52.56ID:Nl3jEz8g デスペとデスペですか。
同じものなのになぜ2回も言うのですか。
同じものなのになぜ2回も言うのですか。
898デフォルトの名無しさん
2018/11/01(木) 16:41:11.79ID:RfEd9OxR 大事なことなので
899デフォルトの名無しさん
2018/11/01(木) 17:12:47.17ID:Nl3jEz8g そうですか。
なにか忘れてそうなのですが
プログラミングあるいは関連分野で、あったほうがいい資格はありませんか?
なにか忘れてそうなのですが
プログラミングあるいは関連分野で、あったほうがいい資格はありませんか?
900デフォルトの名無しさん
2018/11/01(木) 18:05:14.35ID:OxvwXsOa わからない。資格何もなしで何十年も働いちゃったもので。
一時期は学校でC言語教えてたりもしたが、資格はなかった。
あ、一太郎も教えてたことあったよ。もちろん資格なしで。
一時期は学校でC言語教えてたりもしたが、資格はなかった。
あ、一太郎も教えてたことあったよ。もちろん資格なしで。
901デフォルトの名無しさん
2018/11/01(木) 19:13:26.95ID:Nl3jEz8g902デフォルトの名無しさん
2018/11/01(木) 19:15:26.25ID:1Z/ZXoar まあ実務をやる上では資格は特に必要ではない
ただ採用する立場だと資格ない奴とある奴ならある奴を取る
ただ採用する立場だと資格ない奴とある奴ならある奴を取る
903デフォルトの名無しさん
2018/11/01(木) 19:25:15.27ID:q4rSVTZi 馬鹿なんだろう
904デフォルトの名無しさん
2018/11/01(木) 19:39:49.82ID:OxvwXsOa >>901
なんでって、MS-DOS時代のWORDは漢字扱えなかったからじゃないか?
なんでって、MS-DOS時代のWORDは漢字扱えなかったからじゃないか?
905デフォルトの名無しさん
2018/11/01(木) 23:44:32.35ID:kQnTnj4P ブロンズは持っても意味ないしシルバーもゴールドの受験資格みたいなもんだぞ。
そんで中身の言語部分はJVMSもJLSも一切読まなくても答えられる程度でどちらかと言うと
ありふれたライブラリの宣伝兼再確認みたいな内容。
そんで中身の言語部分はJVMSもJLSも一切読まなくても答えられる程度でどちらかと言うと
ありふれたライブラリの宣伝兼再確認みたいな内容。
906デフォルトの名無しさん
2018/11/02(金) 10:24:58.44ID:VhXZ8KFR907デフォルトの名無しさん
2018/11/02(金) 16:44:03.61ID:TVanRjUQ もしかしなくてもsilverとかより基本情報技術者取ったほうがいいんでしょうか
908デフォルトの名無しさん
2018/11/02(金) 16:53:15.88ID:3EaYIZ29 当然
Javaの重箱の隅に付いてる食べカスの色知ってる奴よりIPアドレスの計算できる奴の方が遥かに役に立つ
Javaの重箱の隅に付いてる食べカスの色知ってる奴よりIPアドレスの計算できる奴の方が遥かに役に立つ
909デフォルトの名無しさん
2018/11/02(金) 17:17:06.84ID:0QIYfvOa IPアドレスの計算って?
何か計算必要か?
何か計算必要か?
910デフォルトの名無しさん
2018/11/02(金) 21:03:28.28ID:mJ2e4zOQ インターネットキングならIPアドレスの計算くらい朝飯前だよ
911デフォルトの名無しさん
2018/11/02(金) 22:48:40.06ID:ejOlj3tt サブネットマスクとかの話ちゃうの
912デフォルトの名無しさん
2018/11/03(土) 00:34:57.85ID:8dUCHJOu 世の中に無駄なものなんかないよ
ジャヴァの資格もIPアドレスの計算も全て社会の役に立ってる
ジャヴァの資格もIPアドレスの計算も全て社会の役に立ってる
913デフォルトの名無しさん
2018/11/03(土) 18:14:19.75ID:b5iwDuZ8 java11, 12にはくだらない機能しか入らないのか
914デフォルトの名無しさん
2018/11/04(日) 11:32:05.48ID:hQdPSgHl ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 [蚤の市★]
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 中国大使さん、麻生太郎を『この政治屋』と名指しし正論長文を投稿。 [271912485]
- 【実況】博衣こよりのえちえち朝活🧪 2
- 【実況】博衣こよりのえちえち朝活🧪
- 中国「もはや高市の謝罪や撤回で済まされるフェーズは過ぎ去った。辞任以外の選択肢ない」 [271912485]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- 残クレマイホーム爆誕 [715715613]
