Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.8
http://mevius.5ch.net/test/read.cgi/tech/1528370228/
探検
Java入門・初心者質問スレ Part.9
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/03/09(土) 23:59:15.92ID:ACok0wnJ410デフォルトの名無しさん
2020/02/20(木) 22:38:05.53ID:F4jYa5rU >>409
レッドコーダーになったら世界中から称賛を浴びます
レッドコーダーになったら世界中から称賛を浴びます
411デフォルトの名無しさん
2020/02/20(木) 23:22:28.44ID:rlR2t2y0 資格を取る人は、年に、1%ぐらい。
10年で、1割
社員の9割は、出世しない・するつもりもない人。
最新・流行を勉強しないから、絶対に売上が増えることがない人。
だから、これらの人がリストラ対象になる
長年、同じ事だけをやっていると、新しいものが出てくるから、普通に売上が減っていく。
売上を維持するには、最新・流行を勉強しないと無理
だから、勉強しない人が嫌われる。
売上が減るから
10年で、1割
社員の9割は、出世しない・するつもりもない人。
最新・流行を勉強しないから、絶対に売上が増えることがない人。
だから、これらの人がリストラ対象になる
長年、同じ事だけをやっていると、新しいものが出てくるから、普通に売上が減っていく。
売上を維持するには、最新・流行を勉強しないと無理
だから、勉強しない人が嫌われる。
売上が減るから
412デフォルトの名無しさん
2020/02/20(木) 23:44:52.39ID:1hpLyJGI 温故知新
413デフォルトの名無しさん
2020/02/21(金) 03:42:00.05ID:dNZhWsp7 ここに書き込んでいる奴で正社員が何人いるかだよな・・・
414デフォルトの名無しさん
2020/02/23(日) 18:38:24.94ID:tm9RCkjw デザインパターンの勉強始めたんだけどどれも同じに見えちゃう…
415デフォルトの名無しさん
2020/02/23(日) 20:16:03.80ID:tm9RCkjw effectivejava買おう思うんだけど第2版でもおk?
416デフォルトの名無しさん
2020/02/24(月) 04:02:16.04ID:1vyCYlnD Java13 で multi line text きとるやんけ!
これずっと欲しかったやつ!
でも、内部に変数埋め込めない片手落ち機能…
なんでやねん
これずっと欲しかったやつ!
でも、内部に変数埋め込めない片手落ち機能…
なんでやねん
417デフォルトの名無しさん
2020/02/24(月) 07:41:37.81ID:NYt9ZqzS multi-line string literalとstring interpolationは互いに独立した要素だよ
不可分なペアじゃない
恨むとすれば今回の方向性じゃなくてJavaの進化が遅いこと
multi-line自体も未だにプレビューだから正式リリースはJava15だろう
不可分なペアじゃない
恨むとすれば今回の方向性じゃなくてJavaの進化が遅いこと
multi-line自体も未だにプレビューだから正式リリースはJava15だろう
419デフォルトの名無しさん
2020/02/25(火) 11:41:04.81ID:zjCVDX3d こういう需要のない物を初心者に勧めて不幸にするカスっていなくならんよなぁ
420デフォルトの名無しさん
2020/02/25(火) 11:44:21.81ID:Iisd4Jp9 Eclipseを説明を読まずに何となく不満もなく使っています。
IntelliJ?とかいうIDEはおすすめでしょうか?
Robert Sedgewickさんの『Algorithms 4th Edition』のサイトではEclipseではなくIntelliJ?を勧めています。
IntelliJ?とかいうIDEはおすすめでしょうか?
Robert Sedgewickさんの『Algorithms 4th Edition』のサイトではEclipseではなくIntelliJ?を勧めています。
421デフォルトの名無しさん
2020/02/25(火) 13:10:45.34ID:AL6VBnc2 >>420
インテリjに慣れたらeclipseにはもう戻れない
インテリjに慣れたらeclipseにはもう戻れない
422デフォルトの名無しさん
2020/02/25(火) 13:24:21.19ID:Iisd4Jp9423デフォルトの名無しさん
2020/02/25(火) 14:05:12.46ID:vEFgaeLH ステマ
424デフォルトの名無しさん
2020/02/25(火) 14:22:56.54ID:WVhKb5qT IntelliJ はみんな良いって言うよね!
IntelliJ サイコーーーーー
IntelliJ サイコーーーーー
425デフォルトの名無しさん
2020/02/25(火) 14:50:42.36ID:zjCVDX3d 開発現場でインテリJとかっていうIDE使ってるところはいまだかつて一度も見たことない
使われてないのにここの奴みたいに過剰に勧めてきたり自演で最高とかひたすら言ってるんだよね
つまりそういうことなんだよ
使われてないのにここの奴みたいに過剰に勧めてきたり自演で最高とかひたすら言ってるんだよね
つまりそういうことなんだよ
426デフォルトの名無しさん
2020/02/25(火) 15:14:45.89ID:B0KlsSQW 結局は使った本人が決める事だから無駄
427デフォルトの名無しさん
2020/02/25(火) 17:26:24.32ID:4V/gPTiX IntelliJとVSCodeの2択
428デフォルトの名無しさん
2020/02/25(火) 18:46:45.44ID:WVhKb5qT429デフォルトの名無しさん
2020/02/25(火) 18:58:36.32ID:AL6VBnc2 >>425
お前がAndroid案件付いたことないだけだろ
お前がAndroid案件付いたことないだけだろ
430デフォルトの名無しさん
2020/02/25(火) 19:18:55.20ID:fUZzeBhm IntelliJ は Kotlin で使うことがあるな。趣味で俺が勝手に使ってるだけだが。
仕事では俺は Java やっておらずCやPerlをviでやるぐらいでたまーにEclipse使うが本当にたまにしか使わん。
まあ、動作させるサーバで直接Eclipse動かして画面だけ飛ばせばコンパイルしてデバッグも楽なんだろうがクライアントからリモートデバッグさせるのはできないし(俺がやり方知らんだけのような気もするが)面倒そうなのでほとんど使ってない。
仕事では俺は Java やっておらずCやPerlをviでやるぐらいでたまーにEclipse使うが本当にたまにしか使わん。
まあ、動作させるサーバで直接Eclipse動かして画面だけ飛ばせばコンパイルしてデバッグも楽なんだろうがクライアントからリモートデバッグさせるのはできないし(俺がやり方知らんだけのような気もするが)面倒そうなのでほとんど使ってない。
431デフォルトの名無しさん
2020/02/25(火) 19:20:33.27ID:fUZzeBhm あ、でも、WSL使えばもうちょっと楽になるのかな?
432デフォルトの名無しさん
2020/02/25(火) 19:43:57.16ID:zjCVDX3d インテリアJ
Netビーズ
この二つは使ってる現場全くないから触るだけ時間の無駄だからやめとけ
勧めてる奴はただのステマ馬鹿だから
Netビーズ
この二つは使ってる現場全くないから触るだけ時間の無駄だからやめとけ
勧めてる奴はただのステマ馬鹿だから
433デフォルトの名無しさん
2020/02/25(火) 20:12:02.68ID:fUZzeBhm >>432
君はどういう現場を何ヵ所ぐらい巡った事あるの?
君はどういう現場を何ヵ所ぐらい巡った事あるの?
434デフォルトの名無しさん
2020/02/25(火) 20:19:28.15ID:zjCVDX3d 基幹、金融(銀行、為替)、携帯ゲーム、スマホアプリ
10年以上
もちろん全部エクリプソだ
おまえらゴミが趣味でやるプリョグラミングとは全然ちがうよ
10年以上
もちろん全部エクリプソだ
おまえらゴミが趣味でやるプリョグラミングとは全然ちがうよ
435デフォルトの名無しさん
2020/02/25(火) 20:45:05.80ID:WVhKb5qT >>434
弟子にしてください!!
弟子にしてください!!
436デフォルトの名無しさん
2020/02/26(水) 00:37:03.85ID:whUbLD/1 イヤです!!
437デフォルトの名無しさん
2020/02/26(水) 09:26:42.27ID:b8tbrO4B かといって一人の人間が体験できる事には限りがある。
全ての現場を同時には体験できないからアンケートを取ったりしない限りは全体の現状はわからない。
自分の体験からだけではなくそういったアンケートの結果もないと信憑性は低いまま「へー。君はそういう体験をしたんだ」で終わる話になる。
全ての現場を同時には体験できないからアンケートを取ったりしない限りは全体の現状はわからない。
自分の体験からだけではなくそういったアンケートの結果もないと信憑性は低いまま「へー。君はそういう体験をしたんだ」で終わる話になる。
438デフォルトの名無しさん
2020/02/26(水) 09:55:42.14ID:9WVZFPHA うちの親戚みんなヘビースモーカーだったけど長生きしたぞ!だからタバコが身体に悪いなんて嘘!みたいな話だな
その経歴ならスマホアプリが盛った部分でないとしても案件少ないだろうし
その経歴ならスマホアプリが盛った部分でないとしても案件少ないだろうし
439デフォルトの名無しさん
2020/02/26(水) 11:20:55.80ID:QGbVs5AT とりあえず上のレス2つはもう少しまともな文章書けるようになったほうがいい
誇張でもなんでもなしに何言ってるか全然わからんから
誇張でもなんでもなしに何言ってるか全然わからんから
440デフォルトの名無しさん
2020/02/26(水) 12:49:51.59ID:y3dFX5OK いやわかるやろ
441デフォルトの名無しさん
2020/02/26(水) 14:19:12.99ID:q+vU4LVz そういや俺の曾祖父は96で死ぬまで煙草吸ってたらしい。
442デフォルトの名無しさん
2020/02/26(水) 14:24:15.93ID:q+vU4LVz443デフォルトの名無しさん
2020/02/26(水) 14:48:18.66ID:QGbVs5AT 破綻した文章書いてる奴が相手に読解力ないとか言っても1_も説得力ないし
ただの馬鹿の逃げ口上
ビジネスではお前みたいな意味不明な屁理屈と破綻した文章は通用しない
相手が客ならただ無言で使えない奴認定されて干されるだけ
一つ勉強になったなアホ
ただの馬鹿の逃げ口上
ビジネスではお前みたいな意味不明な屁理屈と破綻した文章は通用しない
相手が客ならただ無言で使えない奴認定されて干されるだけ
一つ勉強になったなアホ
444デフォルトの名無しさん
2020/02/26(水) 15:08:42.76ID:EqJA10ZA どこが意味わからなくてどう破綻してるのか言ってみれば?
言えなければそれこそ説得力無いし
言えなければそれこそ説得力無いし
445デフォルトの名無しさん
2020/02/26(水) 16:02:50.53ID:rV5Bbt6b どうでもいいわ
なんでお前らすぐ煽りあいはじめるんだよ、不毛すぎるだろ
なんでお前らすぐ煽りあいはじめるんだよ、不毛すぎるだろ
446デフォルトの名無しさん
2020/02/26(水) 16:02:52.14ID:QGbVs5AT >どこが意味わからなくてどう破綻してるのか言ってみれば
大人は質問には答えてくれない
ワイは君たちの添削先生じゃないんでな
大人は質問には答えてくれない
ワイは君たちの添削先生じゃないんでな
447デフォルトの名無しさん
2020/02/26(水) 16:23:06.55ID:EqJA10ZA という逃げ口上ってネタかな
448デフォルトの名無しさん
2020/02/27(木) 20:14:42.89ID:444if5jT 逃げたな。
449デフォルトの名無しさん
2020/03/04(水) 00:23:27.00ID:dApziw6x 質問です。
コンストラクタのアクセス修飾子は、メソッドのアクセス修飾子と同じですか?
コンストラクタのアクセス修飾子は、メソッドのアクセス修飾子と同じですか?
450デフォルトの名無しさん
2020/03/04(水) 01:05:56.01ID:qy4ofkmR ググれカス
451デフォルトの名無しさん
2020/03/04(水) 04:24:48.10ID:kR2tqv2n 同じです!
452449
2020/03/04(水) 16:25:32.33ID:dApziw6x453デフォルトの名無しさん
2020/03/04(水) 16:40:51.32ID:qy4ofkmR グ グ れ カ ス
454デフォルトの名無しさん
2020/03/04(水) 17:24:03.70ID:pnfn8g6T >>452
public class Hoge {
private Hoge() {
}
}
のようなクラスの動作と使い方を考えてみたら良いです。
あと、コンストラクタは自動的に動くわけではないですよ。
public class Hoge {
private Hoge() {
}
}
のようなクラスの動作と使い方を考えてみたら良いです。
あと、コンストラクタは自動的に動くわけではないですよ。
455デフォルトの名無しさん
2020/03/04(水) 18:59:42.75ID:o0lNfGba メソッドはスコープ外だと呼び出せない
コンストラクタはスコープ外だとnewできない
コンストラクタはスコープ外だとnewできない
456デフォルトの名無しさん
2020/03/04(水) 23:02:27.56ID:kR2tqv2n Singleton とかは、コンストラクタを private にします!!
なぜなら、インスタンスを1つだけにしたいから、クラス外で new されたら困っちゃうからです!!
なぜなら、インスタンスを1つだけにしたいから、クラス外で new されたら困っちゃうからです!!
458デフォルトの名無しさん
2020/03/07(土) 06:58:34.72ID:9Yq1EkX9 質問です。
機能ごとにクラスを分けているのですが、
普通にクラスをインスタンス化して作る場合と、
static なメソッドを作る場合があると思います。
これらはどのように使い分けるべきでしょうか?
staticが静的なフィールドにアクセスするのは分かりますが、
ただそれだけの違いなんですかね
newせずに使えるので、メモリ的に極力staticで作るべきですか?
staticなメソッド内でもnewできるし、特に困らないのですが
sdkではよく使い分けられているので、違いが気になります。
機能ごとにクラスを分けているのですが、
普通にクラスをインスタンス化して作る場合と、
static なメソッドを作る場合があると思います。
これらはどのように使い分けるべきでしょうか?
staticが静的なフィールドにアクセスするのは分かりますが、
ただそれだけの違いなんですかね
newせずに使えるので、メモリ的に極力staticで作るべきですか?
staticなメソッド内でもnewできるし、特に困らないのですが
sdkではよく使い分けられているので、違いが気になります。
459デフォルトの名無しさん
2020/03/07(土) 08:55:03.14ID:Xru7mKy/ ググれカス
460デフォルトの名無しさん
2020/03/07(土) 09:10:36.47ID:+x6uH2X6 >>458
static にするのは、クラスの状態に依存しないユーティリティなメソッドだけ
クラスの状態に依存する場合は全部インスタンスメソッド
メソッド内でも new できるし特に困らないと言うのは、ちょっと何言ってるかわかんないっす
状態に依存しないメソッドで、そんなことする意味がない
static にするのは、クラスの状態に依存しないユーティリティなメソッドだけ
クラスの状態に依存する場合は全部インスタンスメソッド
メソッド内でも new できるし特に困らないと言うのは、ちょっと何言ってるかわかんないっす
状態に依存しないメソッドで、そんなことする意味がない
461デフォルトの名無しさん
2020/03/07(土) 10:53:38.80ID:NE7uf/mQ >>458
状態が必要かどうかで良いと思う
状態が必要かどうかで良いと思う
462デフォルトの名無しさん
2020/03/07(土) 11:09:13.44ID:+x6uH2X6 わいからも質問です!!
Primitive Value を、
スレッドAで書き込む+読み込む
スレッドBで読み込むだけ
この場合で、volatile だけでは同期化不十分なケースはありますか?
存在するなら教えてクレメンス!です!
…
自分で調べました!!!
答えは知ってます!
でも、他の人の意見も聞きたいので、自分の答えはしばらく内緒にしておきます!
Primitive Value を、
スレッドAで書き込む+読み込む
スレッドBで読み込むだけ
この場合で、volatile だけでは同期化不十分なケースはありますか?
存在するなら教えてクレメンス!です!
…
自分で調べました!!!
答えは知ってます!
でも、他の人の意見も聞きたいので、自分の答えはしばらく内緒にしておきます!
463デフォルトの名無しさん
2020/03/07(土) 11:58:08.06ID:Xru7mKy/ グ グ れ カ ス
464デフォルトの名無しさん
2020/03/07(土) 12:27:55.08ID:+mAoGX8g 完全にstaticなメソッドしかないクラスの使いどころの話と
混在するクラスでのstaticメソッドの使いどころの話で議論が変わってくる
後者は意味的にクラスそのものの振る舞いを定義するときに使う
実用的には定数と、ファクトリーメソッドであるgetInstance系に使うと思っていればいい
前者はSDKでは意外と数が少ない
SystemやVoidのような概念として単一で不変のもの
MathやCollectionsのような独立性の高いメソッドを緩いカテゴライズでまとめたもの
メモリ節約しつつ多態性が欲しいならシングルトンという手もある
混在するクラスでのstaticメソッドの使いどころの話で議論が変わってくる
後者は意味的にクラスそのものの振る舞いを定義するときに使う
実用的には定数と、ファクトリーメソッドであるgetInstance系に使うと思っていればいい
前者はSDKでは意外と数が少ない
SystemやVoidのような概念として単一で不変のもの
MathやCollectionsのような独立性の高いメソッドを緩いカテゴライズでまとめたもの
メモリ節約しつつ多態性が欲しいならシングルトンという手もある
465デフォルトの名無しさん
2020/03/07(土) 12:29:03.77ID:+mAoGX8g 一見状態を持たなそうなクラスだからといって安易にstaticばかりにするのは気を付けた方がいい
状態や前提を毎回引数で与える設計もできるのでオブジェクト志向から逸脱したコードが増えがちになる
状態や前提を毎回引数で与える設計もできるのでオブジェクト志向から逸脱したコードが増えがちになる
466デフォルトの名無しさん
2020/03/07(土) 12:40:20.54ID:meF2wfp3 staticおじさん「気分はstatic!」
467デフォルトの名無しさん
2020/03/07(土) 13:09:54.71ID:NE7uf/mQ >>462
ないと思う
ないと思う
468デフォルトの名無しさん
2020/03/07(土) 14:18:28.12ID:+x6uH2X6 >>467
違います!
答えのリンク貼っておきますね!
全部読むの面倒なら、コード例見るだけで分かると思います!
https://stackoverflow.com/questions/9868577/how-to-comprehend-the-variable-does-not-participate-in-invariants-with-other-st
違います!
答えのリンク貼っておきますね!
全部読むの面倒なら、コード例見るだけで分かると思います!
https://stackoverflow.com/questions/9868577/how-to-comprehend-the-variable-does-not-participate-in-invariants-with-other-st
469デフォルトの名無しさん
2020/03/07(土) 18:14:14.50ID:Xru7mKy/ 自演やめろゴミ
470デフォルトの名無しさん
2020/03/07(土) 18:27:15.44ID:NE7uf/mQ >>468
変数が一つだったらないってこと?
変数が一つだったらないってこと?
471デフォルトの名無しさん
2020/03/07(土) 18:28:27.29ID:NE7uf/mQ 複数の変数を書き換えるのをアトミックにやりたい
それはvolatileでは無理ですよって読み取ったのだけどあってるかな?
それはvolatileでは無理ですよって読み取ったのだけどあってるかな?
472デフォルトの名無しさん
2020/03/07(土) 18:29:04.20ID:NE7uf/mQ >>469
まあまあ、こういうの頭の体操みたいで楽しいじゃん
まあまあ、こういうの頭の体操みたいで楽しいじゃん
473デフォルトの名無しさん
2020/03/07(土) 19:21:02.25ID:+x6uH2X6 リンク先の本持ってるけど、日本語にするとこんな感じ
質問の条件は 1.は満たすが、2〜3を満たすかどうかは言われていない
2.の不変項は、 例にある、startTime < endTime が常に成り立つようなケースを言ってる
■ volatile 変数を使って良い条件
1.その変数への書き込みが変数の現在値に依存しない、または1つのスレッドだけが値を更新する
2.その変数が他のステート変数とともに不変項に関与していない
3.その変数がアクセスされるとき、ほかの理由でロックが必要とされない
…自分の言葉で書き直そうと思ったが、全く同じこと繰り返してるだけなのに気づいてやめた
まぁあれだね、スタート/エンドフラグ以外に volatile 使うのはやめたほうが良さげって話ね
質問の条件は 1.は満たすが、2〜3を満たすかどうかは言われていない
2.の不変項は、 例にある、startTime < endTime が常に成り立つようなケースを言ってる
■ volatile 変数を使って良い条件
1.その変数への書き込みが変数の現在値に依存しない、または1つのスレッドだけが値を更新する
2.その変数が他のステート変数とともに不変項に関与していない
3.その変数がアクセスされるとき、ほかの理由でロックが必要とされない
…自分の言葉で書き直そうと思ったが、全く同じこと繰り返してるだけなのに気づいてやめた
まぁあれだね、スタート/エンドフラグ以外に volatile 使うのはやめたほうが良さげって話ね
474デフォルトの名無しさん
2020/03/07(土) 19:29:28.43ID:+x6uH2X6 といいつつ、自分は、UI のコンフィグ的なやつを全部 volatile にしてぶっこんでるんだけどね…
UIスレッド以外の、DBやらProperty ファイルから読み込みたいから同期化はしないといかん(でも、synchronized めんどい)
あくまでアプリの設定値みたいなやつで、とりあえず自身の現在値に依存した書き込みや、他の変数と条件作るような値はなかったけど…
あんまり良くはないんだろうね
UIスレッド以外の、DBやらProperty ファイルから読み込みたいから同期化はしないといかん(でも、synchronized めんどい)
あくまでアプリの設定値みたいなやつで、とりあえず自身の現在値に依存した書き込みや、他の変数と条件作るような値はなかったけど…
あんまり良くはないんだろうね
475デフォルトの名無しさん
2020/03/07(土) 19:39:14.89ID:Xru7mKy/ 独り言で荒らすなゴミ
ブログにでも書いてろキチガイ
ブログにでも書いてろキチガイ
476デフォルトの名無しさん
2020/03/07(土) 19:50:24.86ID:kM7Orw13 MutexやReentrantLockを使っているところを、ReadWriteLock(Atomic***などを含む)で置き換えられるか?
と考えることはあっても、volatileにするかどうかはまず考えないだろう。
と考えることはあっても、volatileにするかどうかはまず考えないだろう。
477デフォルトの名無しさん
2020/03/08(日) 03:17:20.21ID:F9PCMLD5 長文のString を返すだけのメソッドが大量にあるクラスって、コードキャッシュ領域に大量のメモリ確保しますか?
それとも、各メソッドが呼ばれた時に、DB からのロードのようにオンデマンドでメモリ確保しますか?
それとも、各メソッドが呼ばれた時に、DB からのロードのようにオンデマンドでメモリ確保しますか?
478デフォルトの名無しさん
2020/03/08(日) 03:18:45.87ID:F9PCMLD5 長文のString を返すだけのメソッドが大量にあるクラスって、(クラスがロードされた時点で)コードキャッシュ領域に大量のメモリ確保しますか?
それとも、各メソッドが呼ばれた時に、DB からのロードのようにオンデマンドでメモリ確保しますか?
括弧内書き忘れました
それとも、各メソッドが呼ばれた時に、DB からのロードのようにオンデマンドでメモリ確保しますか?
括弧内書き忘れました
479デフォルトの名無しさん
2020/03/08(日) 04:38:49.57ID:dGkdYPVv ググれカス
コードキャッシュ領域ってなんだよ
まずJVMのクラスローダーの仕組みから調べて出直せ
回答見てても基本的知識ない奴等しかおらんから間違った回答しまくってるし
おまえらはもう全員回答するな
100万回ググれカス
コードキャッシュ領域ってなんだよ
まずJVMのクラスローダーの仕組みから調べて出直せ
回答見てても基本的知識ない奴等しかおらんから間違った回答しまくってるし
おまえらはもう全員回答するな
100万回ググれカス
480デフォルトの名無しさん
2020/03/08(日) 05:17:04.58ID:aOgn+sBu481デフォルトの名無しさん
2020/03/08(日) 05:18:46.89ID:dGkdYPVv グ グ れ カ ス
ゴミ
ゴミ
482デフォルトの名無しさん
2020/03/08(日) 06:53:05.65ID:F9PCMLD5 クラスローダってバイトコード読んでクラスをロードするから、
その読まれたバイトコードの機械語に相当する部分がJVMヒープ外のコードキャッシュ領域に保持されるって認識だったんだけど違ってるんかな
フィールド値の String は、ヒープの中の String Constant Pool って領域があってそこに確保されてる(String.intern() とかで確認できる)
というのはとりあえず基本的なこととして
メソッドの中のローカル変数の String は、メソッドがコールスタックに存在する時は当然JVMスタックに存在してるだろうけど、
メソッドがコールスタックにない時は、どうなってるのかなと
呼ばれた時に割り当てられるのか、クラスがロードされてれば呼ばれてないときもメモリが確保されてるのか
あと、すまんが例の人はすぐNGにするからそっちにレスしても見えんかも
その読まれたバイトコードの機械語に相当する部分がJVMヒープ外のコードキャッシュ領域に保持されるって認識だったんだけど違ってるんかな
フィールド値の String は、ヒープの中の String Constant Pool って領域があってそこに確保されてる(String.intern() とかで確認できる)
というのはとりあえず基本的なこととして
メソッドの中のローカル変数の String は、メソッドがコールスタックに存在する時は当然JVMスタックに存在してるだろうけど、
メソッドがコールスタックにない時は、どうなってるのかなと
呼ばれた時に割り当てられるのか、クラスがロードされてれば呼ばれてないときもメモリが確保されてるのか
あと、すまんが例の人はすぐNGにするからそっちにレスしても見えんかも
483デフォルトの名無しさん
2020/03/08(日) 07:00:46.66ID:F9PCMLD5 コールスタックに存在するときも、ローカルだろうが文字列リテラルの中身は、JVMスタックじゃなく、多分JVMヒープか(String 内のプール)
とりあえず、コールスタックにない時どうなってるのかという疑問はそのまままだあります
とりあえず、コールスタックにない時どうなってるのかという疑問はそのまままだあります
484デフォルトの名無しさん
2020/03/08(日) 07:12:55.76ID:dGkdYPVv コードキャッシュ領域なんて言葉はない
あと知識が滅茶苦茶&ぐちゃぐちゃでクラスローダーの基本的な動作以前に
メモリ領域の区別も理解できてない
調べた事を適当に解釈するんじゃなくて
一つ一つ整理することを覚えろ
もう1回だけアドバイスしてやる
グ グ レ 糞 ボ ケ カ ス
あと知識が滅茶苦茶&ぐちゃぐちゃでクラスローダーの基本的な動作以前に
メモリ領域の区別も理解できてない
調べた事を適当に解釈するんじゃなくて
一つ一つ整理することを覚えろ
もう1回だけアドバイスしてやる
グ グ レ 糞 ボ ケ カ ス
485デフォルトの名無しさん
2020/03/08(日) 09:30:41.35ID:Q/UcMpCA 自信を持てる事が1つしかない人が住み着いてるなぁ
486デフォルトの名無しさん
2020/03/08(日) 11:26:24.54ID:2fZbJlty ぐぐれかすで済まされてしまうと
そもそもこのスレはいらないことになってしまう
そもそもこのスレはいらないことになってしまう
487デフォルトの名無しさん
2020/03/08(日) 12:27:55.81ID:FBA+pquR それな
Java初心者のためのスレッドですと最初に宣言されてる
イライラの撒き散らちしの方が多くなってるならこのスレを見ないのが賢明
Java初心者のためのスレッドですと最初に宣言されてる
イライラの撒き散らちしの方が多くなってるならこのスレを見ないのが賢明
488デフォルトの名無しさん
2020/03/08(日) 13:49:00.36ID:hM31dvE+ >>473
なるほど
なるほど
489デフォルトの名無しさん
2020/03/08(日) 16:20:38.13ID:P5NrKt8/ >>482,483
大雑把に言うと、
(メソッド中に散らばっているようなものを含めて)ソースコード上でStringリテラルとして記述されている文字列は、
コンパイル時にclassファイルのコンスタントプールにまとめられて、
classロード時に(JVMヒープ上の)実行時コンスタントプールにロードされます。
この辺きちんと理解したいなら、ググるんじゃなくてJVMS読めばいいです。ちゃんと書いてあります。
(ところでこれ、入門・初心者の質問?)
大雑把に言うと、
(メソッド中に散らばっているようなものを含めて)ソースコード上でStringリテラルとして記述されている文字列は、
コンパイル時にclassファイルのコンスタントプールにまとめられて、
classロード時に(JVMヒープ上の)実行時コンスタントプールにロードされます。
この辺きちんと理解したいなら、ググるんじゃなくてJVMS読めばいいです。ちゃんと書いてあります。
(ところでこれ、入門・初心者の質問?)
490デフォルトの名無しさん
2020/03/08(日) 16:37:39.04ID:dGkdYPVv にわか知識からくる質問だから初心者レベルなのは間違いない
あと説明不足な上に回答不十分
自分の中で咀嚼できないなら回答レスはしないほうがいい
あと説明不足な上に回答不十分
自分の中で咀嚼できないなら回答レスはしないほうがいい
491デフォルトの名無しさん
2020/03/08(日) 17:09:44.06ID:F9PCMLD5 >>489
ありがとうございます
ということは、ローカルのStringリテラルもクラスロードした時点でメモリにはずっと載ってるイメージですかね
やっぱり長文はしっかり管理するなら外部ファイルから読んだ方が良さそうですね
ありがとうございます
ということは、ローカルのStringリテラルもクラスロードした時点でメモリにはずっと載ってるイメージですかね
やっぱり長文はしっかり管理するなら外部ファイルから読んだ方が良さそうですね
492デフォルトの名無しさん
2020/03/08(日) 17:18:26.01ID:dGkdYPVv 全然説明になってないからこんな風に全く理解してないんだよね
こうやって勝手に解釈して間違った知識を自分の脳に植え付けるってことを繰り返しちゃうんだよ
にわかども逝ってよし
激しく自演臭いけど
こうやって勝手に解釈して間違った知識を自分の脳に植え付けるってことを繰り返しちゃうんだよ
にわかども逝ってよし
激しく自演臭いけど
493デフォルトの名無しさん
2020/03/08(日) 19:06:41.84ID:Q/UcMpCA 自分では答えもせず回答者にケチをつけるだけのイライラ君
494デフォルトの名無しさん
2020/03/08(日) 21:53:57.00ID:P5NrKt8/ ごめんなさい、読み返してみたら>>489はいい加減すぎますね。
> classロード時に(JVMヒープ上の)実行時コンスタントプールにロードされます。
は
(classファイルのコンスタントプールの文字列は)
> classロード時に(存在してなければ)Stringのインスタンスとして(ヒープ上に)ロードされ
> そのStringインスタンスへの参照がクラスの実行時コンスタントプールに保持されます。
と書くべきでした。長いけど。
> classロード時に(JVMヒープ上の)実行時コンスタントプールにロードされます。
は
(classファイルのコンスタントプールの文字列は)
> classロード時に(存在してなければ)Stringのインスタンスとして(ヒープ上に)ロードされ
> そのStringインスタンスへの参照がクラスの実行時コンスタントプールに保持されます。
と書くべきでした。長いけど。
495デフォルトの名無しさん
2020/03/08(日) 22:07:06.38ID:P5NrKt8/ >>491
ソースコード上のStringリテラル由来の文字列(Stringのインスタンス)はクラスに紐付いているので、
クラスがアンロードされない限りヒープ上に確保され続けるのはその通りです。
ただ、「メモリを節約するために」文字列を外部化する、というのは一般的にはおすすめできません。
(もちろん、国際化対応などを考えると意味が無いわけではありませんが)
一応初心者スレなので、
他の方が「文字列って無駄にメモリを消費してるんだ」などと思い込んでほしくはないので、
念の為に書いておきます。
ソースコード上のStringリテラル由来の文字列(Stringのインスタンス)はクラスに紐付いているので、
クラスがアンロードされない限りヒープ上に確保され続けるのはその通りです。
ただ、「メモリを節約するために」文字列を外部化する、というのは一般的にはおすすめできません。
(もちろん、国際化対応などを考えると意味が無いわけではありませんが)
一応初心者スレなので、
他の方が「文字列って無駄にメモリを消費してるんだ」などと思い込んでほしくはないので、
念の為に書いておきます。
496デフォルトの名無しさん
2020/03/09(月) 08:30:09.11ID:5nsxMNcI >>495
詳しくありがとうございます
> ただ、「メモリを節約するために」文字列を外部化する、というのは一般的にはおすすめできません。
これは、UIやグラフィクスのメモリ消費に対して、文字列の消費するメモリが大した量でないという意味でしょうか?
Java の String はヒープ中では UTF-16 ですから、基本的には1文字 2byte、100文字200byte くらい、
ヘルプメッセージとかエラーメッセージとか、100文字1000個くらいあったら、20MB くらいですか
もちろん、クラスが使われなくなったらアンロードもされるかもしれないですが(アンロードの周期などの実装仕様は詳しく知らないです)
---
ちなみに上記の文字数が294文字でした
詳しくありがとうございます
> ただ、「メモリを節約するために」文字列を外部化する、というのは一般的にはおすすめできません。
これは、UIやグラフィクスのメモリ消費に対して、文字列の消費するメモリが大した量でないという意味でしょうか?
Java の String はヒープ中では UTF-16 ですから、基本的には1文字 2byte、100文字200byte くらい、
ヘルプメッセージとかエラーメッセージとか、100文字1000個くらいあったら、20MB くらいですか
もちろん、クラスが使われなくなったらアンロードもされるかもしれないですが(アンロードの周期などの実装仕様は詳しく知らないです)
---
ちなみに上記の文字数が294文字でした
497デフォルトの名無しさん
2020/03/09(月) 08:32:01.99ID:5nsxMNcI 失礼、20MB > 200KB ですね
498デフォルトの名無しさん
2020/03/09(月) 12:48:12.24ID:ZlKVPwI9 ググレカス
少しは質問する前に自分で試すかググったらどうだ?ん?
幼稚園児かお前は?ん?
少しは質問する前に自分で試すかググったらどうだ?ん?
幼稚園児かお前は?ん?
499デフォルトの名無しさん
2020/03/09(月) 17:45:24.63ID:CR1lspV9 ん?ん?
500デフォルトの名無しさん
2020/03/09(月) 18:34:19.48ID:ZlKVPwI9 クラスローダーの超基本的な動作すらわかってない奴等同士でレスつけてるから
間違ったことを延々とレス合ってるのが滑稽すぎて楽しいねw
なんだよクラスのアンロードってw
ggrks
間違ったことを延々とレス合ってるのが滑稽すぎて楽しいねw
なんだよクラスのアンロードってw
ggrks
501デフォルトの名無しさん
2020/03/09(月) 21:11:33.64ID:CR1lspV9 ん?ん?
502デフォルトの名無しさん
2020/03/09(月) 21:12:12.21ID:YzBqyBpd んん
503デフォルトの名無しさん
2020/03/09(月) 21:15:51.32ID:URBZWRA9 SwingWorkerクラスを繰り返し使うと10個デーモンスレッドができるんですけど、なんで1個だけじゃないんですか?
インスタンスを破棄するのを忘れているせいでしょうか?でも10回以上実行しても10個以上になりません。
インスタンスを破棄するのを忘れているせいでしょうか?でも10回以上実行しても10個以上になりません。
504デフォルトの名無しさん
2020/03/09(月) 21:19:44.52ID:ZlKVPwI9 ググれカス
505デフォルトの名無しさん
2020/03/09(月) 21:44:27.76ID:5nsxMNcI >>503
内部的に ExecutorService 使ってるから、何個も同時にexecute すれば、スレッドは1個じゃないよん!
System.out.println(Thread.currentThread().getName());
で通し番号的なの見れるから、確認したいならおすすめだよん!!
内部的に ExecutorService 使ってるから、何個も同時にexecute すれば、スレッドは1個じゃないよん!
System.out.println(Thread.currentThread().getName());
で通し番号的なの見れるから、確認したいならおすすめだよん!!
506デフォルトの名無しさん
2020/03/09(月) 21:53:35.55ID:5nsxMNcI new ThreadPoolExecutor(MAX_WORKER_THREADS, MAX_WORKER_THREADS,
10L, TimeUnit.MINUTES,
new LinkedBlockingQueue<Runnable>(),
threadFactory);
この部分が SwingWorker の ExecutorService 実装の部分だよ!
スレッドプールを使ってて、10個のスレッドをプールして使うようになってるね!!
すぐ終了する Worker 走らせても、スレッドプールは次のタスクに備えるために、スレッドを10個まで残しておくよ!
10L, TimeUnit.MINUTES,
new LinkedBlockingQueue<Runnable>(),
threadFactory);
この部分が SwingWorker の ExecutorService 実装の部分だよ!
スレッドプールを使ってて、10個のスレッドをプールして使うようになってるね!!
すぐ終了する Worker 走らせても、スレッドプールは次のタスクに備えるために、スレッドを10個まで残しておくよ!
507デフォルトの名無しさん
2020/03/09(月) 22:08:08.58ID:ZlKVPwI9 クラスのアンロードとか言ってるアホは回答側にまわってはいけない
回答したくても自重するように
回答したくても自重するように
508デフォルトの名無しさん
2020/03/09(月) 22:09:35.45ID:ZlKVPwI9 と思ったら質問厨のアホか
君の回答は全部間違ってるので絶対に回答側にまわってはいけない
今後質問もしてはいけない
ググって勉強
君の回答は全部間違ってるので絶対に回答側にまわってはいけない
今後質問もしてはいけない
ググって勉強
509デフォルトの名無しさん
2020/03/09(月) 22:18:54.57ID:ZlKVPwI9 そもそもだな
初心者と初心者未満がマルチスレッドプログラミングをしてはいけない
初心者と初心者未満がマルチスレッドプログラミングをしてはいけない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 高市政権「かけてもつながらない。機能していない」防衛当局間のホットライン機能せず [834922174]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
- あたしゃやだよ
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 【朗報】ケンモジサンが買うふりかけ、二択に絞られる [394133584]
