- 1 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 21:15:23.40 ID:3TSUYd8+.net]
- プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング 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質問・相談スレッド178★★ [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1466119015/
- 435 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 21:10:25.10 ID:6Rfsv7h0.net]
- >>425
初心者はスレッドセーフかどうかを心配する必要があるような設計をしてはいけない DBとローカル変数以外は使うな
- 436 名前:426 mailto:sage [2017/01/08(日) 21:21:20.77 ID:6Rfsv7h0.net]
- 誤解のないように言っておくと、参照のルートは必ずローカル変数でなきゃいけないという意味ね
クラスのインスタンスを作って使うのは構わないが、リクエストをまたがって保持しようと考えてはいけない
- 437 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 22:17:11.61 ID:c5pY166L.net]
- >>422-423
2chのバグだろう 書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。 " の代わりに、\" とエスケープすれば、どうだろう? それか、書き込み確認画面が出たら、1度キャンセルすれば、確認画面は出ないようになった >>425 素人がマルチスレッドなんて、何十年も早い。 Rubyを作った、まつもとゆきひろでさえ、やったことないのに マルチスレッドで共有変数があれば、即終了!
- 438 名前:デフォルトの名無しさん [2017/01/09(月) 20:32:39.79 ID:bKumwacY.net]
- 何十年ってこたなかろうw
- 439 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 07:57:30.67 ID:btyz1q/N.net]
- ローカル変数のStringBuilderを全部StringBufferに書き換えてる奴を見て、なんかげんなりしたことあるよ
- 440 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 08:13:39.45 ID:anKjrvQ4.net]
- スレッドセーフという言葉が独り歩きしてるんだよなあ
スレッドセーフはアプリ全体として結果的に実現されるもので、 細かい操作やメソッドがそれ単独でスレッドセーフかどうかというのはあまり意味がない StringBufferのappendメソッドがスレッドセーフでもsb.append(…).append(…)はスレッドセーフじゃないんだから Java初期のスレッドセーフ信仰が生んだ悪習
- 441 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 08:36:52.77 ID:duWLWLTR.net]
- 誰もレビューでガツンと言ったらんからそういうことになる
必要のないnull代入とかカーゴカルトプログラミングそのもの
- 442 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 09:20:04.28 ID:z7ojWcoj.net]
- スレッドセーフという言葉が良くないよな
実際以上に安全安心な印象を与える 単に「直列化されている」とかでいいのに
- 443 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 09:47:13.45 ID:a7VQBoIR.net]
- 直列化はJavaの公式ドキュメントがシリアライズの訳語として使ってるから無理じゃね?
- 444 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 12:26:54.61 ID:100jHo+a.net]
- 順番待ちか
- 445 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 08:48:34.11 ID:Adq7JLti.net]
- 排他してなくても結果的に直列化されてるように見えれば問題ないわけだから、一番適切なのはDB用語のserializableかなあ
Javaだとシリアライズと被るから無理だけど
- 446 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 09:53:08.77 ID:Knkf8nBH.net]
- Mutexとか
- 447 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 11:13:29.01 ID:qHX7/jxt.net]
- class Global {
static Object lock = new Object(); } class CL { void f() { synchronized (Global.lock) { } } } こういうグローバルなオブジェクト用いて排他制御ができるということだけど どんなときでもこのGlobalクラス作っておけばスレッドセーフが作れるという認識で良い? 「おまじない」という認識で良い?
- 448 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 12:37:52.68 ID:LZHP+E6Z.net]
- お前はプログラミングするな
- 449 名前:デフォルトの名無しさん [2017/01/11(水) 12:47:25.22 ID:2fyLF58e.net]
- おまじないするな
- 450 名前:デフォルトの名無しさん [2017/01/11(水) 14:50:57.49 ID:hzMZkzGq.net]
- >>438
lockオブジェクトはMutexの役割で使うので、排他したいリソースをsynchronizedブロック内で使えばいい 問題なのは実現の仕方ではなく使いどころ 例えば3個のリストを個々に排他したいけど、リスト間では排他する必要がないのであれば、 synchronized(list1) { } synchronized(list2) { } みたいに排他したいオブジェクトのMutex lockを取得(実際にはMoniterの取得)すればいいのでグローバルのlockObjectを用意する必要はない ただ、先の書き込み内容からしてもう少し勉強してから使ったほうがいいと思いますよ
- 451 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 14:57:57.65 ID:0dcMUO4e.net]
- 排他は必要なところに必要なだけすればいいよ
逆に言うとそれを把握せずにぼんやり スレッドセーフだの何だのやっても無意味
- 452 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 20:56:40.05 ID:9JRTsez2.net]
- Javaはスレッドに頼りすぎ
Javaの外に目を向けると、近年は非同期IOと継続渡しを活用してシングルスレッドで作るスタイルが流行り せっかくJavaにもラムダが入って継続が書きやすくなったことだし、Javaでも非同期プログラミングが普及すればいいのに
- 453 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 21:16:47.74 ID:0B2zc1Af.net]
- parallelストリームは便利だよねCPU100%にしたい人向け
- 454 名前:デフォルトの名無しさん [2017/01/11(水) 21:40:13.25 ID:N/Vxl167.net]
- akka良いよ
- 455 名前:デフォルトの名無しさん [2017/01/12(木) 09:30:07.93 ID:us5ONQNv.net]
- いやしかしマルチスレッドはあると便利だよ。非同期入出力でもメインの処理の邪魔をせずに裏でバッファから送信だのバッファに受信だのできるしね。
まあ、そういうのがほとんどないGUI画面で人間との対話ばかりならあまり必要ないかも知れないけどね。人間は一度に一つの事しかできないから。 ゲームとかだマルチスレッドで書いた方が楽になるのはあるかな?
- 456 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 09:38:52.01 ID:2R6CrnF4.net]
- イベント処理で全部済むならnginxが裏でワーカースレッド8個とか16個とか持ってるのはなぜ
- 457 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 09:43:22.06 ID:gDCHiAoV.net]
- >>447
マルチプロセスで全部済むならインプロセスのマルチスレッドなんていうデリケートな仕組みを使う必要はないだろ 済むかどうかはケースバイケースだけど
- 458 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 09:46:01.67 ID:RGf+hnFO.net]
- GUIでマルチスレッド普通に使うだろ
何か処理要求するごとにウィンドウ全体が固まるとかクソアプリじゃん
- 459 名前:デフォルトの名無しさん [2017/01/12(木) 10:33:11.00 ID:us5ONQNv.net]
- その処理が終わってからでないと次の処理ができない場合はマルチだったとしてもせいぜい「しばらくお待ちください」出すぐらいのものだ。固まってんのと同じ。
- 460 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 12:26:58.59 ID:gDCHiAoV.net]
- 非同期プログラミングならユーザーコードがシングルスレッドでも固まらないよ
Ajaxなんかリクエストの最中に固まったりしないでしょ プログラミングモデルとしてマルチスレッド&同期モデルと継続&非同期モデルのどちらが優れてるかどうかは自分で判断すればいいけど、 さすがに今時知らないのはヤバイぞ
- 461 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 08:17:11.76 ID:NQh6x04N.net]
- >>450
途中でキャンセルもできない糞アプリ作んな >>451 非同期なんてそれしか使えない時にやむを得ず使うもんだよ 知らないのは無知だと思うがむやみやたらに使うのはバカ
- 462 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 08:26:17.63 ID:NMRw63WY.net]
- >>452
おまえ個人の開発ポリシーを他人に押しつけないで 迷惑だから
- 463 名前:デフォルトの名無しさん [2017/01/13(金) 08:41:31.37 ID:nVxQCvXm.net]
- 非同期タスクはマルチスレッドを使っての同期タスク実行の抽象度高めただけでしょ
非同期IOだって大抵のOSの非同期IO用システムコールのパフォーマンスは糞だからマルチスレッドで裏で同期IOで実行して非同期に見せかけてる。 抽象度が高いおかげで未熟なプログラマによるマルチスレッドでの間違い(データ競合など)を少なくする事ができるし、スレッド間でむやみに変数を共有させない事によって実装もシンプルになる。 長々書いたけどまとめると非同期タスクで済むことをむやみにマルチスレッドで実装する方がバカ
- 464 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 09:14:53.53 ID:WGrJXBVd.net]
- Javaは伝統的に「非同期APIなんか要らんスレッド使え」でやってきたから
今更移行するのは難しいだろうな Androidは非同期処理多いから移行しやすいだろうけど、サーバーが非同期になる日はなかなか来ないだろう
- 465 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 12:30:19.65 ID:NQh6x04N.net]
- >>453
個人の開発ポリシーだと思ってるところがバカっぽい w
- 466 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 12:34:33.36 ID:xEiCBlzV.net]
- >>456
あ、ごめん 即座に罵倒するようなヤツとは関わらないって決めてるので後は独りで勝手に盛り上がってください
- 467 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 13:06:07.65 ID:TryNDMwR.net]
- 自分が日頃使っている言語以外の一般常識を何も知らない奴がいるのは別にJavaに限ったことではないが、
VB厨やペチパーなんかと違ってJava屋は自分達がスタンダ
- 468 名前:ードだと信じてて自覚がない奴が多いから厄介 []
- [ここ壊れてます]
- 469 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 13:40:08.05 ID:7t+hNZnh.net]
- なんかあったのか?
- 470 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 16:53:41.20 ID:i/Nl3uZN.net]
- マルチスレッドや並列分散系ぜんぜんわからんのだけどどうやって勉強すればいい?
学生のころに習ったコンシステンシモデルとかいうのがまったく理解できないんよね
- 471 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 17:04:17.84 ID:YYdJyp6W.net]
- 餌がきたぞー
- 472 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 17:48:11.19 ID:J1Dr1Cwv.net]
- まず服を(ry
- 473 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 20:06:56.93 ID:TZ1yXK65.net]
- >>454
> 非同期タスクはマルチスレッドを使っての同期タスク実行の抽象度高めただけでしょ 全然違う > 非同期IOだって大抵のOSの非同期IO用システムコールのパフォーマンスは糞だからマルチスレッドで裏で同期IOで実行して非同期に見せかけてる。 アホか デバイスは(プロセッサに比べて)遅いからデバイスにコマンド投げて応答があるまで待つんじゃなくて元のスレッドを実行してるだけ マルチスレッドになんてなってない > 抽象度が高いおかげで未熟なプログラマによるマルチスレッドでの間違い(データ競合など)を少なくする事ができるし、スレッド間でむやみに変数を共有させない事によって実装もシンプルになる。 実際に組んだことないだろ? フレームワークないと結構辛いしそれなら普通にマルチスレッドで組んだ方がいい > 長々書いたけどまとめると非同期タスクで済むことをむやみにマルチスレッドで実装する方がバカ そもそも使いどころが違う >>457 恥をかきたくないならその方がいいと思う 賢明な判断
- 474 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 01:48:26.36 ID:i/zar2z9.net]
- 横からだけど.NETはCPUの機能(忘れた)とスレッドプールで>>454見たいにしてるって記事はあったよ
463 が何に噛み付いてるかわからないけど
- 475 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 08:17:34.42 ID:0tIyFjNU.net]
- SpringもPlayも完全非同期で作れるけどね
JavaはNIOのゴミのようなAPIのせいでノンブロッキングIOが使いにくいから糞面倒だが
- 476 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 09:19:00.94 ID:yS+ngl8t.net]
- 非同期はなんの役に立つの?
- 477 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 09:39:38.38 ID:zmTeKxXB.net]
- >>466
スレッドを消費することなくリクエストを並列でたくさん捌ける GUIアプリで長い処理をやるときにいちいちスレッド立てて同期取るような面倒なことをしないでUIスレッド上でやっちゃっても固まらない
- 478 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 09:41:45.41 ID:yS+ngl8t.net]
- >>467
後半はどうでもいいとして、前半のトレードオフは?
- 479 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 09:44:34.61 ID:yS+ngl8t.net]
- 100個のタスクを並列に処理することで説明して
- 480 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 09:45:05.98 ID:zmTeKxXB.net]
- >>468
Javaは非同期APIが全般的に使いにくい&充実してないから単純に開発がめんどくさい フレームワーク側のサポートも必須だがJavaは遅れてる
- 481 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 10:26:59.85 ID:0tIyFjNU.net]
- >>469
C#の例だけどこの記事がわかりやすい https://blogs.msdn.microsoft.com/tsmatsuz/2012/05/08/asp-net-mvc-async/
- 482 名前:デフォルトの名無しさん [2017/01/14(土) 11:11:08.12 ID:Q3G32+hm.net]
- 100個も同時実行したらCPUコア数一桁の普通のコンピューターだと効率落ちるだけだよな
IOでもネットワークだと相手に迷惑だし、ディスクならランダムアクセスになって遅くなる
- 483 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 12:33:47.60 ID:LDRAWf8F.net]
- >>470
それが説明かアホ
- 484 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 12:35:16.51 ID:LDRAWf8F.net]
- >>471
MS厨な了解、以下スレチということで
- 485 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 12:42:46.41 ID:DO73KmNH.net]
- そりゃ無理ですね
馬鹿だから一日も我慢できずに煽りに反応すると思いますよ
- 486 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 12:55:04.44 ID:QoXdCSFA.net]
- うっせハゲ頭ちんちん!
とりあえず煽られてないけど言ってみた
- 487 名前:デフォルトの名無しさん [2017/01/14(土) 15:05:00.83 ID:LKjMj2Iy.net]
- ちんちんの話ですか?
- 488 名前:デフォルトの名無しさん [2017/01/14(土) 18:52:08.71 ID:qxTRl4/L.net]
- enumの定義ってコンストラクタでは記述できない?
stateListをstaticにするのに何か抵抗があるから。 出来れば変数定義箇所は余りゴリゴリ書きたくない。 import java.util.List; public class A { /**static */List<String> stateList; // 他の変数も数多くdoSomething内部で処理として使用する enum MenuList { AAA { void doSomething() { stateList.add(
- 489 名前:デフォルトの名無しさん [2017/01/14(土) 18:53:58.14 ID:qxTRl4/L.net]
- enum MenuList {
AAA { void doSomething() { stateList.add("Aaaaaaaa"); }}, BBB { void doSomething() { stateList.add("Bbbbbbbb"); }}, CCC { void doSomething() { stateList.add("Cccccccc"); }}; abstract void doSomething(); } public A() { } void setState(MenuList state) { state.doSomething(); } }\"
- 490 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 20:40:01.89 ID:MyC8V23n.net]
- switchでいいだろそんなもん
手段と目的を履き違えるな
- 491 名前:デフォルトの名無しさん [2017/01/14(土) 21:01:56.60 ID:qxTRl4/L.net]
- リファクタリング勉強してたらsetState()でswitch使うよりいいんじゃないかと思ったから。
引数の数が多くなるとバグの温床になりやすいと書かれていた。
- 492 名前:デフォルトの名無しさん [2017/01/14(土) 21:03:41.25 ID:LKjMj2Iy.net]
- こう?
enum MenuList { AAA("Aaaaaaaa"), BBB("Bbbbbbbb"), CCC("Cccccccc"); public final String msg; private MenuList(String msg) { this.msg = msg; } } void setState(List<String> stateList, MenuList state) { stateList.add(state.msg); }
- 493 名前:デフォルトの名無しさん [2017/01/14(土) 21:46:21.86 ID:qxTRl4/L.net]
- >>482
すみません。stateList.add("Aaaaaaaa");などは他の変数など使用しますという意味で書きました。 よって、実際には以下のようなコードをstateパターンみたく書きたいです。 void setState(MenuList state) { // 現在のコ0ド switch (state) { case AAA: hoge1(); hoge2(); break; case BBB: hoge3(); break; .... という風に分岐で処理を記述しているのをenum内部で書きたいと思っています。 その際、enum内部で使う他のグローバル変数をstaticにしないと記述できないみたいなのです。 他のグローバル変数はstaticにせず、enum MenuListを定義する方法はないでしょうか? 書けるか分からないけど理想は、enum MenuList;と定義してコンストラクタ内部で MenuList = 定義したMenuList();みたいに書きたいです。 あまりstaticの使い方が分からないなどが理由です。
- 494 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 22:18:15.64 ID:Z4YPx582.net]
- >>483
https://ideone.com/thGKsr よーわからんがこう?
- 495 名前:デフォルトの名無しさん [2017/01/14(土) 22:45:55.75 ID:6eo6VXz3.net]
- だいたい単にJavaはJavaはなんて言ってるやつがいるけど、どういう構成のシステムのことを言ってんのかわからんw
- 496 名前:デフォルトの名無しさん [2017/01/14(土) 22:48:37.75 ID:6eo6VXz3.net]
- Javaしか分からないプログラマって異様にマルチスレッドにこだわったりするのも変。
マルチプロセスの方がいい場合でもなぜかマルチスレッドにしたがる。
- 497 名前:デフォルトの名無しさん [2017/01/14(土) 22:52:18.81 ID:qxTRl4/L.net]
- >> 484
そう!そんなコードです。 これでsetState()内部でswitchを使用せずに保守性も上がると思います。 ありがとうございます!助かりました。
- 498 名前:デフォルトの名無しさん mailto:sage [2017/01/15(日) 00:55:48.40 ID:cnFoYVJO.net]
- >>486
お前はJavaスレで何を言っているんだ?
- 499 名前:デフォルトの名無しさん [2017/01/15(日) 01:48:42.60 ID:OwCHVx6x.net]
- JavaスレだからといってJava以外も知ってる人が居ないわけじゃないよね
- 500 名前:デフォルトの名無しさん mailto:sage [2017/01/15(日) 09:04:54.58 ID:rUeODzII.net]
- >>486
結論からいうと、488のようにJavaに閉じ籠りたい子が多いから。 スレッドだとJavaの枠組みから出なくていいからそれはそれで楽なんだよ
- 501 名前:デフォルトの名無しさん mailto:sage [2017/01/15(日) 09:20:31.71 ID:vkigWSlF.net]
- ꧁ ꧂ 。
- 502 名前:デフォルトの名無しさん [2017/01/15(日) 20:27:17.97 ID:0Ag5G2kH.net]
- >>487
enum の中でやらないで EnumMap に処理を書いたクラスのインスタンス(例えば Runnable のインスタンス) 突っ込んでおいてそこから引っ張り出して実行すればいいような気がするが。 ま、どっちでもいいのかな?
- 503 名前:デフォルトの名無しさん mailto:sage [2017/01/15(日) 20:33:46.95 ID:itmwtKVV.net]
- >>485
お前はなんでここにいる?
- 504 名前:デフォルトの名無しさん mailto:sage [2017/01/15(日) 22:43:00.61 ID:3ZZvF1jZ.net]
- 煽るため
- 505 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 01:32:32.42 ID:0qyxTvqH.net]
- ꧁ ꧂ 。
- 506 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 10:30:39.54 ID:CwAqvFXp.net]
- ぱたぱたぱた
- 507 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 12:48:08.62 ID:6pMMhvrL.net]
- まあ涼しい
てか寒いわ!
- 508 名前:デフォルトの名無しさん [2017/01/16(月) 15:47:20.84 ID:7FNzXcKk.net]
- Javaでできるかどうか分からないことがあって、
たぶんできるはずだと思ってググるも、キーワードが分からない。 色々考えながら色々キーワードを試したが、出てこない。 そもそもできることなのかどうかも分からない。 ここで質問しようとも思ったが何か癪だから調べ続けたらやっと出てきた。 基礎からきっちり勉強していれば調べるまでもなく知ってるような内容だった。
- 509 名前:デフォルトの名無しさん [2017/01/16(月) 16:22:11.49 ID:7FNzXcKk.net]
- Java
sssp://o.8ch.net/nahv.png
- 510 名前:デフォルトの名無しさん [2017/01/16(月) 16:27:01.66 ID:OjZkdWCf.net]
- 質問いいですか?
- 511 名前:デフォルトの名無しさん [2017/01/16(月) 16:30:09.80 ID:OjZkdWCf.net]
- https://twitter.com/t4ny_/status/820892316990722048
このツイートの画像のエラーなのですが 間違っているところ教えていただけないでしょうか?
- 512 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 16:31:57.00 ID:B5rWKi6Q.net]
- 新言語Jabba
- 513 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 17:30:00.08 ID:YrFY70zk.net]
- Javascriptの質問は、ここでは受け付けておりません
- 514 名前:デフォルトの名無しさん [2017/01/16(月) 18:45:22.14 ID:6AZwHPE5.net]
- >>501
それ、なんて言語?
- 515 名前:デフォルトの名無しさん [2017/01/16(月) 18:48:08.02 ID:6AZwHPE5.net]
- >>498
このスレはJavaの質問や相談を書くスレです。 日記はご遠慮ください。どうしても書きたいというのなら日記用のスレを作ってそちらにお書きください。
- 516 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 19:15:04.09 ID:1pcrKd1S.net]
- docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.26.2
何故コンパイルエラーではなくて、キャストして代入する扱いになっているんでしょうか?
- 517 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 19:20:29.67 ID:fS/S5G7w.net]
- すいません 初歩的な質問で申し訳ないんですが
違うディレクトリにあるクラスファイルを実行するのってどうしたらいいんですか? subっていうディレクトリにはいってるHelloWorld.classを親ディレクトリから実行したくて > javac sub/HelloWold.java でコンパイルすると sub の下に実行ファイル HelloWorld.class はできるんですけど >java sub/HelloWorld って実行しようとしたらみつかりませんっていわれます
- 518 名前:デフォルトの名無しさん [2017/01/16(月) 19:26:33.43 ID:7FNzXcKk.net]
- >> javac sub/HelloWold.java
>でコンパイルすると sub の下に実行ファイル HelloWorld.class はできるんですけど お前は一体何を言ってるんだ? 自分が何を言ってるのか分かっているのか? Javaにそんな機能はないぞ。 Javaじゃなくても児童でそんなことをする機能はないはずだ。
- 519 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 19:40:58.44 ID:fS/S5G7w.net]
- スレ違い申し訳ありません
確かに Java 言語仕様のはなしではなく Oeacle の配っている JDK の使い方の問題でした 他スレをあたってみます
- 520 名前:デフォルトの名無しさん [2017/01/16(月) 19:41:53.30 ID:ND2fgWUU.net]
- >>507
そもそもカレントディレクトリはどこなんだよ? フルパスならいけるだろ。
- 521 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 20:15:04.56 ID:6pMMhvrL.net]
- >>506
なぜって言語仕様作る人がその方が便利だと思ったんでしょ
- 522 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 20:15:29.36 ID:msgU5aLq.net]
- >>507
本買って勉強しろ、この度素人
- 523 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 20:20:30.61 ID:0qyxTvqH.net]
- 本買えまで言うと質問スレではスレチ
答えなければいい
- 524 名前:デフォルトの名無しさん [2017/01/16(月) 20:25:24.33 ID:6AZwHPE5.net]
- >>507
> >java sub/HelloWorld > って実行しようとしたらみつかりませんっていわれます java sub.HelloWorld では?
- 525 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 20:29:36.36 ID:d9EPt8Vi.net]
- 改行コードのない1GBのテキストデータ(ASCII8bit)を100byteずつ読み込み、解析して変数に格納したいのですがその場合どのように記述するのがスマートでしょうか?
ネット上に転がっている方法のうち、 FileInputStreamをbyte配列でreadする方法だと取得したバイト配列を新しいStringオブジェクトに渡せば 100byteの文字列が取得できますが膨大なレコードデータを解析するのに全て新しいStringオブジェクトを作成することで取得するのはいささかダサい気がします。
- 526 名前:デフォルトの名無しさん [2017/01/16(月) 20:37:04.25 ID:6AZwHPE5.net]
- >>515
100バイト読んでStringにしないで解析できるならそうすればいいのでは? まあでもそんなに気にしなくてもいいと思うがなあ。
- 527 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 20:43:19.86 ID:msgU5aLq.net]
- >>513
さよか、すまんへんなー管理人さん(笑)
- 528 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 20:59:01.28 ID:msgU5aLq.net]
- >>507
ここで聞け、ど素人 Java入門・初心者質問スレ Part.2 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1478863511/
- 529 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 21:15:02.26 ID:0qyxTvqH.net]
- >>518
それならよし(笑)
- 530 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 21:21:28.68 ID:msgU5aLq.net]
- >>519
ゴミレスすんなよ(笑)
- 531 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 21:57:19.54 ID:0qyxTvqH.net]
- >>520
ゴミレスすんなよ(笑)
- 532 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 21:59:29.01 ID:Q95QGsMQ.net]
- >>511
誤って精度落としてしまうリスクを上回る便利さに、どんなものがあるか知りたいです
- 533 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 22:16:22.88 ID:tblkocpB.net]
- >>516
そんなに気にしないでいいのなら気にせずStringオブジェクトを生成します。 オブジェクト生成コストがパフォーマンスに大きな影響を与えると言う記事を見たもので聞いてみた次第です。
- 534 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 23:21:06.01 ID:Afs2A6pw.net]
- >>522
そんなアホなことする奴は滅多にいないから
- 535 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 23:28:20.36 ID:fQ38ceFt.net]
- >>515
解析処理次第だけど、ASCIIならbyteのまま処理すれば?
|

|