2 :
デフォルトの名無しさん :2013/12/06(金) 11:29:54.92
他の言語ではなく、Javaが選択される理由を教えてください
学習に最適
4 :
デフォルトの名無しさん :2013/12/06(金) 19:26:23.36
教えてください 宣言と生成についてわかりません 例えば class A{ } class B{ } … static void main{ A a = new A(); B b = new A(); } aとbの違いがわかりません。 右辺の生成はわかるのですが、 宣言の意味合いがよくわかりません。 教えてください すみません、初心者です!
なんだこれ
6 :
デフォルトの名無しさん :2013/12/06(金) 19:31:00.56
変ですか?
うん。まあ、細かいことはおいといて。聞きたいのは変数宣言と生成の違い?
いつも new するとは限らないから、宣言と生成は違う String a = new String(); String b = "hello"; String c = System.getProperty("os.name"); String d = b + c;
9 :
デフォルトの名無しさん :2013/12/06(金) 20:04:45.21
変数宣言と生成の違いというより、 宣言について曖昧なのかもしれません。 上のaとbの文は、両方ともクラスAのメンバを使用できるようになりますよね。 じゃあ、宣言の違いによって何が変わるのって感じです。 素人な説明ですみません。
String str1 = "hello"; String str2 = str1; str1 → "hello" ← str2 String str1 = "hello"; String str2 = "hello"; str1 → "hello" str2 → "hello"
11 :
デフォルトの名無しさん :2013/12/06(金) 20:35:19.28
見方がわからんw
すまん、適当に書いてしまったw
13 :
デフォルトの名無しさん :2013/12/06(金) 21:12:37.26
それは生成の話ですよね。 クラス型の代入の話はわかります。 あとstringだと限定的でなかなか理解が。 僕がわからないのを言い換えると、 @クラスAで宣言したクラスAオブジェクトa AクラスBで宣言したクラスAオブジェクト この@とAは何が変わるのか。 同じこと言ってますよね…
ポリモーフィズムの話か
質問です。 あるインターフェースを継承したインターフェースを実装する場合、 implementの記述で、後者だけでなく前者も記述しているソースを見かけるのですが、 何か意味があるのでしょうか? 言葉ではわかりにくいので例を書きますと interface A {} interface B extends A {} これらがあるときに class C implement B {} class D implement A, B {} この場合、CもDも同じ機能を持つことになり、Dの記述は冗長だと思うのですが 何か違いはあるんでしょうか? リファクタリング時に役にたつとかでしょうか?
16 :
デフォルトの名無しさん :2013/12/06(金) 22:13:31.97
class A{ int aa = 1; public A(){ System.out.println("コンストラクタA"); } public void AAA(){ System.out.println("メソッドAAA"); } } class B extends A{ int bb =2; public B(){ System.out.println("コンストラクタB"); } public void BBB(){ System.out.println("メソッドBBB"); } }
String a = new String Object b = new String Objectとして扱う(Objectで定義されているメソッドしか使わない)なら、bの方が依存関係を緩くできる。 b = new Integer と、Stringでないものにしても、bはObjectとして扱われるので影響がない。
>上のaとbの文は、両方ともクラスAのメンバを使用できるようになりますよね。 >じゃあ、宣言の違いによって何が変わるのって感じです。 AとB関係ない型なのに B b = new A(); なんだこれ。
>>15 開発のなりゆきでそうなっただけで深い意味はないかも。
>>18 最初の「なんだこれ」はそれだった。
違和感を感じていたが誤記だろうと放置していたら本質だった。
質問です。 Android SDK の Bundleクラス(Intentで使われてるやつです)のような 万能の入れ物になるようなクラスはJavaの標準では用意されていないのでしょうか? また、ない場合に自作するとしたら、適当にプリミティブラッパ型とSerializable型を 保持するHashMapを複数持ったクラスなどで代用すれば良いでしょうか?
しね
ありがとうございます。自己解決しました
どれが解決したかわからないという
javaでFnumって、どういう使い勝手がありますか? 最初、普通に整数型かと思ったら違うかったし 引数で取ったとしてswich文での処理となると思いますし どうなんでしょうか
>>15 まぁ)avaの仕様だと思って我慢してください。
俺としては、インターフェイスの定数の保持の利点が
見いだせない。
27 :
>>15 :2013/12/07(土) 19:42:31.92
28 :
デフォルトの名無しさん :2013/12/07(土) 20:15:37.70
class A{ public void AAA(){} } class B extends A{ public void BBB(){} } public class javatest2 { public static void main(String arg[]){ A hoge1= new A(); B hoge2= new B(); A hoge3= new B(); B hoge4= new A(); //型の不一致: A から B には変換できません ??1 hoge1.AAA(); // hoge1.BBB(); //メソッド BBB() は型 A で未定義です hoge2.AAA(); hoge2.BBB(); hoge3.AAA(); // hoge3.BBB(); //メソッド BBB() は型 A で未定義です ??2 上の??1 と??2 がわかりません
>>28 1. サブタイプはスーパータイプの一種なので互換性があるが、逆はそうではない
よく挙げられるのは動物の例
Animal hoge1 = new Animal(); // OK - 動物同士、何の問題もない
Cat hoge2 = new Cat(); // OK - ネコ同士、何の問題もない
Animal hoge3 = new Cat(); // OK - ネコは動物であるので、ネコを動物として扱っても問題はない
Cat hoge4 = new Animal(); // NG - 動物一般をネコとして扱うことはできない
>>28 2. 「メソッドBBBが型Aで未定義です」のメッセージ通り、型AにメソッドBBBの定義は無いでしょ?
hoge3の型はAなんだから
hoge3が指しているオブジェクトの型ではなく、hoge3という変数自身の型だ
変数自身の型しか見ないので、hoge3が実際に何のオブジェクトを指しているか指していないかは考慮されない
31 :
デフォルトの名無しさん :2013/12/07(土) 21:49:36.82
ありがとうございます。 んーでもまだしっくりこない。 オブジェクトの型と変数の型の違いがわかりません。 というより、やっぱり、オブジェクト生成とは何か。変数宣言とは何か。 をしっかりと理解していない気がします。
>>15 ,26
メソッドの検索順番が変わるんだよ。
クラスメソッドと違ってインタフェースメソッドは
階層が深いとこで定義されていると検索が遅くなる。
違いも何も、生成したオブジェクトを自分がどのように扱うかを決めるのが宣言だろうに。
>>31 1に関しては悩む点じゃないからスルー。
2はちょっと難しい。
hoge3は「A」という型で宣言されているからAに定義されているメソッド以外は呼び出せない。
ただしhoge3の「中身(インスタンス)」はnew B();で作ったのでBのメソッドを呼び出す能力は持っているはず。
こういう場合はキャストという操作でhoge3の型を変えてやればいい。
((B) hoge3).BBB();
こうすればエラーにならずBBBが呼び出せる。
35 :
デフォルトの名無しさん :2013/12/07(土) 22:34:04.55
上の AAA hoge3 = new BBB(); では型宣言側のhoge3.AAA()はOKで、hoge3.BBB()はNGですが、 下のオーバーライドを確認するためのプログラムでは、逆の挙動が出てます。 上の例に従うとAAA hoge3=new BBB(); → hoge3.show();は、 AAA.show()が示されると思ったのですが、実際はBBB.show()でした。 難しい。。。 どなたか説明いただけると助かります class AAA{ String a="AAA"; void show(){System.out.println("AAA.show()");}} class BBB extends AAA{ String a="BBB"; void show(){System.out.println("BBB.show()");}} public class javatest3 { public static void main(String arg[]){ AAA hoge1 = new AAA(); AAA hoge2 = new BBB(); BBB hoge3 = new BBB(); hoge1.show(); hoge2.show(); hoge3.show(); System.out.println(hoge1.a); System.out.println(hoge2.a); System.out.println(hoge3.a);}}
>>35 抽象クラスやインターフェースを使ったことあるか?
それを使えば「型とインスタンスは別」って理解できるから先にそうしろ
37 :
デフォルトの名無しさん :2013/12/07(土) 22:51:52.02
すみません、まだ趣味で初めて1週間くらいで、、、 抽象クラスとインターフェースは斜め読んだだけであまり理解してません。 とりあえず、この問題は放置して先に進んでみます。 また戻ってくるのでかまってください。 ありがとうございました。
また難しいところから攻めてるな。実際のところ、継承の乱用はタブーなんだが。
39 :
桃白白 ◆9Jro6YFwm650 :2013/12/07(土) 23:48:33.11
>>35 オーバーライドとはそういうもの
逆でもなんでもない
大は小を兼ねるってことだよ。
Vector<String> ary = new Vector<String>(); ary.add("データ0"); ary.add("データ1"); ary.add("データ2"); for (int i = 0 ; i < ary.size() ; i ++) { String str = ary.get(i); } というソースを実行すると、本当に稀な確立で、 ary.get(i);でArrayIndexOutExceptionが発生します。 別スレッドからaryがいじられるとかはありえないのですが Java6でVectorにバグがある等の話はありますでしょうか?
ない。 ArrayIndexOutOfBoundsExceptionではなくArrayIndexOutExceptionなんて書いている時点でまず自分を疑った方がいい。
全然釣れないですね〜^^
45 :
42 :2013/12/08(日) 07:43:17.85
ありゃ、なんかスレ荒れてましたか 例外の名前はあいまいに覚えてたのを書きました 今は無駄っぽいので、またスレが冷静になってきたら質問します。
ションベンして寝てろカス
>>42 Vector使うのもいいけど
ArrayListを使うことをお勧めします
結構昔から非推奨タグ付いてなかったっけVector
確かに1次元のくせにベクトルとは生意気だとおもったな。
全然だめですね〜^^ 釣れないですです^^
2次元だと行列になるのでは
一成分がスカラー 二成分がベクトル 行列は一般的なものでしょ
割り込みベクタって表現、ダイキライ
javaでprocessingのbackgroundの様な関数を作れなくて困ってるんですがどういう風にすれば作れるか教えて頂けませんか? 抽象的で申し訳ないですが教えて下さい。
55 :
42 :2013/12/08(日) 13:22:11.07
そんなprocessingやってる前提で話されても・・・ ここジャヴァーのスレですし
すみません… 具体的に言うと四角形を方向キーで動かすアニメーションを作ろうと思って書いてみたのですが、どうやっても前の四角形を消す事が出来ず残像?の様な感じになってしまいアニメーションにならないんです。
背景と同じ色で四角形を塗りつぶせば消える
>>57 四角形作って塗り潰そうと考えて作ってみたんですけど自分が作ったプログラムだと塗り潰せてないんです…そして何故塗り潰せないのかが分からなくて本当に困ってるんです。
後ここってプログラミング貼っても大丈夫なんでしょうか?
プログラミング張れるのか、すごいな
>>59 初心者だということを察して下さいお願いします
今から参考書買ってこようと思うんですが
、自分の質問が解決されそうな本とかって分かりませんか?
すれ違い
62 :
デフォルトの名無しさん :2013/12/08(日) 14:45:09.43
その程度の質問ならどの本にも書いてあるよ
そんなのは色々ゴチャゴチャチャレンジしてたら解決するよ。
ゴチャゴチャチャレンジしてたら解決するようなことは質問禁止!
ゴチャゴチャチャレンジしてたら解決するような事かどうかが判断できない時は質問OK!
66 :
デフォルトの名無しさん :2013/12/08(日) 16:17:49.85
昨日の継承の問題で、抽象クラスとインターフェイスを勉強してきたのですが、 んー、なんかその話とは違う気がする。。。 やっぱり宣言とオブジェクト生成について本質を理解しなければいけないとおもうんです オーバーライドのところで、逆の挙動が出るということに関して、そういうものと言われましたが、 たぶん僕の言いたい事が伝わってない気がします。 言いたい事は、 最初のプログラムではhoge2はBBBメソッドは使用できないくせに、 次のプログラムではhoge2はBBBメソッドがオーバーライドで優先されて使用される。 それがなぜなのか。これを理解するためにおそらく宣言と生成の本質を理解しないといけませんよね。 プログラムを整理したのでまた載せます
67 :
デフォルトの名無しさん :2013/12/08(日) 16:19:19.84
class A{ String a="AAA"; void AAA(){System.out.println("AAAメソッド");} } class B extends A{ String b="BBB"; void BBB(){System.out.println("BBBメソッド");} } public class javatest2 { public static void main(String arg[]){ A hoge1= new A(); A hoge2= new B(); B hoge3= new B(); hoge1.AAA(); hoge2.AAA(); // hoge2.BBB(); //メソッド BBB() は型 A で未定義です hoge3.AAA(); hoge3.BBB(); System.out.println(hoge2.getClass()); System.out.println(hoge1.a); System.out.println(hoge2.a); // System.out.println(hoge2.b); //bb は解決できないか、フィールドではありません System.out.println(hoge3.a); System.out.println(hoge3.b); } }
68 :
デフォルトの名無しさん :2013/12/08(日) 16:21:13.97
実行結果 AAAメソッド AAAメソッド AAAメソッド BBBメソッド class java02.B AAA AAA AAA BBB
69 :
デフォルトの名無しさん :2013/12/08(日) 16:23:29.72
class AAA{ String a="AAA"; void show(){System.out.println("AAAメソッド");} } class BBB extends AAA{ String a="BBB"; void show(){System.out.println("BBBメソッド");} } public class javatest3 { public static void main(String arg[]){ AAA hoge1 = new AAA(); AAA hoge2 = new BBB(); BBB hoge3 = new BBB(); hoge1.show(); hoge2.show(); hoge3.show(); System.out.println(hoge2.getClass()); System.out.println(hoge1.a); System.out.println(hoge2.a); System.out.println(hoge3.a); } }
目がチカチカするからやめて
71 :
デフォルトの名無しさん :2013/12/08(日) 16:24:55.63
実行結果 AAAメソッド BBBメソッド BBBメソッド class java03.BBB AAA AAA BBB
勉強不足
A hoge2= new B(); クラスAのメソッドしか利用しないって意味だよ
74 :
デフォルトの名無しさん :2013/12/08(日) 16:31:55.81
勉強もほどほどになんか作ってみろよ。半年もすれば本質なんか勝手にわかる。
75 :
デフォルトの名無しさん :2013/12/08(日) 16:33:33.87
すみません。でも俺は丸一日この文とにらめっこだよ。助けてほしい。
●前者と後者で違い
前者 メソッドをオーバーライドさせず、AAA()とBBB()でメソッド名が違う
後者 メソッドをオーバーライドさせ、メソッド名show()
●hoge2の結果
前者 BBB()メソッドは使用できない。
後者 オーバーライドされBBB()メソッドが優先される。
なぜなぜ?
>>34 のキャストすればできました。そうゆう対策は知らなかったし理解できました。
そうではなく、なぜこの問題が起こるのかが知りたいです。
これを理解するには宣言と生成の本質の理解が必要と思うんですが、
どこを調べても、宣言はメモリが・・・とかそんな説明ばっかです。
void show()←クラスAにもあるメソッド
77 :
デフォルトの名無しさん :2013/12/08(日) 16:38:13.22
勉強不足なのは間違いないけど。。。
>>73 >A hoge2= new B();
>クラスAのメソッドしか利用しないって意味だよ
でも2番目のプログラムでは、
AAA hoge2 = new BBB();
で、BBBメソッドが呼ばれたよ??
馬鹿には無理
A hoge2= new B(); メソッドの使用がクラスAに存在するものだけに制限されている つまり void AAA()だけ AAA hoge2 = new BBB(); メソッドの使用がクラスAAAに存在するものだけに制限されている つまり void show()だけ
80 :
デフォルトの名無しさん :2013/12/08(日) 16:41:09.15
>>76 hoge2.show() で呼ばれるのは、クラスAではなくてクラスBですよ。
実行結果から見て。
82 :
デフォルトの名無しさん :2013/12/08(日) 16:45:12.03
>>79 の理屈では、
後者のプログラムではhoge2.show()の実行結果がAAAメソッドになりません?
じゃあこうしよう A村で生まれた子供にはAAAという笛が渡されます。 その笛を吹くとどこからともなく怪人が現れAAAと叫びます AAA村で生まれた子供にはshowという笛が渡されます その笛を吹くとどこからともなく怪人が現れAAAと叫びます なぜ怪人はAAAと叫んだのでしょうか? 笛を吹いた子供がAAA村の子供だと知っているからです。 BBB村で生まれた子供にはshowという笛が渡されます その笛を吹くとどこからともなく怪人が現れBBBと叫びます なぜ怪人はBBBと叫んだのでしょうか? 笛を吹いた子供がBBB村の子供だと怪人は知っているからです。 とても分かりやすい説明だと思う
追加 B村で生まれた子供にはAAAという笛とBBBという笛が渡されます。 いたれりつくせりです。
どこのコぺペ?w
おっと上ミステイクしたかもな。 追加 ある日A村で子供が生まれました。しかし驚くべきことにその子供はB村の子供だったのです。 その子供は残念なことにAAAという笛しか渡されませんでした。 その子供はAAAという笛を吹いてみました。 怪人はAAAと一言言ってさりました。 こどもは寂しい思いをしました。 次の日のことです。 AAA村で子供が生まれました。またまた驚くべきことにその子供はBBB村の子供だったのです。 その子供にはshowという笛が渡されました。 その子供はshowという笛を吹いて見ました。 怪人はBBBと叫びました。 子供は嬉しくて涙がでました。 なぜ怪人はBBBと叫んだのでしょう? それは怪人がその子供はBBB村の血筋のものだと知っていたからです!
・どこで生まれたかによって渡される笛がきまってしまうこと ・子供は渡された笛を吹くことしかできないこと ・同じ笛でもどの血筋の子供が吹くかで何が起こるかは変わりうること とてもわかりやすい例えだと思う
88 :
デフォルトの名無しさん :2013/12/08(日) 17:01:42.93
ちょっとわかりにくいです。 村は 型を示すのか、オブジェクト型を示すのか
//北斗神拳伝承者、百裂拳(メソッド)を使えます。 class Hokuto{ void hyakuretuken(){...} } //北斗神拳を継承しているので百裂拳を使えます class B extends A{} //北斗神拳を継承、百裂拳をオーバーライドした天翔百裂拳が使えます。 class C extends A{ void hyakuretuken(){/*空中から百烈拳*/} } B kenshiro = new B(); C toki = new C(); //ケンシロウ A denshosha=kenshiro; denshosha.hyakuretuken();//百裂拳が発動 denshosha=toki; denshosha.hyakuretuken();//天翔百裂拳が発動 こういうことだな。
90 :
デフォルトの名無しさん :2013/12/08(日) 17:04:00.26
まちげぇた。class Hokutoをclass Aにかえてくれw
翻訳例 AAA hoge2 = new BBB(); BBB村の妊婦さんを誘拐しました。 その子供hoge2はAAA村で生まれました。
荒らすなカス
93 :
デフォルトの名無しさん :2013/12/08(日) 17:14:01.95
わかんねー!
94 :
デフォルトの名無しさん :2013/12/08(日) 17:19:00.20
勉強ってつまんねぇし身につかないだろ。目的がないから。 ゲーム作りたいとか目的があるプログラミングは面白いし身につく。 プログラミングにまで「勉強」を適用したら人生真っ暗だぜ。
95 :
デフォルトの名無しさん :2013/12/08(日) 17:19:36.06
>>75 A型の変数でB型のメソッドが呼べないのはあたりまえ。
メソッドがオーバーライドされてるときはサブクラスのメソッドが優先される。
そんだけ。問題があるとするならお前の頭。
コンパイル時のメソッド名解決と実行時のメソッド名解決は、 解決される時期が全く別でな… 言語仕様15章12節嫁。
97 :
94 :2013/12/08(日) 17:28:59.74
物事の本質が見えている奴とは俺のような奴である(キリッ
荒らすなカス
荒らすなカスって言ってる奴がカス!
メソッド名とメソッドの中身を切り離して考えればいい 使用できるメソッドが宣言の仕方によって制限される メソッドの実行内容がどのインスタンスに呼ばれたかに依存する そんだけ
コンパイル時の問題と実行時の問題を分けて理解する必要がある コンパイルエラーはプログラムをコンパイルする時のエラーであって、プログラムはまだ1行も実行されていない AAAのオブジェクトもBBBのオブジェクトも生成されていないし、 もし実行されたらそのとき変数hoge3はどんなオブジェクトを指しているであろうか、などといったことは判りはしない だからコンパイル時には、変数宣言の型だけに基づいて、実際に実行せず静的に、エラーチェックをするんだ エラーチェックを通ってコンパイルに成功したら、ようやく実行を始められる 実行時には実際にオブジェクトを生成するし、各変数がどんなオブジェクトを指してるかも判る
なんだか思ったよりずっと深い悩みっぽいね 言語設計のレベルの疑問なんかね そうだとしたら知らんですわ javaプログラミングに慣れてない人が突っ込む話じゃないと思うし 突っ込んだところで理解できないレベルの話だと思われる
馬鹿には無理
>>75 これのどこが難しいの?
class Car{
void drive() {
System.out.println("I am just a car.");
}
}
class HyperCar extends Car{
@Override
void drive() {
System.out.println("I am a hyper car.");
}
}
class SuperCar extends Car{
@Override
void drive(){
System.out.println("I am a super car.");
}
}
Car carA = new Car();
Car carB = new HyperCar();
Car carC = new SuperCar();
carA.drive(); // "I am just a car."
carB.drive(); // "I am a hyper car."
carC.drive(); // "I am a super car."
勉強不足
107 :
デフォルトの名無しさん :2013/12/08(日) 21:06:41.95
こうするとコンパイルエラーです。
>>104 では、
インスタンスの型側のメソッドが使用できてるのに、下文では、宣言型に依存している。
メソッドを使用できるのはやっぱり、宣言の型側に依存するのですよね。
じゃあ右辺のインスタンスの型は何を意味するのかなって。
class Car{
void drive() {System.out.println("I am just a car.");}
}
class HyperCar extends Car{
void driveHyper() {System.out.println("I am a hyper car.");}
}
class SuperCar extends Car{
void driveSuper(){System.out.println("I am a super car.");}
}
public class javatext5 {
public static void main(String[] args) {
Car carA = new Car();
Car carB = new HyperCar();
Car carC = new SuperCar();
carA.drive(); // "I am just a car."
carB.Hyperdrive(); // "I am a hyper car."
carC.Superdrive(); // "I am a super car."
}
}
もうジャヴァなんかあきらめてC#やれお
javaのwebスクレイピングプログラムを自作しているのですが、5個のスレッドでとあるサイトに アクセスして情報を取得する処理を数日間続けると1個のスレッドが止まってしまうというような ことに悩んでおります。 原因のわかる方、見当の付く方はおられるでしょうか。
110 :
デフォルトの名無しさん :2013/12/08(日) 21:15:43.24
>>109 ちんちんかゆいんですと泌尿器科に行ってちんちん見せないようなもの。
原因わかるわけないじゃん。ちんちんうpよろ。
ネットワークで簡単な通信(エコーサーバーみたいなのでも)作ってる時って 根本的にネットワークの仕組み理解してないからしてサンプルプログラムに毛が生えたレベルのものでも どこかに脆弱性あるかもしれんからビクビクしてる バッファオーバーフローとかも解説読んでもピンとこない XSSとかSQLインジェクションはわかる ソフト公開してる人はセキュリティ方面にものすごく自信があるから公開してるってことなの? あれって使用者に何かあったら作成者が責められるよね?
>>107 >
>>104 では、インスタンスの型側のメソッドが使用できてるのに
その理解は間違ってる。
「@Override」の文字通り「上書きされたCarクラスのdrive()メソッド」を呼び出しているだけだよ。
だからCarクラスに宣言されている内容しか見えない。
今回はその内容が一部上書きされているから上書きされたメソッドの結果に置き換わっただけ。
>>109 スタックオーバーフローじゃないの?
スレッドプールはたまに新スレッドで入れ替え直す方が良い
こんにちは。プログラム初心者です(1週間くらい)。 調べてもよくわからないところがあったので質問させてください。 下記のようなコードを書いたのですが、コード下から7行目の(★)引数に関して 該当する行の引数「kei(int x, int y)」とすると、Printlinされる整数値は「8」となりますが、 引数を「kei(int a ,int b)」とすると、出力される整数値は「3」となり、 フィールド値として定義したa,bと、kei()メソッド内の、aとbは別物の変数になってるようです。 main()メソッドと、pri()メソッドは同じ値なのに、なぜkei()メソッドだけそうなるのでしょうか? よろしくお願いします。 public class sam { static int a; static int b; public static void main(String[] args){ a=3; b=5; kei(a,b); pri(); } static void kei(int x, int y){ //(★)引数に関して a=a+b; } static void pri(){ System.out.println(a); } }
115 :
デフォルトの名無しさん :2013/12/09(月) 18:43:00.50
>>114 static int a;
static int b;
と
keiの引数は別だから。
同じ名前の変数が2つあったら、より内側の方を見るから
>>115 様、
>>116 様、ありがとうござました!とても気分がすっきりしました
1週間くらい悶々でした。どうもありがとうございました^^!!
ゆとりってバカだな
web.xmlにエラーて書いてあんだろ
>>123 いや、書いてあることもわかるし、該当の場所もみてるんですが、何が間違えてるかわからないのです。
よって何かアドバイスいただければと思います。
最近はエラー日本語なのか。でも読まない人には意味ないし、読む人は英語でも調べるから意味薄いな。
>>122 xmlの補助をしてくれるエディタで見れば、すぐわかりそう。
プログラム書くよりデバッグは難しい
クライアントよりサーバーのプログラムの方がデバッグは難しい
130 :
デフォルトの名無しさん :2013/12/09(月) 23:45:29.09
all in oneのnetbeans使いやすいなー eclipseは環境を作らなきゃいけないから、めんどい netbeansの方が軽い気がするのは気のせいか
>>127 >XMLドキュメント構造は、同じエンティティ内で開始及び終了する必要があります。
このエラーがポイントっぽいのですが、どういう意味を表すのでしょうか?
すいません。
>>131 自己解決しました。
スレ汚し申し訳ないです。
>>130 統合されてるのが好きならIntelliJはもっと気に入ると思う
トムキャットとjavaの関係を一言で言うとなんですか?
恋人同士
すいませんここで聞いていいのか分からないのですが、
Breaking the Towerというゲームができないのです
https://mojang.com/notch/ld12/breaking/ メインVista sp2 サブXP sp3
Java Plug-in 10.45.2.18
使用中のJREのバージョン 1.7.0_45-b18 Java HotSpot(TM) Client VM
ユーザーのホーム・ディレクトリ = C:\Documents and Settings\pc
java.lang.ArrayIndexOutOfBoundsException: 1
at com.mojang.tower.HighscoreManager.getTopScores(HighscoreManager.java:40)
at com.mojang.tower.TowerComponent$2.run(TowerComponent.java:138)
Failed to get highscores
セキュリティレベルを中、次世代のJava Plug-inを無効、Javaキャッシュ削除し、
ブラウザをFirefox25、Chrome31、IE8と変えてみましたが、
どうやっても最初のタイトル画面が表示されて止まった(固まった)ままで動きません
ご教示ください
ゲーム作った奴に報告しろ
echo.jsp <%@page contentType="text/html; charset=Windows-31J"%> <HTML><BODY><H2>EchoServletの入力</H2> <FROM ACTION="../servlet/input.EchoServlet"> <INPUT TYPE="TEXT" NAME="message"><INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML> EchoServlet.java package input; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EchoServlet extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {String msg = request.getParameter("message");response.setContentType("text/plain; charset=Windows-31J");PrintWriter out = response.getWriter(); out.println("message=" + msg);}} この二つのファイルを置いてコンパイルを実行したところ、jspで呼び出したボタンを押しても、ボタンが反応しないのですが 原因わかる方いますでしょうか?
ゆとりってバカだな
>>139 そんな簡単な間違え犯してますでしょうか?
やってましたwwwwwwすいません。
ありがとうございます。
143 :
136 :2013/12/10(火) 07:42:07.80
>>137 あ、みなさんも動きませんか
数年前からあるらしいのでjavaのバージョンが進んで動かなくなってるのかな
ありがとうございました
トムキャトは俺の横で寝ている
close関数を呼んで明示的にリソースを閉じているのに 長期的に動作させるとtoo many open fileとなってしまいます。 Javaではclose呼んでも閉じないことがあるのでしょうか?
>>145 throwで飛び越えてるとか。
Finalyでcloseしてるか?
closeしてるつもりで できてないとしか思えんな
FirefoxでAppletの扱いがさらに酷いことに… Appletってなんとかならないのかね?まだ使っているんですけど…
import java.io.PrintWriter; って API として、何かを呼び出してるのでしょうか? 初心者なんですが、ほかにも import javax.servlet.servletexception とか、何を表してるのか知りたいのですが、わかるような本、もしくはサイトありますでしょうか?
>>import java.io.PrintWriter; >>って API として、何かを呼び出してるのでしょうか? 呼び出しているよ >>import javax.servlet.servletexception >>とか、何を表してるのか知りたいのですが、わかるような本、もしくはサイトありますでしょうか? あるよ
基本、クラス定義の外側にある行は実行の対象じゃないんで・・・
アプレット実行可にしてるやつなんていたのか
今やセキュリティホールの代名詞だよね
>>151 >>とか、何を表してるのか知りたいのですが、わかるような本、もしくはサイトありますでしょうか?
あるよ
教えていただけますでしょうか?
package filter;
import java.io.IOException;
import javax.servlet.filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class EncodingFilter implements Filter {
public void init(FilterConfig filterConfig)
throws ServletException {
このpublicから始るものは 関数と考えていいのでしょうか?
読み方がわかりません。詳しく纏められてるサイト、本の紹介をお願いいたします。
>>156 さすがにわかりますが、他はわかりません。
たとえば、
import javax.servlet.ServletResponse; は何をしてる構文なんでしょうか?
わからずとりあえず打ってますが、一つ一つの単語?がわかれば理解が早いとおもったしだいです。
過去レス読め、ggrksまたはスレチ
>>157 そのレベルだったら本来は入門書の最初から読み進めるのが最も望ましい
今すぐ特定のコードを理解しなきゃいけない事情があるのなら俺には近道は思いつかない
そもそもこのプログラムはどこから引っ張ってきたのでしょうか?
>>159 一応 java入門は一通り読んで、
今サーブレットを作成しながら進んでます。Cを少し齧ってたのですが、いいかげん構文読めないと思いました。
入門の本は読んだのですが、どこあたりにこれらの構文の 単語の意味が書いてあるかわからずそれを訪ねています。
>>160 サーブレット入門書を読みながら、今はサーブレットフィルタの設定をしてるところです。
>>159 貴殿がおっしゃってることは至極最もだと思いますが、
たとえば、
publicは どこどこに公開することを表していて・・
とか一つの単語ごとに言い切ることは不可能でしょうか?
勿論、それができるなら、分厚い入門書必要ないといわれそうですが。。
>一応 java入門は一通り読んで、 ほんまかいな、それに後出しは嫌われるとしってるよね
脳内完結厨房か、お休み
>>162 importは「クラスの名前を省略したいとき」に使う。
javax.servlet.FilterChain
と書かなければいけない場所があった時に、
import javax.servlet.FilterChain;
を最初に書いておけば
FilterChain と書くだけで javax.servlet.FilterChain を指し示すことができる。
ただしクラス名が衝突する場合はimportはできない。
import javax.servlet.FilterChain; と
import myclass.FilterChain;
を同時に記述するとFilterChainクラスがどちらを指すのかが不明になるので同時にimportすることは出来ない。
publicは「クラスの外側からその要素にアクセスすることを許可する場合」に使う。
publicの代わりにprivateと記述した場合、その要素はそのクラスの中からしかアクセスすることはできない。
年齢をお聞きしても宜しいでしょうか?
>>166 今年66になるオジさんです。定年後の趣味としてjavaを習い始めました。
初心者に教えるにしては随分手の込んだコードだぜ? インターフェースまで使ってるし
その息子の正志です
>>167 残念ですがここ(2ちゃんねる)は初心者に優しくしてくれるサイトではないです
モチベーションをそがれるだけだと思います
ですので別の場所に助けを求めるか、自力で奮闘することをおすすめします
>>145 ProcessBuilderとかは
標準出力・入力・エラーの3つのストリームを
勝手に作成するから
そいつら使ってないか?
トムキャット7.0.47なんですが、 conf下のweb.xmlに invokerサーブレットの項目がないようなのですが、デフォルトでしょうか?
173 :
デフォルトの名無しさん :2013/12/12(木) 07:02:25.40
>>172 tomcat3辺の古いのにはあった記憶があるが、
最近のバージョンはセキュリティ上の理由で存在しないと思うよ。
174 :
デフォルトの名無しさん :2013/12/12(木) 12:26:55.30
JAVA7をインストールしたはずなのにバージョン情報が6表示のままなのはどうしてなんでしょうか? この7が偽者ってことなんですか?
176 :
デフォルトの名無しさん :2013/12/12(木) 14:08:44.97
>>175 ということは、先に6を手動でアンインストールしないといけないということですか
自動で入れ替えしてくれるものとばかり思ってました(失礼)
>>176 環境書いてないからエスパーになるが、環境変数PATHの設定でそうなってるだけだと思うぞ。設定するかフルパスで指定して実行すれば好きな方を使えるはず。
Javaだけでなく環境の使い方も学んだほうがいいぞ。
OSによって切り替え方法が異なる。
179 :
デフォルトの名無しさん :2013/12/12(木) 16:13:51.14
ユーザーJREはside by sideだけどシステムJREはversion新しい方で上書きだからパス通してないだけだろうな
異なるスレッドで扱うため、リストとそれに登録したオブジェクトの操作に対して同期を取りたいのですが synchronizedListを用いて生成したリストを用いる場合は、以下のような使い方で正しいでしょうか? SampleClass obj = objList.get(i); synchronized(obj) { obj.method(); } リスト操作(addやget)自体はsynchronizedで囲ったりしなくても synchronizedListで生成してる限りは同期が取れていて、 リストから取得したオブジェクトは別途synchronizedを使って同期取らなきゃ駄目って認識です。
それはダメだろ 追加されたりしたらインデックスが狂う
183 :
デフォルトの名無しさん :2013/12/12(木) 22:12:10.95
どういう意味かと悩んでしまいましたが つまり、下のように書けば問題解決かな…? synchronized(objList) { SampleClass obj = objList.get(i); obj.method(); }
>>183 iはどっから来るんだ?
for (int i = 0; i < objList.size(); i++) {
>>183 or
>>181 }
たとえばこれだと、ループ回してる最中にリストの途中へ要素が挿入されたら
同じ要素に対して2回以上methodが呼び出されてしまう可能性があるぞ
インデックスはそれに関連する変更可能なコレクションがロックされている間だけ有効と考えるのが無難
つまり
>>184 の例ならforの外側でobjListをロックする
>>184 なるほど・・・
ループを使う場合は全体をsynchronizedで囲って↓みたくすべきという事ですね
synchronized(objList)
{
for(int i=0;i<objList.size();i++){ objList.get(i).method; }
}
ループは考えてませんでしたが確かにiだとループカウンタみたいでした。
ループしなければ
>>183 で大丈夫そうかな?
ループ扱う際にも注意が必要と分かったので助かりました。
187 :
181 :2013/12/12(木) 22:47:09.34
名前にレス番書き忘れてた
そして
>>185 の方も補足ありがとうございます。
ループでなくてもiを一時的に保持してる以上はズレるでしょ。 仮にiがメソッドの引数なら、結局使う側でロックしなきゃいけない スレッドセーフ(笑)なクラスが出来上がる。
189 :
デフォルトの名無しさん :2013/12/13(金) 00:07:42.09
パブリックなメンバ変数のみを持ったクラスを継承して、いろいろメソッドを追加したい それから、継承元のオブジェクトを元に、継承先のオブジェクトを生成する手段も用意したい 継承元は将来頻繁に変更することが想定されているので、継承先オブジェクトを生成するメソッドで 継承元のすべてのパラメータを列挙してうんぬんというのは避けたいところ こういうことするのに簡単な方法ってない? Field使ってやればいけそうだけど、あまりスマートではないなぁと思って あと、Java的にはメンバ変数の継承はなにか問題あったりする?
ゆとり乙
Lombok使ってみたがこれ他の機能との相性は大丈夫なんか? あとListのゲッターはnullなら新しいArrayList返す実装が好きだからそこが不満
>>189 継承しないで包含する
インスタンスの生成はコンストラクタに渡すだけ
194 :
デフォルトの名無しさん :2013/12/13(金) 00:50:42.28
>>193 渡したオブジェクトのメンバ変数へどうやってデリゲートすればええのん?
元クラスのメンバ変数の定義変えたときに、先クラスの定義変えるとかはやりたくない
あと、型情報落ちるのもできれば勘弁
>>194 パブリックなメンバ変数のみを持ったクラス getパブリックなメンバ変数のみを持ったオブジェクト() {
return this.パブリックなメンバ変数のみを持ったオブジェクト;
}
難しく考えるな
>>194 元クラスのメンバの定義の変化にまで対応するにはメタプログラミングが必要になる
が、到底実用的ではないのでほとんどやってる人はいない
>>195 お前は状況設定が理解できてないな
「いろいろメソッドを追加したい」と言ってるんだから単なるデリゲートじゃ駄目
元クラスのメンバを利用したメソッドを作り、かつ元クラスのメンバの定義が変更されても追加したメソッドに修正せずに済む方法を求めている
そんなものはメタプログラミングしかない
全フィールドを手でコピーしたりするようなコード書くのは 修正が面倒だから嫌だという意味だろ? それだけなら包含でいい
>>198 コンポジションはコーディング時の元クラスのメンバ定義に依存してしまうので、
コーディング後に元クラスの定義が変更されたらそれに対応することは出来ないよ。
201 :
デフォルトの名無しさん :2013/12/13(金) 01:22:09.17
>>195 すまん、要件が抜けてた
フレームワークの仕様上、持ってるオブジェクトのメンバ変数にアクセスするのに1段で行けないと問題がある
aInstance.getBVariable() や aInstance.bVariable は おkだけど、aInstance.getB().variable は多分ダメ
202 :
デフォルトの名無しさん :2013/12/13(金) 01:26:16.82
うお、伸びてた みんなありがとう なんか難しいっぽいな… Javaむずいお('・ω・`)
204 :
デフォルトの名無しさん :2013/12/13(金) 01:33:47.98
>>203 フレームワークがライブラリに依存してる
JSONICなんだけど、デコードする際の仕様がそんな感じっぽい
調べきれてないのでもしかしたらなんか迂回策あるかもしれないが…
>>204 オブジェクト指向を正しく使うためにコーディング規約で制限してるのかと思ったよ
関係ないけど、javaxにjsonのfactory追加されるな。
問題は内部実装に何使ってるかだな 既存のサードパーティ製のライブラリをjavaxに配置しただけなら特に嬉しくはない
自分は、Androidアプリ作るためにEclipse使ってますが NetBeansも入れています。 そこで、javaのデスクトップアプリを作るには どちらを、使ったほうが良いでしょうか。 漠然とした質問で申し訳ありません。
>>209 レスありがとうございました。
javaアプリの開発は、NetBeansでおこないます。
>>207 Factoryだから実装は隠蔽されるだろし、環境ごとに違うだろう。
>>211 JSONのライブラリなんて環境依存な要素がないし、Oracle JDKかOpenJDKかの違いしかないでしょ。
>>212 何言ってんだお前は。どのサードパーティでも隠蔽されるって話だろ。
>>192 とりあえずandroidでは問題なし
allargsコンストラクタ効かないけど。
フィールドに@notnullつければヌルポ投げるゲッター生成可能
使ってないからあまり詳しく知らないが。
>>213 ファクトリーメソッドパターンを使ってオブジェクト指向的に隠蔽するという話ではなく、
物理的に内部実装が隠蔽されるという話?
>>215 物理的の意味がわかりませんが。
xmlのAPIとかと同じ。
androidはスレちがい
>>217 どこらへんが物理的かわからない。
情報だけだろ。
先ほどから日本語の読み書きに支障が起きている人がいますね。
隠蔽って依存しないって意味だろ。 確認できたから何だって言うんだ?
>>222 依存度の話は誰もしていませんよ。
JSONを実装するにあたりサードパーティ製のライブラリを取り入れたのなら、
何を取り入れたのかを確認したいだけです。そこに依存も糞もありません…。
JSONを実装するのか、偉い
>>223 なら最初からjar見ろよ。
見て、ふーんで終わりだろ。
コアAPIもソースのauthorで誰が書いたかわかるが、別に気にしないだろう。
>>225 ああ、そのレベルの方ですか。
Java標準ライブラリにはバグや変わった挙動があるので、
サードパーティ製のライブラリを取り入れた場合はそのライブラリの癖を把握しておくことが必須ですよ。
「仕様通りに書いたのに動きません。ライブラリのバグです」は仕事では言い訳にならないからね。
>>226 アホか。
問題あるならfactoryでなくて自分でインストールしたライブラリ使え。
「実装する」の意味がわかんやつにいわれてもなー、国語かな
なかなか釣れませんね〜^^
xercesとかXalanとかfastinfosetとかJOGLが複数バージョン内部パッケージにあるとかrhinoとかnashornとかもう嫌だ
231 :
デフォルトの名無しさん :2013/12/15(日) 10:19:44.83
あるスーパークラスに何らかの型の値を返すメソッドがあって、それを継承したサブクラスでそのメソッドを使えないようにしたいんだけどどうしたらいいかな?
コンパイル時点で使えないようにするのは基本無理。 @Deprecatedで警告出すぐらいしか対策なさそ。 スーパークラスにキャストされたら意味無いけど。 実行時にエラーにするだけでいいなら 実行時例外かとエラー投げるだけのメソッドに上書きしちゃえばいい。
>>231 throw NoSuchMerhodException
235 :
デフォルトの名無しさん :2013/12/15(日) 14:15:27.21
見返してたら
>>106 で同じようなこと言ってたわ
既存の提供されてるクラスで非推奨のメソッドがあるくらいだから、薄々気づいていたけど
>>232 が1番いい策なのかな
継承はis-a関係が成立している時のみに使用するものだから、 実行時に例外投げるように上書きするのは最低最悪の設計だぞ。 is-a関係ってのは親クラスの代わりに子クラスが使えることを意味するが、 子クラスが親クラスのメソッドを「破壊」したら、例えば親クラスを引数に取るメソッドに対し子クラスを渡したらエラーが起きることになる。 型を柔軟に使ったプログラミングがしたいなら動的言語を使うべき。 静的型言語で型を破壊する行為をするのは本末転倒もいいとこ。
あまりごちゃごちゃ言いたいだけってことなら後はブログでやって
>>237 誰でも書き込める掲示板で何言ってんだ?
自分が好きな意見だけみたいなら身内とだけやり取りしてろ
継承元の親クラスのメソッドを破壊する行為は、 抽象クラスやインターフェースの一部のメソッドを実装せずに実行時例外を投げるようにする行為と等しい。 それくらい滅茶苦茶な行為であることを自覚しないといけない。
知恵遅れと同じくここも低スキルや低レベルの人たちだけになっちゃいますよ
質問者は継承の意味が全く分からずに的外れな対処法を望むアホだし、 回答者もその的外れな方法をアドバイスするアホだし、 ブラック企業でバッドノウハウが流通する現場みたいになってきたな
バカにはムリw
243 :
デフォルトの名無しさん :2013/12/15(日) 15:03:28.74
動的人間ってなんかカルト宗教みたいだなwwww
APIでも子クラスで例外投げて使わせないクラスあったと思うが、それを認められない奴は何でJava使ってるんだ?
初心者が初心者に馬鹿を感染させているだけだろ相手にするな
馬鹿には無理
251 :
デフォルトの名無しさん :2013/12/15(日) 17:09:54.57
内容関係なしにネット上でプロレスしたいだけなら他の板でやれ
255 :
デフォルトの名無しさん :2013/12/15(日) 22:14:49.38
netbeansでjsfの開発出来ますか? GUIデザイナが無い気がするんですが
情弱さんか
今日も釣れませんでしたね〜^^
リソースのクローズ漏れをチェックするような ツールってありますか?
>>258 リソースのことを「Closableインターフェースを実装したクラス」と定義するのなら、
そのclose()メソッドの呼び忘れを検知する方法はない
findbugsで出来なかったっけ
261 :
デフォルトの名無しさん :2013/12/16(月) 23:07:38.54
>>256 netbeansでjsfのguiデザイナあるの?
javaでリソース漏れっていうと /proc/プロセス番号/fdディレクトリ以下を延々 表示するぐらいしかわからないんじゃないか? 又はtoo many open fileが出たところを調査するとか
>>264 リソースと言われてファイルのオープン限定の話を答える人が必ず現れると思ってたよ
ネットワークからDBから全てリソースだから
>>261 GUIデザイナとは何?、
VC++と同じ機能を希望するの?
HPは見たの?
public class ResourceManager { public Closable add(Closable resource) { } public void closeAll() { } } こんな感じのクラスを作って自分で管理すればいいんだよ!
270 :
デフォルトの名無しさん :2013/12/17(火) 01:08:23.52
hashmapなどを勉強していて、 ”www.dreamincode.net/forums/topic/330789-how-to-sort-hashmap-by-keys/page__st__15” と殆ど一緒な事をしようとしています。生徒と点数をmapに入れて生徒のIDや年などの情報で並び替えを行っています。 違いとして、自分の場合郵便番号がテストの点数ですが。 このID orderだと 1:C:22:1048 2:A:20:2913 6:D:20:2013 9:B:21:2012 みたいに出力され Age orderでは 2:A:20:2913 6:D:20:2013 9:B:21:2012 1:C:22:1048 みたいに出力するためにはどのようにStudentSetのgetIDMapなどを変更すればいいのでしょうか?
linkedtreemapクラス使えば挿入順関係なくキーでソートされたような。 携帯からだから正しいか自信はない
key=value ペア程度なら Hashmap も使ってもいいけど、そこまで複雑なことをネストで達成するくらいなら、SQLite なりの DBMS 使うと思う。自分の場合。
274 :
デフォルトの名無しさん :2013/12/17(火) 19:01:01.05
275 :
デフォルトの名無しさん :2013/12/17(火) 19:05:52.79
>>270 new TreeMap<>(Student.idOrder);
キモはここっすね。コンパレータを渡してTreeMapのインスタンス
作ってるとこ。テストの点数を返すコンパレータを実装して渡せばいいよ。
Java8からutil.loggingがラムダ式に対応するんだね public void fine(Supplier<String> msgSupplier) パフォーマンスに自信があるってことなんだろうけど 文字列連結や詳細ログでisLoggableを使うとか考えなくてよくなるっていいな
277 :
デフォルトの名無しさん :2013/12/17(火) 23:06:26.88
馬鹿には無理、て言いたくなる
馬鹿には無理
馬鹿にはjava
馬鹿でーす、こんなに楽のはない
java8がXPに対応していない…… 買い換えるしかないな
283 :
デフォルトの名無しさん :2013/12/17(火) 23:44:12.50
>>272 google-gson libraryのLinkedTreeMapですか。
出来ればスタンダードなJDKでしたいと思います。ちょっとまだ勉強不足なので。
>>275 なるほど。
テストの点で並び替えするときに実装してみます。
しかし、
StudentSetクラスにあるgetIDMapやgetAgeMap()をどうにかして270みたいに出力したいのですが
---------ID
9:A:21:2013
---------AGE
9:A:21:2013
になってしまいます。
馬鹿には無理
馬鹿にはjava
馬鹿でもだいじょーぶ
JavaのサンプルプログラムがCDかDLなんかで入手できて、 それの解説が書いてある書籍を何かお勧めのあれば教えて下さい。
289 :
デフォルトの名無しさん :2013/12/18(水) 00:50:50.29
ラムダって関数型の基礎だろ。 手続き型のjavaでラムダって意味あるの?
C#とかRubyとかScalaとか、手続き型に関数型を混ぜるのが最近の流行り 普通は結構相性良くて綺麗なコードになるんだけど、Javaの場合は チェック例外という糞がありラムダと非常に相性が悪い それを無視してラムダを導入したために若干おかしな事になっている
javaに関数はないのにね
メソッドが関数じゃねえの?
関数って言葉の意味が混乱している。参照透過性ってのも混乱している。
転職しました
転職しました
298 :
デフォルトの名無しさん :2013/12/18(水) 06:27:35.92
>>283 > private static int id;
> private static int age;
Studentクラスのこのstaticを外せばid順はOK。staticだとすべてのオブジェクトで
値が共有されてしまうから。staticを外して個別に値を持つようにする必要がある。
age順は、TreeMapはkeyが同じものを複数保持することができないから
ageが同じときに上書きされてしまう。なのでkeyが一意になるようageのコンパレータをこういうふうにすればいい。
public static Comparator<Student> ageOrder = new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
int c = ((Integer) o1.getAge()).compareTo(o2.getAge());
if (c != 0) {
return c;
}
return Integer.compare(o1.id, o2.id);
}
};
転職しました
java覚えれば転職し放題だって聞いたんですが本当なんですね
Java EE7を十分に使いこなせてるなら即戦力だな
ジャバには関数はないという噂ですが、一方でジャバスクリプトにはfunctionという名前を使ってメソッド(オブジェクトへのバインディンク)を定義しますよね。 ということは、これら状況証拠だけから見れば、ジャバには巷の噂通りメソッドだけしかなく、ジャバスクリプトには言語仕様リテラルのとおり関数しかないという事ですか? どう違うかちゃんと理解しているジャバラーさんがいるならここらをキッチリと説明してください!?
なかなか釣れないですね〜^^
転載しました
馬鹿には無理
馬鹿にはjava
馬鹿かよ、底辺スレ過ぎる
なにこの糞っぷりw 終わったなジャバww
無い
フローチャートwww クラス図とかならある
>>316 すげー開発効率悪そう。図解した方が画面の場所を占有するし複雑化しそうw
業務用だとあり得ないけど、小学生とかへの教育目的ならありかも。 既にjava以外でそういうのあるけど。
コンストラクタってpublicつける時とつけないときがあるのですが、 何か使い分ける必要があるのでしょうか?
シングルトンパターンなどprivateコンストラクタが必要になるケースがある
ありがとうございます。自己解決しました
>>324 privateコンストラクタってのは初めて聞きました。
調べてみます。ありがとうございます
327 :
デフォルトの名無しさん :2013/12/20(金) 00:01:39.06
>> 298 凄い。説明まで丁寧にしてくださってありがとうございます。 ちゃんと出力値が合ってて助かりました。
328 :
デフォルトの名無しさん :2013/12/21(土) 21:09:26.57
パフォーマンス悪いなーと感じて調査すると、for文が遅いってのはよくあること インスタンス沢山生成してましたwwみたいな チラシの裏終了
オラクルのJavaコンパイラより 優れたclassコンパイラを自前で作ってしまえばいいのよ
330 :
デフォルトの名無しさん :2013/12/21(土) 23:21:50.12
maven使いにくいやー mavenプロジェクトに変換するといきなりエラーでるし
Maven3クックブックがわかりにくすぎて投げた 体系的に全体から詳細へと分かりやすく説明して欲しい
ivyはしょっちゅう依存関係の解決に失敗するしさー
JavaFXでGUIを作成しているんですが 起動してしばらくしていると /proc/プロセス番号/fdにsocketが溜まっていきます。 別にsokcet通信をしてるわけではないのですが これはJavaFX特有の症状なのでしょうか?
>>330 それはeclipse pluginの問題だろう。
>>335 ファイルを閉じるというのはFXMLファイルのことでしょうか?
>>336 FXMLファイルは閉じるとかないから
別のファイルは?
Linux, Tomcat でWebアプリを作成しているのですが、 サーバー側で重い処理を実行し、OutOfMemoryエラーが発生した場合、 その後のAppサーバーの状態はどうなるのでしょうか? 以下、私が考えていることです。 ・サーバーの再起動が必要? ・再起動せずに、重い処理を再実行して問題なし? ・再起動しなくても、ガベージコレクションでメモリは開放される? すみません、初心者ですがよろしくお願いします。
再起動が必要
340 :
デフォルトの名無しさん :2013/12/22(日) 16:40:09.85
あるクラスが別のクラスを継承しているかどうか、インスタンスを介さずに知る簡単な方法ってある? public class A<T> { public A(Class<?> clazz) { T instance = clazz.newInstance(); Type t = instance.getField("type").getType(); //ここで t が Bクラスを継承しているかどうか知りたい } } 最悪スーパークラスを順繰りに見ていく方法をとるけど、もうちょい簡単にできる方法あるだろjk
instanceof
isAssignableFrom
343 :
デフォルトの名無しさん :2013/12/22(日) 16:54:11.58
>>341 まじで? Type型なのに instanceof でいける仕様なの?
instance.type instanceof B
なら考えたけど、type に null が入っている時もあるので動かないかもしれない
344 :
デフォルトの名無しさん :2013/12/22(日) 16:57:38.05
>>341 さんを、別に否定も批判するつもり無いうえで
書かしてもらうと、instanceofを使うコードは
書くべきではない。
もし、使うはめになるならクラス設計を、考え直す
必要がある。
346 :
345 :2013/12/22(日) 17:23:42.00
よく考えたら 俺は、誰に向けて書き込みしたんだ? オナニーして寝よ。
おかずはなに?
>>346 おまえみたいなカスは一生オナってろよw
ゆとりってバカだなw
353 :
デフォルトの名無しさん :2013/12/22(日) 19:55:13.73
richfacesでイベント処理を行いたいのですが、動きませんでした。 アノテーションを使って書いているので、設定ファイルは特に不要だと思うのですが @ManagedBean public class Main { public void helow() { System.out.println("hellow"); } } <a4j:commandButton onclick="#{main.helow()}"></a4j:commandButton>
class Hoge { HOGE(1,"hoge"), FUGA(2, "fuga"); Object id; String name; Hoge(Object id, String name){ this.id = id; this.name = name; } } みたいなコードあって、やってることはわかるんだけど、 どういう理屈でEnumみたいに使えるのかわからん なんかこういうシンタックスシュガーあるのか?なんて名前でググればいいんだ?
typesafe enumでいいのか? この場合。
まだ enum が無かったころにその代わりとして使われていた技だね
357 :
デフォルトの名無しさん :2013/12/22(日) 20:13:00.81
Typesafe Enumっぽいレガシーな書き方なのかこれ ググったけどいまいち似たような書き方がヒットしないなぁ 分からないとこは class Hoge { HOGE(1,"hoge"), //<- なんでここでプライベートコンストラクタが呼び出されるかわからない ... Hoge.HOGE //<- なんでこれでアクセスできるかわからない 教えてください('・ω・`)
実はJavaじゃないんじゃね? Javaだったらコンパイルエラーになるだろうし。
>>358 あ、すんません、よく見たら class じゃなくて enum って書いてあった
SQL文をプロパティファイルに書いて呼び出していますが、 その場合SQLプロパティファイルはJar内部に格納するべきでしょうか? それともJar外部に配置するべきでしょうか? 現在はJar内部に格納してますが、一般的な配置を教えてください
345じゃ無いけれど実際の話 instanceofって、使う?
equals()で
rawリストを逐次処理するときに使う
以前はequalsとかでよく使ってたな。
じゃ今は何使ってるん?
質問させていただきます。 ジェネリックなクラスを作る時、よくTやらUやら まぁ、何でも良いのは良いのですが 三項演算子では、無く ?マークを使ってる(ジェネリックじゃ無くても) クラスなどのものって、どういう意味あいがあるのでしょうか? どなたかご教示願います。
371 :
366 :2013/12/23(月) 05:49:46.40
EJBって何やりたいんですか? 結局、どういうふうに使われているかわからないんですけど
おおがたけいさんき+こぼるのおきかえ
376 :
373 :2013/12/23(月) 15:40:03.60
JPAはEJBが必須なのか?
単独で使えるよ 年賀はがき管理だのカードゲームだのはJPA使うと幸せになれるな
379 :
373 :2013/12/23(月) 17:22:25.94
IDEで自動生成余裕なgetter/setterが自動生成出来て何が嬉しいんだろう
>>380 それ、java知らないからそういう回答するんだろ
Lombok使うとフィールドインジェクションばっかになりそうだな getListでlistがnullなら新しいArrayListを返したいから好きじゃない
getListなんてやってる時点で「あっ(察し)」だな カプセル化がまるでなってない
>>382 Lombokってインジェクションではないと思うんだが
JPAやJAXBで当たり前に使ってるから察しとかいってる奴がお花畑
>>385 自分で実装するクラスに関する話だよw
フレームワークに実装済みのメソッドを利用するなという話ではありませんw
残念w
底辺すぎる
getListコールしたらnewする仕様でいいんですか?
>>388 そんなの常識だ。防御的コピーでググれよ
勉強不足というか、自分用のなら別にどうでもいいですけど、普通はArrayListをnewしないことが多いですよ。
底辺で泳いでるのはいつでもどこでも雑魚ばっかりなんだな
>>390 Listの参照をそのまま外に返すってこと?ありえないだろ…
>>392 話の流れは関係なく言うけど、
それだとArrayListを継承したクラスも有り得ないってこと?
サーバでデバッグをやった時にコンパイルされいない時がある気がします。 これは、シンタクッスエラーがあるからでしょうか? →「自動的にビルド」と「サーバでデバッグ」は、何か関係がありますか?
>>346 いっちょまえに口出して背伸びしようなんて考えずにお前は一生オナって寝てろ
>>393 駄目です
get/setで他クラスから内部データを変更されたらカプセル化ぶっ壊れまくりでしょう
Listが必要ならListを内包してデータは隠す。外部からはListに何をして欲しいかをListの所有クラスにメッセージを送るだけ
ゆとりって馬鹿だな
>> 395 javaで開発してるんで、eclipseの事を質問しました。 サーバでデバッグの仕組みが、よくわからないでデバッグしてます
object.getA().getB() こういうコードは誰かに注意される前に「なんか違和感あるぞ」って思わない? object.getList().get(index) これもやってること同じだよ。
>>397 そもそもgetListやgetItemsのようなコレクションを返すメソッドを宣言しておきたいのだから、カプセル化の破壊の論点はあまり関係ないですよ。
>>397 その内包するクラスにあるデータを書き換えられると困るからさらにラップしたほうがいいな。
ザ・過剰包装。
オブジェクトはいじられてナンボ。
ReadOnlyの方が稀だわ。設計おかしいんじゃないの。
ゆとり死ね
>> 400 linqとか嫌いな人でしょー 変数をいちいち宣言してコードを汚すのもどうかと
>>399 javaはeslipseでしか開発できないと思ってんの?
>>403 ReadOnlyで使う方が圧倒的に多いからクラス設計はそれに合わせる必要があるんだよw
おかしいのはお前のあたまw
408 :
デフォルトの名無しさん :2013/12/23(月) 22:12:29.24
>>406 思ってねえよ。馬鹿なこと聞いてんじゃねえよ。
底辺乙
ゆとり死ね
>>400 なんか思考方法が硬直的っていうか、たぶん君はプログラミングに向いてないよ
底辺っていうよりも巷の流行りモノに流されやすいただの雑魚なんだろ
>>407 オブジェクト指向でなくて、上から下に流れるだけの設計(?)だとそうだな。
もし仮にそうなら最初からunmodifiableList使えばいいだけじゃね。
いちいちラップとか手間かかりすぎ。少数のインタフェースとかならわかるけど。
>>408 ならeclipseスレでなくjavaスレで、自分の環境も言わずに聞くのは馬鹿なことだってこともわかるよな?
馬鹿には無理
417 :
デフォルトの名無しさん :2013/12/24(火) 03:58:59.60
URLConnectionクラスのレベルで /etc/hostsファイルのようにホスト名->IPアドレスの対応を設定する方法ってないですかね? バーチャルホストで、リクエストのドメイン名で振り分けてるみたいで URLにIPアドレス直指定ではアクセスできないんです。 環境的にhostsファイルの書き換えもできません。
418 :
デフォルトの名無しさん :2013/12/24(火) 05:48:32.48
>>418 返す言葉がないからって、それだけじゃあまりにもつまらないぞ。もっとがんばれ。
ゆとり死ね
421 :
デフォルトの名無しさん :2013/12/24(火) 07:09:34.38
バカにはムリムリw
>>421 まるで小学生の反応だな。
早く学校行きなさい。
あらしたいのがいついちゃってるからね
Iterableのもたらす恩恵はもっと宣伝されてもいい。 コンテナ以外で使ってもいいのよ?
防御うんたら言う奴はどこまでdeepcopy実装してんの?
このプログラムの一部分について質問があるのですが import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int a=sc.nextInt(); int b=sc.nextInt(); int c=a+b; int count=0; while(0<c){ c/=10; count++; System.out.println(count); } } } } /= はどういう働きを持っているのですか?
自己解決しました
>>415 俺、質問者だけど
ここまでレスしてないよ
誰と戦ってんだよwww
>>417 URLStreamHandlerFactoryやURLStreamHandlerを実装する元気があるんならもしかして。
>>431 そんな面倒なことしなくてももっと簡単に済む方法はあるよ
まっ、教えないけどね☆
JSP/ServletのWebアプリの質問になりますが、 ネットワークに瞬断があったとき、 Sessionにセットしていた値は無効になるのでしょうか?
>>434 いい質問だね、しばらく自分で考えようね、勉強になるよ
>>435 そういう話ではなく正式な仕様が知りたいです
しばしば仕様未定義の領域はバージョンアップで挙動が変化するので
JavaでServletとかJSPとかそっち方面(Web)の開発をやってみたいんですが 必要なものを教えて下さい Eclipse Apache Tomcat こんなもんでいいですか?
>>438 ありがとうございます。ドキュメントを見ましたが、
ネットワークに瞬断があったとき、セッションがどうなるかの
記載は無いようですが。。。
自己解決しました
>>441 勉強するのと動作させる環境は違うが、DB
>>434 は「仕様」を使ってみたかったのだなー、わかるよ
>>434 ネットワークの瞬断って何だよ。TCPだろ。
寝ぼけた電話交換手が回線プラグ引っこ抜いたんだろ。
>>448 TCPを知ってる人には、全然面白くないと思うのだが…。物理的な回線は関係ない。
ゆとり死ね
そうじのおばさんだろ
インターネットが回線交換と信じてる人、たまにいるから洒落にならんな…
最近の電話回線はガチャリと瞬断したくらいじゃ切れないよー。 自動アンケート電話のしぶといことしぶといこと・・・
OC-192じゃないなんて古
JavaでC#みたいなデリゲートを実装しようとしたらリフレクション?
メソッドの参照を直接扱うことはできない 無名クラスを使ってそのメソッドを呼ぶようにするくらい
int[] n = {3,6,9}; int[] d = new int[]{3,6,9}; ってどういう時に使い分けるの?
メソッドの引数に配列リテラルを渡す際は後者の書き方しかできない
public void method(String arg[]){ } method({3,6,9}); // NG method(new int[]{3,6,9}); // OK こういうことね
int[] b = {3,4,6}; a.set(b[]); 逆になぜこうは出来ないんですか
こう言うこと考えるから学習が進まないんか
Number[] n = new Integer[]{1}; みたいな場合とか… 用途があるかどうかは知らん
ArrayList<String>[] nullpo = new ArrayList<String>[];
コンパイルが出来るコードにして
466 :
462 :2013/12/25(水) 23:18:03.30
今気付いたが、整数しか入らないNumber型の配列を作りたいとき、 Number[] n = {10, 20, 3.65555}; だとコンパイル出来ちゃうからバグに気付きにくいけど Number[] n = new Integer[]{10, 20, 3.65555}; ならエラーになってくれるな やっぱ使い道わかんねえわ
int[] d = new int[]{3,6,9}; が正式で int[] n = {3,6,9}; が略式とかじゃねの
Cを猿真似しただけで特に深い意味はない Cでは配列は値であってnewするもんじゃないからな
>>468 mallocで配列確保とかいくらでもありえるシーンだろ…
可変長のデータを受け取る場合はmallocで動的に配列の容量を決めなきゃ話にならん
>>467 Parent[] p = {new Child(),new Child(),...}のとき、pはParent[]型だけど、
Parent[] p = new Child[]{new Child(),new Child(),...}のとき、pはChild[]型なので単純な略式じゃない
Javaの配列は動的配列しかないから差ない Cはリテラル配列はスタック
>>470 ?
Parent[] p = {new Child(),new Child(),...} は
Parent[] p = new Parent[]{new Child(),new Child(),...} の略式だろ
受け取る側の型のnewと取るのが普通だろ
そのJavaの配列初期化ってJavaの公式ドキュメントのどこらへんに詳しいこと書かれてるん?自分では見つけられなかった
>>469 お前はJavaだけじゃなくてCすらろくすっぽ勉強してないのかよw
ダメだなこりゃw
>>474 具体的にどこが間違ってるのか教えてくれ
天才さん
>>473 公式ドキュメントの目次に書いてあるけど。
公式ドキュメントそのものが何なのかわかってない人?
公式ドキュメントで new int[]{3,6,9} のような記述の仕方について書いてあるページを見つけられなかったのでそのページのリンクくれ
>>476 >>471 をみて瞬時に理解できないのだから雑魚以下のおまえじゃ何やっても無理
向いてないっていうかCもJavaももう諦めろ
>>479 > Cでは配列は値であってnewするもんじゃないからな
Cの配列は値であるのか参照であるのか
Cの配列はリテラルであるのかnewで確保するものなのか
以上の話題と「動的配列」「スタック」に何の関連があるのか理解しかねますが。
説明できず対話もできないという話であれば、黙っているのがよろしいかと。
Oracleってそんなドメインのサイトも持ってたのか
底辺乙
動的配列 ・・・ 配列サイズが変わる配列 静的配列 ・・・ 配列サイズが固定な配列 動的メモリ ・・・ ヒープ領域にメモリが確保される 静的メモリ ・・・ スタック領域にメモリが確保される
>>481 「公式ドキュメントで new int[]{3,6,9} のような記述の仕方について書いてあるページ」へのリンクを示したまでだが
目次がどーかしたのん?
>>483 公式ドキュメントが分からんってことはどうせ英語読めないんだから英語の公式情報渡しても無駄だろ
>>485 つまり
・Cでは配列は参照である
・Cでは配列はヒープに確保されることもあるので「配列は値である」という断言は誤り
したがって
>>468 のレスは間違っていると。
こういう理解でよろしいですか?
つまり公式ドキュメントに書いてある部分はお前も知らんのか 役立たずめ
>>488 > 「配列は値である」という断言は誤り
↓
> 「配列はnewするもんじゃない」という断言は誤り
に訂正
>>468 をみて一瞬で理解できたしこいつは深いところまで勉強してるな〜と思ったけど、それに
>>469 は反論してるんだろ?
せっかく
>>471 で追加コメント貰えたのに、それでも馬鹿丸出しなんだから、向いてないっていうか、何やらしてみてもダメだろこういうゴミッカスには。
>>489 >>480 は公式ドキュメントの翻訳だから公式ドキュメントの該当の章と1対1に対応してる
反射的にレスする前にもう少し考えようぜ
ArrayCreationExpression: new PrimitiveType DimExprs Dimsopt new ClassOrInterfaceType DimExprs Dimsopt new PrimitiveType Dims ArrayInitializer ← この部分か new ClassOrInterfaceType Dims ArrayInitializer ←
Cでは配列もポインタも鬼門だから一生理解出来なくてもしかたないよ ポインタすらも正確に理解出来ないのに10年以上Cを使ってドヤ顔なんてざらにいるだろ ましてmallocとか言語仕様だけでなくライブラリも出てくるともう議論についてこれる人は(本当に理解しているひとにぎりの人を除いて)かなり少なくなるだろうね
timertaskって抽象クラスですか?
馬鹿には無理
>>504 大量の時間を解説サイトや仕様書を眺めために浪費してるだけでは、いつまでたっても本質は何も理解できないし結局何も作れませんよ
デリゲート風なクラス作ってみてが 普通にイベントハンドラのインターフェースでいいなもう
ジャバはとうにオワコンで、これからはシーシャープの時代ですよ?!
で、公式ドキュメントにはなんて書いてあったか3行でまとめて俺に教えろ 3行にまとめて説明できるくらいじゃないと本当に理解しているとは言えないぞ
シャープの時代って何のことかとおもったw
511 :
デフォルトの名無しさん :2013/12/27(金) 01:19:54.65
Java覚えようと思います。 難しいですか?
512 :
デフォルトの名無しさん :2013/12/27(金) 01:22:14.48
難しいです。
VC#と似たようなIDEを作ろうって気はないのか
514 :
デフォルトの名無しさん :2013/12/27(金) 01:27:49.87
そうですか。諦めます。
Javaなんか高卒文系でも会社入ってちょっと練習すりゃ使えるよ
高額歴でも素質のないやつには難しい。 天然バカでも素質のあるやつには簡単。
C++もJavaも向き不向きがあるから、少しでも難しい向いてないと感じたら、みんな大好きC#にするかもしくはプログラミング自体を諦めたほうがいい
馬鹿には無理
クラスライブラリのNumberのインターフェース版ってないんでしょうか?
>>511 言語なんて、覚えるというより、その言語
の文法と仕様と基礎的な部分の作法を勉強して
後はコードを書いて、実力をつけて知識を身に付けて
いくだけ。
javaの全てのクラスライブラリの仕様と使い方を
覚えてる奴なんていない。
C++のSTLの全ての仕様と使い方を覚えてる奴なんていない。
まぁ、もし全部覚えてる奴がいたなら、その覚える
のに、ついやした時間は無駄と言える。
ジャバやシープラプラが難しいのは言語やライブラリじゃなくてインストールやネイティブリンク(ローディング)やデプロイの方だと思いますよ
じゃばが無頭カスぃってwww
Javaってインストールするだけですぐプログラミングできる開発環境ってある? 言語学習用に何かないか探してます
java eeでロギングしたいのですが、おとなしくlog4j使っていいですか java eeはロギングフレームワーク無いんですか
ないよ、すきなのつかえば
thank
ストアドを使いまくる場合は、java + sql serverの構成ってどうですか? javaのメリット無いですよね(ストアドが古いってツッコミはなしで)。 ストアド使いたい場合は、oracle + javaの方が良くないですか
javaを使用してcookieを作ると 値の%が文字化けしてしまいます %のまま書き込むことはできませんか?
Javaのswitch文を多重に作成する場合に switch (hoge) { case aaa: switch (fuga) { case fuga_aaa: return true; default: break; } break;←ココ case bbb: switch (fugo) { case fugo_aaa: return true; default: break; } break;←ココ default: break; } return null;←ココ "ココ"と表記した箇所は必要ですか? チュートリアルにはこのように書かれていたので
チュートリアルに反発したい年頃なのかな
>>533 必要かどうかは
プログラムにどういう処理をさせたいかによる
サンプルコードに不必要だと思うコードがあると感じたのなら そのコードをコメントアウトするなりして実行してみればいい プログラムの挙動が変わらなければ不必要なコードだったのかもしれない
>>533 プログラミングやってると、頭使わないで機械的にルールに従ったコードの方を好むようになるもんなんだよ
今は分からないだろうけど、やってるうちにだんだんその感覚が分かってくる
return true; と return null; が同時に存在してる・・・?
はい いいえ キャンセル の3択みたいになるのか
ほうほう、言われてみればBoolean型は3値フラグにも使えるな 今頃気づいたよ。勉強になった
APIドキュメント見るとBooleanの新しいインスタンスが必要な状況がまれに存在するってあるけど、どんな状況なんだろ
クラスの直列化の時とか
リフレクション操作時とか
あるいは
>>541 の発展で5値フラグにするとか?
Boolean.TRUE, new Boolean(true), Boolean.FALSE, new Boolean(false), null で
swingはデザパタの宝庫だしBooleanも多用してる
誰かenumでswing作りなおしてくれよぉ
まともにswingも使えない馬鹿が吠えてますよw 明けましておめでとうございますwww
フラグが全部intなのがまともだって?
550 :
デフォルトの名無しさん :2014/01/01(水) 03:35:14.02
eclipseでjava3d始めようと思うのですが、ググると古いバージョンでの説明ばっかで正直分かりにくくてうまくいかないのですが、どこかオススメのサイト知りませんか? もし知っているのでしたら是非教えて下さい。 後、なるべくなら2013年あたりに書かれてるサイトだと嬉しいです
javaで3dやりたいなら今じゃlwjglしかない ほかはjavafxでes2だけど、linuxのサポートはまったく期待できないから、javafx 3dは実質windows専用
質問に答えて下さりありがとうございます。 ARをやる為にjava3dを始めようと考えたので、lwjglでもARをやる事が出来るならやろうと思うのですが出来ますか?
ゆとり死ね
byte b = (byte)0xc0; char c = (char) b; String.valueOf(c)で表示した文字列と文字リテラル'\u00c0' を表示したのですが、結果が違います。なぜなのでしょうか?
ああ、ごめんなさい、解決しました。 5.1.4. Widening and Narrowing Primitive Conversion 言語仕様の方にありました。
パッケージの分け方についてなんですが、何を目安に分けるのがいいんでしょうか? 機能で分けるというのは大前提にあるのかもしれませんが、それだけではパッケージ内の クラスが50を超えたあたりで煩雑になってきてしまいますし、その中で分けるとして、 インターフェースの継承関係などを目安にする場合、フォルダという階層構造の性質上、 多重継承によって破綻してしまいますし、インターフェースと実装で分けると 実装側での依存関係が煩雑になる気がします。
Javaの正規表現で パターンが1回だけあってもんなくてもいいって表現ってどうかくんですか? たとえば 2014 または 14 がある場合に 14 だけ取り出したいんですけど (":20)?14 ってかいてもうまくマッチしない…
自己解決しました
>>557 ごめんなさいコードにミスがあっただけでした…
おさわがせしました
>>556 パッケージ間に階層構造なんてないよー。少なくとも実行時は。
標準ロギングのオンオフぐらいしか思いつかない。
com.sunパッケージを隠蔽できないとかそのへんで、Javaパッケージは完全に失敗策だな
jbossからoracle 11g xeに接続したいんですが、jdbcドライバをjbossに登録しないとダメなんですか? とりあえず、JPAで開発したいだけなんですが
なんで、javaのエラーメッセージ難しいんだろ framework部分で落ちると、何がなんだかわからないや .NETだともう少し親切なのに
>>565 Javaは伝統的に、引数やフィールドのチェックがいい加減だから
その点.NETは、ライブラリがぬるぽ投げるなとかMSが率先して指導してるからな
>>567 引数がnullのときぬるぽが飛んでくる時点で...
Java最大の設計ミスの一つだよあれ
NullArgumentException ArgumentNullException
>>565 javaはものすごく丁寧な部類だぞ。
エラーコード返すしかない言語とかもあるんだぞ。
それは言語の問題なの?コンパイラやVMの問題じゃないの?
馬鹿には無理
>>571 JavaといったらVMやライブラリも指すんだよ
>>573 つまり言語じゃなくてVMやライブラリの問題じゃないの
JSPの主戦場は業務システムという超絶ドカタワールドだからそういうの関係ない
業務システムも最近は拡張性や頻繁なアップデートが求められるものが増えてきてません?
頻繁なアップデートする業務システムなんてありませんよ COBOLとかそういう世界です
ん?、そうですか??? Webサービスのものとか結構ありますけどね
Javaはアップデート頻度が高すぎるからCOBOLを選んたとか 耳を疑う言葉が本気で出てくる世界だからな
>>580 業務システムとWebサービスの区別が付いてないですね
基幹系ですよ
「業務システム」と言う言葉はもっと広い意味ですよ それは基幹系業務システムとでも呼んだらどうですか?
最近では端末に汎用的なスマホとかが使われることはあるけどどうなんだろ……
上っ面が変わるだけだよ 中身は何も変わらん
最近は客への表示も含めて業務システムと呼ぶんじゃないの で、そこにWebサービスが使われると
業務でAndroidとか言ってるのって基本的にWebベースだよ スマホ側でJavaとかほとんど使ってない、使ってても本当に薄い薄い窓口部分だけ
客が値踏みして安く買い叩こうなんてするマーケットは、テクノロジーとしてもマンパワーとしてもすぐオワコンになる
>>588 サーバ側での話じゃないの?
特に古くからそういうのを取り入れてるところは皆JSPでしょ?
なに、客は今動いてるクソの山に価値があると信じこんでるんだから また昔と同じ技術で手間かけてスマホ用のクソの山を積み上げてやるだけのことだよ
マイクロソフトはオワコンになる少し前に次のテクノロジーを発表して、マイクロソフト・マーケットがオワコンにならないように延命するから、マイクロソフトのテクノロジーが関わるマーケットはほぼすべて糞まみれになる
でもwindowsは3.1のころのアプリが今でも動いたり互換性はピカイチよ
アプリが大事なのかデータが大事なのか、プログラミングの高みを目指すのなら、そういうのは深く考えておいたほうがいい
データはアプリで整理管理できないとただのゴミの山だしアプリじゃね?
>>592 何か流行るとすぐパクるからじゃないの。
もともとパクリだっけ、商売上手で生き残ったからね
C#はJavaのパクリなんかじゃないっ
ぱくりぱくられ
C#でアプリを作ってもウインドーズでしか動かないって本当だったんですか?
javaを使ってキーワード検索機能を持つ画像収集プログラムを作りたいのですが 初学者に可能でしょうか
うーんどうでしょうかね
>>602 一般的なものなら可能
性能や機能にこだわりを持たせるのは不可能
>>602 どこから収集するか書いてないな。
ザッカーバーグの真似をしてwebスクレイピングと仮定しよう。
可能だけど、Javaはあまり向いてない。ruby+nokogiriあたりが楽。
アルゴリズムはキーワードの出現位置と、画像の論理的距離で評価するのかな。
WebスクレイピングにJavaが向かないとか初耳 ライブラリの充実度で言えばJavaかC#だろう
>>605 無駄に複雑怪奇にするのではなく、いかに簡単簡潔にできるかが大事なことじゃないですかね?
へー、あたらしいねた投入
みんなC#、C#って言ってるけど、実務ではVB.NETの方が多く使われるらしいぞ 仕事でVB.NET使ってるけど、VB.NETが嫌いだーって人が多いんだな VBは変数が日本語ってことが、よくあるしねー
VB.NETを必死に打ち込んで給料もらってるオッサン見たら笑いを堪えられる自信ないわ
>>612 すれち
すれち
すれち
大事なことは三回いいました
>>588 dalvikがあまりに糞すぎてNDKでJNI書くかWebViewの二択しかないがな
616 :
デフォルトの名無しさん :2014/01/04(土) 01:20:24.06
mavenで動的webプロジェクトを作りました。 依存関係を追加したのですが、/web-inf/libが空っぽのままでした。 そして、案の定プログラムは正しく動きませんでした。 どうやったらば、/web-inf/libへ*.jarをコピー出来るように出来ますか? それとも、クラスパスでどうにか出来ますか? 手動で/web-inf/libへファイルをコピーして、プログラムは動作確認しています。 そして、eclipse 4.2でプログラム開発を行っています。
アンドロイドはスレ違い
>> 617 普通に考えてServet Side Javaでしょ バカは死ね
server sideじゃね?
http://developer.android.com/reference/org/json/JSONObject.html このJSONObjectのkeys()メソッドを使おうとしてるのですが、どうように使えばいいのでしょうか?
JSONObject jsonObject;として
Iterator iter = object.keys();
にしたら、エラーじゃないですが、Eclipiseで警告が出て、
クイックフィックスで
@SuppressWarningsをiterに追加とかでますが、このフィックスを適用して無視していいんですよね??
これはkeys()メソッドが未加工型とかいうもの??を返すようになってるから仕方ないですよね?
どうでもいいですが、 Iterator iter = jsonObject.keys(); でした。
荒らすなチンカス
.NETのDateTimeOffsetみたくタイムゾーンを持った日付を扱うには、 JavaではCalendarクラスを使うのでしょうか?? で、問題は、Calendarクラスは抽象クラスとのことで、例えば、 Calendarクラスをフィールドに持つオブジェクトをシリアライズして、別の環境で デシアライズする時、別の環境で特定のカレンダーの具象クラスがサポート?されてないと エラーになっちゃうよーな気がするのですが。 その時は、GregorianCalendarとか具象クラスを直接使っておけ?ってこと?
例えば、人を表すPersonクラスを定義する時、 public class Person { private String name; private GregorianCalendar birthday; } こんな感じでしょうか??
でも、Calendarって、特定の日時を表わすのではなく、カレンダー自体(カレンダーシステム)ですよね・・ どっちかというと、DateクラスとTimeZoneクラスをペアで保持しろってことか・・??
Calendarは特定のカレンダー上の特定の日時を表す 名前が悪いけど、Javaの日付関連のAPIは基本的に腐ってるので余計なこと気にしないほうが精神衛生上良い
>>624 LocalDateTimeを使えとチュートリアルに書いてあります。
# 妙なこと考える前に基本からやり直しましょう
>>628 Java8じゃねえか
# 妙なこと考える前に現実を見ましょう
>>629 > JavaではCalendarクラスを使うのでしょうか??
という質問に対しては「JavaではLocalDateTimeを使います」と答えるしかないでしょう
今は公式のチュートリアルにもそう書いてあるのですから
>>627 気にしない方がよさそうなのですか。わかりました。
>>628 Java8ですか。初心者の私にはよくわからず、
実際はAndroid開発してるので使えるのかわかりませんが、
ポインタとして覚えておきます。
>>624 GregorianCalendarのコンストラクタ使って作られたオブジェクトなら、
フィールド型がCalendarだろうが
実行時に正しくGregorianCalendarでデシリアライズされると思うよ
祝い事の「誕生日」をDateでなくCalendarやLocalDateに納めるセンスは そんなに間違っていないと思う。 ただし酒呑んでいいのは二十歳誕生日前日午後12時から
EJBのセッションBeanと、CDIは何が違うのでしょうか?
OCJP-Bronzeの勉強をしている者です staticメソッドについて質問があります public class SuperClass { private int num = 10; void test(){ System.out.println(num); } } public class SubClass extends SuperClass { private int num = 20; public static void main(String[] args){ SubClass sub = new SubClass(); sub.test(); } } 実行結果 10が表示される ということなのですが、mainメソッドのsub.test()の部分でstaticメソッドからインスタンスメソッドにはアクセスできないはずでコンパイルエラーになると思ったんですが どうしてエラーにならないんですか? 教えてください
> staticメソッドからインスタンスメソッドにはアクセスできないはず そんな決まりありません
639 :
デフォルトの名無しさん :2014/01/05(日) 22:50:20.20
>>637 >SubClass sub = new SubClass();
ここでインスタンスを作っているから。
class X{ static int val; } class A extends X { A(){val++;} } class Toi7_1 { public static void main(String[] args){ new A(); System.out.println(X.val); } } 結果画面には 1 がでます。 変数 val を 初期化(val = 0)をしていないのに 始めから0扱いされてるのがよくわかりません。 そういうものとして覚えていくしかないんでしょうか。
ロギング関連の記事を見ると、こんなコードが書かれています。 private static final Logger LOGGER = Logger.getLogger(Sample.class); これって、本当に賢い選択なの? 共通化するのは危険 or 共通化するのが意味が無いのどっち
A,B,Cというクラスを作ったとして AでBをnewしてBのメソッドを利用してBのクラス変数を変更 そしてCでBをnewしてBのクラス変数を取りだした場合 Aで変更した数値になっていないのは何故ですか?
>>642 よくわかる説明サンクスです
メンバ変数はなにもなくてもおっけなのですね
フィールドのプリミティブって初期化されるのか
>>643 クラスごとにログを採りたいんだろ
別にインスタンス変数にしてインスタンスごとにnewしてもいいが
どうせキが同じだから混ざるのでメモリの無駄なだけだから共通化してる
もちろん、もしもインスタンスごとに別々にログを採りたいなら
インスタンスごとにインスタンス固有の値をキーに使ってnewしてもいい
>>643 どのLoggerか知らないが。
アプリごとにひとつにするって話なら、そうしているライブラリもある。だけど、クラスごとが多い。
クラスを与えるとパッケージ名から親子関係作ってくれて、フィルタリングをしやすくなるという実装があったり。
それがどうかは知らない。
あとひとつにすると、依存関係が生まれる。
>>644 クラス変数になってないんじゃね。コードで出せよ。
フィールド値、ローカル変数含め、 不定値などありえないと証明できるのがJVMの素晴らしいところ。 「証明なんぞできるわけない」とか言い出す 老害C++プログラマ黙らすいい方法、誰か知らないかね
>>649 vmとrtの違いを正確に教えてやればいい
不定値などありえない という言葉の真意がわかりません。
0/0の演算結果が定義されてるんだよ きっと
Javaだと0除算はArithmeticExceptionだな。
最高におもしろいこと言ったのにまじれすされてますね
java.awt.Shapeでドーナツのように孔のある図形を描く方法はあるか教えてください。
656 :
655 :2014/01/07(火) 17:41:07.01
なお孔が1個くらいならなんとかなりますが複数あるとわけがわからなくなります。
それは良かったですねー
お手を拝借
hadoopのMapreduce関係の質問ってこのスレであってますか?
あってます
>>661 即レス感謝です
入力テキスト
1行目:1
2行目:2
3行目:3
4行目:4
…
このように記述されたテキストファイルを、MapReduceで処理しようとしています。
Map処理1:1行目+2行目(1+2)
Map処理2:2行目+3行目(2+3)
Map処理3:3行目+4行目(3+4)
…
と2行ごとに加算処理をかけたい場合ですが、
ファイル入力をどのように行ってよいかわかりません。
・FileInputFormatだと、テキストファイル1行をMap処理へと渡す
・NLineInputFormatだと、指定した行数分をMap処理へと渡す
Map処理1と3は実現できましたが、Map処理2が実現できそうにありません
どなたかご教示お願いします。
663 :
デフォルトの名無しさん :2014/01/07(火) 22:57:02.48
weblogicとJava1.4の環境でアプレットメインの古いシステムがあるんですが、 先日接続元の端末がWin7化に伴いJava7となり、eclipseでリモートデバッグを実行しようとすると 「リモート VM に接続できませんでした。接続は拒否されました。」 Java1.4の時Java実行時のパラメータで-Xdebugとか指定してましたが、 java7ではデバッグオプション的なパラメータはどこになにを指定すればいいのでしょうか。 また、ほかになにか環境設定等が必要でしょうか。
ないみたい jconsoleとか
665 :
デフォルトの名無しさん :2014/01/07(火) 23:33:10.65
えっ アプレットってeclipseに見捨てられたってことですか?
しらんがなー
自己解決しました
ぼくちゃんも自己解決しましたー
あらしに失敗しました
if (tx + 8 > ex && tx < ex + 32 && ty + 8 > ey && ty < ey + 32) 当たり判定の条件式が全然わからん 四方から囲んで対象オブジェクトが判定区域内に収まったらOKってことか?
矩形の重なり判定だろ とりあえず32とか8とか矩形のサイズを直接書くのはやめろ 典型的な方法としては矩形の他にも円を使うのもあって (x1-x2)^2+(y1-y2)^2 < (r1+r2)^2 こっちの方がわかりやすいんじゃないかな
672 :
デフォルトの名無しさん :2014/01/09(木) 11:57:06.65
ちんこちんこ
自家発電しました
ちんこ!ちんこ!
>>670 あれだ四角いフレームが2つが重なってる条件とは
左上端と右下端が絡まっていると考えればいい。
わかんなければ重なってない条件を否定すればいい。
結局はドモルガンの定理で変形すれば意味は同じ。
(xm,ym) (xn,yn)を矩形の重心としx軸方向の半径をrx*,y軸方向の半径をry*とすれば |xm-xn|<=rxm+rxn かつ |ym-yn|<=rym+ryn が交差条件だから (x1,y1,x2,y2) (x3,y3,x4,y4)で矩形を表すならx成分の交差条件は |(x2+x1)/2-(x4+x3)/2|<=|x2-x1|/2+|x4-x3|/2 (x1+x2+(x3+x4)+|x2+x1-(x4+x3)|)/2<=(x1+x2+|x2-x1|+(x3+x4)+|x4-x3|)/2 max(x1+x2,x3+x4)<=max(x1,x2)+max(x3,x4) とか式変形してみたものの何も得られない。
そうでもないか x1+x2,x3+x4,max(x1,x2),max(x3,x4) は矩形ごとに固定値だから計算した値を保持しておけば 別の矩形と比較するときに比較処理を半減させることができる。 以上スーパードカタのチラ裏でした。
いやmax(x1+x2,x3+x4)で比較しているから半減させることはできない。 つまり以上は意味ない。 あるとすれば図形をなんらかの法則でソートするとに遣えるくらいか。
矩形という概念を長方形や四角形ではなく正円や多角形で考えると少しは有用なのが浮かぶかもしれないしそうでないかもしれない
Shape#intersects()とかRectangle2D#intersects()とかいろいろあるだろ
てす
アプレットの動作をFireFox20.0.1で確認しているのですが新しくコンパイルし直しても変更が反映されません キャッシュ削除も試して見たのですがダメでした どうすれば更新されますか?
685 :
デフォルトの名無しさん :2014/01/11(土) 12:35:04.80
>>684 Shiftキーを押してリロードボタンをクリックするとスーパーリロードできるよ。
スーパーリロードを試してみてください。
関数の呼び出し命令を変数に格納したいのですが、どうすればできますか? このように呼び出すのではなく kansuu() こんな感じで呼びたいです Kansuu kansuu = kansuu() kansuu.call
>>686 Javaではメソッドがファーストクラスオブジェクトではないから、
たぶん期待するような事はできない。
Java8でラムダとメソッド参照が追加されるので ClassName::methodName でラムダ化する事はできる。
後は java.lang.reflect.Method とかだね。
688 :
デフォルトの名無しさん :2014/01/11(土) 19:58:43.52
javaに限らずPGに必要とされる頭の良さというのは、いわゆる学校での成績の良さとは違う所にあるんでしょうか?
>>688 MethodHandleではダメなんですか?
>>689 PG止まりでいいんなら最も重要なのは単純作業を正確にこなす能力
PGの上とかさらに上って例えば何があるんですか?
スーパーPG
ウルトラスーパーPG
DVD-PG UMD-PG BD-PG
馬鹿には無理
上流PG
699 :
デフォルトの名無しさん :2014/01/12(日) 10:43:03.79
>>689 学校での成績の良さはいわゆる文系的な非合理を受け入れられる「頭の悪さ」の上に成り立っている。
成績の良さの頂点である東大法学部卒の弁護士と検事が一つの法律をめぐって正反対の主張をしてコレを文系では論理とか学問だと読んでい。(馬鹿ですね^o^)
ITの世界厳密論理の世界です。
700 :
デフォルトの名無しさん :2014/01/12(日) 10:44:08.35
x読んでい。 O呼んでいます。
厳密論理が成立するなら人間の仕事はなくなります
質問です。 あるSetの内容をキーとして、エントリの追加と削除を同期することができるMapとか 標準ライブリにないでしょうか? 追加する場合の値はnullで構いません。 Map#keySet()で得られるSetはMapと同期しており削除は可能ですが追加がサポートされていません。 さらに言えば、Map基準なので、その取り出したSetを基準に他のMapを同期させることなどができません。
>標準ライブリにないでしょうか? 追加する場合の値はnullで構いません。 そんな変なもん標準には無いだろ >Map#keySet()で得られるSetはMapと同期しており削除は可能ですが追加がサポートされていません。 >さらに言えば、Map基準なので、その取り出したSetを基準に他のMapを同期させることなどができません。 自作すればいいんじゃね そんなもんすぐ作れるだろ
論理演算子を変数に格納しておく簡単な方法はありますか? check(1, <= , 3); //戻り値 true or false
check (1, new LogicalOperator() { @Override public void apply(int x, int y) { return x <= y; } }, 3); 簡単じゃないと思うなら諦めてenumでも渡してswitchしろ
そういうことができる言語は他にいろいろあるけど、代替不可能な必要性はまるでない。
ラムダ?
>>707 簡単にはできなそうですが、やり方は分かりました
ありがとうございます
711 :
初心者 :2014/01/14(火) 11:02:48.13
public interface Hello{ public void hello(); } ー ー ー ー ー ー ー ー ー ー ー public class HelloWorld implements Hello{ public void hello(){ System.out.print("Hi!!!"); } } ー ー ー ー ー ー ー ー ー ー ー ー public class test{ publc static void main(){ HelloWorld hw = new HelloWorld(); 1 Hello hw = new HellowWorld(); 2 Hello hw = new Hello(); 3 } } ー ー ー ー ー ー ー ー ー ー ー ー ー
712 :
初心者 :2014/01/14(火) 11:05:34.27
>>711 このようなインターフェースとクラスがあったとして
main()内の
1,2は実行可能、3は実行不可になります
3が実行不可なのはインターフェースはnewできないので理解できるのですが
1,2の違いは何でしょうか?
よろしくお願いします
>>712 Interfaceにない、拡張されたメソッドが、2だと隠蔽できる。1だと拡張できる。
1:新人は女子トイレに行きました。 2:新人はトイレに行きました。
>>712 ・HelloWorldに新しいメソッドを追加した場合、(1)からは当然そのメソッドを呼べるが、(2)からはそのメソッドを呼び出せない
・引数としてHelloWorldを要求するメソッドが存在した場合、(1)はそのメソッドの引数として渡せるが、(2)はそのメソッドの引数として渡せない
具体的なソースコード
http://ideone.com/iFYkn5
716 :
初心者 :2014/01/14(火) 11:26:02.71
>>713 >>714 >>715 具体的なコードまで提示していただきありがとうございます!
使い分けられるかは別として、ロジックは理解出来ました!!
717 :
デフォルトの名無しさん :2014/01/14(火) 12:20:10.20
時間を呼ぶときにcalendar classを使うことがあると思うのですが Calendar cl = new GregorianCalendar(); GregorianCalendar cl = new GregorianCalendar(); この2つに差はありますか?
>>717 GregorianCalendar で定義されたメソッド、例えば isLeapYear(int) とかを使いたいなら
GregorianCalendar型の変数にしとかないと面倒くさい。そうでないなら Calendar で構わん。
javaプロジェクトにてxmlファイルを追加しました。 androidプロジェクトではxmlを編集する場合 テキストエディタとアイテムを直感的に操作できるエディタの切り替えができましたが、 javaプロジェクトではテキストエディタでしか操作できませんでした。 そのようなエディタを起動するには何をすればいいのでしょうか
環境はeclipseです
androidはスレ違い
右クリックしてエディタを選択すりゃいい。
xmlで右クリックしてもそれらしいのが出てきません。 プロパティなどでxmlの項目を見てもちょっとよく分かりませんでした。。。
型パラメータの<?>は他の<T><K><V><E>などは違う意味があるのでしょうか? それとも単にタイプ、キー、バリュー、エレメント以外の何かという意味でのハテナなんでしょうか
>>726 レスありがとうございました。
よくわかりました。
728 :
デフォルトの名無しさん :2014/01/15(水) 04:37:57.77
アプレットとWebStartが改善するってことなのか?
つ づら
>>730 逆だよ
署名必須化で昔ながらの一般Webサイトのアプレットは本当に完全に終了
まともにセキュリティホールも塞げず、こういう臭いものに蓋をする 人的な対応しかできないって恥晒しだよな クライアントJavaの現状からすれば、利用をイントラに限るってのは全くもって妥当な判断なんだろうけど
スレチかもしれないけど署名ないアプリを実効したい場合は セキュリティいじれば実行可能?
Oracle氏ね
お、お、オラ狂ぅう!
javaってダウングレードできないのかな u51が糞すぎて45に戻したいんだけどうまくいかねえ…
ブラウザがjavaのプラグイン読み込まないんだけどなんなの
javaのダウングレードって・・・
>>738 アンインストールしてからインストールじゃダメなわけ?
ごめん説明が足りなかった インストールはうまくいくんだけどブラウザのプラグイン一覧にjavaが表示されないのよ javaの設定でブラウザで有効にしてあるし、競合が起きるようなプログラムはインストールされてないんだけどなあ…
ぐぐれかす
ブラウザといってもIE、FireFox、Opera、Safari、Chorome、などなど他にも色々あるわけでブラウザ固有の問題ではなくJavaに問題があるとと思う根拠は何
ブラウザのスレで訊いたほうがいいんじゃないの
ていうか、ジャバは馬鹿にとって難しすぎるから諦めたほうがいい
ではバカに向いている簡単な言語はなんですか?
ぐぐれかす
「ぐぐれかす」って何?
まともなセキュリティも作れないアホなオラクルの社員はー
>>753 まともなセキュリティとはどういうのなんでしょうか?
>>755 まともにサンドボックスがサンドボックスとして機能するなら
大半のアプリには署名なんか要らない
クラス設計について調べているのですが実際にどういうクラスを作りどのように書くのかが全くわかりません 関連、集約、コンポジション等も例があり説明されるとわかるのですが自分では考えられません 自分で考えられるようになりたいのですが参考になるサイト・書籍を教えてください
>>757 書籍 憂鬱なプログラマのためのオブジェクト指向開発講座
例はC++だが、設計が主なので問題なく読めると思う。俺もC++は使ったことない。
OMTについて説明してるのだが、どうやってクラスを決めるかという手法が含まれる。
Amazonで目次見れる。
第4章は、ずばり「なにがクラスになるのか、そしてならないのか」。
マジおすすめ。
>>756 javaのサンドボックスはまともに機能してなかったんですか?
>>758 ありがとうございます
レビューもよさそうなので買ってみます
>>759 機能してたかどうかは問題ではない
度重なるセキュリティホール問題によって、世間にそれが機能していないと思われてしまったことが問題
手っ取り早く金をかけずに信用回復するためには切り捨てるのが一番だ、となったわけだ
>>756 もともと署名するのが原則で、今まではオラクル様の慈悲のおかげで署名しなくても動いてたってことでしょ?
サンドボックスがあるのに署名が必須って そりゃ自らセキュリティがザルだと認めてると取られても仕方ないわ
サンドボックスなんざJDK1.0時代の遺物だろ。 そもそもはサンドボックス回避するための署名だったはずだぞ? アプレットごときにファイル保存とか多機能を求めるバカなんざ救済しなきゃよかったんだ。
OS起動したらログインとパスワードは毎回ちゃんと入力してデスクトップに入るけど、これってサンドボックスとかセキュリティー以前に当然のことじゃないの?
768 :
デフォルトの名無しさん :2014/01/17(金) 00:56:11.24
>>765 同意。
ファイル保存したきゃ、アプリケーションダウンロードして使えとするべきだったね。
Javaのセキュリティ悪いって何と比較して言ってるんだ?
話を理解してないんだな 署名必須にするってことは技術的な対策をするのを放棄したってことだ 悪いかどうかは善くも悪くももう問題じゃなくなった
FlashとJavaScriptは署名なしでサンドボックス作れているけど Javaはできてない。Flash、JavaScript以下。 OracleのプログラマはAdobeのプログラマ以下のゴミ
ブラウザはもはやアプリの域を超えてるから、HTML5が近づいている現在ではブラウザを起動するときもログインとパスワード必須にしてもいいかなって思う
>>773 セキュリティとかパーミッションの問題なわけで、影響を受けるのはアプレットだけじゃないけどな
ジャバはどんどんシステムとして難解になり馬鹿にとっては難しくて敷居が高くなっていくよ
>>772 flashもjavascriptも穴だらけじゃん。
javaのバグもjavascriptからJavaオブジェクトにアクセスした時にサンドボックスが働かないとかだったよな
自称エンタープライズなサーバサイドJavaプログラマ連中は もう少しjava.security.*に関心持てよ。
どうして自称セキュリティさん?
かつて「Java2プラットフォームセキュリティ」って 伝説級のトンデモ珍訳本があってだな…それはさておき ライブラリ納品するときに、実行に必要なPolicyも明記するような時代が 来てもいいと思うんだが、なかなか来ない。 もっと人を疑おうぜー
NIOは何の略ですか?
new i/o では?
>>776 でもFlashとJavaScriptが署名なしで動くのはまぎれもない事実。
ゆえにオラクルのプログラマがゴミくずなのは変えられない事実
>>783 そしたら何もついてないアセンブラ最強って理屈になるけど。
壁に穴が開いてるのと、もともと壁がないの比べて、後者のほうが安全っておかしくないか。まあ、安全と思い込んで油断すると言うならアリだが。
現在のWeb開発の流行のフレームワーク構成ってどんなのか教えてほしいんでゲスが。
789 :
デフォルトの名無しさん :2014/01/18(土) 16:12:56.70
推奨でなく「どうしたら正しく動くのか」を明確にしてください
JSFでカスタムタグを作ろうと思うのですが、必ずMVCにしたほうがいいのでしょうか? ビューとモデルだけ作って、コントローラは作らないってのはありだと思いますか
793 :
デフォルトの名無しさん :2014/01/18(土) 20:24:22.38
794 :
デフォルトの名無しさん :2014/01/18(土) 20:28:26.58
ちなみにJRE最新の、「Java SE 7 Update 51」はコードサイニング認証してるJarじゃないと、まともに動かない。 個人でアプレット公開してる人はユーザーに「Java SE 6 Update 45」を使ってもらうことを推奨すべき。
795 :
デフォルトの名無しさん :2014/01/18(土) 20:30:41.39
なんで1.6なんだろ。1.7はヤバいの?1.7は1.6より1.5倍高速で気に入ってるのに。
>コードサイニング認証してるJarじゃないと、まともに動かない 20年かけて、ようやく最低限のあたりまえのセキュリティーが 確保されたということですね どうしてこんなに糞なのか不思議
797 :
デフォルトの名無しさん :2014/01/18(土) 20:34:16.94
ちなみに1.6は1.5より1.4倍高速で1.5は1.4より1.3倍高速です。
1.7にしてjavaがC++の速度を超えたのは快挙だったのに。
C++を超えるわけねえだろ
800 :
デフォルトの名無しさん :2014/01/18(土) 20:46:30.62
java1.7はオブジェクト指向においてC++よりも20%くらい速い。これは紛れもない事実。 ただし条件がある。C++ではなくCと同じ記述ならば倍遅い。
速度を出すためにC++でクラスを一切使わずCと同じ記述をしたらもはやCであり。 ならば素直にC++で書いたものは確実にjava1.7より遅い。
802 :
デフォルトの名無しさん :2014/01/18(土) 20:58:42.33
1.7でも良いんだが、ただし「Java Runtime Environment 1.7.0.17 (32-bit)」までじゃないと アプレットサイトはまともに動かない。 1.7.0.21からコードサイニング認証済みJarじゃないと「常に信頼する」チェックが出なくなった。 つまりアプレットじゃJNLPを実行するたびにセキュリティ認証ダイアログが表示されるようになる。 JREの俺俺認証で一番最後のまともに動くバージョンが1.7.0.17ね。 ただしバージョンアップしろ警告がでる上に勝手にダウンロードアップサイトに飛ばされたりするので バージョンアップ警告がでない1.6系がお勧めなのです。
803 :
デフォルトの名無しさん :2014/01/18(土) 21:03:27.11
805 :
デフォルトの名無しさん :2014/01/18(土) 21:21:15.20
>>804 例外サイト設定は、セイキュリティダイアログでの認証ができますよってのを許可する設定なので
アプレットやJNLP起動のたびにセキュリティダイアログが表示されるのは改善されない。
毎回表示されるセキュリティダイアログを表示しないようにするには、コードサイニング認証署名された
JARファイルにした上で「常に信頼する」チェックボックスにチェック入れてもらうか、
セキュリティの甘いJRE1.6を使ってもらうかの手段しかない。
jar聞くが、オレオレ署名だとやっぱ信頼できないって出るだろ。
日頃からジャバ使ってればなんてことないけど、たまにしか使わなかったり数年使ってなかったりすると、ジャバの仕様変更を追いかけるのはもはや不可能なので、やっぱりジャバは難しすぎるから馬鹿には無理といえる。
オレみたいなバカには無理って自己紹介しなくていいから。
809 :
デフォルトの名無しさん :2014/01/18(土) 21:45:42.64
質問です。 Javaプロジェクトで作ったライブラリ郡をjarファイル化する際に、 ライブラリを利用するだけのユーザ向けに主要クラスだけを可視化したjarと、 ライブラリを拡張する人に向けたjarに分けたいのですが、同一プロジェクトの 同一パッケージ内でそういったことは可能でしょうか? もしできない場合は、プロジェクトを分けたり、パッケージを分けたりするなら可能なのでしょうか?
>>810 Javaでということなら基本的にできるけど。eclipseの話ならスレチだろう。
jarの中にjarを配置することは可能で、対象者別に署名すればOK.
クラスローダを使えば、同一パッケージ名で違うクラス群の入ったjarを扱うことは可能。 そいつらにはinterfaceのメソッドでアクセスすることになる。 インターフェースではなく継承クラスでアクセスすると予期せぬ変態的な動作をするので注意。
ライブラリ拡張したい人には自前で新パッケージ用意させるのが普通。 protected をうまく活用すれば 別パッケージ間でも拡張できるよ
setContentView(View view)はvoid型なのに void setContentView(View view) というふうにvoidを書くと文法エラーになってしまうのは何故ですか?
なにがどこでなにをしたらエラーになったのか不明。
voidは型じゃないしー、 そんなトリック使わなくてもセミコロン付けりゃメソッド起動式文として成り立つと 言語仕様の§14.8に書いてあるがな。
import java.applet.Applet; import java.awt.*; public class HelloWorld extends Applet{ public void paint(Graphics g){ g.drewString("Hello World",50,40); } } このソースでシンボルが見つからない旨のエラーが出るんですが、一体どこが間違っているんでしょう 参考書と見比べても違う部分はないはずなのですが・・・
>>818 drewString
それはともかく、アプレットなんかに今更手を出すな
完全に終わった技術だ
>>819 eとaを間違ってたんですね! ありがとうございます
確かに最近はアプレットなんて使うことないですよね・・・
javaを勉強する上でいい勉強法とかあるでしょうか?
アプレットはideで直接かappletviewerでしか起動しないかな java.awt.Panel継承でやろうと思えばmainからも起動できるし、なれるとアプレットの良さが少しは分かるよ もともとのブラウザ用途はオワコンだけど、javawsのようなブラウザに依存しない起動方法にすればアプレットは終わった技術というわけではない
>>820 とにかくなんかWebサイトを公開するんだ
Javaをやるならサーバーの方だけ向いてればいい。クライアントやりたいなら他の言語池
Javaの学習サイトだと流れでとりあえずアプレットもやっとくってのがあるから Javaやり始めた人もとりあえずやるって感じなんだろうな
appletviewerをオラクルが頒布すればいい
オラクル的にはさっさと絶滅してもらいたいんだろ 奴らにとってはクライアントJavaはJavaの評判を落とすだけで金にならない癌だからな
appletでブラウザ間借りの方針を改めて、javafxではネイティブ機能の積極的アクセスの方向に向かえば、クライアント市場も金のなる木になるんじゃないか webではhtml5のブラウザの呪縛からネイティブ・サポートを求めてjavafxに流れてくるし、mobile端末も用途はサーバよりむしろクライアントでしょ javafxの出来も品質も悪いし、オラクルがjavaのライセンス販売に今でもこだわってるから、そのような事態にはならないけど
サーバーしかやる気がないというより知識がないんだろ 無能だからな
オススメの認証局とか、ここの話題にかずりもしないところが Appletの凋落ぶりを示していてなんとも...
証明書なんてお高いんでしょう?
831 :
デフォルトの名無しさん :2014/01/19(日) 18:55:01.67
グローバルサインで1年5万円くらいかな。 ベリサインなら年10万円。
832 :
デフォルトの名無しさん :2014/01/19(日) 19:05:36.30
オレオレ証明書なのにセキュリティ上のリスクが生じる恐れがありますと出ないjava appletが存在するけど あれは一体どうやるんだろう。
ウィルスに感染してる恐れが
834 :
デフォルトの名無しさん :2014/01/19(日) 22:31:58.85
JSFで複合コンポーネントから、javaを呼び出したいのですが呼び出されません。 何か間違え得ていますか?↓ 呼び出し元 <p:panel id="confirmPanel" > <is:confirm callbackMethod="#{test.callBusinessLogic()}" /> </p:panel> 複合コンポーネント(is:confirm) <composite:interface> <composite:attribute name="callbackMethod" method-signature="void action()" /> </composite:interface> <composite:implementation> <p:commandButton action="#{callbackMethod}" /> </composite:implementation>
実行してもエラーすら吐き出さずにコマンドプロンプトが止まっています コンバイルは成功したのですが‥
836 :
デフォルトの名無しさん :2014/01/20(月) 05:45:12.48
>>835 超時間かかる処理が行われているか、無限ループに突入しちゃってるかじゃないかな。
どんなコード書いたの?
837 :
デフォルトの名無しさん :2014/01/20(月) 08:52:33.99
ここでいいのかわからないのですが教えてください。
今までWindowsサーバ、IIS、SQLserver、.netでwebシステムの開発してきたんですが、
会社の方針で今後はLinux(redhat)、JBOSS、mySQL、javaに切り替えていくことになりました。
そこで1から勉強するのにお勧めの書籍を教えていただけないでしょうか。
dbのデータを取得し表形式表示や更新、Excel出力や取込、などを使用したものを作るのに勉強しやすい書籍がいいです。
http://www.amazon.co.jp/gp/aw/d/4844330861 スッキリわかるJAVA入門
本屋で色々のぞいてみたところこの本が結構いい感じな気がしたんですが、どうでしょうか
よろしくお願いします。
>>837 .NETで開発してたならJavaを1から学ぶ必要性が理解できない
その本少し見てみたけどコンストラクタだのカプセル化だの、.NET経験者なら誰でも知ってることを改めて説明し直してるだけだし3
841 :
837 :2014/01/20(月) 13:03:07.78
転職ですか… JAVA関係ない話で申し訳ないんですけどほぼ毎日9-18時でちゃんとあがれる職場なのでできたら続けたいと思ってるんですよね あと.netで開発してきたといっても結構なぁなぁでやってきたので1からは言い過ぎにしても5か6くらいから学ぶつもりでいます この本以外でいいので何かないでしょうか
999 名前:837 :2014/12/31(水) 03:46:05.00 ううっ、あの日に帰りたい・・・(涙)
後出しの.netで限定的な環境でやってたなら、それと同じようにやるにはどうするかという考えでは大変そうだ。 最初にVBやると、ハッカーにはなるのは大変だと聞いたことあるし。
貯金と資格貯めとけよ
ちょきんなんてちきんのすることだぜ
自作ライブラリ貯めとけという発想が無い時点でPGの適性ゼロ。 それにしても適性の無いやつが99%を占めるこの衰退産業の様はなんだ。
>>837 一度に多くを望み過ぎ
一つ一つ分けて考えろ
まずはTomcat、MySQLでありきたりのWebアプリを作る解説に絞った本を買え
848 :
837 :2014/01/20(月) 16:49:58.43
確かに一足飛びにいこうというのはうまくいくわけないですね ありきたりなwebアプリを作成してみます 仕事帰りに本屋寄りますが、オススメ本あったらお願いします それまでに特にオススメなければ適当に買ってさっそく勉強します
MSというぬるま湯から出たらいけんと思うが
ステマ乙
オープンなものだと色々な組み合わせができるが、MSって囲い込みのせいで抜けるの大変そうだな。ちょっとずつ変えてこうとすると順番がほぼ決まってくる。
>最初にVBやると、ハッカーにはなるのは大変だと聞いたことあるし。 kwsk
VB覚えた→GUI周りの知識しかなくても十分 C覚えた→システムや環境などの周辺知識を大量に補わないと使い物にならない
「ハッカーになりたがるバカ」は本当に秀逸な皮肉
WebAPIでリクエスト送って
{
"count":4,
"hits":1,
"Items":
[
{ "Item":
{ "title":"タイトル",
"author":"作者",
"itemUrl":"
http:// " }
},
{}
]
}
って返ってきたんですがこれで
"Item"の下にある" title"や"itemUrl"のデータを取得するにはどうすればいいですか ?
見てるサイトでは"Item"が配列のところばかりでやってみるも情報が取得できなかったです
Javaを勉強しろ
そいつは JSON つって Javascript のソース断片だ。
すみません、言葉足らずでした "Items"はgetObjectArrayで配列として格納は出来てるのですが"Item"の{"Item":{"titele":}},{"item"{"":}}この入れ子形式のパースの仕方がさっぱりなんです 申し訳ないですがご教授いただけないでしょうか・・・
>>859 うろ覚えだけど、
array[0].getJsonObject("item").getJsonString("title")
どっかにキャスト必要だった気もする。
>>860 無事、"title"のデータの取得ができるようになりました!
ありがとうございます
Setを逆順ソートしたいのですが、CollectionsにはListしか使えません。 Setを逆順ソートの一番簡単な方法を教えていただけないでしょうか?
元Iteratorを逆順にラップする新Iterator作れないこともないが、メモリ喰うぞ?
>>862 まずSetとListの違いを理解するところから始めろ
NavigableSetみたいにきちんと順序決まってるんならdescendingSet()使え
>>864 重複がなくてもソートはするでしょ?用途あるでしょ
Setには並び順っつー概念がなかったよーな
TreeSetにComparator指定するだけじゃね、
bing search apiをjavaで使いたいのですがどこで質問したらいいでしょうか スレチですみません
REST APIの使い方なんてウェブに腐るほど転がってる 他の似たようなREST APIの使い方を参考にすれば楽勝でできる
eclipseでデバッグするときに、jbossの起動が10秒くらいかかるのですが jbossで不要な機能をoffにする方法ありますか?
>>870 869です
コメントありがとうございます
apiのメソッド一覧みたいなものが見つけられなくて困ってました
そういうことだったんですね
もう少し頑張ってみます
実行環境の地域によらず、日本時間表記の年月日時分秒からUnix timeに変換するコードを教えて下さい
まずアナタの考えるUnix time の定義を教えて下さい。 特に、閏秒についてどのように考えているのか。
877 :
875 :2014/01/25(土) 07:43:29.81
自己解決しました
俺だよオレ!
事故解決しました
自決しました
コードスニペットとは何ですか?
>>883 分からないなら分からないって言えよw
恥ずかしいやつだな
自己解決しました
タコ解決しました
チンチンからジャバジャバでました
889 :
デフォルトの名無しさん :2014/01/26(日) 23:47:00.53
すみません。質問させてもらっていいでしょうか。 1冊、2冊本を読んでサンプルプログラムで勉強しようと考えて www.groovy-number.com/ ここの愛のJava256本ノックってのをやってます。 1. Java基礎知識 のJavaCurryってので詰まってます。 DrawPanel.java で public void paintComponent(Graphics A00) { super.paintComponent(A00); Graphics2D L00 = (Graphics2D)A00; L00.setRenderingHint(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON); for (Parts L01 : I00) { L01.M00(L00); } ここでM00をCircle.javaとかBox.javaのM00を動かしているのは 判るのですが、そもそも何でこのpaintComponent(Graphics A00)が 呼び出されているのかわからんのです。 何かヒントがあればわかると思うんですが。 頭固いみたいですみません。 教えてくださいませ。
描画処理はユーザーの作ったロジックとは別のスレッドで動いている。 実行時にコンポーネントに変化(イベント)があるとrepaintにより再描画を要求する。 描画処理スレッドが非同期でそれを受け付けてpaintが実行され その中でpaintComponentが実行される。
891 :
デフォルトの名無しさん :2014/01/27(月) 00:41:29.12
>>890 即レスありがとうございます。
この場合はclass DrawPanelが呼び出された時に
呼び出されるってことでしょうかね。
もう少し考えて見ます。
ありがとうございました。
892 :
デフォルトの名無しさん :2014/01/27(月) 06:29:55.93
ナコ「ロバーンペッwwww」
Short s = 10; //@ method(10); //A void method(Short s){ System.out.println(s); } @がOKでAがダメな理由を教えて下さい
ショーツ、だと?
チンコたった
俺はOracleかsunのドメイン以外は信用しない
信用できる女がいなくなった うーん
画像を読み込んで例えばその画像はミカンとりんごが映ってる します。 そのなかでミカンの部分のみを抽出してほかの部分は白くしたいのですが どうすればいいでしょうか?
まず回線を切って首を吊ります
ホームセンターで白いペン買ってこい 油性だぞ、間違えるな
フォトショップでいいんじゃね
Javaに標準で画像解析ライブラリを積むべき
Java開発者の大半を占めるドカタには画像処理なんて必要ありません
Javaに標準で動画や音声のエンコーダやデコーダを積むべき
derbyとか同梱してないでJavaに標準でDBの仕組み入れるべき
んなことよりによってボラクルがやるわけないでしょ
StringBuilder sb = new StringBuilder(10); StringBuffer(int)の説明には、 「指定された文字数のメモリ割り当て領域を持つ空の文字列バッファを生成します。」 このコンストラクタを使用しないといけない状況というのはどういう時でしょうか?
初めまして学生でjava使ってます。 javaにおいて 配列とTreemapとHashmapを比較した場合どれが速いでしょうか? 今作っているプログラムで Treemapに KeyにIPアドレス Valueに端末名 といった感じににデータを保持するような使い方をしていまして、putとremoveに比べて基本的にgetで端末名を参照する回数が多いです。 配列が速い速い言ってる知り合いが居るのですが、理由を聞くと実務(?)だとそうだからと返してきて具体的に分かりません。知り合い曰く、かなりの差が出るらしいです…理由は教えてもらえませんでした。 教えて頂ければ幸いです。
Stackが速い速いです、知り合い曰く、かなりの差が出るらしいです
>>909 ビルダーなのかバッファーなのかハッキリしろ!
>>910 「javaにおいて」ということはjava以外の言語では分かっているってこと?
その教官と学生に聞けよw
学校の先生は何のために存在してるのか学生諸君は考えたことは無いのかね 質問なら学校の先生にガンガンしたまえ
916 :
デフォルトの名無しさん :2014/01/28(火) 05:25:45.50
>>910 IPアドレスでデータを検索して端末名を取得するのであればHashMapが一番速い。
配列でデータをソートしてIPアドレスを二分探索すれば
配列とTreeMapは同じくらい。処理が少ない分配列がTreeMapよりすこし速いかな。
データの数にもよるんだけどね。データが3件とかそういうのであればもう配列で
線形探索するのが最速だったりするんだけど、まあデータがそんなに少ないことはないんだろう
と考えるとHashMap > 配列 > TreeMapかな。実際に試してみるのが一番だよ。実測して知り合いを論破すればいいよ。
サブネットマスクで下位8bitしか違いのないIPアドレスとかなんじゃね
IPアドレスってたかだか32bitだから配列に収まるんじゃ
Javaて32bitの非負整数を配列の添え字に出来ないんだっけ?
920 :
デフォルトの名無しさん :2014/01/28(火) 05:39:13.02
>>909 ・処理速度を少しでも速くしたいとき。
・メモリの使用量を少しでも減らしたいとき。
・これから作る文字列のサイズを明示したいとき。
配列はソートするも何も添え字=IPアドレスを32bit整数に直したもので一発アクセスなんだからさ
922 :
デフォルトの名無しさん :2014/01/28(火) 05:42:18.85
馬鹿には無理
内部でバランス木を変形してるのか知らないけどTreeMapは必要以上に遅い感じはする。
javaドカタは馬鹿だから自分がやってる言語の配列の最大サイズすら判らないw
正直
>>910 みたいな質問に関してはなぜ速さを知りたいのかその理由をまず聞きたいところ。
「最速は何ですか」「最強は何ですか」という系の質問は時々それほどがんばるべきでは
ないところに無駄にこだわっているパターンが多い印象。
本当に速度で困っているのか、困っているのならどういう条件下での話なのか解らないと。
>>926 知り合いが配列速いと言っていた
その理由を聞いたが具体的ではなかった
だから具体的な理由を教えてください、って質問だろ。
現代文の勉強したことある?
単純に速度を稼ぎたいのであればJavaのHashMapとTreeMapの比較だけではなくTroveやColtと いった異なるMapの実装も試してみるとよいと思う。
>>918 32bitのフラットな配列を使うのもなかなかに富豪的プログラミングだと思う。
何いきりたってんだよコイツw
きいてるきいてる
javaドカタの分際ですいませんでした><
Javaから始めるとソートのアルゴリズムとか、基礎やんないのかなぁ。
>>929 それ、Javaの配列は31bitまでってツッコミ待ちの発言だと思うんだが。
>>934 ソートのアルゴリズムは基礎ではないだろう
そんなものは上流のライブラリを作る人間にしか縁がない
>>912 StringBuilder sb = new StringBuilder(10);
StringBuilder(int)の説明には、
「指定された文字数のメモリ割り当て領域を持つ空の文字列バッファを生成します。」
このコンストラクタを使用しないといけない状況というのはどういう時でしょうか?
書き直しましたよろしくお願いします。
なんだこの雑魚は?w
>>938 ×なんだこの雑魚は?w
○なんだ?この雑魚はw
凝った釣りのつもりならあきらめろ。 初期容量のでかいHashMapは配列とどっこいどっこいだが 無駄に初期容量のでかいStringBuilder並にバカバカしいという 話に持って行きたいのか?
>>934 ソートの実装を自前で作るなんてそうそう無いやろ
バブルソートとかアルゴリズムの教科書に必ず出てくるものだと思ってた
944 :
デフォルトの名無しさん :2014/01/28(火) 20:12:24.51
Java2Dとスレッドを使ってゲーム作ってるんだけど なぜかdrawStringメソッドで文字列描画するようにしても文字列が表示されてないんだよね ちなみに円やら矩形は表示できてる 考えられる原因として何があるかな?
自己経穴しました
クリップしてる領域の外か内か
フォントが未指定
JPanelに ImageIO.read で読み込んだBufferedImageで画像ファイルを表示しているのですが、 特定のファイルだけ全体が赤みがかって表示されます。パレットの問題かと思って調べたの ですが、赤ファイル(恐らく全部jpg)も通常のファイルPixsel_size は全部24bitでした。 キーワードだけでもいいので解決方法のヒント下さい。
バージョンのヒントください
ですよね〜普通書くよね。失礼しました。 Java-SE1.6です ど素人がはまるテンプレ的なものかと思って安直に考えていました。 Jpeg作成側がお行儀悪い作り方したのかとも思いますが、ちょっと 切り分けができないのです。プログラム作法の問題ならば画像ビュア 作った人ならば大抵は経験しているかと思っていました。 全体的に赤みがかって表示されるだけで、画像はしっかりしているので、 Jpeg側のヘッダのパレット情報と実際のが食い違っているのかと 思うのですが、どっから手を付けていいのやらわからないです。
>>944 y座標がベースライン(アルファベット筆記体のアレ)だって事をわすれて左上点を指定してる、とか。
>>950 jpegだったらカラープロファイルをちゃんと読めてない、とかじゃね?
V2Cスレとかで良く見る。
むむ!時代が違うのか ソート関数は毎回自前で作るがな。 目的にあわせて色々パターン変わるだろうに 再帰でQUICK これか?これがええんか? 再帰やでえ、ズンズンやでぇ
>>948 は俺俺君なのだろう、正確にバージョンを書いていない
JavaのJNIってOSごとにマシンごとにライブラリつくらなきゃいけないの?
JNAを使おう
961 :
デフォルトの名無しさん :2014/01/29(水) 01:39:37.65
画像の領域抽出をするプログラムをつくりたいのですがアドバイスお願いします
HSBチャンネルへの分解,加工,再合成でなんとかなるケースもあったりするが みかん案件へのアドバイスならあきらめろ。
既にあっちで聞いているが、自分でやる気がない、調べる気がない 自分が何をやるのか分かってないんじゃないかな
アドバイスじゃなくて見積もりをお願いしますというべき
領域抽出プログラム完成したらImageFilterやRasterOpも実装しといてくれ とアドバイスしとこう
>>940 HashMapのコンストラクタで負荷係数 floatを指定できますが、これを極端に0fや1.0fにするとどうなるんでしょうか?
java入門者です。「やさしいjava」という本で勉強しています 次に参考書で迷っています。サーティファイの資格の推薦書籍で他著者の 「わかりやすいjava入門編」「わかりやすいjavaオブジェクト指向編」 が挙がってるのですが、 もし"やさしいシリーズ"から"わかりやすいシリーズ"に切り替えて 勉強する場合は入門編から勉強しないとつながらないでしょうか? また「javaオブジェクト指向編」の後に 「javaオブジェクト指向入門編」というのを出している みたいですがこれも勉強したほうがいいのでしょうか?
Javaでクライアントアプリケーション作ろうかと思ってるんだけど、GUIを作るときにAWT、Swing、JavaFX、その他何を使うのがいいでしょうか? いまいちそれぞれの特性などを把握できておらず、どれを使うのが良いか判断しかねています。 どなたかご教授ください。
どれも実務に繋がらないので適当に選んでいいです
973 :
デフォルトの名無しさん :2014/01/29(水) 20:41:47.25
その3種ならSwing一択だな
アプリケーションの速度向上を考えているのですが、 synchronizedブロック内でしか利用してないリストは synchronizedListを利用しないArrayListのままで同期処理は十分でしょうか?
無論
synchronizedでどんだけ重い処理やってんだよ クリティカルセクションは最小にしろ
>>976 d、心置きなくArrayListに替えようと思います
>>977 多数のオブジェクトをリストで一括管理していて
ループで順繰りに処理させてるのが数箇所あるので
それらをsynchronizedで囲ってましたん
>>973 ,974
んー、Swing重いという話を聞くんですが、そこまで思い処理もしないと思うので試しにSwingでやってみたいと思います。
ありがとうございました。
Swing遅いって何十年前のPCだよ
調べてて遅いってあったので。 やっぱり今はそうでもないんですね
>>971 動画プレイヤー作ろうとしてfx使ってみたが、これから感があったので、swing+gstreamer(gtk)にしといた。
配布するものと、ローカルなもので選択肢も変わってくると思うよ。とりあえずViewを切り替えられるように作れないと。俺のアプリはswingとandroidをサポートしてたりするよ。
勉強なら古いのもやっとかないと、わからなくなりそう。
synchronzied内リスト操作に関してはArrayListで問題ないけど、 要素がどんなものでもOKというわけではない。例えば要素がWeakReference<X>だったら色々問題は起こる。
swingが重かったらV2Cは使いものならないアプリになってた
普通のコレクション -> 必要に応じて同期コレクション、のであれば解るのだけど 同期コレクション -> 速度向上のため普通のコレクションに変更というのは開発の 流れ的にはよく解らないというか正直地雷くさい。 それって不要なところに同期コレクションを使っていたということで、同期制御の ロジック自体が初めから怪しいことになるまいか。 速度向上以前にロジックを見返した方が良いような気がする。 よく考えずに適当にsynchronized等をつけまくったら何となく動いているパターンか。
986 :
デフォルトの名無しさん :2014/01/30(木) 05:31:52.07
>>980 NetBeansとかiReportとかもっさりでござるよ。
機能詰め込んだアプリならJava製でなくてもモッサリだろ
988 :
デフォルトの名無しさん :2014/01/30(木) 05:48:16.19
いいや 多機能のjava+swingは4コアでもモッサリだよ
swingとjavaドカタのタッグは悪夢だよ
仕事で仕方なくSwing製のツールを使うことがあるけどマジで滅びてほしい
javafxの方は期待できますか? linuxやmacでもwindows以上にきびきび動きますか?
全く期待できない というか結構昔からあるよ?もうとっくに失敗してる
ほんと速度しか物差しが無いんだな。
FXは一度大失敗して、今のは二代目 早くから飛び付いた奴が全員切り捨てられたという先例を作っちゃったのは致命的だね
>>993 javafxは既に終わってるというのはswingの出来があれじゃ無理もないですよね
linuxでmetal=steelとか使ったことありますか?
JTableのheaderのスクロールがバグ未だに直ってないんですけど、swingはmodelも未だにjava5に対応してないしviewの出来も低品質のままで、linux,macにおけるオラクルの仕事は最悪ですね
Flexと同時期に似たような名前で出ておきながらGUI開発基盤としてはFlexとは 比べようも無かった。 GUIの宣言的記述にしてもMXMLやXAMLといったXMLベースでは無く独自のスクリプト 言語を持ち出したのが当時は正直訳分からんかった。 今となっては正しかったか確かめようにもJavaFX Script自体が無かったことに なったからもうどうでも。
じすれよろ
ほ
1000 :
デフォルトの名無しさん :2014/01/30(木) 13:59:00.92
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。