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/
306 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 12:27:05.59 ID:r0mVuZmk.net] プログラミング作法的な話で、JAVAに限った話じゃないんですが文字列処理とかで str = str.replace(".", ",") みたいにreplaceを呼び出している側と代入される変数が同じって言うのは、あまり 良くないんでしょうか? (あとは hoge = xxx(hoge, ',') みたいに引数に渡した変数に代入するとか)
307 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 12:37:25.09 ID:AhKNtohh.net] >>302 問題ないよ
308 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 12:49:11.27 ID:bG1axWcs.net] javaなら問題ない Scalaとかの関数型言語なら出来るけど普通はしない
309 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 13:12:02.16 ID:a6CzUBh6.net] 代入という認識がおかしい Stringはfinal宣言されていて都度newされている
310 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 16:16:33.29 ID:4Jkws6z8.net] 少しずれるけど、静的に初期化することができなければって前提がある 定数プールで同じ値のは同じインスタンス
311 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 17:38:11.06 ID:cu/yECuQ.net] >>302 それで問題になる言語の方が珍しい
312 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 17:47:48.20 ID:NF/ns1Fr.net] cはもはや珍しいほうの言語なのか
313 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 18:02:18.64 ID:cu/yECuQ.net] >>308 C
314 名前:ナ > str = str.replace(".", ",") なんて書けたっけ? [] [ここ壊れてます]
315 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 18:40:09.01 ID:NF/ns1Fr.net] cだと例えばstr = replace(str, '.',',')と書いたときに 途中でエラーが起きると元のstrに対して後処理できなくてリークさせてしまうのは割りとありがち。realloc()が有名だね。 javaだとstrに代入される前に例外で脱出してしまうから問題ない。メモリ開放だけが後処理ならgcもあるしね。
316 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 20:12:45.16 ID:bG1axWcs.net] >>310 どういうこと?
317 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 00:02:22.19 ID:8Sb6wlYA.net] 知ったか乙
318 名前:デフォルトの名無しさん [2016/12/12(月) 00:42:01.42 ID:38wEAVQO.net] あー。realloc()で元の変数に入れちゃうとエラーの時に元のポインタわからなくなってfree()不能になるね。
319 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 08:22:13.13 ID:aLE+Z42Q.net] >>313 設計不良と言えなくもないと思うが、メモリー不足になる状況だとどうしようもないケースがほとんどでそのまま exit( ) することが多いと割り切ったのかも知れない
320 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 09:22:29.09 ID:9WBUJW2A.net] >>314 ま、確かにrealloc()でエラーになったらとうしろというのかって感じではあるな。結局exit()で終わるしかない。
321 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 10:14:14.98 ID:5QBCzTqI.net] スレチばっかしてんじゃねぇよハゲ
322 名前:デフォルトの名無しさん [2016/12/12(月) 12:42:34.42 ID:LEnzGoNW.net] 禿げンダッツ
323 名前:デフォルトの名無しさん mailto:sage [2016/12/13(火) 18:11:25.15 ID:dJt4p8RH.net] デフォルトメソッドの導入を決めるまでの検討過程を見てみたいのですが、公開されている資料などあれば教えてください
324 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 11:06:37.15 ID:vFnJFYnV.net] mail.openjdk.java.net/mailman/listinfo にある lambda なんちゃらのアーカイブ見るとか。
325 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 12:04:32.20 ID:3igqgjKo.net] dtoってビーンと何が違うんですか? 値つめこむだけですよね? あとdaoってダオって読むんですか?ディーエーオーでもよいのでしょうか?
326 名前:318 mailto:sage [2016/12/14(水) 13:02:34.18 ID:l6x+gG1y.net] >>319 ありがとうございます。
327 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 16:12:41.19 ID:4RpExEkV.net] >>320 概念が違う DTOはデザインパターン、BeanはJava Beans仕様
328 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 23:36:54.13 ID:aYwhkQ/I.net] JavaDoc作成時に作成する対象をアクセス修飾子以外で指定する方法はないでしょうか? 具体的にはstaticでないフィールド(事実上全てprivate)のみを出力したいのですが。 Jaxbで使用するXMLファイルのリファレンスを作りたい →XMLやXSDを基にJavadocのようにリファレンスを作る方法を探すが見つからない →XMLの要素は全てJavaクラスにマッピングされるからJavaDocで代用できるかも! →XMLを作るだけの人から見れば要らない情報が多すぎてわかりにくそう →JavaDocの出力項目の調整できないかなぁ ←イマココ と思い至った次第です。 自分でも変な質問だとは思うのですが、よろしくおねがいします
329 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 00:39:41.36 ID:V7DRptyX.net] DoxygenでXMLフォーマットで出力してXSLTで表示したら
330 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 09:01:30.75 ID:XoYGRdtd.net] RuntimeException(とその派生クラス)について メソッド内で↑がthrowされる場合に、メソッドのthrows句に書いても書かなくてもコンパイルエラーになりませんが 省略するのとしないのどちらが一般的でしょうか?
331 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 10:08:17.35 ID:B3hFk1jH.net] >>325 書かない RuntimeExceptionのJavadocに説明されてるから読め あと自分でRuntimeExceptionを投げるならJavadocの@throwsにはどんな時にどの例外を投げるのか必ず書いておけ
332 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 12:47:18.08 ID:tqcky6y/.net] >>326 ありがとう javadocのthrowsは勿論書いてます
333 名前:323 mailto:sage [2016/12/15(木) 22:04:39.91 ID:FfmBFsSz.net] >>324 ありがとうございます。 DoxygenやXSLTを確認してみましたが、結構ハードルが高そうなので断念しました… 自前でJavaDoc的なHTMLファイルを出力する仕組みを作ってみようと検討中です。 はっきり言ってJavadocの凄さを身にしみて感じています…
334 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 00:19:49.58 ID:oD0nT6zl.net] >>328 んなことするくらいならDoxygen使ってXMLにしてから 自作ツールでXML→HTMLの変換をやったほうが楽じゃないか? XSLTのハードルが高く感じるのはわかるがDoxygenなんか普通に使うだけだろ
335 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 00:50:35.39 ID:hOA+S1Bc.net] アホだろ、ほっとけ
336 名前:デフォルトの名無しさん mailto:sage [2016/12/16(金) 21:54:24.30 ID:4hbUMcUq.net] >>329 Doxygenは色々とインストールするのがハードル高そうで… クラスからHTML作ってたのは単純にアホでした。 XSDがあるからそっちから作ったほうが100倍楽でした…
337 名前:デフォルトの名無しさん [2016/12/19(月) 02:44:46.91 ID:qrKF+qyJ.net] String str =
338 名前:デフォルトの名無しさん [2016/12/19(月) 02:45:37.54 ID:qrKF+qyJ.net] あれ
339 名前:デフォルトの名無しさん [2016/12/19(月) 02:46:02.48 ID:qrKF+qyJ.net] エラー: シンボルを見つけられません シンボル: メソッド parseInt(String) 場所: クラス Integer となるんですが原因がわからず困ってるので教えてください。 バージョンは8です
340 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 08:13:30.97 ID:iGBlQxB0.net] >>334 自分でIntegerクラスとか作っちゃって、java.lang.Integerが隠
341 名前:されちゃってるんじゃね? class Test { public static void main(String[] args) { System.out.println(java.lang.Integer.parseInt("334"); } } これだとどうよ。 [] [ここ壊れてます]
342 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 10:12:42.53 ID:iGBlQxB0.net] かっこが一個抜けてることに今気付いた System.out.println(java.lang.Integer.parseInt("334"));
343 名前:デフォルトの名無しさん [2016/12/19(月) 12:03:16.65 ID:8oGZdC3n.net] >>335 ありがとう、java.lang.部分が抜けてました。。 import忘れだった
344 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 12:22:14.46 ID:dGFRD1NA.net] JAXBで下記のようなクラスを扱う場合、どのような指定にしたらよいでしょうか class Data{ PhoneNo phone1 PhoneNo phone2 } abstract class PhoneNo{ String number } class FixPhoneNo extends PhoneNo{省略} class MobilePhoneNo extends PhoneNo{省略} 条件としては ○どのフィールドに対してセットしているかをxmlで明示したい ○どのクラスにマッピングされるかをxmlで明示したい ○できれば標準のJAXBで… です リストであればXmlElementWrapperでなんとかできたんですが…
345 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 14:23:03.95 ID:TWjb/FW7.net] >>332-333 2chのバグだろう 書き込み確認画面が出る際、" を使うと、そこで文字列の終了とみなされる。 " の代わりに、\" とエスケープすれば、どうだろう? それか、書き込み確認画面が出たら、1度キャンセルすれば、確認画面は出ないようになった
346 名前:デフォルトの名無しさん [2016/12/19(月) 16:01:51.76 ID:C2gHCNQF.net] test=
347 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 20:30:01.47 ID:yx8yGp0N.net] "
348 名前:デフォルトの名無しさん [2016/12/19(月) 20:44:54.19 ID:YHR5Ghte.net] >>337 え?java.langはimport書かなくてもいい筈だが。
349 名前:デフォルトの名無しさん [2016/12/22(木) 13:13:50.00 ID:h0so1B2S.net] singletonパターンは状態を持たない(immutable)クラスにしか使えないと聞いたのですが これはマルチスレッドでの話で、シングルスレッドの場合はimmutableにする必要はありませんよね?
350 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 13:37:04.69 ID:gNaPdTdq.net] >>343 なんか勘違いしてないかな? Singletonは唯一のインスタンスを表現するときに使うのであって、それが状態を持つ持たないは関係ないというか普通に状態を持つだろ マルチスレッド云々はその唯一のインスタンスを作るときに一工夫が必要というだけの話
351 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 14:03:18.86 ID:6Gi9DgtV.net] Javaプログラマって、よく理解してもいないくせに変数がスレッドセーフだの何だのとスレッドについて訳の分からないことを抜かす奴が多いよな 誰に毒されたのか知らないけど、Javaでスレッドセーフだからどうのと言ってる奴がいたら疑ってかかるようにした方がいいよ スレッドセーフであるか否か自体が直接問題になることなんてほとんど無いから、大抵は頓珍漢なことを言っている
352 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 14:14:34.96 ID:u+X4Mbv/.net] おまえもな、素人さん
353 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 14:16:25.84 ID:1GV1Zp9H.net] 1990年代からタイムスリップしてきた奴なのかもしれないだろ
354 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 14:24:37.19 ID:GmJMxsCJ.net] Javaは伝統的にわりと安易にスレッドを使う文化がある Javaプログラマの平均スキルが他と比べてどうかはともかく、スキルの低い人もスレッドに触れざるを得ないことが多いので とりあえずsynchronizeしとけば「スレッドセーフ」っていうのになるんでしょ? みたいなのは実際多い
355 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 15:05:56.47 ID:E9q4nGYk.net] いや、Javaに限らずだと思う マルチスレッドが大変だ!と騒いで見せる輩も カップ麺握り締めて「これ食っとけ」的主張してるにすぎない 麺っていうのはこうでね スープってのはこうでね 何も怖がることは無いね って論調はほぼ見られない
356 名前:デフォルトの名無しさん mailto:sage [2016/12/
] [ここ壊れてます]
357 名前:22(木) 15:22:07.30 ID:u+X4Mbv/.net mailto: パーには分からんだろう [] [ここ壊れてます]
358 名前:デフォルトの名無しさん [2016/12/22(木) 16:20:17.22 ID:OgMG3ild.net] 2ちゃんにもスレッドがあるのです。
359 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 19:08:14.31 ID:mDlraXyL.net] もう随分前から「とりあえずimmutableにしとけ」にシフトしてると思う。
360 名前:デフォルトの名無しさん [2016/12/24(土) 06:06:58.25 ID:oKfujRAW.net] 質問です Scannerを使って標準入力させたいんだけど、最終行がカッコか否かに依存しない書き方を教えて欲しいです やりたいこと:入力された値の最大値だけを出力 例(便宜上改行を\nと表記します) 入力: 1\n 2\n 3(\n) 出力: 3 3の後の\nがあろうがなかろうが同じように出力したいです。お願いします ちなみに入力は一回一回エンターを押すのではなく、 1 2 3 をまるっとコピペしてから一回だけエンター押すイメージです
361 名前:デフォルトの名無しさん [2016/12/24(土) 07:01:56.03 ID:MvzacMfS.net] >>353 hasNextInt() と nextInt() 使えばいいのでは?
362 名前:デフォルトの名無しさん [2016/12/25(日) 12:11:25.04 ID:/R0IoCKS.net] >>353 へい Scanner scanner = new Scanner("1\n2\n3(\n)"); Pattern intPattern = Pattern.compile("(\\d+).*"); while (scanner.hasNext()) { Matcher intMatcher = intPattern.matcher(scanner.next()); if (intMatcher.find()) { System.out.println(intMatcher.group(1)); } }
363 名前:デフォルトの名無しさん [2016/12/28(水) 23:45:26.72 ID:lebcDiwS.net] 勉強している者ですが インターフェイスがフィールドは必ずpublic static finalになるような仕様になっているのは どういう理由からですか? 別にstaticじゃなくてもよさそうだし 必ずfinalにしないといけないのも不自然と感じるのですが。
364 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:58:45.55 ID:+cXdtPI1.net] 何を勉強してそんな話が出てきたんだ?
365 名前:356 [2016/12/29(木) 00:18:08.48 ID:WkynARab.net] Javaを勉強してです。
366 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 01:22:03.23 ID:ICm4kcbN.net] 無駄に複雑になるからだよ フィールドが多態性を持つとなると仮想メソッドならぬ仮想フィールドアクセスみたいなものが必要になる static final なフィールドはインスタンスメンバじゃなくて単なる定数だから、 実質的にはどこか他のクラスに定数を定義するのと変わらんので特に害はないというわけ 害はないけど特に必要性もないので、C#だとインターフェース内では一切フィールド使えなかったりする
367 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 01:59:20.86 ID:30kHN7oe.net] 単なる定数に、インタフェースの名前空間を使って、区別しているだけ 元々、インタフェースにフィールド(メンバ変数)は持てない。 関数の実装も持てない。 つまり、メモリを割り当てるようなものは持てない インタフェースとは単なる、マーカー・決め事。 実装先で関数を実装するという、ルールを強制する仕組み
368 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 09:41:30.42 ID:ICm4kcbN.net] 細かいけどインスタンスメソッドはインスタンスにメモリを割り当てないぞ インスタンスメソッドは実際にはインスタンスではなくクラスに属していて、インスタンスの型情報を基に各クラスのメソッドを検索する フィールドも同様にまずクラスを見てアドレスを求めればいいのでやろうと思えば技術的に難しくはないはずだよ Java設計者が実装コストに見合ったリターンがないという判断をしただけ
369 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 16:05:00.66 ID:NJpH4t/4.net] >>361 > Java設計者が実装コストに見合ったリターンがないという判断をしただけ その判断をした経緯を見ることができるサイトありますか? 書籍なら書籍名を教えてほしいです
370 名前:デフォルトの名無しさん [2016/12/29(木) 16:31:49.50 ID:1pBIOXSt.net] interfaceがデータメンバー持てたらただの多重継承と一緒になるじゃん。 なぜJavaが多重継承を禁止してるかを調べた方がいい
371 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 16:35:12.28 ID:ICm4kcbN.net] >>363 フィールドも宣言と実装を分ければいい話
372 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 16:36:06.13 ID:+/EAw155.net] インターフェースは多重継承できるんだぜ 普段使わないけどな
373 名前:デフォルトの名無しさん [2016/12/29(木) 16:42:38.39 ID:1pBIOXSt.net] >>364 そうする事に何か意味あんの?
374 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 16:49:31.22 ID:k+96c2nT.net] >>365 あれってjava8のmapメソッドとかの互換残すためだっけ・・・ 拡張メソッドを実装するとか、Java8ListみたいなListインターフェイスを継承したインターフェイス作るとか何か方法はあったと思うけどな
375 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 21:51:19.05 ID:30kHN7oe.net] C++では、多重継承・ダイヤモンド継承がある P ← A P ← B 親クラスPを継承したクラス、A, B を同時に継承すると、 Pのメンバ変数の部分が、2重に確保される P.x があるとき、A.x, B.x でアクセスすると、異なるメンバ変数になってしまう。 結局、多重継承はややこしいから、多くの言語で禁止された インタフェースでは、メンバ変数を持たないから、こういう問題は起きない
376 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 23:12:51.66 ID:ICm4kcbN.net] >>368 理解が甘い。 それだけの理屈だとメソッドもインターフェースに宣言できなくなっちゃうぞw インターフェースで多重継承の問題が回避できる理由は、 インターフェースのメソッドは宣言のみで実装を持たないので、 継承階層上で同一のインターフェースがいくつ重複して継承されてようが 最終的にメソッドの実装は一つだけになるから。 そして、君はフィールドの宣言と実装は不可分であるという前提を暗に設けているけど、 C/C++のようにフィールドの宣言と実装を分離できる言語も存在する。 Javaがそうしなかったのは「そう判断したから」に過ぎない。
377 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 23:15:56.04 ID:y5tb/iei.net] >>369 全然違う メソッドは上書きして消してしまえばいいが、データだと面倒
378 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 23:23:19.66 ID:uVQYMOXa.net] くだらねー言い争いの様相を呈してきたからそれ以上はここでやるなよ でないと殺すぞ
379 名前:デフォルトの名無しさん [2016/12/30(金) 00:51:34.31 ID:h6FEfUa+.net] >>363 土方に多重継承が使いこなせるわけないやろ。
380 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 01:10:45.64 ID:zRXiBWIE.net] scalaのミックスイン好き
381 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 07:30:07.75 ID:rm5LlQ1U.net] 1日10レスもつかないこのスレでちょっとした議論を目の敵にするとかw
382 名前:362 mailto:sage [2016/12/30(金) 19:09:43.37 ID:OiZO02Sd.net] 出典を知りたかったんですがご教示いただけませんか
383 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 20:26:08.40 ID:xy7ekZk9.net] 実装コストというより、javaは混乱の原因になる構文は制限している C#の場合条件付きでポインタ使えるけどjavaは使えなかったりするし
384 名前:デフォルトの名無しさん [2016/12/31(土) 00:38:21.18 ID:DQemjRmJ.net] PとかAとか書かれるとPPAPが思い浮かんでしまう
385 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 09:01:04.95 ID:EtOYLbeq.net] I have a jvm I have a func lang ah scala.
386 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 15:43:25.44 ID:nUjD4DbZ.net] JavaScript死亡www 「WebAssembly」がITの未来に変革もたらす|Google、Apple、Microsoft、Mozillaが共同で開発した新概念 「WebAssembly」がWebブラウザに変革をもたらします。 Webブラウザは、もともとただテキストを表示するだけのところから始まりました。その出発点から、現在ではコミュニケーションやゲームまで幅広い表現を可能にしています。 そして今回、「Webブラウザ」に新しい概念が加わわることになりました。 それをもたらしたのが、ブラウザに関わりの深い世界規模の4社「Google」「Apple」「Microsoft」「Mozilla」が共同開発した、Webのためのバイナリーフォーマット「WebAssembly」です。 今回はその「WebAssembly」について、「スゴイところって何?」「何が起きるの?」をご紹介していきます。 WebAssemblyは「JS不要。コンパイラ言語だけで動的アプリが作れる」「どの言語でもWebブラウザ上にアプリを作ることができる」 WebAssemblyによってもたらされるスゴイところは次の4つ。 コンパイラ言語だけで、Webブラウザ上に動的なアプリが作れる ほぼ機械言語にコンパイルされるからヌルヌル動く OSを一切気にする必要がなくなる。気にするのはブラウザのみ C,C 以外の言語でもWebAssemblyにコンパイルされる「クロスコンパイラ」の可能性が高まった これまでWebブラウザで、ユーザからの入力情報を元に、動的なアプリケーションを実現するためには「JavaScript」が必須でした。 「インタプリター言語」であるJavaScriptは、その都度ソースコードを機械語に翻訳する必要があるため、予め機械語に近くコンパイルされる「コンパイラ言語」と比較すると動作が遅いという特徴があります(※)。 もしコンパイル後の機械語に近い形で、Webブラウザ上でコードが実行されたら。 JavaScript以上にヌルヌルに動き、しかもJavaScriptを気にする必要がなくなります。 それを実現したのがこの「WebAssembly」です。 https://mayonez.jp/1690
387 名前:デフォルトの名無しさん [2016/12/31(土) 16:54:48.15 ID:jwzq842l.net] >>379 Java Applet と考え方は同じようなものかな。 車輪の再発明ではあるが大幅に改良された感じか。
388 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 16:59:14.04 ID:+2KPTl74.net] 結局クライアントリソースにアクセスできるかどうかなんだよなー
389 名前:デフォルトの名無しさん [2016/12/31(土) 17:06:49.14 ID:jwzq842l.net] あー。まあ、どの程度アクセス可能にするかは設定次第になるんじゃないかな。 しかしとにかくクライアント側で仮想マシンが動いてその中にもストレージのようなプログラムが終わっても記憶する何かがあればかなりの事はできそうな感じがする。 しかし>>379 の記事書いた人はこれまでの歴史的なことはよく知らなかったようだな。 既にJavaAppletという形であると言えばあるんだが時期尚早で失敗して死んだだけだ。
390 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 17:58:54.03 ID:7BahRXzq.net] WebAssemblyはブラウザ組み込みのスクリプティング言語が一つ増えるだけ 特に何か新しいことができるようになるわけじゃないよ 他の言語で書かれたコードをjsに変換してブラウザで動かすというのは以前から行われていたけど、 jsの構文解析のコストやデータ型の不備などのためパフォーマンスが悪かった だからバイトコードにしてデータ型も増やした そ れ だ け
391 名前:デフォルトの名無しさん [2016/12/31(土) 18:27:45.64 ID:jwzq842l.net] そういやjsでPCの仮想マシン動かしてそこでLinux動かしてるの前に見たことあるなあ。 PCは速くなったもんだと思った。
392 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 19:37:40.97 ID:RP5GqFRc.net] >>383 C++ とか C# で組めると言うのは嬉しいけどライブラリとかどうなるん? .NetFramework 丸抱えって言うわけにもいかんだろうし
393 名前:デフォルトの名無しさん [2016/12/31(土) 19:41:11.00 ID:jwzq842l.net] やっぱなんか仮想のOSがあることにしてそこcallするのかな?
394 名前:デフォルトの名無しさん [2016/12/31(土) 19:42:27.48 ID:CS9EEzAV.net] 2NsOdIiQへの反論 そのオブジェクト指向の構造も突き詰めれば if() for() while() を使用した基本構造からな成り立っている。 各言語や、ライブラリ毎に別々の名前別々の文法が定義され 言語や仕様が変われば、その「名前」や文法は毎回覚えなければ ならない。それらが滞りなく動くには、それなりに繋げなければ、 ならないし
395 名前:、「繋げる」ためには細かくて複雑で、なおかつ 時と共に変化しやすいルールを沢山覚えなければならない。 それは仕様やルールに支配されている状態と言えるだろう。 それらも大切じゃないわけではないと思う。だけど 2NsOdIiQの意見にはは真っ向から批判したいと思う。 [] [ここ壊れてます]
396 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 19:43:04.91 ID:CS9EEzAV.net] 投稿スレを間違えました。すみません。
397 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 20:59:14.55 ID:u4bGwJtr.net] >>385 どうもならんよ 最終的に描画や入出力のところはHTML/JSのAPIを使って実装するの
398 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 22:41:45.07 ID:DQemjRmJ.net] >>384 getnews.jp/archives/437194
399 名前:デフォルトの名無しさん [2017/01/02(月) 21:19:29.65 ID:o3nId1EF.net] クラスローダーで動的にクラスロードできるという話があるけど クラスAのメソッドを実行中にクラスAが再ロードされて定義変わったらどうなるの? 実行が終わるまで待つ?それともグロテスクにメソッドの途中でも切り替わるの?
400 名前:デフォルトの名無しさん mailto:sage [2017/01/02(月) 21:52:30.67 ID:CPceoiNS.net] >>391 使用中のクラスはアンロードできない
401 名前:デフォルトの名無しさん [2017/01/02(月) 21:56:39.01 ID:o3nId1EF.net] 使用中てスレッドが実行している対象になってるということ? じゃあ終わるまで待つってことか
402 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 10:10:53.52 ID:0B5i9Ebo.net] 普通は新しく別のクラスローダ使ってそっちで実行するようにして 古いクラスローダでは新たな処理させないようにする。
403 名前:デフォルトの名無しさん [2017/01/03(火) 19:31:47.50 ID:6nszIHXf.net] Javaで特定のクラスの全インスタンス一覧を取得する方法は?
404 名前:デフォルトの名無しさん [2017/01/03(火) 20:20:03.91 ID:q0Juw9L/.net] >>395 無い
405 名前:デフォルトの名無しさん [2017/01/03(火) 21:33:59.07 ID:6nszIHXf.net] でもJVMはガベージコレクションするなら管理してるはず 取得できないの?
406 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 22:36:53.27 ID:VxAvtnd0.net] デバッガ用のAPIを使えばできるはずだけど そんなことするよりコンストラクタでthisに対するWeakReference作ってどっかに登録しとく方が100万倍簡単