1 :
デフォルトの名無しさん :
2013/09/03(火) 23:48:04.51
2 :
デフォルトの名無しさん :2013/09/03(火) 23:48:35.75
2 デフォルトの名無しさん sage 2013/07/26(金) 09:10:26.44
>>1 乙
>String に == は使うな。equals() を使え。
真に受ける人がいるからテンプレから削除するか
補足が必要
定数のcommand文字列と同一オブジェクトを比較する場合
==で比較するほうが可読性が良い場合がある
なんでもかんでもequals()つかってはいけない
同一クラス内において文字列リテラルは同一インスタンスである
String a = "adb";
String b = "adb";
a==bはtrueになるので初心者は罠にはまることがある
余談
1.7でスイッチ(String)が使えるようになったが
String key = null
swhich(key)はぬるぽになるのでcese null:とかできない
>>2 >同一クラス内において文字列リテラルは同一インスタンスである
これって言語仕様で保障されてるの?
言語仕様だと、同じ文字列定数式は全部同一インスタンス。 クラスやパッケージは関係ないだろ
== で比較するような文字列にはEnumを使うべきなので Stringには何でもかんでも.equals()を使うのが正解
equalsのデフォルト実装は真っ先に==チェックするんだが
equals使えってのは"a" == new String("a")とういう場合があるからだろ。 実行時に作られた文字列は定数共有しないんだよ。 コンパイル時に作られたか実行時に作られたかは区別付かないだろ。
javaドカタ第一の壁:for文 javaドカタ第二の壁:文字列
いい忘れたけどinternしてもequals == true以外の時は共有されてないから たまに見るs1.intern()==s2.intern()ってやるのは間違いだぞ。
素直にequals使いなよ そんなところで無駄に反抗することでアイデンティティを見出だしているのかな 素直になりなさい
いやつまらんところでひっかからないように落とし穴を教えてくれる人に感謝を。
ハード機器からmidi送信、サウンドAPIでPC内midi音源を再生 を無事できたのですが、レイテンシーがどうしても気になります ASIOドライバ対応のオーディオインターフェイスを所持しているのでASIOを使いたいと考えています しかしいくつかわからない点があります 例えば、オーディオインターフェイスとPCを繋ぎ、 コンパネのサウンド設定で初期のRealtook?等からASIO対応のオーディオインターフェイスに変更すると、 外部midi送信機器とPCをUSBで繋げばそれだけでASIOを使いmidiのやり取りができることが多い気がします ASIO対応オーディオインターフェイス - PC間 midi送信機器 - PC間 をそれぞれ繋げばASIOが利用できるということは midi情報をASIOに対応させたり?というのはPC内で勝手にやってくれているという認識でよろしいでしょうか? また、その部分を制御できればレイテンシーを減らせないだろうかと考えていますがJavaでできるのでしょうか
なぜ2を持ってきたんだ・・・ 2の真意はpublic static final String ActionKey = "アクションA"; "アクションA".equals(getActionCommand()) ActionKey == getActionCommand() // 同じインタフェースだと解る enumつかえるならそっち使うのがスマートだと思うし誤解も少ない
ASIOは以下で取得する一覧に含まれるのかな MidiSystem.getMidiDeviceInfo()
>>10 >internしてもequals == true以外の時は共有されてないから
これは結構ディープだな。
String.classのライフがinternの()スコープだから普通はvmで一意だと思ってたけど、たとえばどうゆうときにそうなるの?
>>9 文字列を理解できたらこのスレでは上位10%だよ
>>13 Win用JREに無料で付いてくるOracle製ソフトMidiデバイスの遅延に不満があるのなら、
MIDI-PCM変換を自前のJavaで書いたところで、大して不満は解決しないと思う。
// char c = '𠀋'; // 表示されるかわからないけど4byte文字 String s = "𠀋"; // System.out.println(c); System.out.println(s); System.out.println(s.length()); System.out.println(s.charAt(0) & 0xFFFF); System.out.println(s.charAt(1) & 0xFFFF); 実はむつかしいString
>>15 ASIOというか、ASIO対応のそのオーディオデバイス名がでます。
ですがレイテンシーから察するに、明らかにASIOが使えていないのが伺えますねー。。。
WindowsだとMicrosoft MIDI Mapperが見えると思います これでも遅延は発生するのかな
マッパーだと切り分け出来んかった Microsoft GS なんとか こっちに該当するものだとどうなんだろ
23 :
13 :2013/09/04(水) 13:34:57.85
デバイスはローランドのオーディオインターフェースを選んでます。 というか、他を選んでしまうと意味が無いような・・・。 midi機器と接続できるようなソフトウェアって大抵はmidiのI/Oを設定できますよね。 そこではなくて、Device Type? ・ASIO ・Windows Audio ・DirectSound こういった選択肢が、私の持っているソフトシンセであったりそういったソフトで選択可能なのですが、 この部分はサウンドAPIのmidi再生ではどのように扱われているかがわからないです。
24 :
13 :2013/09/04(水) 13:37:07.94
>>22 Microsoft GS・・はmidi音源ですよね確か。これは正常に音は鳴るのですが、やはりレイテンシーが酷いです。
なので音源が原因ではないと思います。(他の市販おソフトシンセ等でも試しました)
サウンドフォントを再生するところで遅延している印象は薄いですね ノートONするたびに標準出力を出力。その時点で遅延しているのであれば Javaで介入できる場所は無いという結論に至ります 遅延というのがキーを押してベロシティ(キーを押す速さ)検出レベルの事だとしたら ハードウェアのことなのでお手上げです
26 :
13 :2013/09/04(水) 15:01:01.94
>>25 鍵盤を押してからjavaプログラムを通してmidi音源が再生されるまでのレイテンシーです。
ちなみにjavaを通さずにASIOが設定できるソフトでは全く問題ないので外部機器のせいではないと思われます。
もう少し調べてみます。ありがとうございました。
enumの引数にStringを入れた場合の比較って==で良かったのでしたっけ?
ジャバ8のラムダで、_ アンダーバー(アンダースコア)の識別子をラムダ内に限って特別にキーワードとするようですけど、どういう機能を想定しているんですか? 本当は_ アンダーバーよりも$ ダラーをスペシャルにした方がよりジャバっぽいんですけど。
アプリケーションにフォーカスがないときでもキーボード入力を監視する事ってできますかね 擬似スクリーンセーバ作ってるんですがマウス検知しかできないんです
ソフト音源にこだわる
>>13 のCPUは何使ってんのよ。
久しぶりに外部MIDI音源とか見てたらエントリクラスの新製品が壊滅状態で
どれもこれもCorei7より高くてびっくり
>>29 java グローバルキーフック
これでggrといいかも
enum同士なら当然 == そいつが持ってるプロパティのオブジェクト比較も == であるべき
i7とか どんだけブルジョアなんだよ
馬鹿には無理
>>27 前スレからActionCommandの流れ引きづってんだろと思ってエスパーするが、
もう String 隠して Enum に isMyCommand(ActionEvent) とか作ればええやん。
>>31 やはりdllを呼び出すことでしか実現できませんか・・・
情報提供感謝します
>>37 JDialog dialog = new JDialog ();
dialog.setModal (true);
dialog.setAlwaysOnTop (true);
dialog.setModalityType (ModalityType.APPLICATION_MODAL);
くだらないことですみません、 javaの総合的な情報を扱うような本スレは存在しないのでしょうか?
ここです
>>40 JNIやJNAの情報を仕入れたいんです><
\ 丶 i. | / ./ / \ ヽ i. .| / / / \ ヽ i | / / / \ -‐ ー __ こ こ で す -- 二 / ̄\ = 二  ̄ | ^o^ |  ̄ -‐ \_/ ‐- / / ヽ \ / 丶 \ / / / | i, 丶 \
>>39 そう、ここは初心者スレ。
だけどここの住人はif文、for文一通りマスターしているのでドンと来い!
JNI、RMIならおれにきけええええ JNAは他の人にパス
>>41 情報は、英語のサイトで仕入れて、日本語でブログを書いてください
「ピュアジャバじゃない」という理由でJNIは相手にしないのが真のjavaドカタ でもandroidはやります
jspを書くときは手書きでやってますか?
手書きじゃなくてキーボード使うよ
コードスニペットとかパレットとか呼ばれる機能で貼り付けできるけど うぃじうぃぐとかいうので見ながらやりたいわ
53 :
50 :2013/09/06(金) 00:17:43.03
やっぱり、手書きするんですねー
いつも作ってる業務システムも手書きだけどさ、めんどいな
>>52 サンク ユー
jdk8のDP今日中に出るだろうか
Integer -2,147,483,648 〜 2,147,483,647 オーバーフロー ページ見てないけどたぶんこれ
なんというエスパー
List<JButton> buttons = new ArrayList<Button>(); buttons.add(new JButton.... .... これを別スレッドで buttons.get(0).setText("asdf"); buttons.get(0).setPreferredSize(new Dimension... 等やる分にはArrayListの同期は必要ないのですよね? 別スレッドでaddやremoveをする場合は同期が必要という解釈でよろしいでしょうか?
スレチかもしれないンですが、Eclipseで構文を実行しても その実行ファイルが表示されません。正確には、いつもプログラムを書く欄の したに実行ファイルが表示されるはずなのですが、表示されなくなりました。 構文は間違っていないと思うのですが一応記しておきます。 import java.io.*; public class Copy2 { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { System.out.println(e); } } }
62 :
デフォルトの名無しさん :2013/09/06(金) 16:15:30.20
しすてむ・あうと・ぷりんとるん
>>61 実行ファイルってなにを指して言ってんの?
.classファイルのこと?んなもん表示されてたか?
64 :
デフォルトの名無しさん :2013/09/06(金) 16:59:36.69
>>63 すいません正しくは実行結果です。実行ボタン(音楽プレーヤーの再生ボタンと同じ形)の上に
マウスを持っていったら「既に実行中」と表示されておりました。
これっておそらく実行結果は表示されているが、肝心の結果を表示する欄が
どこかに行ってしまったということではないでしょうか?
実行結果ってどこから呼び出すことができますかね
>>60 しらんがな。同期が必要かどうかは君が判断するんだってば。
setTextとsetPreferredSizeの相手はそれぞれ別オブジェクトになってもいいんだね?
JFrameを実装したFrame1は2つのテキストフィールドとそれぞれに対応したボタンを持っています ボタンを押すとJFrameを実装したFrame2が生成されます Frame2で特定の操作をして、その内容をFrame1の対応したテキストフィールドに入力したいのですが行き詰まってます 具体的にはFrame2にてsetTextを用いたいと思います 当たり前ですがFrame1とFrame2は異なるクラスです 新たにフレームを生成するのではなく、既に生成されているフレーム内のものを操作するにはどうすればいいでしょうか
>>58 11桁っていうとまずチェックするとこだろ。
struts2のいい教材があったら教えて 日本語だとありがたい
それセキュリティホールで死んだフレームワークじゃなかったか?
どっかのメガネ屋のでしょ? あれ本当にStruts2のバージョンが古かったからなの?
>>65 addやremoveはこれ以降しないのでっていう理由で同期しないのって怠け者ですかね?
Java8でラムダがどうの話題になっているけれど、 もしJava7以下のバージョンしか入っていない環境で実行するとどうなっちゃうわけ?
バイナリが新しいぞコラってなるんじゃね?
古いバージョンに合わせてコンパイルとか出来るんだっけ?
馬鹿には無理
新構文を旧バージョンに対応させるわけではないでそ
旧環境ではコンパイルできないだけで実行は問題ないでしょ
新しいクラスやメソッドなどのメンバを呼び出すことができないからつかえな
>>79 それはクラスライブラリの問題だろ
構文には問題は生じない
ラムダとキャプチャがよくわからなかった 実質的finalはコンパイラの静的チェックで引っかかるの?
無名クラスに引き取られた変数はヒープに置けばいいんじゃないか と思うのだがC#はどうなんだ?
83 :
デフォルトの名無しさん :2013/09/06(金) 23:22:55.78
public class copy { public static void main(String[] args) { printGraph(10); } public static void printGraph(int x) { for (int i = 0; i < x; i++) { System.out.print("*"); } System.out.println(""); } } この構文なのですが、(int i = 0; i < x; i++) でprintGraph(10)だとすると、 x = 10となり、出力される「*」の数は9個だと思うのですがなぜ10個なのでしょうか
>>82 C#がまさにそうやって「クロージャ」を実装してる
Javaのももともとクロージャにするつもりだったが、
ローカル変数はスタックに置くものという固定観念を捨てられず、
ある時期からクロージャという言葉を使わなくなり、しれっとラムダと呼ぶようになった
87 :
83 :2013/09/06(金) 23:35:49.37
あれ、ちょっと待ってください。 もしかしてint i = 0の段階でも既に「*」って出力されるんでしょうか だとすると0、1、2、3、4、5、6、7、8、9の10個ですが・・・
馬鹿には無理
90 :
デフォルトの名無しさん :2013/09/06(金) 23:58:34.44
ありがとうございます。バカだけど分かりました
>>87 x = 10 だと
i < 10
だから、
0 ≦ i ≦ 9
だよ。
9 - 0 + 1 = 10
小学生で習うのではなかろうか
>>78 invokedynamic使ってるから無理
「IOException出たけどとりあえず正常だったことにして処理続行しろ」 みたいなプログラミングがJava8のラムダでできるようになるの?
実行時例外のIOExceptionが追加された
>>94 冗談だろうと思ったらマジだった
いくらラムダと相容れないからって、標準ライブラリでこういうことやっちゃうと
みんな真似してほんとに誰も検査例外使わなくなるよ
素晴らしいことだけど
jspってjavaのソースコードと連携できる、ただのテンプレートエンジンやん これ、ただのテンプレートエンジンだからhtml5吐き出せるんだよね?
>>96 なんでそんな当たり前のことを質問するのかわからない
JSPは<%や%>の外側がブランクだったらその行を出力しないオプションが欲しい
今週は 「ついったのTLは社員が人力でHTML書いてる」 とか 「lang="ja"なのはJavaな証拠」 とかいう議論があったりしてだな…
前者はコンピュータ上のファイルパスで 後者はJar内のリソースファイルじゃないの
理解出来ました ありがとうございます
jdk7, jdk8-eaではString#substringがコピー仕様になっていますが、以前はコピーではなく、char[]のrefを共有する方式(のpackageprivate constractor call)じゃなかったですか? それとも気のせいですかね。
char[] を共有する方式だと、超長い String に対して substring 呼んだ短い String だけとっておきたい場合でも 元の超長い String の char[] が GC されないという 問題があったから、変更されたんじゃないの。
いつの間にって感じでキョンとしてるんですが、共有してたのはjdk6ぐらいの時(jdk6 only)でしたっけ?
オブジェクト指向ってのがよくわからない JavaにしろC++にしろ基本らしいけどどういうものなの?
よく分かるようになりたかったらジャバとかシープラプラとかをしっかり勉強してください。
>>109 Javaの仕事っていうのは基本的に単純な流れ作業なの。
ライン作業にはそのための設備が必要でしょ?
その設備を作るのに使われてる技術がオブジェクト指向なんです。
ライン工が設備の仕組みを理解する必要はないよね? だから気にしなくていいよ。
馬鹿には無理
>>95 いい流れだね
すぐに例外を潰さないと気がすまない人を突き放してくれている
IBMの記事にもあったように、そのような訛のあるコードはJavaでは異様に見える
>>109 オブジェクト指向なんて、手続きとかデータの名前の付け方に一工夫しただけの技術だよん
インスタンスという単位でグローバル変数を持てるようにしただけだよ 機能的にはね
>>109 ざっくり言うと、
今まではまとまりに分けるときに流れとか機能などがあったが、それを対象物(オブジェクト)ごとに分ける(class)ひとつの手法。オブジェクト指向言語はその手法、または一部を言語としてサポートしているので楽。
実際に一人で全て開発するにはオブジェクト指向分析、設計の習得が必要。
Javaドカタ第一の壁:for文 Javaドカタ第二の壁:文字列 Javaドカタ第三の壁:オブジェクト指向
第一の壁がオブジェクト指向だろ
クラスパス「呼んだ?」
オブジェクト指向は立場で意味が変わるバズワードだからな
Javaドカタ第一の壁:for文と、ブロックスコープ、ブロック文break,continue Javaドカタ第二の壁:文字列と、配列char[]の容量可変ロジック(StringBuilder)と、スレッドセーフ(StringBuffer,Vector) Javaドカタ第三の壁:構造化系言語(ローカル変数・クラスの状態・意味論的ステート(クロージャ))と、関数系言語(関数・メソッド・関数ポインタ(メソッドリファレンス))
くだらね
public class tashizan { public static void main(String[] args) { int a = 100; Integer b = new Integer(a); System.out.println(a + b); } } 数値とオブジェクトでちゃんと足し算が成立して200って表示されるのは オートボクシングのおかげってことですか?
>>127 ヒント: boxingとunboxingを自動でやってくれることをauto boxingといいます
valueOfと**Valueで対になってるのかな
java9か10だったかで数値がオブジェクトとして扱えるようになるからそのうち変換操作は気にしなくて良くなるよ。 それより、jdk8のM8/Developer Preview遅れてるな。まだ、b105のままだ。
私はモジュール化を早くしろと思わなくもない OSGi陣営が邪魔しなければもうちょっとクライアントも普及したんじゃないの?
俺は早くProject Sumatraマージしてほしい。
えっ、なんで? ジャバはもうオワコンなんでしょ?!
現代のCOBOLだからね 保守で20年はいけるよ
>>134 ジャバで数値計算(bigdecimal?)とか並列タスクとかやってるんですか?
10年くらい前からオワコン的な言葉で言われてきたけど、勢いを感じずにいられない
>>138 クライアントじゃ完全に終わってるから、一般の人からすれば不思議に見えるだろうな
もしウインドウズがなくても実際はあまり困らないんで、ウインドウズ・プラットフォームももうそろそろオワコンって話ですが、 開発プラットフォームとしてのジャバとドトネトではどちらがよりオワコンなんですか?
javaはなくても困らないけどWindowsがなくなったら 十数年来のフリーソフトやらが動かなくなってつらいな
仮想OSかwineで動かせ
システムのセキュリティーホールについて考えるだけでも、プラットフォームの利用形態の根底の問題にぶつかるね
>>144 それ言ったらjavaみたいに仮想化する実行環境でも結局プラットフォーム・ネイティブなコード呼び出す部分あるから同じじゃね?
javaでもJMFみたいに素直にDirectDrawのバグ踏むような実装あるぞ。
Applet全盛がJavaの全盛だとすると、.NETの全盛っていつよ
ゲイツがjava批判してた頃だろ。2k年代?盛り上がってたじゃん.net。 けど、Applet全盛がJavaの全盛はないだろ。一番ウザがられてた時期じゃん。
>>142 マルチプラットフォームに移植されてないマイナーなフリーソフトがどうなっても、たいして困らない。
149 :
デフォルトの名無しさん :2013/09/09(月) 11:48:26.11
1秒間に何度もファイルを読み書きするようなプログラムをずっと回してたらHDDの寿命縮むかな?
150 :
デフォルトの名無しさん :2013/09/09(月) 11:57:15.45
実質はStruts全盛がJavaの全盛期
>>149 キャッシュがあるからね。キャッシュの範囲内での読み書きならHDDの寿命は縮まないが
あんまりカリカリ音がするようだったらヘッドのモーターがいかれるかもね。
>>150 それやったことないから、Java全盛期には俺はいなかったのか。
>>149 OSやドライバがよきにはからってくれるんじゃねーの?
いちおー FileDescriptor#sync() とか FileChannel#force(boolean) とか強制書き込み用メソッドもあるけど。
俺もサーバサイドがメインだけどStrutsは触ったことない ジェネレーションギャップを感じる
数値のキャスト変換で、valueOfとparseの二種類あるようですが、どんな違いがありますか?
parse*は基数変換でvalueOfはラッパーオブジェクトのファクトリじゃん。用途がまるっきし違うよ
初心者を卒業したかったら
>>156 のいう真意をしっかりと噛み締めた方がいい
valueOfは整数の小さい値はstaticにキャッシュしてたような…
>>158-159 > これは、parseInt(java.lang.String) メソッドに引数が指定された場合とまったく同じです。
jdk1.7のjavadocの日本語はどこでダウンロードできますか?
戻り値がまったく違うだろザコ
馬鹿には無理
随分誤解を招く表現だなーと思ったらやっぱり英語の原文ではちゃんと表現されてた。 > The argument is interpreted as representing a signed decimal integer, exactly as if the argument were given to the parseInt(java.lang.String) method. (引数は、parseIntメソッドに渡すのとまったく同じように、符号付き十進整数として解釈されます) ↓それがどうしてこう翻訳されるんだか… > 引数は、符号付き 10 進数整数として解釈されます。 > これは、parseInt(java.lang.String) メソッドに引数が指定された場合とまったく同じです。 英語本文ではinterpreted-as ifで綺麗に対応してるけど、 日本語訳では「これ」という非常に広範囲な指示代名詞に直されちゃってるから、 「これ」が何を指すのかが極めてわかりづらくなっている。 ・これ(valueOf) ・これ(文字列を整数に解釈する方法) どちらの意味でも通っちゃうからな。 これは訳がよくない。
>>159 >キャッシュしてたような…
java7未満は仕様じゃないからまだ普及しないんじゃないだろうか
>>165 ちゃんと日本語でも続いてこう書いてあるべ。java6以下は昔の翻訳のままだから訳デタラメだ。
>生成された結果は、文字列により指定された整数値を表す Integer オブジェクトになります。
>
>つまり、このメソッドが返す Integer オブジェクトの値は、次の値に等しくなります。
>
> new Integer(Integer.parseInt(s))
バカにはムリムリw
NumberFormatがどんなに頑張っても valueOf(int) の結果をエミュレートできないのは、 いったいどうなのよと思うんだ。
javaドカタでも回答できる質問だけにしてください><
ボール画像のコンストラクタを作りたいのですが、 なぜかpaintの部分にエラーが出ます。 コンストラクタの囲いを消すとエラー表示も無くなりますが。 import java.awt.Color; import java.awt.Graphics; public class ball { ball(){ public void paint(Graphics g){ g.setColor(Color.green); g.fillOval(40, 40, 50, 50); } } }
オブジェクト指向的にはこう import java.awt.Color; import java.awt.Graphics; public class ball { ball(){ /* public void paint(Graphics g){ g.setColor(Color.green); g.fillOval(40, 40, 50, 50); } */ } }
Threadを停止する場合絶対にstopは使ってはいけないのでしょうか? 自作スレッドの正しい停止の仕方はどの方法がベストなのでしょうか?
基本はフラグ それでダメそうなのはinterrupt
>>177 interruptの場合ってすぐ例外がすろーされないのですが、相手はsleepとかのwait状態を期待しないとダメですかね…
Thread#interrupted()読ませとけば、自主的に判定可能だよ
>>178 フラグでダメ(sleep/wait)ならinterrupt
それで事足りる
スレッド終了と同時にゴミ箱行きになるオブジェクトしかいじらせてないのなら、 stop()しようがなんだろうが無問題。
色々情報ありがとうございます。 Threadはrunで実行中は親Threadがインスタンスを握っているのでしょおうか? 自分で参照を持っていないときは、runが終了したらいずれガベレージコレクトされるのでしょうか?
誰も参照握ってないスレッドって実行中でもガベコレされなかったっけか?
そんな話聞いたことない
JButtonでボタン作ってるんだけどそれの大きさと配置場所はどう書けばいいんですか? あと、サイトによって書き方が違ったりするからオススメサイトとかあるとありがたいです string argsの部分もどっちに[]つけるかサイトによって違うし
開始しちゃったThreadは問答無用でGC対象外(GC Root)だ。
建前が"WriteOnceRunAnywhere"な世界なので、 Swingプログラマはボタンの具体的な寸法とか配置とか書かなーい。 書いたとこで、意図したように見えるかどうかは環境依存。 長くやってくつもりならLayoutManagerの使い方覚えよう。
run() { while(true) 処理 } mainからThread起動 mainはそのまま終了 プロセスには処理を続けるrunが残り続けるのでrunはプロセスキルする セットデーモンしてあればプロセスキルするまでもなく止まって消える
ThreadオブジェのGCの話とVM終了の話は別だろ。
191 :
デフォルトの名無しさん :2013/09/11(水) 16:58:59.54
Java勉強5日目。配列ムズすぎワロリング
プログラマはIT土方云々って自虐をよく聞くけど、やさしい方らしいJavaでもろくなことができない俺って
Javaドカタ第一の壁:for文と、ブロックスコープ、ブロック文break,continue Javaドカタ第二の壁:文字列と、StringBuilder, StringBuffer Javaドカタ第三の壁:オブジェクト指向と関数型系言語
194 :
デフォルトの名無しさん :2013/09/11(水) 19:53:26.66
public class SelectGreeting { public static void main(String[] args) { String[] message; message = new String[3]; message[0] = "おはよう"; message[1] = "こんにちわ"; message[2] = "こんばんわ"; if (args.length != 1) { System.out.println("使い方:java SelectGreeting 番号"); System.exit(0); } int num = Integer.parseInt( args[0] ); if (0 <= num && num < message.length) { System.out.println(message[num]); } else { System.out.println("番号は0〜" + 2 + "の範囲で指定してください。"); } }
195 :
デフォルトの名無しさん :2013/09/11(水) 19:54:15.20
上記の構文の >int num = Integer.parseInt( args[0] ); のargs[0]の働きがわかりません。どこに掛かってどういう働きをするのでしょうか
String args はコマンド実行で渡された引数の配列だよ e.g.) java -classpath . any.your.package.SelectGreeting 0 java -jar SelectGreeting.jar 1
おっと、String[] args ね。
Java SE 7 Update 40キター
updateあったのか
201 :
デフォルトの名無しさん :2013/09/11(水) 20:48:35.35
25から飛んで40とかどういうことだよw
Java SE DownloadのページにあるServer JREって何ですか?これもインストールしたほうがいいんですか?
204 :
デフォルトの名無しさん :2013/09/11(水) 22:02:14.97
>>202 SDKインストすれば、JREも入ってくるから、SDKだけインストすればいいよ。
Server JREにjavacとか入ってるのかな? もうJSPはjavacとか使ってないんだっけ?
奇数がセキュリティパッチ、偶数がプラットフォーム拡張でしょ 割とすっきりしてると思うけど
おまえ頭いいな
で、Server JREってなんだ?
アップデートがよく分からないんだけど、jdk1.7.0_40でコンパイルしたものは jre1.7.0_01でも動作するの?クラスバージヨンは同じでもエラーになったりするの?
jreの1.7.0の部分がjdkの1.7.0の部分と同じかそれ以上なら問題なく動くと考えていいよ
u40の正式版が出たのかeaからアップデートしとこう
213 :
デフォルトの名無しさん :2013/09/12(木) 09:11:06.35
public class showargs { public static void main(String[] args) { int[][] arr = { { 3, 1, 4, 1, }, { 5, 9, 2, }, { 6, 5, }, { 3, }, }; printArray(arr); } public static void printArray( int [][] arr ) { System.out.println("{"); for (int i = 0; i < arr.length; i++) { System.out.print(" {"); for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + "," ); } System.out.println( "}," ); } System.out.println("}"); } }
214 :
デフォルトの名無しさん :2013/09/12(木) 09:12:43.35
上の for (int i = 0; i < arr.length; i++) { System.out.print(" {"); for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + "," ); } の繰り返しの部分の仕組みがよくわからないんだが、誰かわかりやすく教えてくれないか? 図々しい質問ですまんマジでわからないんだ。 結城の参考書の問題って解答の解説が乗ってないんだよな
System.out.print がわからないのか for ループがわからないのか 配列がわからないのか
名探偵は '}' がひとつ足りない所にこの事件の真相が隠されていると気づいた
>>214 j < arr[i].length
にあえて冗長なカッコ付けると、こうなる↓。
(j < ((arr[i]).length))
arr[i][j] + ","
なら
(((arr[i])[j]) + (","))
だ。
javaでStringの情報をUnicode(リトルエンディアン)形式でファイルに保存するにはどうすればよいでしょうか?
UTF-16LEを使えばいいんじゃないかな
221 :
デフォルトの名無しさん :2013/09/12(木) 12:52:17.66
っていうか、すみません。ただ単純に思っただけのことです。悪口じゃないので 気を悪くしないでください。 C++とかBasicは普通に直感的にわかりやすく作ってあるんですが、Javaって真逆を行ってないですか?
わかりやすいか? とつられてみる
言語のコンセプトというか、そこそこ低レベルのプログラマでも一定の品質のソフトをというのがJava クソ融通がきかないのはそういう流れ
C++は直観的じゃなくて、制御をバッサリ切るから淡白なだけ。 帰属意識がある俺でも、Javaのがわかりやすいと思うよ。
>>220 ありがとうございます。
そしてすみません、Unicode(リトルエンディアンではなく、UTF-8のBOMありでした
m(_ _)m
javaではBOMなし固定と聞いて、対応方法をさ考えています。
BOM書いたあとに足せばいいだけだろ 何を考える必要があるんだ?
227 :
221 :2013/09/12(木) 13:45:05.75
>>222 私はわかりやすいです。。
>>223 糞融通がきかないというより、どうしてもなじめません。。
>>224 Javaの方がわかりやすいっていうのが、ちょっとうらやましくおもいます・・
ありがとうございました。他人の意見を知れてよかったです。
228 :
デフォルトの名無しさん :2013/09/12(木) 16:50:11.28
>>214 です。具体的にはforループがわかりません。例えば
{ 3, 1, 4, 1, },
{ 5, 9, 2, },
{ 6, 5, },
{ 3, },
って配列要素で捉えると、それぞれ
00 01 02 03
10 11 12 13
20 21 22 23
30 31 32 33
だと思うのですが、だとすると例えば最初のfor文
>for (int i = 0; i < arr.length; i++) {
System.out.print(" {");
は、printされるのが" {"なので" {"を繰り返し出力する構文になってしまうのではないか
という疑問と、
>for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + "," );
という部分で[i]は例えば00,01,02,03の「0」の部分だと思うのですが、それでは
01になった時点で既にi<jになってしまい繰り返しの条件を満たさなくなってしまうのでは
ないのでしょうか。
大変わかりにくい文章だと思いますが、指定してくだされば詳細に私の考えを伝えたいと思いますので
よろしくお願いします。
>>228 >01になった時点で既にi<jになってしまい繰り返しの条件を満たさなくなってしまうのでは
ないのでしょうか。
問題ないだろう。
むしろなぜ、そんな条件があると思ったのか気になる。
forループはブロックで囲まれてればブロック全体を繰り返す。 ブロックが無ければ続く文を繰り返す。 先頭に "{" を出力して云々かんぬんという処理を繰り返すのであって "{" を出力する処理だけを繰り返すのではない。 i < j の条件式はどこから出てきたんだ? 繰り返し条件は i < arr.length と j < arr[i].length の二つだけのはずだが。
>arr[i] 上からi番目の配列 >arr[i][j] 上からi番目の配列のj番目の要素 >arr.length 配列の長さ (今回は4) >arr[i].length 上からi番目の配列の長さ (上から4,3,2,1) >for (int i = 0; i < arr.length; i++) { iが全体の配列の長さ(4) 未満の間繰り返す、iは1ずつ増える >for (int j = 0; j < arr[i].length; j++) { jが上からi番目の配列の長さ未満の間繰り返す、jは1ずつ増える
IDEとデバッガ覚えてもらった方が早くないか?
233 :
デフォルトの名無しさん :2013/09/12(木) 19:16:41.04
>arr[i].length 上からi番目の配列の長さ (上から4,3,2,1) これって上から4、3、2、1って数えるんですか?例えば >for (int i = 0; i < arr.length; i++) { だとすると、iは最初0のはずですがこのiとarr[i].lengthのiは別物なのでしょうか? 私は >for (int j = 0; j < arr[i=0].length; j++) { だと思い、だとするとjが0より上になった時点でもう繰り返しの条件は満たさないと思い 疑問に思ったのですが、そもそも j<iとj< arr[i].lengthは全く別物なのでしょうか
うざい
>>233 arr[0].length は 4、
arr[1].length は 3、
arr[2].length は 2、
arr[3].length は 1、
これでわからんなら諦めてくれ。
ゆとり乙
237 :
デフォルトの名無しさん :2013/09/12(木) 20:06:51.19
わかりました。大変ありがとうございます
jsp生産性低すぎだろ....
239 :
デフォルトの名無しさん :2013/09/12(木) 21:25:54.35
すいません再三の質問になるのですが、 >for (int i = 0; i < arr.length; i++) { からの >for (int j = 0; j < arr[i].length; j++) { って i=0は要素としての0でありすなわち[0][1][2][3]を示しており、 arr[i].lengthのiも最初のforループはarr[0].lengthだけど、 配列の長さはarr.length=4まであるので例えばjの部分が1,2,3と 加算されて言っても長さの限界の4までは、要素としての[0][1][2][3] とは異なるため、繰り返しが起こるという考えであっておりますでしょうか
>>238 JSPとかは単価の安いウエブデザイナに投げるためのものだろ。
Java言語仕様に「多次元配列」とかないからー。C言語と違うからー。 近い概念はせいぜい「配列の配列」ぐらいー。 少なくとも四角い保証はどこにもない。
242 :
デフォルトの名無しさん :2013/09/13(金) 01:46:45.17
土日でやってるJAVAを教えてくれる学校ってない?
javaドカタの鬼門その2。配列
そんなとこで躓く奴はドカタ未満
スレッドの途中とかにswingGUIコンポーネントを追加するとかできないのかな
できる
>>245 当然のようにできる。
ただしEDT等のお約束事を守らないとどうなっても知らない。
validate invalidate revalidate辺りがうまく使えるようになると動的にコンポーネント追加したり、動的なレイアウト変更が可能
javaの教師をやってみないかという誘いで数冊の教科書を見たことがあるが基礎しか学べない。 その先に独学しなければいけないことが1000倍ある。
教科書読んだら全部終わると思ってるようなアホに教師頼むのか j
>>249 それで、50万とか100万の授業料とるんだからなw
すまんね主語を省略したから勘違いしたらしい。 「〜ことがあるが(教えられる側は)基礎しか学べない」 世の中には読解力の無い人もいるからちゃんと主語は書くべきだったな。
馬鹿には無理
>>252 伝わらない責任を相手の読解力に押し付ける人には、講師なんてムリムリ
教科書程度では基礎しか学べない なんてことを今更改めて認識するようなアホってことで筋通ってるんじゃないか?
他人のお稽古事に線引きするほどヒマな男の人って…
ここは釣堀かよ。くだらね。
馬鹿には無理
>>248 すいません、解説サイトもしくは書籍など紹介していただけませんか?
ググってみたもののイマイチピンときません
マルチプラットフォームって労多くして幸少ないような
慣れた windows 環境でデバッグしたものが そのまま linux 環境で動かせるだろ
Windows環境ならJavaはもうオワコンだからC#をやった方がいいよってよく聞きますよね
アセンブラ全盛時代にPERLは革命的だったろうし マルチプラットフォーム対応の幸が少ないとは思わない
>>263 個人で作るアプリケーションの話なんですが、文脈ってわかります?
ジャバはオワコンだよ!?
本当に終わらせて欲しいわー Javaを終わらせる言語が出て欲しいわー
XXXはオワコン
windows環境でJavaはオワコンって、どういうところがそう思うのかな。 むしろwindowsが一番安定してる気がしてならんのだが。特に描画周り。
windows使ってるのにc#やらないのはマヌケ
C#そんなすごいん
>>266 期待して待ってな。全部終わらせてやるから。
Java勉強しだして一ヶ月くらい経ってようやく基礎的なものがわかってきたんだけど、 この後どう勉強すればいいの? 例えばforとか配列の意味はわかったけど、使い方がわからない。 forで九九計算ができると言われても直ぐわからんかったし、 カードのシャッフルも配列使うって言われてもどうすればいいかわからん サンプルはあるけどわかりにくい部分がある 俺はどうすればいいと思う?
諦めて英語なり数学なりを勉強するのがいいと思うよ
>>270 マイクロソフトでしか動かないんだからすごいに決まってるんじゃん
>>272 就職したらいいと思うよ
自分でなにをするか決められないなら、仕事として課題を与えてもらえばいいじゃん
>>272 どんなプログラムを書くか決めるには設計が必要。
どんな設計をするか決めるには分析が必要。
>>274 俺も基礎は重要だと思う
どういったことすれば力つく?
>>276 今まさに仕事の一環でやらされてる途中
来年4月からAndroidのアプリの簡単なのでいいから作れるようにしとけとさ
無茶を言いなさる;;
Collections.shuffle使ってList<String>か自作のCardをList<Card>で シャッフルするのがてっとりばやい。 基礎練習ならトランプゲームを頭から通して再現してみなら? ぜんぜんインタラクティブじゃなくていいからポーカーとかさ、 シャッフル→(配布→交換カードを選ぶ→カード交換)×n、最も得点の高いユーザを表示
>>278 じゃあAndroidアプリ作るための勉強すりゃいいじゃん
本屋に行けば初心者向けの本が山ほどあんだろ
アルゴリズムの勉強が必要
みんなありがとう とりあえず書店言って自分にあった本探してくるよ
仕事ならWebベースでいいじゃん なんでAndroidネイティブ?
来年4月までかかって Androidのアプリの簡単なの すら作れないって犬より頭悪いぞw
>>285 通常業もあるし
これからガンガン忙しい時期になってくるんだよ
勉強時間なんて家にいられる時間くらいしかない;;
287 :
デフォルトの名無しさん :2013/09/15(日) 12:29:07.75
>>286 なかなか良い会社だな。即戦力重視の会社なんて1週間以内に作れって言われる。
C#はアンドロイドアプリ作れないからな・・・ 残念!!
Xamarinあるだろ
>>288 AndroidのアレはJavaじゃないよ
海賊版裏ビデオ自慢ww
javaが出来てないのにいきなりandroidは無理じゃないか? さっさとdalvik滅んでjava meに戻らんもんか・・・。
androidってjava6相当でしょ
>>290 JVMじゃないだけで言語はJavaだろ
Javaとは言えない具体的な理由は?
Javaなんて言語自体は簡単なもんで周辺技術の学習が全てでしょ その点カオスなサーバーサイドJavaと比べればAndroidのJavaモドキは 覚えるべきことがコンパクトにまとまってて学習が容易だと思う
>>293 GoogleがJavaじゃないと言ってるからね
JavaとJava言語は別だよ(とGoogleが言っている)
Oracle:それJavaだろライセンス料寄越せよ Google:JavaじゃねえしwwwJava言語とJavaAPIを実装しただけwww
ビル○○
ところで裁判はどうなったの?
301 :
デフォルトの名無しさん :2013/09/15(日) 16:46:44.33
JavaのArrayListにおいて、C#のようにメソッドチェーンで抽出や写像をするにはどうすればよいのでしょうか? 例えばlstの中から要素が3の倍数であるものを削除し、残ったものを2倍したリストを返す処理を ArrayList lst2 = lst.remove(x => (x % 3 == 0)).map(x => x * 2); のような感じに書くというものです。
>>301 その処理と同じ結果を返す手続きを書いてください
今のところはそれがJava流です
>>301 C#ができるならJavaをやる必要はないので、こっちにはもう来ないでください
Streamはラムダ式が導入されるからこそって感じのAPIだからな 楽しみである
Javaって高階関数書けないんですか・・
interfaceがあるのに何いってるんだ? 根本的なレベルであほなんだな
interfaceが高階関数とか言ってるとお里が知れるぞ Java8のラムダ式使え
だからラムダ式はシンタックスシュガーだろ、天然か
今のラムダはもはや簡略じゃなくて独立した構文みたいな扱いですよ
>>301 現行のJavaでは無理なので開発版のjdk8を入れれば使える
事実上のfinalとかいうfinal付いてないfinalもOKってだけだろw
>>301 ところで、listと書けばいいところを、わざわざiだけ省略するのはダサいのでやめてください
>>306 interfaceが高階関数の代わりになるならmap,filter等各種関数が用意されていないのは何故なのでしょうか?
ラムダ用interfaceはProducerだのConsumerだのやたらあるんだったか C#みたいにふたつに纏めればいいのに何やってんだろうな
無くても書けるだろ 以上
インターフェースの呪縛がある限り どこまで行っても偽lambda
C++みたいに仕様が肥大化するのが目に見えている くだらねぇ仕様追加はやめて欲しいね。原始人用であるjava1.4が最も美しい。
ラムダイラネ
いまだに1.4の書き方をしている俺をjava原人と命名する。
1.4からは構文糖ばっか増えてるからな 言語としては完成されてると言っても良い
モダンなスタイルはScalaに任せて、Javaは原始人用のままでいいよな
知るか、俺はまだまだ現代っ子で居続ける
その原始人のせいでバックポートを作り続けなければならないのか
interface Function<TResult, T> { TResult apply(T x); } interface Function<TResult, T1, T2> { TResult apply(T1 x, T2 y); } メソッドのオーバーロードは出来てもこういうことは出来ないんですね
Javaドカタ第一の壁:for文とブロックスコープ、ブロック文break,continue Javaドカタ第二の壁:文字列と配列、StringBuilder, StringBuffer Javaドカタ第三の壁:コレクション・データ構造とプロシージャ・アルゴリズム手続き Javaドカタ第四の壁:オブジェクト指向と関数型系言語、ファンクタ(内部クラス)とラムダ(無名クロージャ)
331 :
301 :2013/09/15(日) 19:32:44.46
interface Func1<TResult,T> { TResult apply(T x); } class Util { public static List map (Func1 f, List list) { List result = new ArrayList(); for (int i = 0; i<list.size(); i++) { result.add(f.apply(list.get(i))); } return result; } public static List filter (Func1 f, List list) { List result = new ArrayList(); for (int i = 0; i<list.size(); i++) { if ((Boolean) f.apply(list.get(i))) { result.add(list.get(i)); } } return result; } }
332 :
301 :2013/09/15(日) 19:34:48.91
public class Test { public static void main(String args[]){ Func1<Boolean, Integer> f0 = new Func1<Boolean, Integer>(){ public Boolean apply(Integer x) { return x % 3 != 0; }}; Func1<Integer, Integer> f1 = new Func1<Integer, Integer>(){ public Integer apply(Integer x) { return x * 2; }}; List list = Util.map(f1, Util.filter(f0,Arrays.asList(1,2,3,4,5,6,7,8,9,10))); for (int x : (List<Integer>)list) { System.out.println(x); } } } //=> 2 4 8 10 14 16 20
333 :
301 :2013/09/15(日) 19:37:38.20
listの中から要素が3の倍数であるものを削除し、残ったものを2倍したリストを返す、
ArrayList lst2 = lst.remove(x => (x % 3 == 0)).map(x => x * 2); 相当の処理を
Util.map(f1, Util.filter(f0,Arrays.asList(1,2,3,4,5,6,7,8,9,10)));
と書くことが出来ました。みなさんレスありがとうございました。
>>329 わかり易かったです!
それ即時評価になるからC#と全然違うよ
Arrays.asListなんてあるんだ
Androidどころか、iPhoneまでかけるQt最強だろ(´・ω・`) あとは、得意のC++でWebフレームワークもやっちゃえ。俺はJavaが嫌いだ。
MS土方の壁:意味不明なAPI MS土方の壁:有料 MS土方の壁:互換性なし 後よろしく
MS土方の壁:布教活動
>>301 enum使うとうまくかけるようなことをどっかの本で見た覚えがある
写像じゃなくて転移か
343 :
デフォルトの名無しさん :2013/09/17(火) 08:18:41.63
MS土方の壁:コメント書かないと誰もわからないような引数名
おれは、Javaがすきだ
しかしjvaではwebとかスマホのドカタ仕事しか来ない
2つの内容が異なるxmlをマージするライブラリクラスはあるでしょうか? サードパーティーのライブラリでも良いのですが… あるxmlの内容を変更するときに、元のxmlはそのままにして、変更する箇所だけを取り出したxmlを別途用意し それをマージしたxmlファイルを読み込んでくれと言われています。 ●元ファイル <data> <line key="aa"> <data>aa</data> </line> <line key="bb"> <data>bb</data> </line> </data> ●上書き用ファイル <data> <line key="bb"> <data>変更しました</data> </line> </data> ●プログラムで使用するデータ <data> <line key="aa"> <data>aa</data> </line> <line key="bb"> <data>変更しました</data> </line> </data>
Java8かなり変わったね…Java8勉強中…
ラムダ式以外で大きな変化あったっけ? 標準APIでラムダ対応で追加されたAPIは一覧して欲しいな JavaInTheBoxさんとかでw
>>346 xmlファイルを比較するのはあるが、マージは自作だろう
>>349 やっぱり自作ですよね…
ちなみに比較するを教えていただけないでしょうか?
351 :
349 :2013/09/18(水) 11:56:32.85
>>347 いつごろのJavaをやっていたんですか?
>>346 業務なのか学校の課題なのか知らんけど
もし業務だとしたらそのレベルで引き受けたことをお互いに後悔する羽目になるぞ
>>353 もう既にはまってしまいました…
自作でも意外と簡単とおもいきや、めんどくさい
ちょっと下のノードのこの名前のを含むものを削除、ってのがxmlだとめんどくさすぎで…
そろそろスレ違いだが、その案件でJavaプログラミング始めるのは、 XSLTやXQueryを検討してからでも遅くはない
>>346 「マージ」と一言で言うけれども、その定義がすごく曖昧だからなぁ。
[削除]
●元ファイル
<data>
<line key="aa">
<data>aa</data>
</line>
<line key="bb">
<data>bb</data>
</line>
</data>
●上書き用ファイル
???
●プログラムで使用するデータ
<data>
<line key="aa">
<data>aa</data>
</line>
</data>
の場合は「上書き用ファイル」の内容はどうなるの?
他にも要素の内容は変更せずただ並べ替えをした場合とか。
keyでlineを特定して上書きするというのもXMLの規格から出てくる自明な
操作ではなく、この問題特定の仕様だよ。
まあその程度のレベルでの質問なのだろう
自己解決しました
JAXB使えば速攻で終わりそうな課題だな DataがlinesというMapを持ってるだけだし
361 :
349 :2013/09/18(水) 20:01:22.44
???
html5やるなら、jettyとtomcatどっちがいい?
どっちでも
console.readLine()でコンソール画面に文字入力って Eclipseでは不可能なのでしょうか?
>>355 XSLTは違うだろ。DOMかXSL-FOで持ってXQueryで指定くらいがいいんじゃない。
>>346 ,354
どっちにしてもこの程度のこと思いつかんならxml知らなすぎるな。
>>368 XMLなんか知るかよw
ドヤ顔気持ちわりぃ
>>369 XML知らんのは問題ない
XML知らんのにXML案件を請け負うのは非常に問題
>>369 iniファイルがいいんだろう、わかります
あ?レジストリだわ。ボケ。
自己解決しました
恐れ入ります。 いま、とある翻訳された文章で 「バイトコードのスピードが劣る」 という表現が出てきたのですが、これってどういうことでしょう? バイトコードに翻訳するスピードが劣る、とかならわかるのですが。 一体、どういう意味なのでしょうか?
実行速度が劣るってことだろ
ソースコードをネイティブコードにしないでバイトコードにして仮想マシンで動作させてるから遅いって話だろ
>>377 文脈が分からんと解るわけない。原文か訳文の全文うp
馬鹿からかっただけだからもういいです
>>378-380 レスありがとうございます。
原文を貼らせていただきます。
翻訳といっても、友人の訳なので不安です。
JavaScript should not be confused with Java. JavaScript, which originated at Netscape,
is interpreted at a higher level, is easier to learn than Java, but lacks some of the
portability of Java and the speed of bytecode. Because Java applets will run on
almost any operating system without requiring recompilation and because
Java has no operating system-unique extensions or variations,
Java is generally regarded as the most strategic language in which
to develop applications for the Web. (However, JavaScript can be useful for
very small applications that run on the Web client or server.)
jar.Manifest.class APIのバグを見つけた。こういうすぐ発見できるバグは早々に直してほしい。 Manifest man=new Manifest(); man.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION,new Date().toString()); man.getMainAttributes().putValue("k0", "注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください"); man.getMainAttributes().putValue("k1", "a注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください"); man.getMainAttributes().putValue("k2", "aa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください"); man.getMainAttributes().putValue("k3", "aaa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください"); man.getMainAttributes().putValue("k4", "aaaa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください"); man.getMainAttributes().putValue("k5", "aaaaa注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください"); man.write(System.err); Manifest-Version: Thu Sep 19 23:10:08 JST 2013 k0: 注意:詳細は、-Xlint:deprecationオプションを指定し? ?再コンパイルしてください k1: a注意:詳細は、-Xlint:deprecationオプションを指定し? ??再コンパイルしてください k2: aa注意:詳細は、-Xlint:deprecationオプションを指定し て再コンパイルしてください k3: aaa注意:詳細は、-Xlint:deprecationオプションを指定? ?て再コンパイルしてください k4: aaaa注意:詳細は、-Xlint:deprecationオプションを指定? ??て再コンパイルしてください k5: aaaaa注意:詳細は、-Xlint:deprecationオプションを指定 して再コンパイルしてください
$ java -version java version "1.7.0_40" Java(TM) SE Runtime Environment (build 1.7.0_40-b43) Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode) java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b106) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b48, mixed mode) 両方とも発生する。
マニフェストファイルって折り返しで改行入るだろ 改行部分がエンコード文字を分割してコマンドプロンプトでバグってるだけじゃね?
>>385 多分そんなところでしょう。
解決方法も出たので、次の7u40.nextとjava8では早々に直しておいてください。
だからバグじゃねーだろ
>>382 JavascriptとJavaの実行速度の比較か
ブラウザの実装の話だね
>>387 jar仕様ではutf8サポートなので、改行途中挿入の処理でおかしくなるならライブラリのバグですよ。
manifestか、Java EE 6で分からんところがあったなー
>>382 >「バイトコードのスピードが劣る」
たしかに"javascriptはjavaより学習は簡単だがjavaの移植性とバイトコードの速度を欠いている"って書いてあんね。
>interpreted at a higher level
て言ってるからもしかしたらこれが著者がjsがより低レベルな「マシン語吐かない」インタプリタだと思ってることを指してるのかもしれない。
要するにjsの方がVMが遅いって言いたいんだろう。話全体はjavaはWORAだからjsよりwebアプリケーション作るのに最適って話だね。
バイトコードと比べたらテキストのパースはコストが高いってことじゃなくて?
最近のは、jsもJITでコンパイルするんじゃないの?
言い忘れたけどこの文だけだと"interpreted at a higher level"が何を言っているのか不明瞭だから完訳は無理。
>>392 jsの欠点が"speed of bytecode"と言ってるからそれはないんじゃない?
"portability of Java"が後ろの方にある再コンパイルなしにあらゆるOSで動く〜に繋がってるし。
>>393 それを著者が知らないか、大昔のインタプリタだった時代に書かれた文章かもしれん。
TCPがどこでUTF8ぶったぎろうが誰も困らないのと同様、 ManifestがどこでUTF8ぶったぎろうが誰も困らないだろ。 MakeとFORTRANの悪いとこ継ぎ合わせたような分割行仕様は不可解だが
どこでぶったぎっても誰も困らないようにライブラリは作っておかないといけません。
JavaのDOMで.netでいうところのouterXMLって無いでしょうか? Node hoge = hage.firstChild(); System.out.println(hoge.outerXML()); みたいなことができたらうれしいのですが。
>>398 神!
Sleipnirだとググっても全然出てこなかったのにorz
400 :
382 :2013/09/20(金) 21:02:14.91
解答いただいた皆様。 ありがとうございます。 やはり難しいですね。
ブラウザごとに検索してみ
意味がわからん 検索エンジンとブラウザになんの関係が
ひとまず騙されたと思って試してみいや
Yahoo!でググれ!
msnでggr!
407 :
デフォルトの名無しさん :2013/09/21(土) 07:24:37.29
a
ブラウザによって検索結果が変わるのは常識。 特にsleipnirのような検索結果で利益を得ているような会社は 違って当然だろう。
409 :
デフォルトの名無しさん :2013/09/21(土) 08:12:34.40
質問させてください。 今、eclipseでjavaserver facesとTOMCATのwebアプリケーションを作成しています。 TOMACATのSSL通信と、レルム方式のユーザ認証を使用しています。 DBはoracle express edition 11g(フリー)です。 サーバとクライアントのSSLの環境は、TOMCATサーバにはキーストファイルを配置していますが、 クライアントには特にキーストアファイルは置いていません。 そのためクライアントがアクセスしたときにブラウザに警告が出ます。 そこで質問なのですが、ログインとログアウトを7回繰り返した後、 8回目のログインでなぜかフリーズして、ログイン後のTopページに移動しません。 TOMCATのコンソールのログには、特にエクセプションなどのエラーメッセージはありませんでした。 7回は正常にログインして、TOPページに遷移して、ログアウトが行えるのですが、 8回目でログインしたとき必ず、フリーズしてTopページに遷移しません。 TOMCATのメモリの設定に問題があるのでしょうか。 これの対策はどうすればよろしいでしょうか。ご教示をお願いいたします。
ブラウザとtomcat間の問題だろう ブラウザは何?
apacheのpreforkの初期値が8なのと関係するんじゃね?
そうきたか
>>383 マルチバイトのUTF8が扱えないって話かと思ったら途中で改行するって話かよ。
1section72byteまでだから
>>385 が正しい。
リソースを読み込む際に this.getClass().getClassLoader().getResource("xxx"); とする作法を知ったのですが staticメソッド内でthisが使えない場合は Objectのようなクラスから適当に Object.class.getClassLoder().省略 としてしまっても良いのでしょうか?
アプリケーション側ならgetClassLoaderは不要。ライブラリ側だけ必要
>>389 System.getProperty("line.separator") を使わないあなたが悪い。
>>414 あまり良くない。複数のクラスローダーが走っている環境でトラブルになるよ。
例えばそのstaticメソッドがクラスCの中で定義されていて、そのクラスCが
読み込まれたのと同じクラスパスやjarの中にあるリソースを読みたいとする。
その場合は、そのクラスCをロードしたのと同じクラスローダーを使ってリソース
も読み込むのが確実。
この場合はC.class.getClassLoader()... とするのが良い。
ラムダなんかいいから thisclass キーワードはよ
アルファー了解 チャーリー了解
>>419 同じファイルにはデフォルトアクセスクラスも定義できるし特定できんぞ
JAVA3DでTextureLoader使ってテクスチャ張ったものに光を当てることってできますか? 平行光源とやらを使ってるんですが、張ったところだけ光沢なくてどうにかならないものかと。
423 :
デフォルトの名無しさん :2013/09/21(土) 20:53:02.58
>410さんへ 409です。ブラウザはIE8です。TOMCATは7.0.39です。
Manifest#cloneってCloneable実装の割にはsuper.clone() でObjectのnative void clone()をコールしてないね。 欠陥だらけだからそろそろ作り直したほうがいいかもしれない。
>>423 クライアントとサーバのログとパケットのダンプを眺めたの?
まずクライアントがあやしいと思うけど
426 :
デフォルトの名無しさん :2013/09/21(土) 21:02:14.26
Cだと配列のメモリ確保ってmallocとかで記述しないといけないけど javaだと勝手にしてくれるのですか?
配列コンストラクタか配列初期化子呼ばないと確保してくれないよ
>>426 freeの必要がない、VMがやってくれる
複数のframeworkがあるのはいいけど、情報が飛散してるなー
yet another frameworkだから ツールなんてそんのものだろう
JavaEEは中々使い勝手がいいのだけどオミットすべき機能が互換のために残されまくってるからな
ラムダねたはもういいから、js (rhino) のgenerator-yield-continuation パラダイムとクロージャ(js function object)がほしい
もう意味がわからん。イライライリアリアリアイリイライリアリアr 以下の文章をどなたか、初心者に分かりやすいように訂正しては頂けませんでしょうか? 「静的」というキーワードは、特定の変数のインスタンスがクラス用に一つだけ存在することを意味する。 これはしばしば定数定義に使用されるが、それはクラスをインスタンス化せずにクラスを呼び出すことで、 その値が取り出せるためである。よって “Math.PI” とあれば、変数 ‘PI’ を伴う ‘Math’ オブジェクトがあり、 変数 ‘PI’ が一つだけ存在し、クラスをインスタンスを作成せずに Math オブジェクトを呼び出すことで、 その PI 値を取り出せることが分かるはずである。 >クラス「を」インスタンス「を」作成せずに Math オブジェクト「を」呼び出す とか、もう完全に意味不明です。
>>433 それ間違った説明だよ。
どこからコピってきたのか知らんけど、本なら破り捨てて著者に送り付けたほうがいい。
Javaのクラスはオブジェクトじゃないよ
>>433 は思いっきり間違い
>>433 訳が変なだけで間違ってはなさそう。
つーか原文で嫁。
public class Math {
public static final double PI = 3.142592;
public double e;
public Math(){ e = 2.71828; }
}
eの値を取り出すには、一度 Math m = new Math()などとし、
インスタンス化した後、m.eとして取り出す必要がある。
また、(newした)インスタンスの数だけ存在する事になる。
しかしPIは、インスタンス化(new)せずとも、
Math.PIとすれば取り出すことができる。
しかし、Mathクラス用に一つだけしか存在しない変数となる。
このように、クラス内のstaticキーワード付きの変数は、
クラスそのものに付随する変数を意味する。
また、定数の定義で使われる事が多い。
すまん。添削せずに途中で送信してしまった。 PIの値以外は間違ってないとは思うが。
>>437 「特定の変数のインスタンスがクラス用に一つだけ存在する」とか、
「Math オブジェクトを呼び出すことで、」と書いてあるけど、
この説明は変じゃないか。
Mathはクラスだろ。
初心者には分かりづらい。
>>441 変だとは言ってるだろ。
なんで俺に噛み付くんだよw
>>442 これは訳だけじゃなく原文もおかしいんだよ。
>>433 > クラスをインスタンス化せずにクラスを呼び出すことで、その値が取り出せるためである。
って書いてあるのに
> Math オブジェクトを呼び出すことで、その PI 値を取り出せることが分かるはずである。
とおかしなことが書いてある。オブジェクトが存在する時点でインスタンス化されたクラスを呼び出していることになるのではないか?
「呼び出す」ってなんじゃいな。invokeの訳かな?
もうこれは破り捨てて、訳したやつに送りつけだな。
447 :
デフォルトの名無しさん :2013/09/22(日) 01:27:34.76
訳者なんて文系だし、プログラマの監修もつければいいだけ。
ラムダ、クロージャてそんなにいいもの?
「いいもの」の定義による
コードが小さくなる
他の言語のそれと比べればゴミカス 今までのJavaと比べれば大分マシになる
>>421 パッケージやクラス名変えても安全な自クラス参照式、
これでうまくいくかな?
static Class<?> MYCLASS = new Object(){}.getClass().getEnclosingClass();
ジャバは「オワコン」ですからね〜
Javaをオワコンにしたくて必死な人が数年前から湧いているが、 有効な成果は上がらずAndroidのJava採用でますますJava利用者は増えるばかり、ですからね〜
ジャバとは「アンドロイド」なんですか?!
アンドロイドは人型のロボット、ジャバはインドネシアを構成する島の一つです。全然違います
>>455 サーバサイドJavaとAndroid Javaを同じスキルと思ってるのは採用担当だけ。
>>453 ためしてないけどリフレクションじゃできない?
Javaとはコーヒー豆の産地です コーヒーはmochaに限る
JavaにWin32APIのmouse_eventに相当するようなものありますか?画面上の任意の位置(アプリがフォアグラウンドになってなくても)にクリックイベントを発生させられるみたいなもの
>>461 java.awt.event.MouseEvent
java.awt.event.MouseListener
じゃないの?
>>461 画面の定義は何?スクリーン上ならMouseInfo.getPointerInfo().getLocation()
>>463-464 Javaで作ったアプリから
ブラウザとか他のアプリケーションに対してクリックイベントを発生させたいのです
Win32APIはmouse_eventはマウスカーソルが存在する位置にクリックを発生させる(実際にマウスのボタンを押したのと同じ)ものです
ふむふむ、それは明らかにネイティブな部分を扱うっていう自覚はもってますか? それをやるとJavaで作る利点が怪しくなってくるが、やるならJavaからWIN32APIを使えばいいじゃん
一応 java.awt.Robot というものはあるが・・・
キレる若者
そんなに切れるとは思えないが
自己解決しました
マウスダウンやマウスアップのウィンドウメッセージを送る機構はPureJAVAには無い
メッセージ送るのはSWTにネイティブメソッドなかったっけか?
C++かC#でやれ
superクラスのsynchronizedメソッドに処理を追加したい&スレッドセーフにしたい場合は @Override public void method() { // 前処理 ... super.method(); // 後処理 ... } みたいな感じでよろしいですか? synchronizedであれば良いのはsuperのメソッド群なので、子クラスでは明記しなくてよいという認識は間違ってますでしょうか
Google Web Toolkitに注目しているんですが、これと同じようなメジャーなframeworkってありますか?
>>461 ,466
Frameが非アクティブなときにイベント操作なら無理。そういうこと出来ないプラットフォームもあるから。
>>468 Robotもプラットフォームがそういうこと出来ることに依存してるからAWTException投げる
483 :
10 :2013/09/23(月) 02:35:46.02
初心者です。教えてください String list[] = new String[5]; この記述の仕方は、 String[] list= new String[5];と全く同じと考えてよろいでしょうか?
485 :
483 :2013/09/23(月) 03:59:54.75
489 :
デフォルトの名無しさん :2013/09/23(月) 21:07:40.43
8kbを超えるサイズのメソッドはJITコンパイルすると却って遅くなるからJITコンパイルしないってマジっすか
そんなバカでかいクソをする奴の書くコードはJITコンパイルの有無にかかわらず遅いよ
491 :
デフォルトの名無しさん :2013/09/23(月) 21:49:22.89
手書きではなく自動生成したコードなんで多くのメソッドが64kbの上限ぎりぎりです elonaというHSP製ゲームの中間コードをhspletでJavaだけで動作するように変換できるツールを見つけたんですが 描画周り以外の計算処理も死ぬほど遅くてメモリも大量に消費するのはこのせいかと思って
それはjavaがうんこだからです
>>489 実際にするかどうかは実行時に決めるけどでかすぎるメソッドと小さすぎるメソッドはJITコンパイルしてないよ。
つーか、鯖環境以外じゃウォームアップしないだろうからJITコンパイルされてないから普段の実行速度が最適化されてない状態でのパフォーマンス。
それはHSPが○んこだからです
単にトランスレータ使う事自体が駄目なだけ あとHSPは○んこ
お前ら何ならうんこじゃないって言うんだよ
C++はちんこ C#はまんこ
ベーゴマはペチャにまんこな俺へたれ
>>481 「同じような」がajaxを指しているなら間違いなくgwtが最強
PointやVectorクラスのような、計算幾何で頻繁に使われるクラスを自作する場合、 メンバ取得にメソッドを介すようなインターフェースや継承構造はできるだけ避けた方が良いんでしょうか? vecmathやその他のライブラリもかなりfinalのガチガチで設計してるように思えます。 自分の環境で試したところ、メンバアクセスにメソッドを介すと所要時間がわずか増し(5%程度)でしたが コンパイラの最適化の具合とかわかってないので、有用なテストであったかどうかも判断つかないところです
そんなもん後でフィールド変更するとかありえないだろ 不便なだけだから全部publicフィールドでいい あと、値クラスは厳密に言えばfinalにするのが正式 継承できてしまうとequalsの結果が矛盾するからね
値クラスは単なるプリミティブな値と割り切って使うのが、設計を必要以上に複雑にしないコツだよ 複雑な振る舞いを持つクラスとは分けて考えろ
>>500 メソッドコールのオーバーヘッドはあんまり気にしなくていいぞ。
それに比べてインスタンス化は結構時間がかかるので出来るだけ動的生成は減らす設計をしたらいい。
1.0のjava.awt.Point#xがpublicフィールドなのはびみょいかもしれないけど。 1.2でスーパークラスPoint2D導入しました、みたいなことやってもいいのよ?
for(){ 処理1 for(){ 処理2 } } と、forを入れ子にしてあります。実際のところはrssのパースをしてます 処理1でrss内検索条件に当てはまるモノを見つけ出し、 それを処理2で処理しています。 そして処理2が終わると、次の検索条件に合うものを探しに行くため処理2を抜ける予定です が、処理2が終わると処理1も終わってしまいます。 forってこういう仕様だったりしますか? 違うのであれば、処理1・2を再検討いたします。 処理1の中で
>>505 処理2を関数に切り出して、ループの中から呼び出すだけにしろ
>>505 普通はそういう挙動にはならないよ
for2が終わった後もfor1の次の要素に行く
そうならないってことはイテレータ周りの使いまわしでおかしなことが起きてるとか
そのコードだけではわからない場所で何かが起きてる
>>501-504 ありがとうございます!
>>504 氏の通り、インターフェース(あれは抽象クラスだけど)になるような部分があると
他で作られたライブラリなんかと連携するのに便利だと思い、そういう構成も魅力的で悩んでました
インスタンスの生成は極力ない方がいいんですね、公式ライブラリのように、
getterのインテーフェースがあるだけでも便利なのでgetterを追加する方向にしたいと重います!
インタフェースや抽象クラスは、使い方を想定せずに適切な粒度を決めることはできない。 不変性はマルチスレッド間で同期を不要にしたり、 防御的コピーなどをしないでそのまま晒せたりする都合の良い要素であるが、 インタフェース等を使った場合はせいぜいコメントで注意書きする程度にしか縛りができない。 使う側に柔軟にすれば作る側の柔軟性はその分失われるのが常。 インタフェース等を使った場合は、 作る側で新しいメソッドを追加するなどをすると基本的に互換性が失われる。
二次元ベクトルなんて値レベルで変換すりゃいいだけだからな インターフェイスなんて要らん
馬鹿には無理
ある日突然 CharSequence の子になった String のせいで 以前との互換性が失われたとか言う話、聞いたことないんですけど
513 :
デフォルトの名無しさん :2013/09/24(火) 21:41:27.84
互換性が失われたかどうか知らんが。CharSequence.getLength()はlength()にするべきだったかもね。
514 :
デフォルトの名無しさん :2013/09/24(火) 21:48:45.44
というかむしろgetLength()が無い方がよかった。わかるかな?
Stringはインタフェースとかじゃないのに 互換性が失われないとか言われても ____ / \ / _ノ ヽ、_ \ そんなこと言われても / (●) (●) \ どうすりゃいいのさ | (__人__) | \ ` ⌒´ / /´ `\ / / l l . __l l_.[] _____/_/__ \, ´-'ヽ ヾ_ノ | | |__ コロ・・・・ _____\ コロ・・・・ ()__)」
とりあえず言語仕様13章「バイナリ互換性」、嫁。 特に13.5「インタフェースの変更」
汎用性を考えてCharSequenceで受けるようにしても気づいたらStringに修正してるわ そもそも文字列バッファを他のAPIに渡した記憶があんまりないんだよな
それよりもうサロゲートペアが嫌。UTF-32こそ正義
519 :
デフォルトの名無しさん :2013/09/25(水) 06:25:17.53
>>500 アクセッサメソッドが一番素直
加えてfinalつけられるのならつけて当たり前(フィールドなら)
Pointの実装をx,yから他のに変更するか? どう考えてもありえないだろ ならpublicフィールドの方がコードが簡潔になり、生産性や可読性、保守性が上がる インターフェイス使いたいならアクセサを定義してもいいが、だからってフィールドを隠蔽する必要はない
この場合フィールドをfinalにするのは避けるべき こういうのをイミュータブルにしてしまうと計算中にオブジェクトの生成が多発し、それこそとんでもなく遅くなる
522 :
デフォルトの名無しさん :2013/09/25(水) 08:57:37.95
>>521 たいして変わらんのじゃないか。小さいし。
>>500 無駄だと思う
最適化はすべてプログラムができてから実行時間を計測して問題があったら行うもの
馬鹿には無理
528 :
デフォルトの名無しさん :2013/09/25(水) 13:02:20.06
初歩的な質問ですみません
Java 7 Update 40をインストールしたのですが、いつも見ているJavaを使ったページにアクセスすると
「このアプリケーションを実行しますか。
次の場所にある署名されていないアプリケーションが実行権限をリクエストしています。
場所:
http:// ○○○
このような署名されていないアプリケーションの実行は安全ではなくセキュリティ上のリスクが生じる可能性があるため、将来のリリースではブロックされます。」
という警告が毎回出るようになりました。いちいちチェックを入れて実行ボタンを押すのが非常に面倒です。
いつも見ているページではこの警告を表示しないようにする方法はありませんか???
5%増しって計算量によっては影響大きいじゃん
色々な詐欺やワームが流行っている以上、将来的にはDL元の信用度を知らせる事は面倒だけどしょうがない感じもする。
>>528 何のブラウザ使っているが知らないが、セキュリティ例外とかないの。
ただその警告はそのアプリが、ウイルスに感染したりして改変されてるかもしれないよってことだから、同じページだから安全てわけじゃない。改変されていないことを証明するためにはサービス側の署名が必要。
534 :
デフォルトの名無しさん :2013/09/25(水) 16:32:08.43
>>520 >ならpublicフィールドの方がコードが簡潔になり、生産性や可読性、保守性が上がる
そんなことはあまり無いと思う。
実際Pointクラスのフィールドx,yにpublicでアクセスできることで煩雑になったコードは山ほどあるのだが。
setLocationメソッドの存在を知らないんじゃ?と思うようなみ辛いものだったり、
フィールドをpublicにすることで煩雑になる例は多々あると思うよ。
値型修飾子とかあったら面白そうだな transient変数以外は不変でコンストラクタで初期化するしかないみたいな
539 :
デフォルトの名無しさん :2013/09/25(水) 21:25:32.98
Javaのコントロール・パネルについて質問をさせてください。
つい先日コントロール・パネルでJavaを開いたところ
このような状態で文字が化けておりました。
http://i.imgur.com/K6mtJNe.jpg OSはWindows8 64bitでJava 7 Update 40 (64-bit)をインストールしています。
再インストールしても再起動しても治りませんでした。
文字化けはJavaだけでその他のソフトは正常に文字を表示しています。
解決する方法をご存知でしたら教えてください。
よろしくお願いします。
>>537 今時プロパティが使えない言語の方が珍しいというのに大した自信だな
JavaScriptですら使えるんだぞ
541 :
デフォルトの名無しさん :2013/09/25(水) 22:25:37.41
?
プロパティって何ぞ Javaでプロパティっていうとjava.util.Propertiesを指すと思うのだが。
543 :
デフォルトの名無しさん :2013/09/25(水) 22:30:40.51
>>542 JavaScriptですら使えるって言ってんだからそれじゃないことはわかるだろアスペ
さすがにJava以外でプロパティというとどういうものを指すのかはJava使いでも常識的に知っているべきだろ オブジェクト指向の理念がどうのと反論するのかと思ったら斜め下だったな
jspのデバッグするときに、毎回手動でブラウザを開くのが面倒です(eclipse) デバッグを開始した時に、自動でブラウザを起動できませんか?
たしか昔Java7にgetter/setterを統合したフィールド様のメンバ(一般的にはプロパティと呼ぶ)を導入しようという話が出たとき Javaの偉い人達もそれを普通に思いっきりプロパティと呼んで議論してたよ
ブールを返す関数fとある配列arrayがあって arrayの中から関数fが最初に真を返す要素が欲しいのですが var = findIf(f,array)というような関数はどうすれば定義出来ますか?
Java8なら標準で用意されていて array.filter(x -> f(x)).findFirst() 今のJavaならインターフェイスと無名型を使うことになるが findIf(array, new Predicate { @Override public boolean apply(String x) { return f(x); } }) こんな冗談みたいなことになるので実用的ではない
おまえらって古いJDKやJREをローカルに保存してたりするの?
別のパソコンにはいってる
公式からは古いのダウンロードもうできないんだっけ?
552 :
デフォルトの名無しさん :2013/09/26(木) 01:30:56.69
数ヶ月前までは古いのもダウンロードできたけどな。 個人情報入力するのが面倒だけどね。
馬鹿には無理
不動点プログラムみたいだなw
559 :
角谷 :2013/09/26(木) 17:21:56.71
呼んだか?
>>558 と
>>330 みてラムダよりコンビネータの方が楽でいいのになぁと思ったけどjavaって関数ファーストクラスじゃなかったな・・・
Java言語のオブジェクト仕様の制約から、単一関数(functional)であっても関数は(内部)クラスのメンバとして拘束されて、その意味で関数も、メソッドの地位でファーストクラス(特に匿名クラス)です一応。
関数にファーストクラスがあるんだ。 一度は乗ってみたい。
>>521-522 試してみたけど
フィールドにdoubleのx,yを持つクラスをPointとすると
@Point copyPoint_new();
↑メソッド内でnewして、thisのx,yを代入してreturnする
Avoid copyPoint_to(Point p);
↑メソッド内で引数インスタンスにthisのx,yを代入する
これを一億回ループさせるの繰り返して平均とったら
@:A = 3600:2800 (ミリ秒)くらいだった
俺のPCポンコツだから、比で見て頂戴。
でももっと桁が違うくらいの想像してたんだけど、これくらいだとGCの時間の差だけなんだろうか
566 :
565 :2013/09/27(金) 21:51:15.58
あと、それ以上の差が出た結果として、 インターフェースを実装させたクラスで インターフェースの変数にキャストしてsetメソッド使うのと、 自クラスの型のままでsetメソッド使うのでは、自クラスのままの方が3倍ほど早かった (400:130(ミリ秒)くらい) ちなみにフィールドをpublicにして直接アクセスした場合も後者と同じくらいだった
Donald Knuth made the following two statements on optimization: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"[2] "In established engineering disciplines a 12 % improvement, easily obtained, is never considered marginal and I believe the same viewpoint should prevail in software engineering"[2]
Javaはもうイヤ…
俺が学生の頃に試した記憶では仮想関数の呼び出しよりもsqrtの方が速くてビビった気がする
serial experiments lain 作品概要 『存在は認識=意識の接続によって定義され、人はみな繋がれている。記憶とはただの記録にすぎない。』 という世界観のもとで繰り広げられる、14歳の少女・玲音(lain) をめぐる物語。 リアルワールドとコンピュータネットワーク・ワイヤード(Wired = 繋がれたもの)に遍在する「lain」という存在について。 概要 高度に発展したネットワーク社会 - 現実と区別のつかない仮想空間 といったよくある物語と逆に、本作は「仮想世界(ワイヤード)と区別のつかない曖昧な現実(リアルワールド)」に注目する。 各登場人物が語る「真実」も、それが事実の保証はない。 主人公玲音の世界は、身近な人間や友人に関する内容で占められており、作品そのものが玲音自身の主観の影響下にある構造である。 こうした客観の不在性は、ネットワーク、コミュニケーションといったものの性質をリアルに描出しており、視聴者もまたlainという作品、岩倉玲音と繋がった『ネットワーク』にコネクトしていくことを強いられる。 あらすじ コミュニケーション用コンピュータネットワーク端末「NAVI」(ナビ)が普及した現代、中学生の岩倉玲音は、死んだはずの四方田千砂からのメールを受け取る。 その日以来、玲音は見えないはずのものを見るようになる。四方田千砂のメールの言葉に興味を持ち、大型の「NAVI」を手に入れるが、それ以来更に奇怪な事件に巻き込まれていく。 物理世界(リアルワールド)と電脳世界(ワイヤード)、二つの世界・二人の玲音(lain)が混濁し錯綜する果てにあるものは?−人は誰しも“繋がれて”いる−・−私は遍在する−
殺伐としてきましたな。 得た知識を自演してまでお披露目したいのかい?
>>563 そういうのファーストクラスとは言わないから。名前空間に紐付けられてるだけ。
クロージャも高階関数も出来ないじゃん。
>>561 ,574
有効性
アメリカ国立精神衛生研究所(NIMH)が出資し、統合失調症に対して、複数の種類の抗精神病薬が1493人にランダムに割り付けられた研究において、
古い定型の抗精神病薬と、新世代の非定型の抗精神病薬の有効性は同等で、非定型の抗精神病薬は体重増加のような代謝異常に関連していることが見出された[80]。
インセルによれば、4つのこのような大規模比較試験から、抗精神病薬の新しい世代のものは、古い第一世代のものを上回ることを見いだせていない[28]。
非定型の抗精神病薬は、大脳辺縁系に集中して作用するために錐体外路症状が少ないとされていたが、そのような特性は観察されていない[81]。
代謝異常の副作用は第二世代の非定型抗精神病薬のほうが多い[82]。
抗精神病薬も増量するほど効果が高まるわけではない。
観察から、抗精神病薬の反応がみられる受容体占有率は65%であり、副作用の可能性が高まるのは高プロラクチン血症では72%、錐体外路症状は78%以上である[83]。
統合失調症に対して、リスペリドン(リスパダール)の最適量はそれ以上では副作用の発現率のみが上昇するため1日4mgである[84]。
同様にクエチアピン(セロクエル)では1日300mg[85]、オランザピン(ジプレキサ)では1日10mg[86]である。
クラスライブラリで、親がimplementsしてるクラスを、 継承先の子クラスで明示的にimplementsしてるのは冗長だろ(javadocのためと思ってた) とか思ってたんだけど、あれやっておくと小クラスをそのインターフェースに入れるときに キャストする速度とか、IF経由でメソッド呼び出しするのとかが速くなるんだな、知らなかったわ
そーゆートリビア的な速度向上は二次的なもんで単に冗長さが重視される事も多いが。
そんなところがボトルネックになるような設計がまずおかしい
>>577 それじゃあ、ジャバではもともこもありませんね。
もうすこしおもしろいおはなしを拝聴できるかなあとおもってたんですが残念ですです。
馬鹿には無理
すみません。初心者で本当に初歩的な質問です。 @Override Public void hoge()〜 みたいなのを見るのですが @ってなんですか?
アノテーション。
588 :
デフォルトの名無しさん :2013/09/29(日) 21:20:09.28
>>586 アノテーションです。オーバーライドしますよーという目印です。
もしオーバーライドされてなかったらコンパイラーが教えてくれます。
いかしたやつです。
589 :
586 :2013/09/29(日) 21:56:07.42
なるほど。ありがとうございます。
>>590 じゃあJavaもCも両方使える俺はかm、うわ何をする…
ガラスの剣でなぐられるわけか
それはマルチランゲージプログラマじゃなくシングルランゲージプログラマの話では
アウトだね。 intelだってARMだってCPUは型チェックしない
数値型の話が気になって調べてたけど、フィールドを全部finalにしたのと非finalのを比べると、 finalの方はnewする速度が上がって、非finalのsetメソッド呼び出すのと同じくらい速くなるのかよ
ならんよ エスケープ解析を当てにしてコードを書くと痛い目にあう
>>595 JVM仕様書初版の序文にそんなこと書いてあるわけないだろ。
どこのi-modeだよ
>>590 大分前からCはプラットフォームを作るための言語であって
アプリケーションを作るための言語では無くなってたから今更
Javaの尻拭いはたまらんぜ。 MFCやOpenCLのようにGUIをサポートするライブラリも沢山あるしな。Javaコード捨てて C++で書き直した方がラクなくらいだ。
そうして尻拭いしてやっても出来るソフトは遅い、ショボイ、操作が分かりにくいの三拍子だもんな
GUIはswingのインパクトもあって全滅 webものなら通信速度のおかげで遅いのばれないから大丈夫
Javaアプレットなら否定はしないよ。ブラウザ上でActiveXが動かれたら恐ろしいわ
JavaのGUIはしょぼいよ。遅さが一層ショボく感じさせる
現在midiキーボードの鍵盤を叩くとそれに対応した音が鳴るプログラムを作ったのですが 打鍵から発音までのタイムラグが気になっています 原因は恐らくデフォルトで使われているWindowsオーディオドライバのせいで、 ASIOドライバというものを使用することにより発音までのタイムラグが少なくなるのですが Javaでのオーディオドライバの指定?の方法がわかりません、どなたか教えてもらえないでしょうか ASIOドライバ対応のオーディオデバイスはUA-25というものを使用しています よろしくおねがいします
>>605 どのtkのことを言っているのだか。そういうの理解てきてないのか。
PCが速くなったのをJavaが速くなったと勘違いしてない?
コーディングがうまくなったと思ってました
>>607 現に使われてないのだから何言っても無駄だろう
JavaはWeb専用
コントロールが環境依存になるからSwing開発したって話だが、たとえばVBのコントロールは 環境依存じゃなくてウィンドウを独自にカスタマイズしたもんだぞ。X-Windowだってウィンドウは どうにでも使える。何でそうなるんだ?
来年javaFX3.0が来るじゃないか
古来、FXと名のつくものはよろしくない
wikipediaで何度もamd fxを調べてると、yahooのパーソナイズド広告が金融商品やFXもの、土地投信になる。
>>612 MToolkitの古い方だと、Java上で日本語入力(awt component?)ができなかったよね?
linuxでのawt,swingの挙動はかなりいい加減だったから後回しなんだろうね。
>>610 androidは。
あとOlacleの管理ツールのJavaGUIはもうなくなったのかな。
制御系とかJava webでって来るけど、要求がまんまGUIだったりするのでswingで作ったりした。
あなたが見てるのは世界の一部でしかないのでは。
>>617 F-35:
外国為替
Fuji-Xerox
東海テレビ
あやしいな
質問したものだけど、MIDI Yoke使う意味はどうして? 仮想MIDIケーブルを使わないといけない理由がわからないなぁ・・・。 鍵盤−[USB]→PC←[USB]−オーディオI/F MIDI Yoke使ってもASIOに関係なくないですか?
606の質問は サウンドフォントの再生をWindowsDirectSound?(俺は知らん)ではなく ASIOに送るにはどうしたらって事だよね? javax.sound.midi.MidiSystem.getMidiDeviceInfo() これで取れないなら これが何のDLL呼んでいるか、DLLは何をしているのかを調べたら解決すると思われ getメソッドしてリフレクションしてるところが多分あるはず
それっぽい語句を並べてggってみよう stackoverflow java midi ASIO エディタ開こうと思ったけどもう寝るので 検索結果をひたすら翻訳してみたらどこかに糸口がみつかるかもしらん 見つからなければ628やるかかstackoverflowで質問すればいいと思う
おはよう 接続の構成は以下で合ってるのかな [鍵盤]→midi→[PC]→PCM→[UA-25EX] PC上で再生した場合、レイテンシは発生しないか小さい [PC]→PCM→[UA-25EX] [UA-25EX]にPCMを転送するときバッファが必要で、バッファ量の分レイテンシが発生しているのが現状だと推察 ASIOだとバッファは小さいか、無しで行けると質問者は考えていると認識していいのかな 俺は今、MixerからPCMをスマートフォンに転送するアプリケーションを作っていて、そのレイテンシを小さくしたいと考えていました ASIO使えそうですね。ちょっと本気で調べてみます
オープンソースでjsasioってあるからそれ調べてみたら
>>620 MToolkitはse6から使ってないぞ
635 :
デフォルトの名無しさん :2013/10/02(水) 03:28:03.29
昔、 PHPの開発環境をインストールすると、ハックされやすくなる、 と聞いたことがあるのですが、 ジャバの開発環境をインストールすると、ハックされやすくなる ってありますか?
636 :
635 :2013/10/02(水) 03:28:50.32
winXPのパソコンです。
開発環境に限らず どんなアプリでも言えることだけど そのアプリの脆弱性を突こうっていう攻撃が存在しうるわけだから 何らかのアプリをインストールすればそれは脆弱性が高くなるのは必然
638 :
635 :2013/10/02(水) 04:23:56.27
>>637 なんか、ポートを開く、とかってありますか?
やりたいことは、
とあるデータベース的なサイトから、
ソフト的にクリックして、ページをインクリメントしていき、
欲しいデータだけをcsvファイルに書き出す
なんですけど。
639 :
635 :2013/10/02(水) 04:57:17.26
あんたには無理だわ
自分のやりたいことがわかってないのね、かわいそー
>>635 デバッガが入るからハックしやすくなるね。IDEだとコードリーディングもしやすいし。
>>638 開発環境なんかいらんやん。
JSPって今でもJDK必須だったりするの?
つっこめるぞ
「社内アプレットはWebでなくJDKのappletviewerで動かしてください」 とかお願いする懸念も、割と現実味を増してきた今日この頃…
struts1.xに一番近いwebのフレームワークは何に当たるでしょうか?
struts2.x
649 :
635 :2013/10/02(水) 14:43:04.77
650 :
635 :2013/10/02(水) 14:49:26.00
しかし、Javaは
>>638 ぐらいの仕事をするのにコンパイルしなきゃダメって思ってたんだけど、
コンパイル不要なのかな?
651 :
635 :2013/10/02(水) 14:51:40.17
JavaスクリプトとJavaは別物だと、どこかで見たけど。
JavaScriptはJavaとはまったく別物で、コンパイル不要のよくあるスクリプト言語(インタプリタ言語)
653 :
デフォルトの名無しさん :2013/10/02(水) 15:02:27.36
Win32APIのmouse_eventのやつか?
スクリプトといえば、Windowsコマンドバッチで数行で済む処理も、VBScript等だとやたら長くなるケースも多い まあ、ケースバイケースだが
>>649 俺ならC#でやるかな。
ブラウザコンポーネントにHTML取得すればDOMでアクセスできるから
CSV化も簡単。
>>649 1.別マシンのIDEでJava開発。
2.起動クラスを指示したJARファイル生成。
3.JARファイルを目的マシンにコピーしてJREで実行。
本番系にEclipse入れて構いませんか−、な話じゃないのかよ
みんなよく
>>638 でわかるな。
データベース的なサイト
ソフト的にクリック
ページをインクリメント
欲しいデータ
意味わからん。
C#スレにはそういうことやりたいやつばっかりくるからなw
>>649 そのデータを取得して何をする気なんだ。
なんか性犯罪者の匂いがする。
データベース的って表現が笑えるんだが2chのDATか株価あたりか?w
665 :
635 :2013/10/02(水) 23:07:19.40
つかC#ってマイクロソフトの製品でしょ?有料でしょ?
>>660 > そのデータを取得して何をする気なんだ。
だから、俺はダイエットでティプネスの会員になったわけ。
で、関東の20店舗ぐらいの全部のレッスンが受けられるわけ。
で、それの一覧表を作りたいわけ。
> なんか性犯罪者の匂いがする。
ふざけんなw
666 :
635 :2013/10/02(水) 23:11:44.56
>>656 つかもう、このパソコンでやります。
とりありず何をインストールしたらいいか教えて下さい。
667 :
635 :2013/10/02(水) 23:15:15.85
図書館サイトでそれやって手が後ろに回りそうになった騒ぎもあるので、 トラフィック量の見定めは慎重になー 手元のパソコンならJDKでもeclipseでも気軽に入れればいいじゃん。
.NetFrameworkにはC#の開発環境がある。SharpDevelopは無料の統合環境
ちゃんとUser-Agentヘッダで連絡先送信しとけよー。 もしもの時の量刑が軽くなるかもしれない。 どっかの開発現場に放り込まれる予定がないなら、Netbeansがお気軽。
671 :
635 :2013/10/03(木) 00:25:28.29
672 :
635 :2013/10/03(木) 00:33:55.20
>>665 ウェブスクレイピングを行いたいと言うとこかな。
ちゃんとしたXHTMLでもない限り、Javaは向いていない。テキスト処理の得意なrubyあたりでcvsなりなんなりに加工してから、別途ビュワーなりを作ることをお勧めする。
俺もJavaで一からプログラム書くよりRubyかPerlの方がいいと思う。
Grasemonkeyではできないか?使ったことないけど。
データだけcsvに落として、あとはExcelで見ればいいのだが。
それから
>>671 と
>>672 はほとんど同じものや。
>>672 だけでいい。
仕事だとJavaだけどこの手の作業にはサクッとRubyその他を使うな。
ruby -e '(1..4970).each{|i| html = `wget --quiet --no-check-certificate -O - \
https://i.tipness.co.jp/pc/schedule/registration/?page=#{i}`; \
html.sub(/.*<td><p class="mb5">/m, "").split("\n").each{|l| next unless l.start_with?("<td>"); \
l.strip!; print l == "<td>" ? "\n" : l.gsub(/<\/?td>/, "") + "\t" }; \
sleep 2}'
色々手抜きだけどTab区切り(TSV)で標準出力に出力するからExcelでも読めるはずだよ。
677 :
デフォルトの名無しさん :2013/10/03(木) 08:00:44.31
a
678 :
デフォルトの名無しさん :2013/10/03(木) 08:04:49.53
最近java勉強しはじめでwebアプリですが、 例えばユーザが画面からユーザ登録などする場合に 文字を打ち込みますよね。 その文字がエラーであるかどうかを、普通に処理の中でifを使い、 エラーかどうか判断してたんですが、 そういうexceptionを作って例外投げたりするほうがいいんでしょうか? 一概にはこっちが良いとか言えないかもしれませんが、 教えていただけますと嬉しいです。
フレームワークに任せる
ログに残すくらいかな
ログに残すのみってwebアプリでありえなくね
入力文字のエラーでスレッド落とすのか、ふーん
むしろこのスレは落とすどころか保守されたよね
>>678 ガチレスすると、
人間の入力なんて、しょっちゅう間違える可能性があるわけで…。
(仕様によるが)エラーメッセージを画面に表示してやるのがよいのではないか?
Exceptionはシステム障害等のときだけ投げてやる。
686 :
635 :2013/10/03(木) 15:50:32.35
687 :
デフォルトの名無しさん :2013/10/03(木) 15:54:11.53
オーバーライドとスーパーがよく分かりません。 例えば、バイクをカスタマイズして機能を追加することがオーバーライドで、純正仕様に戻したように使うのにはスーパーを使うのでしょうか?
692 :
デフォルトの名無しさん :2013/10/03(木) 16:31:38.72
>>689 本が今は少しイメージを持つだけでいいって言って説明してくれないんです
695 :
デフォルトの名無しさん :2013/10/03(木) 18:13:47.56
>>694 はじめてのandroidプログラミングかな。
javaの入門書も必要だわなー
馬鹿には無理
>>678 開発手法とポリシーによると思うが、うちは設計でシナリオを書いている時に例外シナリオが出てきて、そこは例外を使う。メインシナリオで言及してたら使わない。
C#だと標準であった気がするが、RuntimeExceptionを継承したUserExceptionというのを作って、何の操作をしたら、どうなったから、どうしてね。というのを持たせるようにして、ユーザに一貫した400系エラーページを提供できるようにしてる。
あと例外内部でログをとって改善に役立ててる。
クライアント側からIf-Modified-Sinceを送ってもらって、(jQueryのajax通信) サーバー側で@HeaderParameter("If-Modified-Since")で取得し、 DBから取得したある値と比較して処理をスル・・・的なことをしたいのですが、 choromeで色々テストしてみても、クラ側からIf-Modified-Sinceを送信できません 考え方的にはこういう方法で実現出来ますよね? ちなみにクラ側からは settings["ifModified"] = true settings["If-Modified-Since"] = "日付" て感じで日付送信してます
うわぁぁぁぁぁぁぁぁぁぁラムダ式で環境閉じてぇぇぇぇぇぇぇ
>>698 JAX-RS実装の何かだとは思うけれども具体的にどのフレームワークをつかってやるのか
書かないとなんとも。というか普通に出来る。
If-Modified-Sinceを送らないのは基本的にクライアント側のJavaScriptのコードを
ちゃんと書けていないだけだと思う。
ChromeならDeveloper ToolのNetworkタブで実際に送信されているリクエストヘッダの
内容を確認。で、If-Modified-Sinceがそこにないのであればスレ違いなので余所へ。
701 :
698 :2013/10/04(金) 08:10:44.40
>>700 レスありがとう
フレームワークはspringだ
テベロッパーツール見てみたらそもそも送れてないみたいだ
クライアント側の実装を確認してみるよ
ヘッダーを独自に読み取るなんて危ないことするねぇ ときどきHTTPのRFCを無視した異常なヘッダの使い方をしてブラウザ間の互換性を失わせているWebアプリケーションを見かけるが、 そういうのはこういう人たちが作ってるのかねぇ
意味不明
独自のヘッダを使うのなんて普通
X-MYHEADERがわからん、てことか、了解
>>703-705 「独自のヘッダ」じゃねえだろ。If-Modified-Sinceみたいに既存のヘッダを独自に読み取って解釈するなってことだ
例えば複数の同名ヘッダが存在した場合の挙動などはRFC違反を混入させやすい
javaで音楽プレイヤーを作りたいのですが低音だけ大きくしたり、エコーかけたりするライブラリってありますか? どんなキーワードで探せばいいかわからず java 音楽とかで調べた限りでは音楽を単純に再生する例しかなかったので
そんなもんJavaで作るな
イコライザやリバーブの話ならAndroidスレの方が反応いいかも
Process.exe(音楽プレイヤー) startActivity(音楽プレイヤー)
Androidでもそういうの拘るならNDKだよ
デコーダとかでどうせネイティブコード使いまくることになるからなあ Javaで作る意味はない
自己解決しました
>>715 複数の同名ヘッダが存在した場合にどういう挙動をするのかはRFCで決められてる
>>716 だれが「If-Modified-Sinceを追加する」と書いてるのか、と聞いてるんだよ
Baseクラスを継承したSubクラスがあるとして List<Sub>のインスタンスをList<Base>にキャストする方法ってないんでしょうか?
プログラマって人種は俺こそが正しいってヤツが多いんだな
>>719 とりあえず正しいと信じないとプログラム書けないからな。
プログラムは正しい事に使え。少なくとも自分がそう信じられる事に。ディンゴ イーグリッド
>>721 あー、List<? extend Base>みたいなやつですかね?
なるほどこういう時に使うのか、ありがとう!
>>722 そのためのパラメタ型というか型タグだしな。javaは型消去するけど。
eclipseでメソッドなど補完機能で追加した後、引数部分を選択状態にしたいのですが、ショートカットはありますか? 引数部分をダブルクリックするのと同じ挙動のショートカットです。 あと、それを入力したあと、次の引数に移って、なおかつ選択状態にするショートカットはありますか?
javaは何を学習すればいいのか。 テキストエディタでプログラム書いて、コマンドプロンプトで実行して、文字や 数値を計算ものを表示してそれで終わり、というのは勉強の中の狭い一部分に すぎないんだろうし、プログラム会社の仕事って、それだけでは通用しないん だろうし。 イクリプスとかトムキャットとかアプレットとかサーブレットとかジェーエスピー とかマイエスキューエルとかストラッツとかのように、知らない言葉が一杯 出てくるな。 javaの絵本で勉強した次は、何勉強したらいいのかいな。
勉強の仕方を勉強すればいいんじゃないかな
>>725 わりー、分割するもしないもねーや、元にはどこにも書いてねーし
脳内完結、ご苦労さん
>>728 学生?
そんなドカタ技術はみんな未経験で会社入ってから覚えるもんだ
完全にテンプレ化されてて誰にでもできる流れ作業だからね
プログラミングの勉強するのはいいが、やるならもっと最新のとんがった技術とか
理論的なところへ踏み込むとか、今しかできないことをやれ
>>728 奴隷を使う側のまともな会社なら未経験からしっかり教えてくれる
そういうところへ入れるよう、今やるべきことを精一杯やれ
734 :
デフォルトの名無しさん :2013/10/05(土) 10:49:46.84
負けたお(^ω^)
ジェネリクスのsuperって何に使うんだい? ダウンキャストは基本的に否定されるし扱い方が分からない
入力用の型(つまりメソッドの引数の型)として型パラメータを使いたいときに使う void hoge(A<? super B> x) { B y = new B(); x.foo(y); // (? super B)型を引数にとるメソッド } x.foo(y)でアップキャストが安全に行えるための条件が ? super B なわけ C#だとジェネリクスの方向指定はin/outと書くから分かりやすいんだけどね
737 :
デフォルトの名無しさん :2013/10/05(土) 11:57:11.95
>>732 >今やるべきことを精一杯やれ
中学二年生が言いそうw
JavaのワイルドカードはC#のin/outよりずっと柔軟なんだが とにかくわかりづらいのが欠点 表記だけでもC#風に A<? extends B> → A<out B> // Bは戻り値に使う A<? super B> → A<in B> // Bは引数に使う ならまだマシなのにな
例はandroidなんですけど 【A】ここらへんの変数を button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { 【B】ここらへんで使いたい ときって、結局メンバ変数経由でやるしかないんでしょうか? それとも根本的に考えが間違ってるんでしょうか? 【B】のところってメンバ変数にアクセスしないとほとんど何もできないような
739ですけどとりあえず中身いじるのはメンバ変数で いじらないのはローカルにfinalつけるようにして解決しました
よかったね、本も読もうね
743 :
デフォルトの名無しさん :2013/10/05(土) 13:26:51.65
写真などからスライドショーのような動画を作成したいのですが、 動画を扱うクラスってありますか? もしかしてOpenGLとか使わないといけませんか?
例外を記述してテストしてて思ったんですが setメソッドの中で、if文で引数の違反をチェックして、 該当した場合にifブロックの中でthrough new Exceptionとやると そのメソッドの速度が著しく低下してしまうのですが もしかして、if文は該当のブロックを通らない場合にもnewが評価されてしまうんでしょうか? また、例外を定数としてメンバ変数内にstatic final Exceptionで予めnewしておいたら、 速度が回復したのですが、この対応は正しいのでしょうか?
>>744 try-catchイディオムのコストが高いからそっちじゃね?
try-catchブロックに入るコストがJVMオペコードレベルで通常ブロックの4ー10倍ぐらいのはず。
>>744 >また、例外を定数としてメンバ変数内にstatic final Exceptionで予めnewしておいたら
おいこらやめろw
う〜ん、この対応は、普通は無しかなぁ。例外オブジェクトは投げ飛ばされる度に
スタックトレースその他の情報ががんがん中に書き込まれる。マルチスレッドだと
確実にはまるし、そうでなくとも次回使用時に中身が綺麗にする手間を考えると
使い回しは良くない。
例外はその名の通り例外的なケースを扱う場合にのみ使うべき。
通常の動作時の振る舞いの一部にしない、大域ジャンプの代わりに流用しないと
いうのがよく言われるね。
ふーん
>>745-747 ありがとうございます
しかしすみません、いろいろ試していたところ例外がどうこうというよりも
どうもコンパイラのことをよくわかってない私のテストのやり方が良くなくて、
ある条件下でメソッド呼び出しが最適化されていない(?)感じで遅くなってたみたいで。。。
というかJITなんてほとんどしてないしjavacは最適化しないし遅いのが普通だって
1つのファイルにByte配列の中身を1つずつ書き込み方法ありますか? 間に処理をはさみたいのでforとかwhileを使った方法が知りたいです。
OutputStream#writeじゃいけない理由でもあんの? DataOutputStreamってのもあるからそれ使ってもいいよ
配列をラップしたByteBufferで少しずつ出力範囲を移動させながら FileChannel.write(ByteBuffer src) とエスパー回答
755 :
752 :2013/10/06(日) 10:50:16.76
みなさまありがとうございます。 やりたいこととしては1ファイルの書き込み進捗をprintlnで出力したいので printlnの処理以外の箇所で箇所で一気にファイル出力した場合と速度的に劣らない方法が知りたいです。
756 :
デフォルトの名無しさん :2013/10/06(日) 10:58:08.94
>>755 BufferedOutputStreamを使えばループでやっても処理速度はあまり遅くならないだろうけど
ファイルに1バイトずつ書き込むってのと矛盾しそうな気もしないでもない。
1バイト出力でprintlnしてたらprintlnのコストが馬鹿高くて糞遅いことになりそうだな
758 :
752 :2013/10/06(日) 11:22:05.44
>>757 printlnは仮実装なのでこの部分はパフォーマンスの考慮に含めないでください
759 :
752 :2013/10/06(日) 11:23:43.43
ファイルの書き込み進捗表示は通常何のタイミングで更新するのかわからないのですが
ファイルに1バイトずつ書き込んでたら遅いからBufferedOutputStreamがある BufferedOutputStreamじゃ要件を満たさないというなら「知るか!」でFA
>>755 PipedOutputStreamとPipedInputStreamで
監視スレッドに横取りさせる方式を推してみる。
パイプサイズは監視側が勝手に決めればOK!
書き込みの進捗をシークバーで徐々にふやすなら セクタサイズ程度のバイト数で割り算してみる bufferを512のbyte配列で用意して、全サイズで割り算したものをシークバーの刻み数にする 2セクタで1KBなので10KBなら21刻みのシークバーになる 大きければbufferの桁を変えればいい
javaドカタには難しい質問でしたね
764 :
752 :2013/10/06(日) 12:22:39.71
みなさまありがとうございます! 頂いたアドバイスを1つずつ試してみます
設計が間違ってそう
馬鹿には無理
BufferedOutputStreamで包んだByteArrayOutputStreamをForkJoinすればいいだけじゃないの?
JUnitの存在意義がわかりません。 同じテストをビルドするたびに毎回実行できるからって何の意味あるんですか? コードを修正するのは仕様が変わるなり追加されるなりしたか、結合テストで出たバグの修正ぐらいのもんで そのときは結局テストクラス側も修正が必要になります。 また、ちょっとしたことだけれども広範囲で結果が変化するような仕様変更の場合(共通のメッセージ変更とか)、 膨大なテストケースの修正が必要になって生産性がひどいことになります。 自前のテストクラスで必要なときに必要なところだけテストするほうが ずっと安くつくように感じるのですが テストのつくり方がおかしいんでしょうか?
>>768 >必要なときに必要なところだけテスト
必要なときと範囲が常に確実に特定できるのであればそうだろうね。
テスト駆動開発について調べるといいんじゃないかな
>>768 君が失踪した後にその自前のテストクラスのデバッグからやらされるの、俺はゴメンだよ。Junitなら受けてもいい。
テストのつくり方がおかしいんじゃないの?
・詳細仕様とテストのエビデンスがまとめてあること ・しかも常にプログラムと同期がとれていること という青果物の寒天からみるべき
なるほど、フルーツ餡蜜ということだな
JUnitも更新するのだるいけど 人材が一斉に置き換わったときとか JUnitなかったら、仕様書はソースコードです。ってなことになる
>>774 詳細仕様とかjavadocでいいよ。というか、いちいちMS-Wordとかやめて。コメントすら同期取られてないことがあるけど。
ユニットテストが同期されてないのも困る。pythonにはdoctestという、コメントに書いとくと単体テストしてくれる仕組みがあるのだけど、ちょっとしたものだと便利。
医療機器とか原発制御とかのプログラムもJava製なんですか?
たぶんつかってはいけないだろう
手術中にぬるぽでストップw
人の命が関わるような重要な仕事に携わりたくないな
単なる仕事だろう
泥のDalvikって、由来は何でしょうか・・・開発者の人物名なんですか?
DukePadとか普通に売れそうだがお遊びのままお茶を濁すのかな
>>785 ありがとうございます。これで安心して眠れます。
>>778 BD-JはJavaTV+JMFでごく普通のXLetだが
>>778 ホントにクリティカルなとこは、複数の実装の結果を比較して決定したいな。
おまえのバグのせいで人が死んだんだぞ!
たいへんだ、謝罪と賠償を求める
プログラムミスで爆発事故で人が死亡した
馬鹿には無理
プログラマというのは重要な仕事なんです! 政府はそれが分かっておらんのです! プログラマの待遇改善に政府は全力を尽くすべきなんです!
「残業規定が無いな」 「あんなの飾りです 偉い人にはそれがわかっとるのですよ」 「はっきり言う。気に入らんな」 「どうも。気休めかもしれませんが、終電前には多分帰れますよ」
Aできるプログラマの待遇を改善すべきか Bできないプログラマの待遇を改善すべきか A,Bではまったく方針が異なる。
>>778 みたいな重要なプログラムを孫請けとか下請けにどんどん回してたら嫌だな
まわすだろ普通
質問と言うか、ご意見を伺いたいです。 抽象クラスにcloneを実装して、サブクラスをディープコピーしたいのですが、 1.Cloneableを使って実装する 2.独自のclone(E newInstance)クラスでコピー処理を実装する どちらの手法が適切だと思われるでしょうか?
コンストラクタ使うのがいいよ Hoge copy = new SubHoge(hoge);
>>804 サブクラスにはあまり実装したくないのです。
面倒くさいので。
値自体は親クラスに持ってるので、コピーの実装も親にしたいのです。
javaのジェネリクスはそのへんゴミだから期待しないほうがいい
Javaはコードの見通しが物凄く悪い。C++で陥りたくなくて注意してる事が桁違いの規模で起こる。 それも2桁違い
C++の事は良くわかりませんが、結局何れの方法も大差ないって事なんでしょうか? ジェネリクスが期待したような動きをしないのは嫌になるほど実感したので、 インスタンス化だけ呼び出し元に任せてしまおうかと思って2を考えました。 Cloneableでも出来るのは確認したんですけどね。 何か冗長で不快だったので他の方法がないかと思ったのですが…。
質問だけだと本当の意図が分からないときがあるけど、 結局自分が本当はどうしたいのか、どういう面を最優先したいかによるな。
Object clone() { return this.getClass().newInstance(); }
>>809 ぶっちゃけると、インスタンスコピー機能の実装がしたいんです。
でも、Cloneable使うと何か気に入らなくて…。
なので、他の方はどんな風にしてるのか伺いたいのです。
自分ならこうするとか、このやり方は嫌いとか、
そんな意見が聞けたらな、と思いまして。
ばっちぃ
ばっちい設計を実装しようとしているからだ 仕方なかろう
ぶっちゃけJavaでは美しいコードは最初から諦めてる
非static内部クラスはメモリリークにつながるらしいと聞きました。 では、無名(匿名)クラスの場合はどうなのでしょうか?
何だったら美しいコード書けるのさ
>>819 非staticの名前付き内部クラスと同じ。
メモリリークにつながる「らしい」じゃなくて、「非staticの内部クラスの
インスタンスはその外側のクラスのインスタンスへの参照を持ち続けるから」
というそもそもの理由をちゃんと理解しないと意味が無いよ。
メモリリークさせずに非staticな内部クラスを使うのも十分に可能。
ただベストプラクティスとしては名前付き内部クラスは特別な必要が無い限り
まずstaticで宣言しておくと良いと思う。
C++なら美しいコードが書けます、キリィ、てか
彼はブス専なのでVBだろう。
DecimalFormat df = new DecimalFormat("#0.0#"); 上記で#0.0#と##0.0#でどちらが正しいってありますか? 結果はどっちも同じなので悩んでます
>>824 整数部に#を複数指定するたった一つの理由は、
#,###みたいにコンマ位置を指定するためじゃないかと
Java に参照渡しがあれば‥‥
javaをはじめて勉強するんですがこの本で学習したら間違いないっていうのおしえて
どうせC++では3つも4つも出力引数取るようなメソッド作ってたんだろう Java様に矯正されてしまえ
831 :
826 :2013/10/09(水) 19:17:33.37
833 :
デフォルトの名無しさん :2013/10/09(水) 19:28:34.91
プリミティブの参照渡しあったとしたら、final様にようやっと出番が訪れるか C++から移ってきた時にfinal引数のインスタンス参照が当然のように中身書き換えられた時は愕然とした まぁ、クラスならread_onlyなインターフェース用意すれば良いみたいだけど こんなことでいちいちパフォーマンス下げたくないよなぁ
Javaはうんこだと思っても我慢して使うもの
プリミティブを参照渡ししてfinalにする意味がわからん値渡しでいい インターフェース作ってもダウンキャストされたら余裕で書き換えられる インターフェース作ったぐらいでパフォーマンス下がらない 知ったげに言ってることがことごとくおかしい
うんこうんこ
ローカル変数が絶対によそから書き換えられないJavaの言語仕様 がもたらす恩恵には計り知れないものがあるのだが
意味不明
>>837 たぶんC++の参照渡しと勘違いしてるのかと
>>839 お前C++分かってないだろ
Hoge hoge = new Hoge(); method(hoge);
これ呼び出し先でhogeの指すオブジェクトの中身が書き換えられる可能性があるだろ?
必要に応じてそれを防ぐことができるのがC++のconst参照渡しだ
俺はこんなもん要らないと思ってるが、相手を知らないのにJavaが優れてると思い込んでるとかさすがJava使いは違うな
プリミティブの参照渡しの話はどこいったの・・・
そんな参照渡しが大嫌いなJava使い達もスクリプト言語やScalaに行ったらtuple使いまくるんだろうな
C++の参照渡しが糞なのは呼び出してる側のコードを見ただけでは 値が書き換えられるかどうか分からないこと C#みたいに呼び出す側で明示的に指定するんならそう悪いもんじゃないよ
454に参照してる奴、おまえは俺以外にはスルーされている。
>>847 そんなんmutable渡したらJavaでも同じやろ
うんこうんこ
どうでもいいが、「ジャバ」の話をしてくれ
「ジャバ」の話なら、土方は余計なこと考えなくていいから 黙って仕様書をジャバに翻訳する作業に戻れとしか
>>845 何をしたいのかしらんが
配列にぶち込むなりそれ用のクラス作るなりどうにでもなるだろ
ちょっとは自分で考えれ
>>843 がfinalがconstだと思ってるだけのバカでFAじゃん
n しか合ってないじゃん
int n = 0; if (ある条件) { n = 1; // もしくは n++ } else if (別の条件) { n = -1; // もしくは n--; } という具合に n の値が変わる場合、 n = 1; と n++; とどっちの処理のほうがいいのかな、可読性では前者だけど、 ヘボいマシン上で走らせるから処理性能が良いほうを採用したいんだけど
初心者が性能を理由に基本から外れた思いつきを試したところで大抵はろくなことは 無いというのがプログラミングの言語や分野を問わず概ね成り立つ経験則だと思う。
いちおう-1から5までのint値ロードのための専用命令がVMにある。
>>858 性能を気にするのに、なぜ0を代入する?
>>858 nを使う必要が分からん
複数の場合に分ける必要があるならインクリメントやデクリメントは使えないし、
二つの場合だけでいいならブール値で事足りる
つまり問題が問題として成立してない
パフォーマンスチューニングを知らないのだろう
わろーた
676を書いた本人です御免なさい。 でも別に676は普通に走るんだけどなぁ。自分のOSXでは。 というわけでWindowsに関しては検証もサポートもできないので申し訳ありませんが Rubyスレの皆様に丸投げです本当に御免なさい。
rubyはWindowsでは素だとまともに動かせないという認識って業界にはないのだろうか スレチでどうでもいいがそこだけ不思議だわ。言語の中でWindowsをないがしろにする言語ってありえんだろ
いやrubyの部分は完璧に動くはずで、単純に手抜きで自分がwgetを使ったせいではまっていると思われます。
Windowsでまともに動く言語って何があるんだ? Basicか?
Perlも動くぞ
VC++も
873 :
デフォルトの名無しさん :2013/10/10(木) 20:04:13.32
へ、headersをちゃんと設定すればJavaでも動くもん
javaの可読性が酷い。スパゲティをメンテしてるのよりも
どんな言語でも無茶苦茶なコードは書けるでしょ javaはドカタばっかりだから読みにくいだけで
MS厨は土型
可読性の高いJavaコードを見たことがない
うんこうんこ
どんなスパゲティでも処理を追えば不要なコードと必要なコードが分かるが、javaはスレ乱立で どのスレがどこのコード走ってるか分からん。 コードで一番偉いのはVM様で他のあらゆる物を犠牲にしてるだけでマルチ環境って言い張るんだから パスは五月蝿いし、手元にあるファイルしか読まねえよって態度
スレ?
一番驚いたのはコンテナにintは格納できないのでラッパクラス使ってください
日本語でおk
これマジ
コンテナって何?Vectorクラスとか?
あれとんでもなく非効率なんだよな .NETも昔はJavaと同じやり方だったが、Javaのハリボテジェネリクスとは違って 値型にも対応した本当のジェネリクスが付いたことで桁違いに速くなった
速さとかどうでもいいわ Javaでゲームでも作ってんのか?
ボタンを押しても反応が鈍くて
>>887 javaでゲーム作ったらNIOでメモリ扱うからラッパーなんて使わんよ。GPUにメモリ渡せないだろ
>>881 ,886
Unified Typeが入ってプリミティブがオブジェクトとして扱えるようになるからどうでもいい
出来損ないのラムダを導入するだけで5年かかったんだぞ いつになるやらw
変数渡したい え?クラスにしないといけないの? 関数渡したい え?クラスにしないといけないの? これがJava
馬鹿には無理
JigsawもUnified TypeもC#/.NETが15年前に実現したものの丸コピーだよ まあそれでもあと5年はかかるだろうけどな
>>889 そんなハードべったりなものをそもそもJavaで作らないでしょ
NIOって何?
>>894 Minecraftがjavaだしjavafxがjoglとnative window protocolのプライベート実装だからハードベッタリだぞ。組み込みだとガチガチだし。
Native Input Output
うんこうんこ
MSはwindows以外でもまともに動くものを潰そうとする。じゃないと独占できないじゃないか。 それがなかったら、Javaはもっと成功していただろう。
VMなんてちゃっちいことやってないでJavaOSのパソコン作っちゃえばいいのよ
作るたってPureJavaで作っても遅いだけだし Java以外でコンテナ実装しちゃうと他のOSに対応できないわけだし
>>901 それで問題ないと思える君にはジェネリクスも継承もinterfaceも要らない
結局Javaで速度が必要な状況が何一つ挙がっていない件
>>904 そりゃ実装するときは非常に問題だけど
作ってくれたんだから有難く使えばいいじゃない
使う側で何か問題になる?
JavaでいいのはJavaVMだけ
Javaも.netもただその環境が強制されて(あらかじめインストールされて)るってことくらい だからされてないと急激にダメになる
C/C++みたいに自分でビルドしてライブラリかき集めて環境を作らなきゃプログラムが動かない状態よりはマシだな
Javaのランタイムって、一度PCに入れてしまうと、アプデ通知がデフォルトでONになって、 忘れた頃に意図しないタイミングで通知が出てうざくなるし、最近ではChromeやOOoを 強制的に入れさせようとする罠を仕掛けたりするから、嫌いだわ 実行時に必要なVM等一式をすべて1つのexeに内包させることって出来るの? できるなら、それで自作ツールを配布したいのだけど
できない
まじかよクソだな
APIでこの辺りは押さえとけってやつある? よく使われるとこでもいい
ざっくりしすぎ
どのディレクトリにJDKとJREをインストールしてる?
C:\Program Files (x86)\Java JDKはEclipseの中
Javaってこれだけ使われてる割にJava7やJava8の新機能・新クラスの解説って少ないよね Java7のnioも解説少ないから未だにJava6以前の書き方が多いし
nioって何
にょ。
Java使いの頭のなかが1.4で止まってるんじゃないのか
せめて1.5
Java入門書に無い事をおまえらはどうやって学習したのさ
バージョンに関しては互換性でしょ
なんで今に至っても ロクなEclipse用のGUIエディタがないんですか
そんなスキルないです
理由は簡単、需要がないから
>>928 Swingアプリだと、Look&Feelやシステムフォントの
最終決定権は実行時の顧客環境にあるので、
ポトペタGUIでGUIを設計したいという態度がそもそもなめている。
GUI書く奴はそんなもんだろう、MSが悪いかもしれんが
一方Java土方達はExcel方眼紙とパワポでHTMLページをデザイン()するのであった
むしろJavaアプリの方が固定した環境で動かすもんだよね JavaのGUIなんてほんとのほんとに業務にしか使われないんだから
こわれちゃったのね、かわいそー
早くHTML5かQtベースにならないかなあ
うんこうんこ
Javaでコンソールのハローワールド作ってJarにまとめたんだけど javac HelloWorld.java jar cvfe HelloWorld.jar HelloWorld.class HelloWorld.class ここまではよかったんだけど java -jar HelloWorld.jar これが動かないんだけど どうやったら動くの?
manifestのMain-Class
>>941 jar cvfe HelloWorld.jar HelloWorld.class HelloWorld.class
のeスイッチでそれちゃんと記入されてるし
自己解決 jarの指定が間違ってた × jar cvfe HelloWorld.jar HelloWorld.class HelloWorld.class ○ jar cvfe HelloWorld.jar HelloWorld HelloWorld.class
おれの指摘した通りだったな
Intent intent = new Intent(MainActivity.this, SubActivity.class); ↑こういう クラス名.this クラス名.class てどういう意味ですか?
>>945 そのクラスのstaticメンバを参照。
Javaのダウンロードページ、落ちてません?自分だけ?
948 :
826 :2013/10/13(日) 19:03:01.66
>>947 そういうときはURLをmail欄にでも書いとけ気のきかんやっちゃ
キーが文字列、値がlong値の単純な連想配列、リードオンリー、ただしサイズは ギガバイト単位のデータをメモリ上で、かつなるべくメモリの使用量を節約して 運用したいのですが、良いライブラリは無いでしょうか。 今はLuceneを使っています。
>>950 俺だけかと思ってたらお前もか
IE10, Opera12, Chrome, Firefoxで全部駄目、ファイアウォール切っても駄目
ルータの設定見なおしたが問題見つからず、Fix it使ったけどそれも問題無しだった
>>951 レスありがと。
サイトの問題かのう…( ;´Д`)
>>952 参ったな、こっちにも同じ症状っぽい奴がいるが「お前だけ」って言われてるから環境依存かね
http://anago.2ch.net/test/read.cgi/software/1351670907/ JavaRaも試したがそこからも↓のエラーメッセージが出て繋がらなかったよ
--------------------
An error occurred while downloading file. Possible causes:
1) File doesn't exist
2) Remote server error
--------------------
分からんがプロバイダが遮断してるなんてことあるのかな
俺はBIGLOBEだけどお前も同じ?
>>949 メモリを節約したいならハッシュ表よりバイナリサーチの方がいいんじゃない?
キーと値を別の配列に入れてArrays.binarySearchで簡単に実装できるかと
955 :
デフォルトの名無しさん :2013/10/13(日) 20:41:37.71
落ちてるべ
ん あぷで41きたの?
奇数バージョンはバグフィクスなんだっけ?
起動時間のオーバーヘッドを測ってるだけだろこんなもん 計算そのものに最低数秒はかかる処理でないと
961 :
デフォルトの名無しさん :2013/10/14(月) 14:45:53.23
importできないクラスをリフレクションで読み込みたい けど、できてない // 定義 class Abc { Def mDef; } // importできないクラス class Def { int getValue() { return 1; } } // 実装メソッド // パラメータでインスタンス済みのAbcを受け取る // abc.mDefとはアクセスできない public void callBack(Abc abc) { // abc.mDef.getValue(); // やりたい処理 Field f = abc.getField("mDef"); // これで、Fieldオブジェクトととしては、取得できる Class c1 = f.getClass(); // Fieldクラスクラス取得 Class c2 = f.getDeclaredClass(); // Abcクラス // Class c3 = f.getInstance(); // Defクラス・・
日本語でおか
getType
>>964 参照渡しであるという部分の解説お願いします
>>965 EmptyNodeクラスのaddメソッドのところ。
参照渡しとソックリっしょ。こけしとマトリョーシカくらい似てるっしょ。
IntBuffer
968 :
デフォルトの名無しさん :2013/10/14(月) 17:29:34.96
969 :
デフォルトの名無しさん :2013/10/14(月) 17:30:06.75
(続き) これって、上のHoge内でhogeを受け取る・または書き換えても、メンバ変数hogeは書き換わらない 下のHoge内でhogeを受け取る・書き換えてもメンバ変数mHogeは書き換わらない ということです?上の書き方は紛らわしいから下の書き方にしましょうってこと?
メンバにアクセスするときは常に this. をつければいいのよ
説明のための例が悪いな クラス名もメンバ変数名もHogeとか分かりにくさWAX
thisを使うか使わないかってことじぇね public Hoge(int hoge) { this.hoge = hoge; } public Hoge(int hoge) { mHoge = hoge; }
前にプリミティブの参照の話出てたけど、JavaFXのプロパティじゃダメなん?
C++参照厨の正体は1年前からスレに張り付いてる気狂い荒らし
プリミティブ型を使わなければいい
スコープ内でインスタンスを一時的にスタックに生成する方法はないでしょうか? メソッド内で計算に使いたいクラスをその都度newするのは無駄な気がします こういう時にtransientを使えば良いんでしょうか? ただ、メソッド枚に一時インスタンスを用意しないと同期が心配です
jitの最適化でそれっぽいことしてなかったっけ
自己解決しました
>>976 ないね
最適化はあるらしいが俺は効果があった試しがなく、全く当てにしてない
馬鹿には無理
オートボクシングのような機能は自作のクラスには付与できないんでしょうか? Numberクラスを継承してもダメでした
>>984 ScalaやるならeclipseはゴミだからIntelliJ使えよ
>>986 単純にScalaプラグインの出来の違い
アップデートくるー?
ほ
なんで名前空間ってドメイン指定するんですか? しかも反対からcom.example.www2みたいにするのはなんでですか? ドメイン持ってない人はどうしたらいいんですか? というか更新切れのこと考えるとドメイン名はあまり良くないと思うのですがそのへんどうですか?
質問に「というか」を使うな。整理してから聞け。
質問に「そのへんどうですか?」を使うな。升ゴミのインタビューじゃあるまいし。
書いてる内に整理できるんすよーその言い方はないっすよー
「○ですか?×ですか?」を使う →1ビットの情報しか帰ってこない 「そのへんどうですか?」を使う →少なくとも回答者は、全文を理解して、自分なりの解釈を述べる必要がある 質問する側にとって、後者のほうが、お得感がある。
っていうかドメイン名の逆にしないといけないと強制はされてないっすよ 個人で作るだけなら好きにすればいいんじゃないっすかね まあ僕的にもドメイン名の逆は長くなってウザい?みたいな感じはあるっすけどまあ随分昔の話しだし仕方ないか〜的な? とりあえずはそんなところですかね あ、あと名前空間というよりパッケージ名の話っすよね
ライブラリとかフレームワーク作ってないのであれば特にドメインじゃなくてもおーけー。
>>990 IPアドレス使ってればいいよ。規模がちょっと大きくなってきたら、すぐにドメイン名のありがたさがわかるから。
LANで使ってると、ホスト名以下は省略できるのでありがたい。これって、逆からの方が、都合がいいんじゃないか。最近は省略できないアプリも多いみたいだけど。
俺にはこのスレはまだ早すぎたようだ…。 何を言ってるのか全く理解出来ない…!!
ggrks
1000gg
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。