Java入門・初心者質問スレ Part.9
■ このスレッドは過去ログ倉庫に格納されています
>>788
そういう意味ね
状態変えられたらどうしようもないし
変数に再代入してるところないし
上のコードは同期取れてるけど一般論としてはということね
なるほどね >>786
ループのたびにインスタンス作るやり方だと5000回
回してもうちのPCでは再現しなかったんよね
条件が足りてないのかもしれないけど >>790
うちの環境のせいかもしれませんね。これ以上は諦めることにします。 >>781
そこにfinal付けるかどうかこの例だと全くどうでもいい。
配列・オブジェクトに対するfinalとは?
もちろんfinalを可能な限り付けることは推奨だけど。 >>792
> final Clip[] clips でもダメだからね
ってちゃんと書いてるからね >>786
単にそのライブラリが、非同期・マルチスレッドに対応していないのだろう。
対応していない機能を使うから、バグるのでは?
ライブラリには、シングルトンみたいな単一オブジェクト・資源を使っているものがあって、
それを共有できないものが多い
だから、ライブラリの説明書には、
このライブラリはマルチスレッドでは使えない、などと書いてあるものが多い
複数の効果音を同時に使えるライブラリなどは、特殊なんだと思う。
Windows だけとか、OS を限定される
OSS・Linux 系のライブラリでは、マザーボード上のチップ内の特殊なネイティブ機能は使えないのでは?
普通これらでは、ハイバネートから戻れないとか、電源機能などもまともに動かないだろ ヤマハなどの音源チップと、ライブラリのAPI が、バージョン違いで一致しないとか
基本、マザーボード上のチップは、Windows 限定だろ。
OSS・Linux 系のライブラリでは、正常に動くかどうか分からない まーた頭悪い奴等同士でグダグダ交換日記してるよ
ほんとキチガイやなこいつ等
まとめて逝って良し まぁ一番イラつくのは全てが他力本願の頭のイカれた質問者だけどさ
やってること同じなのにちょっとデバッグウィンドウの表示ちがうだけで
「〇〇じゃないですか!?なんでですか!?」って
バカかとアホかと
少しはテメーで考えろボケカス
ほんとこういうのに答え教えても何の意味も価値も成長もないんだわ >>786
>>778のChime2(後者の実装)をnew Chime2().play(i)で100回とか呼んだ場合ですよね?
うちでもDirect Clipのdaemon threadが増殖しますよ。
実行環境にもよるのかもしれませんけど、
Direct ClipスレッドはClip.open(ais)で生成されて、Clip.close()後に終了するようです。
Chime2ではclip.close()が呼ばれないのでスレッドが残るのでしょう。 (おお、やっと書き込めた...why?)
(続き)
778の前者の実装(CountDownLatchを使った方)は、
try-with-resources文でclip.close()が暗黙に呼ばれるので
chimeインスタンスを使いまわしても、new Chimeを繰り返してもスレッドは増殖しないですね。
確認した環境: AdoptOpenJDK 12.0.1+12, 64bit Server VM (Hotspot)
(オーディオデータは C:\Windows\Media\notify.wav 等)
$ java --version
openjdk 12.0.1 2019-04-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.1+12)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12.0.1+12, mixed mode, sharing) 漏れらは、動かないゲームエンジンとか知ってるから、音なんて出ない方が多いぐらいw
Pixi.js をコアにした、Phaser は音が出るらしいとか、そういう噂で決める
大手のブラウザみたいに、Windows 用を別に作っているものは、半分ぐらいは動くけど、
OSS・Linux 系のライブラリでは、ソースコードを書いてるだけだから、
それをWindows ネイティブの機械語に変換した場合に、動くとは限らない
無線LAN でも、半分は動かない。
各メーカーで、ドライバーを作っていれば動くけど
msys2/mingw で、Windows 用にコンパイルしても、互換性が低い。
WSL の方が、MS が作っているから、互換性が高い
ヤマハが、Java・OSS 向けのドライバーを作っていれば動くけど、まさか作っていないだろ >>802
解決しました。コンパイラのバージョンが1.8になってました。
Eclipseを最新のものにしていないせいか11までしか使えないのですが、それにしたら症状が消えました。
ありがとうございました。 >>804
解決してよかったですね。
ただ、その報告では結局何をどう変更して解決したのかこちらは分からないです。
個人的には Clip.close() を呼ばなくても大丈夫な場合/環境があるのか気になります。 >>806
>>778の上のプログラム、CountDownLatchを使った方ですね。それを500回 new した時に
その時々によりますがDirect Clip が3つから6、7個くらい残るという症状でした。
で、それを入れていたプロジェクトが使うコンパイラのバージョンを1.8から11に上げたらきれいに直ってしまったということです。
プログラムの方は何もいじらずそのままです。 >>807
うちでも、Java 8でCountDownLatch版で new Chime().play(i) を連続で500回呼ぶのを10回ぐらい実行したら一回だけDirect Clipスレッドが一つ残りました。
見てみると、
com.sun.media.sound.DirectAudioDevice$DirectClip.run()
の(コメント込みで)10行目ぐらいの lock.wait() で止まっていました。
この箇所の実装をJava 8とJava 12で比較すると少し修正されています。
Java8 の実装だと
while (thread == curThread) {
で thread == curThread が true と判定した後、
synchronized(lock) { ※
で同期化ブロックに入る前に DirectAudioDevice$DirectClip.thread フィールドが変更されていた場合、
そのまま lock.wait() に突入してしまうタイミングがあるように見えます。
つまり DirectClip.run() が※のモニタを取る前に
DirectAudioDevice$DirectClip.implClose() が DirectClip.thread = null として lock.notifyAll() してしまうと、
DirectClip.run() の lock.wait() は来ない通知 (lockのnotify) を待ち続けることになるのでしょう。
Java12 では DirectClip.run() の synchronized(lock) を取ってすぐに
while (!doIO && thread == curThread) {
で DirectClip.thread フィールドをチェックするようになっているので、
絶妙なタイミングで DirectClip.implClose() に割り込まれても大丈夫なようにライブラリが修正されたのでは無いでしょうか。
リリースノートかbug paradeを丹念にチェックしたら、どこかに載っているかもしれません。 そもそも説明になってなさすぎる
まともな文章書けないガイジはレスすんのやめろ
マジキチ ■ Java 質問スレのググれカス君とは
質問と回答に対して罵倒を続ける荒らし
罵倒はワンパターンで、ググれカス、ゴミ、馬鹿、キチガイ、低能、チョンなどを多用します
プログラミングの基礎知識がないため、技術的な事はほとんど言いません
過去の発言でクラス変数とインスタンス変数を勘違いしていたり、基本的な事も理解できていないことが判明しています
どんな回答がついてもそれが間違いだと主張しますが、根拠は示しません
あなたの質問についた回答が正しいかどうかは自分で判断して下さい
彼は自分に対する批判は全部自演だと思っているようなので、構うだけ無駄です 図星突かれたらすぐ顔真っ赤にして捏造する癖やめたほうがいいぞ低能ゴミカス
アホ 説明になってなさすぎる (自分も説明は出来ない)
ってパターン多すぎてネタ化してる ロック取ってループで条件チェックはマルチスレッドの基本だけれどそれやってなかったんだなー標準ライブラリにもバグが潜んでるものなんだなー ゲームエンジンとか、まともに音が出る方が少ないw
それに、色々なブラウザで動かないから、Chrome 限定にする
Pixi.js をコアにした、Phaser は音が出るらしいとか、
そういう噂ばっかりを集めて、皆で動くエンジンへ移動するw
開発者は、動かないエンジンを修理するよりも、
皆で動くエンジンへ移動するw クラス変数とインスタンス変数を勘違いした発言なんかしたら、俺だったら恥ずかしくて二度とスレに来れない おまえの馬鹿さを指摘してやってるだけなのに
どう解釈したら勘違いしてるって思えるのか低能すぎてこえーわ
バカのくせに開き直って妄想で捏造書き込むキチガイもほどほどにしとけゴミカス低能
どんだけ根にもってんだキチガイ
>一応だけどクラス変数はインスタンスを作らなくても使用できる変数で
もっかい書いてやるけどつかえねーから馬鹿 アンロード君
classNotFound君
同期化君
インスタンス作らなくても変数が使えちゃう君
全員入門書レベルのゴミがなぜか捏造して叩いてくるんだよな
ほんまキチガイの巣窟すぎてやべーわここ
英語も読めないプログラム全般の基本的な動作も理解してないゴミ糞低能の分際で
「おまえは勘違いしてる!(キリィイイイ!」とかわけのわからん馬鹿捏造解釈で
延々と叩くことしかできないキモさはお隣の国そっくりやな
バカチョンコミュニティかここは?ん? 変数がどうたらとかくだらなすぎて書く気すら失せるから
ほぼほぼスルーしてたんだけど黙ってたら延々と言って来るからな低能って
ほんとゴミにはしっかり言ってやらんとダメだと再認識したわ >>820
クラス変数はインスタンス作らなくても使えるよ >>820
クラス変数とインスタンス変数は違うよね? >>824
質問に答えてないじゃんかー
ずるいじゃんかー
答えろじゃんかー >>824
クラス変数とインスタンス変数は違うじゃんか? だからなに?いつ同じって言った?ん?
違ってもインスタンスなくても使える?は?アホ
一人でわけの分からんこと言って勝手に決めつけて
まともな文章も書けないしもう回れ右しとけ低能
まぁ学生だろうけどまともな文章書けるようになってから出直せアホ それにしてもどうやったらこんな馬鹿なことを
延々と喚けるのかアホの頭はホントハッピーセットすぎてやべーわ >>827
じゃあ違うのん?
どうなのん? はっきりしてのん? >>828
はっきり答えてないないじゃん
はっきり答えてじゃん アホ「クラス変数はインスタンスなくても使える!」
聖者ワイ「アホ君、変数っていうのはね中身入ってないと使えないよ」
アホ「こいつはクラス変数とインスタンス変数が同じと思ってる!(キリィイイイ」
聖者ワイ「何言ってんだこの馬鹿・・・」
ほんとキチガイは意味不明過ぎてヤバいね >>831
変数に中身が入ってるかの話を僕がしてないのはわかりますよね
わかってなかったのを僕は許します
その上でクラス変数とインスタンス変数は違いますよね? >変数に中身が入ってるかの話を僕がしてないのはわかりますよね
エスパーじゃないんだからお前の低能な頭の中をみんなが理解してたら凄いことだね
いいかい、アホ君。変数というのはね、中身があって初めて”使える”っていうんだよ
おまえの脳内設定の意味のわからん”使える”は万人に適用できないんだよ
わかるかい?アホ
こんなアホ理論が通用するのは学生のうちだけだからよく覚えておけよ糞アホ君 そして違うとか違わないとかこれまた意味の分からん比較の話に飛ぶのも
キチガイ脳すぎて相当ヤバいよアホ君
脳専門の病院に行ったほうがいいよマジで >>833
変数を使うの定義をすり替えてますよね
質問してるのは僕なので僕の定義に完全服従する義務が
あなたにはありマフ
責任感を持って質問に答えてください
クラス変数とインスタンス変数は違いますよね? >>834
わかるよね?わからないの?本当に?
本当に質問の意味がわからないのん?
どうなの?正直に言って はい、終わり
バカの文章見るのキツイ
もう日本語として破綻してる
人生がんばれよアホ君
君の別名はシンプルにアホ君な
アンロード君
classNotFound君
同期化君
アホ君
あほあほ四銃士 >>837
逃げるん?
クラス変数とインスタンス変数の違いを聞いてるんよ
答えられずに逃げてまうん? 初心者未満は相応のスレに行きましょう
ここは初心者スレです >>840
できるよ。そう、Groovy,Scala,Kotlinならね
マジレスするとcommons langのStringUtils.joinとかMapUtils.verbosePrintあたりを活用してお茶を濁すくらいだな AbstractMapっていい感じにtoString実装してるんだな
何故かできないものと思い込んでた こういう思い込みのアホって何で回答するんだ?
脳に蛆でも沸いてんのか?自演か?
またアンロード君か同期化君が知ったかでレスつけてんのか?
目立ちたがり屋の妄想家は回れ右してSNS!!!! >>846
インスタンス変数をクラス変数と思い込んで回答した君が言うかねwww あることないこと勝手に喚き散らして一人で妄想してマウント取ろうとする病気の奴ってなんていうんだろうな
こういうキチガイがきっと宗教とかにハマるんだろうね
ほんとこういうキチガイの為にツイッターとかがあるのになんでこのスレ見てんだって感じだな
アホ >>849
他人に暴言吐いてるのに自分がマウントされるのは嫌なんだw繊細なんだなwwwwwww Javaスレのデリケートプリンセス、略してプリンちゃん そら俺は正しいことしか言ってないからな
正しいならいくらでもマウント取られてもいいけど
おまえなんて妄想と開き直りで俺がレスするたび繰り返しわけのわからんことを書いて荒らしてるゴミだからな
しつけーんだよ糖質が
とっととSNSに帰れよゴミ >>852
終電なくなっちゃったの・・・泊めてくれないか 仕事してる妄想か?ん?
文章まともに書けない奴に出来る仕事なんてないぞ クラス変数とインスタンス変数間違うって、もしかして入門書すら全部読んでないんかな >>856
>>831
いい加減死ぬか病院行けキチガイ >>858
またお前か。いい加減死ねよ。生きてる価値ないんだから。 トリップで検索すると、救われない系の人間のクズだな
救われないというか救ってはいけない系というか すいません、どうしても過去の遺恨がありまして一言書き込みたかったんです
とあるドアホコテのせいで俺が悪いということにされてしまいまして…
>>859
そこまで言うことないだろ それぞれが別パッケージにある同名クラスを同時に使いたい時ってどうすりゃいい?
今、Jsoupを使って、HTMLを解析して、その解析結果をXMLファイルに出力しようとしてるんだけど、
JsoupにもJDKにもDocumentクラスがあるんだけど、この2つのクラスを同時に使いたい。
でも名前がバッティングしてるからエラーになるんだが? 片側のクラス名をパッケージからフルで書けばエラーは消えるのでは。
IDEで修正してくれないの。 >>865 そうします。
HTMLの解析に使えるライブラリにJsoupがあるけど
XML文書の入出力に使えるライブラリって何がありますか?
元からあるorg.w3c.domパッケージは1つ1つの命令文が面倒なんでw
jqueryみたいに手軽に使えるのがあれば良いんだが。 全部ググれば3秒で解決することをここで聞くな
アホ ググレカス君はコロナにかかれば「うつしてやるおじさん」になりそう ■ Java 質問スレのググれカス君とは
質問と回答に対して罵倒を続ける荒らし
罵倒はワンパターンで、ググれカス、ゴミ、馬鹿、キチガイ、低能、チョンなどを多用します
プログラミングの基礎知識がないため、技術的な事はほとんど言いません
過去の発言でクラス変数とインスタンス変数を勘違いしていたり、基本的な事も理解できていないことが判明しています
どんな回答がついてもそれが間違いだと主張しますが、根拠は示しません
あなたの質問についた回答が正しいかどうかは自分で判断して下さい
彼は自分に対する批判は全部自演だと思っているようなので、構うだけ無駄です >>870
丁寧にテンプレ纏めてくれてるけど、健常者には>>867の1レスを見た瞬間にすぐに察したけどな
まぁこういう奴は、恐らく現実世界での自分の無能さと周りの健常者の実力の余りもの落差に、自分の過剰でしょうも無いゴミプライドが傷ついたから、
ネット上でこうやって人のすることにケチ付けて自分のゴミプライドに付いた傷を舐めて癒やしてるつもりなんだろうな
こういう人間は一生成長しない。
新しく勉強して知識増やしてきてる新参に次々と追い抜かれて益々偏屈なゴミ人格が酷くなるだけ
完全な負のスパイラルに入ってるパターン
関わって何の得も無いから、無視が誰にとってもベスト
↑一応追加テンプレに使えるんじゃね?w 毎回アホな質問してる奴も毎回ワイを逆恨みの妄想で貶してる奴も同じ奴だから注意な
アホな文章からして恐らくアンロード君かアホ君のどっちかなのは確実w
ほんとバカってわかりやすいわw
アホ 「同じ名前のクラスはどうやってらつかえまちゅか!(キリッ!!!」
バカかとアホかと
こんな初心者未満の糞低レベルなことをここで聞く前に
なぜググることもできねーのか低能
そしてこういうくだらないことに回答つけるから馬鹿が増長して
延々と質問を繰り返すんだよ
消えろゴミ
アホ 何の脈絡もなくいきなりjquery出てくるところとかまさに馬鹿っぽいし
まぁこの感じはいつもの馬鹿アンロード君だろうな
アホ 「どうすりゃいい?」、「使いたい。」、「エラーになるんだが?」
そして糞馬鹿のくせになぜかタメ語w
小学生対象のプログラミング教室にでも言ってろ池沼
アホ >過去の発言でクラス変数とインスタンス変数を勘違いしていたり、基本的な事も理解できていないことが判明しています
念のため他の初心者が勘違いするとよくないから書いておくけど
>>831が現実だからな
バカが図星突かれ過ぎて逆恨みしてあることないことを書いてるだけだから注意な 失礼します
>>859
氏ね
>>861
黙れ
>>863
氏ね
失礼しました https://ideone.com/r0mbjJ
このソースに対して
>>734
> もう答え教えてやるけど
> clipをクラス変数で共有してるからだ
これでクラス変数とインスタンス変数間違えてねーからって、無理筋にもほどがあるのでは この馬鹿がマジで何言ってるのかわからんかったけど
ひょっとしてソース読めないから複数スレッド間で共有してるって意味が理解できずに
延々とわけわからんことをずっと喚いてんのか?
ほんと頭弱すぎてやべーな
馬鹿すぎてホントきしょくわりぃわ
ホームラン級のバカのくせにずーーーーーっと低レベルなことでレス返してくんのな
消えろアホ まぁスレッドどうこうを含めなくても池沼すぎて本人以外誰も意味わからんしなw
基本わからん、まともな文章もかけないバカのくせに一人で「インスタンス変数ガー」 って延々と喚いてんのなw
池沼アピールはSNSで一人でブツブツ言ってろ
アホ どこで受けたストレスをここで発散してるんだろう・・・ で、こうやって図星突かれるたびに話逸らすのがパターンなんだよなw
絶対またやってくると思ったわw
バカなんだからレスつけるのやめろってお前ホント
アホ ■ このスレッドは過去ログ倉庫に格納されています