5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

★★Java質問・相談スレッド165★★

1 :デフォルトの名無しさん:2013/10/20(日) 19:30:39.35
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

前スレッド
★★Java質問・相談スレッド164★★
http://toro.2ch.net/test/read.cgi/tech/1378219684/

2 :デフォルトの名無しさん:2013/10/20(日) 20:52:16.65
>>1
おつかれ

3 :デフォルトの名無しさん:2013/10/21(月) 16:41:41.91
やっとか

4 :デフォルトの名無しさん:2013/10/21(月) 17:52:02.58
ふー

5 :デフォルトの名無しさん:2013/10/21(月) 17:55:51.43
移植性を考慮した場合
ゲームのシステムの部分と
インターフェースは別に作ったほうがいい感じかな

6 :5:2013/10/21(月) 17:56:22.81
誤爆スマソ

7 :デフォルトの名無しさん:2013/10/21(月) 21:24:01.17
spring ideでrooプロジェクトを作成したのですが、mavenからエラーがでます
>プラグイン実行がライフサイクル構成でカバーされていません:
>org.codehaus.mojo:aspectj-maven-plugin:1.4:compile (execution: default, phase: process-sources)

これって、どうやれば解決しますか?

8 :デフォルトの名無しさん:2013/10/21(月) 22:27:21.11
日本オラクルはAPIドキュメントだけじゃなくチュートリアルも日本語化しろよ

9 :デフォルトの名無しさん:2013/10/21(月) 23:55:13.49
javaはフレームワークめんどくさい

10 :デフォルトの名無しさん:2013/10/22(火) 02:35:18.29
JDKってWindowsにインストーラ使ってインストールするとスタートメニューに項目が追加されるんだっけ?
久しぶりにスタートメニュー見たらJava Development Kitって項目が出来てたんだけど・・・

11 :デフォルトの名無しさん:2013/10/22(火) 02:37:10.79
Java Mission Control って何ぞ・・・

12 :デフォルトの名無しさん:2013/10/22(火) 02:38:57.20
Java Mission Control
http://www.oracle.com/technetwork/jp/java/javaseproducts/mission-control/index.html

13 :デフォルトの名無しさん:2013/10/22(火) 02:39:10.35
Java の布教を弾圧するってことだ

14 :デフォルトの名無しさん:2013/10/22(火) 02:41:25.04
Java 7 Update 40、HotSpotのためのMission ControlとAppletsのためのRule Setsとともにリリース
http://www.infoq.com/jp/news/2013/09/java7u40

15 :デフォルトの名無しさん:2013/10/22(火) 06:53:42.98
JavaってPCI-Expressのコントロールプログラミングはできますか?

16 :デフォルトの名無しさん:2013/10/22(火) 07:28:41.91
C/C++のライブラリを呼ぶぐらいはできるが

17 :デフォルトの名無しさん:2013/10/22(火) 07:31:37.23
FilerMakerで1日 <<< C#ポトペタ+NuGetで1週間 <<< HTML5+Ruby,PHP,Javaで1ヶ月
http://engawa.2ch.net/test/read.cgi/poverty/1382394266/

18 :デフォルトの名無しさん:2013/10/22(火) 15:17:15.88
携帯からの乱筆失礼します。
常駐スレッドでJMSの土管プロセスを走らせようとしています。
これを止めるにはプロセスをkillする以外どの様にするのが一般的でしょうか。
環境はjava6、Linuxです。

19 :デフォルトの名無しさん:2013/10/22(火) 18:11:12.19
PHPにおけるPearのようなメジャーなライブラリ群はJavaにはありますか?

20 :デフォルトの名無しさん:2013/10/22(火) 18:18:19.02
それがJDKだが

21 :デフォルトの名無しさん:2013/10/22(火) 20:27:44.14
>>19
ちょっと違うがmaven。
具体的にどういう使い方か言ってくれないと。

22 :デフォルトの名無しさん:2013/10/23(水) 04:52:22.99
HTML5対応をさらに強化、JDK8開発者プレビューもサポートした「NetBeans 7.4」が公開 | SourceForge.JP Magazine
ttp://sourceforge.jp/magazine/13/10/23/145800

23 :デフォルトの名無しさん:2013/10/23(水) 16:09:20.84
jspでJSPタグの中に<%=xxx%>は使用できないのでしょうか?
以下がコンパイルエラーになってしまいます。

<c:if test="${not empty requestScope.footer}" >
<jsp:include page="<%=request.getAttribute("footer") %>" />
</c:if>

24 :デフォルトの名無しさん:2013/10/23(水) 18:36:32.02
EL式

25 :デフォルトの名無しさん:2013/10/23(水) 22:46:06.39
いくつかのクラスのオブジェクトが格納されるList<T>で、
すべてのクラスに共通のメソッドで処理を行いたいのですが方法はありますでしょうか
以下のようなイメージです。
String mehod(List<Class> list){
for(int i=0;i < list.size();i++){

list.get(i).originalmethod();
}
}


ループの中で実行するメソッドは、各クラス持っています。
引数の型にインターフェースを指定して、
そのインターフェースを実装したクラスでは、コンパイルエラーでした。

26 :デフォルトの名無しさん:2013/10/24(木) 04:15:05.60
>>25
<T extends Interface> String mehod(List<T> list)

27 :デフォルトの名無しさん:2013/10/24(木) 12:24:54.82
ワイルドカード

28 :デフォルトの名無しさん:2013/10/24(木) 12:48:52.20
>>26
>>27

出来ました!ありがとうございます!
単体試験が5分の1になりました!
全体から見れば大したことないですが、こういう積み重ねが後々効いてきますね。

29 :デフォルトの名無しさん:2013/10/24(木) 13:58:55.11
たかがこんなことで5分の1だと、、、?

30 :デフォルトの名無しさん:2013/10/24(木) 15:28:55.80
>>29
今まで5つメソッドあったのを、これで1つに出来たからです。

31 :デフォルトの名無しさん:2013/10/24(木) 17:25:37.36
>>26の場合とワイルドカード使う場合って何か違いあるのかな?

<T extends Interface> String foo(List<T> list)



String foo(List<? extend Interface> list)

の違いって意味ね、前者もメソッド呼び出し時に型パラメータ指定しなくても暗黙的に呼び出せるよね

32 :デフォルトの名無しさん:2013/10/24(木) 18:34:18.18
T を複数箇所で使える
<T> void swap(List<T> list) {
T x = list.get(0);
T y = list.get(1);
list.set(1, x);
list.set(0, y);
}
とか
そうでなければ一緒

33 :デフォルトの名無しさん:2013/10/24(木) 20:29:30.36
質問です
class Aaa extends Bbb<任意の型,任意の型>
のようになっているコードを見たのですがこれを
class Test extends Aaa<任意の型,任意の型>
のように更に継承させて使いたい場合はどうしたらいいでしょうか?

34 :デフォルトの名無しさん:2013/10/24(木) 20:43:07.00
>>33
super<型,型>() って使えないの?

35 :デフォルトの名無しさん:2013/10/24(木) 21:03:29.25
型のところにどの型でも入れる方法がわからないです

36 :デフォルトの名無しさん:2013/10/24(木) 21:11:58.51
もうjavaはほぼマスターした。
もし俺がjavaで人間作ったらアナフィラキシーショックとか
自分自身で異常を起こしているバグみたいなのをなくすことができるとおもう

37 :デフォルトの名無しさん:2013/10/24(木) 21:32:23.30
よかったね、南極29号でも作ってよ

38 :デフォルトの名無しさん:2013/10/24(木) 21:38:19.31
Swingのライブラリを使っている上で気になったのですが、

例えば、JFrameのsetSize(Dimension d)は縦横のプリミティブ値を
コピーしたものをsetしているけど、setLayout(LayoutManager manager)は
LayoutManagerのインスタンスの参照を直接setしてますよね?

このように、あるクラスAのsetメソッドの引数がプリミティブ型ではなく、
あるクラスBのインスタンスの参照を渡すようになっている場合において、
そのAのsetメソッドの中で、Bのインスタンスの参照が直接setされるのか、
Bのフィールドの値をコピーしてsetするのか、どちらを行なっているのかを
知るためには、ライブラリのドキュメントを確認するしかないのでしょうか?

setメソッドだけではなく、その他の参照を引数に取るメソッドや、
参照が戻り値になってるメソッドにおいても、色々と怖いような気がします

もし、Javaの基本原則として「参照を直接setしちゃダメ(もしくは逆)」みたいな
暗黙の規則があるのならばそれも教えていただきたいです

39 :デフォルトの名無しさん:2013/10/24(木) 21:54:23.63
相手のスマホに保存されてる画像を見れてしまうウイルスって作れますか?

40 :デフォルトの名無しさん:2013/10/24(木) 21:58:43.72
通報すました

41 :デフォルトの名無しさん:2013/10/24(木) 22:40:33.30
>>38
swingだろと他ライブラリだろうと、ドキュメントに書かれてないことは基本何でもアリ。
自分で防衛するしかない。

42 :デフォルトの名無しさん:2013/10/24(木) 23:43:35.27
>>31
>前者もメソッド呼び出し時に型パラメータ指定しなくても暗黙的に呼び出せるよね
java7までは型パラメータはObjectとして推論するから型安全じゃない。パラメタ指定したほうがいい。
8から正しく推論できるからもうちょっとの辛抱や。

43 :デフォルトの名無しさん:2013/10/25(金) 05:49:27.69
jadでデコンパイルした.classファイルを.javaに戻すにはどうすればいいですか?

あとデコンパイルするソフトってjad以外にありますか?使いやすいやつを探してます

44 :デフォルトの名無しさん:2013/10/25(金) 07:08:55.12
>>33
class Test<A, B> extends Aaa<A, B>

45 :デフォルトの名無しさん:2013/10/25(金) 10:02:38.97
>>38
>>41が正しい答え。

あと補足しておくと、ソースコードを見れば内部でどういう処理を行っているかはわかる。
ただしソースコードの実装は「無保証」であるから、いつ実装内容が変更されても文句は言えない
よって仮にソースコードを読んで内部実装を知ってもそれを利用することは避けるべき

46 :デフォルトの名無しさん:2013/10/25(金) 10:39:18.94
Javaが嫉妬する言語ってなにかな

47 :デフォルトの名無しさん:2013/10/25(金) 11:35:24.86
嫉妬という概念すらない

48 :デフォルトの名無しさん:2013/10/25(金) 11:43:31.36
Javaプログラマが嫉妬することはあるかもしれないが、
Javaが嫉妬することはないだろうね。

49 :デフォルトの名無しさん:2013/10/25(金) 12:14:33.73
>>46
C#だろう。Java8は完全にC#の後追い。
インタフェースがあれば他に何もいらないと言っていた在りし日の姿からは程遠い色物になってしまったよ。

50 :デフォルトの名無しさん:2013/10/25(金) 13:19:21.27
.NETがマルチプラットフォームなら
世界は平和だったのに…

51 :デフォルトの名無しさん:2013/10/25(金) 14:57:23.94
新しい言語はいいとこ取りし放題なわけだし、そのうちC#よりも優れた言語も出てくるだろ
ポケベルが消え、公衆電話が消え、携帯電話が消え、スマホが使われまくってるみたいに
Javaが消え、そしてC#もいずれ消える定め

52 :デフォルトの名無しさん:2013/10/25(金) 16:20:26.77
C#とJavaってどういう分野で競合してるんだろう
WindowsアプリをJavaで作る人間はいないし、
マルチプラットフォームをC#で作る人間もいない

53 :デフォルトの名無しさん:2013/10/25(金) 16:29:55.76
aspかjspか

54 :デフォルトの名無しさん:2013/10/25(金) 17:50:11.19
誰か助けてくれますか?

55 :デフォルトの名無しさん:2013/10/25(金) 17:52:01.32
Can I help you.

56 :デフォルトの名無しさん:2013/10/25(金) 17:59:03.72
ほぼ素人ですみませんが、質問です

isEof = c.moveToFirst();
while (isEof) {
item.setText1(String.format("%d:%d", c.getInt(4), c.getInt(5)));
item.setText2(c.getString(7));
customAdapter.add(item);
isEof = c.moveToNext();
}
listView.setAdapter(customAdapter);

上のループで
CustomData item = new CustomData();
を外側に置いた場合、リストの内容が全て一番最後に入力したものになります
これはsetAdapterしたときにitem内に格納されているデータ(最後に入力したデータ)を読みにいっているために起こるという認識で良いのでしょうか

また、内側に置くことで全て表示出来るようになりましたが、この場合はなぜ表示できるのでしょうか

57 :デフォルトの名無しさん:2013/10/25(金) 19:14:12.55
外側に置いた場合は CustomData をひとつしか new してないわけだから
アダプタの中には全項目でひとつの CustomData を共有している

内側に置いた場合は一項目ごとに新しい CustomData を new しているわけだから
アダプタの中には項目ごとに別々の CustomData がある

58 :デフォルトの名無しさん:2013/10/25(金) 19:35:26.33
絵で描くとこんな感じ
http://fast-uploader.com/transfer/6938252686854.png
ひとつしかないから setText1 とかは前のを上書きして最後のが残る

59 :デフォルトの名無しさん:2013/10/25(金) 21:34:57.69
mavenを使ってjarだけダウンロードする方法ないんですか?

60 :デフォルトの名無しさん:2013/10/26(土) 14:48:28.34
Commons LangのEqualsBuilderとHashCodeBuilderって便利そうだけど、かなり遅くなりますか?

61 :デフォルトの名無しさん:2013/10/26(土) 14:54:44.59
security managerが動いてると駄目なのか、いまいち使えないな。

62 :デフォルトの名無しさん:2013/10/26(土) 16:40:47.34
すみません、fc2ブログで、多数の画像のaltを一括で一つの文章(単語)に変更したいのですが、
javaとかでこう言う事は可能でしょうか?
また可能なら参考になるサイトがあれば教えてください。

63 :デフォルトの名無しさん:2013/10/26(土) 16:45:08.30
>>62
HTMLの変換ならXLSTでできる、XML Javaの本かggrb見つかる

64 :デフォルトの名無しさん:2013/10/26(土) 16:51:05.70
>>59
mvn dependency:copy-dependenciesじゃ駄目かな。
ほしいJarをdependencyに書いておいてこのコマンドで依存性も含めて全部落としてきて
target/dependency内にコピると思うけど。

65 :デフォルトの名無しさん:2013/10/26(土) 16:56:53.25
>>63
レスありがとうございます
そちらの方を検索して探してきます

66 :デフォルトの名無しさん:2013/10/26(土) 17:22:10.04
>>62
xmlstarletで簡単にできそうなんでやってみたら、xhtml的に解釈できないとこがあって無理だった。

67 :デフォルトの名無しさん:2013/10/26(土) 18:24:39.87
import javax.swing.text.html.parser.ParserDelegator;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.HTML;
import javax.swing.text.MutableAttributeSet;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.text.BadLocationException;

class Hoge extends HTMLEditorKit.ParserCallback
{
public static void main(String[] args) throws FileNotFoundException, IOException {
Hoge hoge = new Hoge();
FileReader file = new FileReader("unko.html");
ParserDelegator pd = new ParserDelegator();

pd.parse(file, hoge, true);

file.close();

}

68 :デフォルトの名無しさん:2013/10/26(土) 18:32:12.60
eclipseってなにがいいの?
swingはnetbeansのほうが優れてると思うし、
eclipseってwebアプリケーションとかの人が使ってるんだろうか

69 :デフォルトの名無しさん:2013/10/26(土) 18:35:45.95
http://www54.atwiki.jp/projecthikky/pages/38.html
使えなかった

70 :デフォルトの名無しさん:2013/10/26(土) 18:43:48.71
>>68
動作が軽快なとこがいいよ。

71 :デフォルトの名無しさん:2013/10/26(土) 18:45:40.67
if ((p = (char *)malloc(size)) != NULL){...}

javaでこういう比較と代入を一括でできませんか?

72 :デフォルトの名無しさん:2013/10/26(土) 19:15:20.81
出来るけど古いイディオムかな。
書かれているmallocの例の場合は処理の流れの読みやすさを優先して個人的は二行に
分割すると思う。

比較的頻出するパターンだとwhileを使ったファイルの逐次読み込み。
Java File whileでググるとwhileの条件内で代入と比較を同時に行う例がよく出てくる。
ただ最近はこういった逐次読み込みもイテレーターとして抽象化してfor(:)で手軽に
行えるようにする場合が多い気がする。

73 :デフォルトの名無しさん:2013/10/26(土) 22:34:25.01
8ならStreemにする。
Files#lines(java.nio.file.Path, java.nio.charset.Charset)とか

74 :デフォルトの名無しさん:2013/10/26(土) 22:35:24.18
>>57
>>58
同じ名前でもループした分だけちゃんとクラスが作られてるんですね
親切に教えていただいてありがとうございます。謎が解けました

75 :デフォルトの名無しさん:2013/10/26(土) 22:49:29.27
ジャバのウンコさんたちはイテレータとかストリームとか難しいこといっぱい知ってるんですねT_T

76 :デフォルトの名無しさん:2013/10/26(土) 23:03:26.53
うんこがしゃべった

77 :デフォルトの名無しさん:2013/10/26(土) 23:11:47.50


78 :デフォルトの名無しさん:2013/10/26(土) 23:17:14.24
>>74
なんの亀レスかと思ったら>>56のextentの話か

>(最後に入力したデータ)を読みにいっている
見えるか見えないかじゃなくて存在するかしないかの話。見えるのと存在するのと代入はそれぞれ違う。

>同じ名前でもループした分だけちゃんとクラスが作られてるんですね
javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する、
ループ抜けるとスタックからpopするから存在しなくなる。これが繰り返されるから結果ループ回すたびにループした分だけちゃんとクラスが作られる。
無限ループするとStackoverflowするじゃん。スタック足らなくなって変数作れなくなったぜベイベー!って合図。

79 :デフォルトの名無しさん:2013/10/26(土) 23:35:43.70
うんこをプッシュしたりポップしたりして長いループでベイベーなんですか?

80 :デフォルトの名無しさん:2013/10/26(土) 23:40:59.16
例えば、80秒を1分20秒に変換してくれるフォーマットはありますか?

60秒に満たない場合は秒表示のみできると助かるんですが。

81 :デフォルトの名無しさん:2013/10/26(土) 23:52:45.62
>>80
ない。
自作すれば。
簡単だし

82 :デフォルトの名無しさん:2013/10/26(土) 23:52:56.95
>>78
>javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する
違う。同じローカル変数を初期化して再利用してる。
コンパイラがブロックスコープで名前解決してくれてるだけ。

83 :デフォルトの名無しさん:2013/10/27(日) 00:01:09.25
java6でもそうだっけ

84 :デフォルトの名無しさん:2013/10/27(日) 00:07:49.07
実装次第と言えばそうなんだが、
C系の静的言語の設計ではブロック変数を>>82のように実装するのが大々大前提だからね
よほど今と大きく異なるアーキテクチャのマシンで動かすのでもない限りは変わることはありえない

85 :デフォルトの名無しさん:2013/10/27(日) 00:30:51.25
>>81
30分ぐらい探してたので、ないと言ってもらえて助かりました。

private String fomatSecound(int secound){

int h = secound / 3600;
int m = (secound - (h * 3600)) / 60;
int s = (secound - (h * 3600) - (m * 60));

String duration;
duration = h == 0 ? "" : h + "時間";
duration = m == 0 ? duration : duration + m + "分";
duration = s == 0 ? duration : duration + s + "秒";

return duration;

}
こんなコード書いたんですけど、
もっとスマートな方法あったら教えてください。

86 :デフォルトの名無しさん:2013/10/27(日) 00:57:47.01
jettyでspring3を使おうと思うのですが、怒られてしまいます。
何か設定が悪いからなのでしょうか?

SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)

87 :デフォルトの名無しさん:2013/10/27(日) 02:40:28.26
軽く調べてみたらSpringの各コンポーネント間のバージョンのコンフリクトが
原因で起こっている事例がいくつか。

88 :デフォルトの名無しさん:2013/10/27(日) 03:13:17.33
>>85
無いのなら自前で作ったものをライブラリとして公開するとかしたらとても

89 :デフォルトの名無しさん:2013/10/27(日) 03:23:50.94
おし!ライブラリ公開だ!

class TimeFormater
{
  
  public static void main(String[] args) {
    int s = TimeFormater.toSeconds(7, 33, 55);
    System.out.println(TimeFormater.format(s));
    
  }
  
  public static int toSeconds(int hours, int minutes, int seconds) {
    return 3600 * hours + 60 * minutes + seconds;
  }
  
  public static String format(int seconds) {
    int h = seconds / 3600;
    int m = (seconds / 60) % 60;
    int s = seconds % 60;
    return (h > 0 ? h + "時" : "") + (h + m > 0 ? m + "分" : "") + s + "秒";
  }
  
}

90 :デフォルトの名無しさん:2013/10/27(日) 03:28:32.61
>89

つ Joda PeriodFormatter

91 :デフォルトの名無しさん:2013/10/27(日) 03:33:30.93
>>85
"Java time pretty print"でググればそれなりに方法は出てくる。
あと時刻に関してJavaでちょっと凝ったことをする場合はJodaが定番。

92 :デフォルトの名無しさん:2013/10/27(日) 03:42:09.10
Joda便利杉ワロタ

Joda-Time - Java date and time API - Home
http://www.joda.org/joda-time/index.html

93 :デフォルトの名無しさん:2013/10/27(日) 03:54:18.30
>>92
これはいいかも!
Calendarにはガバガバメモリーリークしてるバグがあるからなw

94 :デフォルトの名無しさん:2013/10/27(日) 04:28:13.28
ヨーダのステマ

95 :デフォルトの名無しさん:2013/10/27(日) 04:29:18.51
>"Java time pretty print"でググればそれなりに方法は出てくる。

英語で検索とは・・・日本語圏での情報は少ないってことか

96 :デフォルトの名無しさん:2013/10/27(日) 05:31:30.09
ちなみにCalendarを1つインスタンス化する度に600kbメモリーリークしてたと記憶している。

97 :デフォルトの名無しさん:2013/10/27(日) 05:35:57.85
英語の方が情報がたくさんあるというのもあるけれども、この手の「読みやすい文字列として
出力する」という操作はpretty printという呼び方で決まり切っているから。
Googleで検索もしやすい。

98 :デフォルトの名無しさん:2013/10/27(日) 05:44:55.03
Prettyprint (or pretty-print) is the application of any of various stylistic formatting conventions to text, source code, markup, and other similar kinds of content.

99 :デフォルトの名無しさん:2013/10/27(日) 07:28:06.68
>>93
マジかお・・・Java 7の話?昔の話?

100 :デフォルトの名無しさん:2013/10/27(日) 07:35:39.01
javaをこれから始めるんですが
本に書いてあった.javaを.classにする作業で使うjavacというコマンドをコマンドプロンプトに入力すると
エラー:メイン・クラスcom.sun.tools.javac.mainが見つからなかったかロードできませんでした
とメッセージが表示されて.classが作れません、どうすればできるか教えてください

jdkはインストールされてます、pathも確認しました

101 :デフォルトの名無しさん:2013/10/27(日) 07:48:04.75
エスパーするとだな、JAVA_HOMEとしてJDKではなくJREをセットしているでしょ。

102 :デフォルトの名無しさん:2013/10/27(日) 07:55:43.71
>>100
tools.jarが見つからないのじゃないか。
jdkを再インストールすればいいよ。

103 :デフォルトの名無しさん:2013/10/27(日) 08:10:00.16
>>102
再インストールは2回しましたが解決できませんでした

104 :デフォルトの名無しさん:2013/10/27(日) 08:10:52.74
>>101
つまりどういうことですか?
Java_homeとはなんのことですか

105 :デフォルトの名無しさん:2013/10/27(日) 08:16:54.98
>>103
PATHになんと設定したのか教えて

106 :デフォルトの名無しさん:2013/10/27(日) 08:29:24.01
>>104
ごめん。環境変数JAVA_HOMEのこと。コマンドプロンプトから
set JAVA_HOME
set CLASSPATH
それぞれのコマンドを実行した結果をコピペしてみて。
(ユーザー名などが含まれる場合があるので要注意。その場合は名前の部分を書き換えて)

107 :デフォルトの名無しさん:2013/10/27(日) 08:45:17.51
馬鹿には無理

108 :デフォルトの名無しさん:2013/10/27(日) 12:59:49.40
>>105
jdkの中のbinというフォルダです
C:\Program Files\Java\jdk 1.7.0_45\bin\だった気がします

109 :デフォルトの名無しさん:2013/10/27(日) 13:15:47.45
Windowsのversion、32bit版か64bit版か、
jdkのversion、32bit版か64bit版か

110 :デフォルトの名無しさん:2013/10/27(日) 13:36:05.15
>>109
win64bit、jdkは1.7.0_45もちろん64bit版です
スペックが足りてないんでしょうか
javaを始めるのはこんなにも難しいものなんですね

111 :デフォルトの名無しさん:2013/10/27(日) 13:36:06.39
>>108
このパスだと、クォート必要だぞ

112 :デフォルトの名無しさん:2013/10/27(日) 13:50:33.24
JAVA_HOMEとCLASSPATHの設定値はどうなの・・・

113 :デフォルトの名無しさん:2013/10/27(日) 14:06:20.51
本に書いてないことがたくさん・・・
ここのほうかよっぽど頼りになります

java_homeはわかりません、設定してみます

114 :デフォルトの名無しさん:2013/10/27(日) 14:15:48.92
設定しなくて良いし勝手に小文字にしない > JAVA_HOME
繰り返すけどSET JAVA_HOMEとSET CLASSPATHの実行結果はどうなの?

115 :デフォルトの名無しさん:2013/10/27(日) 14:17:24.04
JAVA_HOMEはないならないでpathから推測してくれるのだが、
逆に変な値が設定されているとそうなるね。

set JAVA_HOME=
で解除できる

116 :デフォルトの名無しさん:2013/10/27(日) 20:53:55.61
正規表現で
マッチさせたい文字列が、対象文字列の中に複数存在する時、
指定した回数目に現れる部分をマッチさせる方法ってある?

例えば
s = "hoge foo hoge bar hoge piyo hoge qux";
この文字列の左から3つめのhogeから文末まで後方参照とかしたいのです

ループ文を使うほかない?

117 :デフォルトの名無しさん:2013/10/27(日) 21:43:27.19
>>100
tools.jarはjava1.7から廃止されたんじゃなかったけ?
>>116
方法はある

118 :デフォルトの名無しさん:2013/10/27(日) 21:51:43.21
>>116
方法の有無でいえばすぐ例は出せるだろうに
(?:hoge.*?){3}(hoge.*)
上手な正規表現で済ませたいって話なら正規表現のスレで相談しろという話になる

119 :116:2013/10/27(日) 22:42:28.37
はい…ありがとうございます

120 :デフォルトの名無しさん:2013/10/27(日) 22:48:01.53
>>87
レスありがとうございました

121 :デフォルトの名無しさん:2013/10/28(月) 22:03:58.89
プログラミング経験なしでAndroidアプリを作ろうと思っているんですけど、何か良い書籍教えていただけませんか?

122 :デフォルトの名無しさん:2013/10/28(月) 22:17:26.93
>>121
本屋のjavaコーナー行って端から端まで買え

123 :デフォルトの名無しさん:2013/10/28(月) 22:17:41.00
サーブレッドを使ってプログラムを作っているのですが、設定ファイル(ORMの設定ファイル)はどこに置くのがベストですか?
/WEB-INF とかが無難なところでしょうか

124 :デフォルトの名無しさん:2013/10/28(月) 22:19:49.14
>>121
ttp://www.amazon.co.jp/dp/4822281655

125 :デフォルトの名無しさん:2013/10/29(火) 03:56:33.65
>>123 yes

126 :デフォルトの名無しさん:2013/10/29(火) 04:30:26.49
>>114
set JAVA_HOMEの実行結果は
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\bin;でした
set CLASSPATHは
環境変数 CLASSPATH が定義されていません でした

CLASSPATHを設定すれば使えるようになりますかね

127 :デフォルトの名無しさん:2013/10/29(火) 09:01:30.26
やってから言え

128 :デフォルトの名無しさん:2013/10/29(火) 09:32:18.65
JAVA_HOMEにbinは不要だと思う。

129 :デフォルトの名無しさん:2013/10/29(火) 13:25:18.41
java7のjavacならJAVA_HOMEは参照してないから問題ないはずだけどな。
もしかして古い版のjavaが入ってて、pathがそっち先になってないかな?

130 :デフォルトの名無しさん:2013/10/29(火) 16:44:36.62
となると

javac -version

でまずバージョン確認か。

131 :デフォルトの名無しさん:2013/10/29(火) 23:53:45.51
jdkのインストールは最大の難関だから

132 :デフォルトの名無しさん:2013/10/29(火) 23:55:44.69
そんなもんJavaプログラミング自体の面倒臭さに比べれば全く無視して差し支えないオーバーヘッド

133 :デフォルトの名無しさん:2013/10/30(水) 00:41:26.74
>>131
コンピュータ(というかシェル)について基本的なこと知っていれば朝飯前だろ。
普段から人任せで、どうやって動いているのか理解してないと、結局プログラムもサンプル以上のことできないから、先にコンピュータについて学んだほうがいいと思うぞ。

134 :デフォルトの名無しさん:2013/10/30(水) 00:43:53.74
馬鹿には無理

135 :デフォルトの名無しさん:2013/10/30(水) 01:05:33.06
jdkのインストールできる=javaできます!だろ

136 :デフォルトの名無しさん:2013/10/30(水) 01:07:32.64
馬鹿には無理

137 :デフォルトの名無しさん:2013/10/30(水) 01:16:10.28
WindowsならJDKのインストーラが細かいとこまでやってくれんじゃねえの?

138 :デフォルトの名無しさん:2013/10/30(水) 06:32:23.53
Eclipse落とすだけでいいじゃない

139 :デフォルトの名無しさん:2013/10/30(水) 07:30:02.19
環境変数くらいプログラミングやってたらどのみち使うだろ

140 :デフォルトの名無しさん:2013/10/30(水) 07:41:39.18
>>137
トラブルに対しては無力だから、そーっとそーっと崩さないように使い続けなければいけなくなる。

141 :デフォルトの名無しさん:2013/10/30(水) 12:47:29.08
>>122
入門書の棚買いはさすがに未だかつて無いのでは

142 :デフォルトの名無しさん:2013/10/30(水) 13:28:00.48
クラスパスだろうjk

143 :デフォルトの名無しさん:2013/10/30(水) 14:43:22.78
>>121
本を読むより先にエクセルなり使って
具体的なアプリの画面イメージとか動作イメージを作ってみる方が有意義

144 :デフォルトの名無しさん:2013/10/30(水) 15:49:10.57
ランタイムの話はjreポータブルはどうなん?

145 :デフォルトの名無しさん:2013/10/30(水) 20:00:21.81
>>142
PATHの仕組みを理解してれば、CLASSPATHの仕組みを理解するのも簡単じゃないかな。

146 :デフォルトの名無しさん:2013/10/30(水) 20:16:22.53
>>145
結構はまった記憶がある、どこにオブジェクトがあってどこで実行されるとか

147 :デフォルトの名無しさん:2013/10/30(水) 20:24:06.34
>>146
そりゃ実装でなくて概念で理解しないとハマるだろうけど。C言語使いに多い気がする。

148 :デフォルトの名無しさん:2013/10/30(水) 20:33:40.69
IDE使ってると頭つかわねーからな、コマンドラインにうつるととまどう

149 :デフォルトの名無しさん:2013/10/30(水) 21:46:23.58
javaはc#の生産性に勝てるかい?
.netばかりやっている上司を論破できるのか、俺にはそれが問題だ!!

150 :デフォルトの名無しさん:2013/10/30(水) 21:56:10.97
そうかよかったね

151 :デフォルトの名無しさん:2013/10/30(水) 22:37:28.70
>>149
ビジネスモデルや開発手法を無視してそう。
C#ってCI(継続的開発)ツールって使えるの?

152 :デフォルトの名無しさん:2013/10/30(水) 22:43:04.43
馬鹿にかまうなよ

153 :デフォルトの名無しさん:2013/10/31(木) 00:01:09.18
>>149
JavaかC#かは関係ない。
コレクションやオブジェクト関係のメソッドを知ってるか、知ってないかの差が大きい。

154 :デフォルトの名無しさん:2013/10/31(木) 00:26:08.92
意味不明

155 :デフォルトの名無しさん:2013/10/31(木) 00:58:31.27
>>154
ハッシュコードの概念とかequalsメソッドの意味
知らないとリストを回してGetしはじめる

156 :デフォルトの名無しさん:2013/10/31(木) 01:00:04.85
ダメなプロジェクトは
Equalsメソッドとハッシュコードの自動生成をやってない

157 :デフォルトの名無しさん:2013/10/31(木) 01:06:23.15
自動生成ってEclipseの?

158 :デフォルトの名無しさん:2013/10/31(木) 01:07:19.30
>>155
意味不明2

159 :デフォルトの名無しさん:2013/10/31(木) 01:09:35.53
>>157
フレームワークでも、Eclipseでもどっでも良いんじゃないの?
フレームワークならアノテーションつけといてAntやAPTでDTOの自動生成とか。

160 :デフォルトの名無しさん:2013/10/31(木) 01:18:00.11
自動生成しないとどうなるの?

161 :デフォルトの名無しさん:2013/10/31(木) 01:29:31.58
>>160
List、Mapの機能で本来の機能を果たさなくなる。

162 :デフォルトの名無しさん:2013/10/31(木) 02:05:01.97
そんなバカな

163 :デフォルトの名無しさん:2013/10/31(木) 02:06:31.66
Objectに実装されてるequals()とhashCode()で通常は十分っしょ

164 :デフォルトの名無しさん:2013/10/31(木) 02:07:26.98
同じ内部データを持つクラスを同一として扱いたいのならオーバーライドは必要だけど

165 :デフォルトの名無しさん:2013/10/31(木) 02:18:10.49
ObjectはIDベースだろ。フィールド毎に等値性が必要ならオーバーライド必須

166 :デフォルトの名無しさん:2013/10/31(木) 02:22:37.11
前提を後付けされても。

167 :デフォルトの名無しさん:2013/10/31(木) 02:38:49.36
いつからMapはhashCode()の呼び出しが必須になったんだよ。

168 :デフォルトの名無しさん:2013/10/31(木) 02:55:50.58
>>167
オブジェクトをキーにputすると、取り出せない。

169 :デフォルトの名無しさん:2013/10/31(木) 02:57:44.38
そろそろ豪快な空振り三振くるぞ。

170 :デフォルトの名無しさん:2013/10/31(木) 03:02:31.47
EnumMapサイコー。なぜC#に無いのか不思議。

171 :デフォルトの名無しさん:2013/10/31(木) 03:02:34.60
IDベースってなに?

172 :デフォルトの名無しさん:2013/10/31(木) 03:06:57.49
ジャバはオワコンなんだからもういいじゃないですかあ><

173 :デフォルトの名無しさん:2013/10/31(木) 03:11:38.95
>>168
インスタンス作り直してキーにする使い方するのにequalsやhashcodeをオーバーライドしない奴とかいたら根本理解が足りてないとしか言いようがないな

174 :デフォルトの名無しさん:2013/10/31(木) 03:18:02.38
君は勉強不足

175 :デフォルトの名無しさん:2013/10/31(木) 03:32:54.92
自前クラスをキーに使うなんてやったことないから知らんなあ

176 :デフォルトの名無しさん:2013/10/31(木) 03:42:33.98
そもそもequalsをオーバーライドしない理由がない。==で比較すれば同じ結果だからequalsをIDで比較する必要がない。
equalsをオーバーライドしたら、hash codeもオーバーライドする。

177 :デフォルトの名無しさん:2013/10/31(木) 03:46:48.71
equalsやhashcodeを必要とする使い方しないクラスも無駄にオーバーライドしてそう

178 :デフォルトの名無しさん:2013/10/31(木) 03:48:16.93
さっきからIDって何なんだよ、APIドキュメントにもIDについて書かれてないぞ

179 :デフォルトの名無しさん:2013/10/31(木) 03:50:10.31
保有する値が同じだろうと別のオブジェクトとして扱いたいとき内部値で比較するequalsやhashcodeをオーバーライドとかして余計なことをしそう

180 :デフォルトの名無しさん:2013/10/31(木) 03:50:46.61
昔ハッシュでツリー構造作ってたアホがいたなぁ。パフォーマンスは最悪。

181 :デフォルトの名無しさん:2013/10/31(木) 03:51:30.76
スライムAとスライムBのHPが同じ値になったらスライムが1匹減るという仕様

182 :デフォルトの名無しさん:2013/10/31(木) 03:59:23.91
>>161,168
MapやListはただのインターフェースなので
実装は作り手の自由であり、作り手が必ずしもhashCodeを使うと言うわけでは無い

183 :デフォルトの名無しさん:2013/10/31(木) 04:07:08.77
バカにはムリw

184 :デフォルトの名無しさん:2013/10/31(木) 04:09:47.39
Collections (Java Platform SE 7)
http://docs.oracle.com/javase/jp/7/api/java/util/Collections.html

これがええんとちゃうの

185 :デフォルトの名無しさん:2013/10/31(木) 04:45:39.65
オブジェクトはIDだよおっかさん

186 :デフォルトの名無しさん:2013/10/31(木) 05:24:46.53
だからIDって記述ないってば

187 :デフォルトの名無しさん:2013/10/31(木) 05:26:11.41
メモリアドレスはIDにはなりません。別のオブジェクトが同じアドレスに再割り当てされることもあるからです

188 :デフォルトの名無しさん:2013/10/31(木) 06:33:59.63
知的障害者には優しくしないとな。
ID = identifier = 一意識別子 = 他と被らない名称

189 :デフォルトの名無しさん:2013/10/31(木) 06:44:19.21
オブジェクトのID知らない奴超雑魚

190 :デフォルトの名無しさん:2013/10/31(木) 07:17:52.57
>>189
荒らすな雑魚

191 :デフォルトの名無しさん:2013/10/31(木) 09:40:47.72
httpheadersのmapなんてnullがキーなんだぜ
なんで取り出せないと思ったのか

192 :デフォルトの名無しさん:2013/10/31(木) 16:23:04.87
Objectのfinalizeってデストラクタと同じ?

193 :デフォルトの名無しさん:2013/10/31(木) 18:14:42.08
ちがう

いつ呼び出されるか分からない
書くだけでGCによるメモリ開放が遅れてパフォーマンスに悪影響が出る

重要な外部リソースの開放は自分でやるかCloseableインターフェースを使うべきだし
外部リソースを持たないなら書くだけ無駄だし
基本的にはいらない子

194 :デフォルトの名無しさん:2013/10/31(木) 18:18:00.34
>>192
つかわない

195 :デフォルトの名無しさん:2013/10/31(木) 18:21:03.57
3.10.5 java.lang.Object.finalize()についての注意事項
http://software.fujitsu.com/jp/manual/manualfiles/M080037/J2S21060/02Z2A/note03/note0088.htm

196 :デフォルトの名無しさん:2013/10/31(木) 18:21:43.61
【Java】GCとfinalizeメソッドの関係 - 16bit!
http://sakuramochi702.hatenablog.com/entry/2013/06/03/125052

197 :デフォルトの名無しさん:2013/10/31(木) 18:22:53.61
>>195
不治痛だしsolarisだろう

198 :デフォルトの名無しさん:2013/10/31(木) 18:24:04.91
現場から学ぶWebアプリ開発のトラブルハック(9):JavaのGC頻度に惑わされた年末年始の苦いメモリ (3/3) - @IT
http://www.atmarkit.co.jp/ait/articles/0712/27/news081_3.html

199 :デフォルトの名無しさん:2013/11/01(金) 01:05:00.96
javaにRAIIをってのはどうなったの?

200 :デフォルトの名無しさん:2013/11/01(金) 01:11:25.44
try with resourcesでお茶を濁して終了

201 :デフォルトの名無しさん:2013/11/01(金) 01:29:11.36
お前ら基本が出来てなさすぎ

>>188
この場合はidentifierじゃなくてidentity。Object#equalsとObject#hashCodeの汎用規約はidentityと決まってる。
だからequivalencyが必要な時オーバーライドするんだろうがggr
ttps://www.google.com/webhp?q=java+equals+identity&safe=off

>>182
collections frameworkの実装はHashMap以外にもObject#hashCode使ってる。(List実装は使ってないけど)
Object#equalsをオーバーライドするとき常に一緒にオーバーライドするのがObject#hashCodeの要件だし、
Object#hashCodeはObject#equalsがfalseのときでも同じハッシュ返してもいいからObject#equalsがfalseのとき常に違う値返すようにしないとパフォーマンス悪い。

>>187
ハードウェアでノイズ生成でもしないと必ず一意になる値は生成不可能だから一般的にはダブる確率が低くてコストも低いメモリアドレスで代用する。
openjdkの実装もそうなってるしjavadocにも記述されてるからラッパークラスのキャッシュと同じでAPI側の仕様。

>>191
nullのidentity hashは必ず0と決まってるからnull時の動作は別途記述がない限り定義済み。
collections frameworkの実装は基本的にnullableだから>>168の話とnullは関係ない。

202 :デフォルトの名無しさん:2013/11/01(金) 01:33:28.49
>>199
project sumatraでGPUと共有するメモリをGPUが使い終わるまでGCしないようにVMに変更入った。
RAII自体はとっくの昔に方向性が変わって成果物はtry with resourcesとその他諸々になってる。

203 :デフォルトの名無しさん:2013/11/01(金) 01:56:35.26
>>201
野良ライブラリ作った奴がMapやListの実装にequalsやhashCode使ってるかは分からないだろJK

204 :デフォルトの名無しさん:2013/11/01(金) 02:02:07.60
>>201
細かいやつだな。キーを定義しなおすほど潔癖症なのかそれともHashMapをHashSetと勘違いしてないかい?

205 :デフォルトの名無しさん:2013/11/01(金) 02:36:52.95
hash codeは完全一意に作れるわけじゃないのでIDの定義には当てはまりません
hash codeに求められるのは一様に分布することです

206 :デフォルトの名無しさん:2013/11/01(金) 02:51:38.69
>>201
そーゆーのはブログでやって

207 :デフォルトの名無しさん:2013/11/01(金) 07:59:02.46
>>201
http://d.hatena.ne.jp/chiheisen/20120318/1332071962 によると、
デフォルトではメモリアドレスじゃなくて乱数使ってるっぽいが。

208 :デフォルトの名無しさん:2013/11/01(金) 09:24:13.31
>>201のどこが間違ってるのかわからん
お前らは自分のチンケな自尊心を守るために難癖つけてるだけだろう

209 :デフォルトの名無しさん:2013/11/01(金) 11:00:19.43
チンケな自尊心を持つのは>>201本人w

210 :デフォルトの名無しさん:2013/11/01(金) 12:42:06.83
>>201はきっと職場でも浮いた存在なんだろうな

211 :デフォルトの名無しさん:2013/11/01(金) 15:45:43.26
>>207

Object - hashCode() (Java Platform SE 7)
http://docs.oracle.com/javase/jp/7/api/java/lang/Object.html#hashCode()
> これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されます

Object - hashCode() (Java Platform SE 6)
http://docs.oracle.com/javase/jp/6/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます

Object - hashCode() (Java 2 Platform SE 5.0)
http://docs.oracle.com/javase/jp/1.5.0/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます

212 :デフォルトの名無しさん:2013/11/01(金) 15:46:39.29
※通常

213 :デフォルトの名無しさん:2013/11/01(金) 15:49:18.39
16bitマシンや64bitマシンではメモリアドレスを返すという仕様は満たせない

214 :デフォルトの名無しさん:2013/11/01(金) 16:01:54.36
Object - hashCode() (Java 2 プラットフォーム SE v1.4.0)
http://docs.oracle.com/javase/jp/1.4/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます

215 :デフォルトの名無しさん:2013/11/01(金) 16:07:47.10
>>211
へんなところで文章切るなよ。

> (これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、
> この実装テクニックは JavaTM プログラミング言語では必要ありません。)

216 :デフォルトの名無しさん:2013/11/01(金) 16:07:59.73
Java 2 Platform SE 1.3: クラス Object - hashCode()
http://docs.oracle.com/javase/jp/1.3/api/java/lang/Object.html#hashCode()
> 通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます

217 :デフォルトの名無しさん:2013/11/01(金) 16:09:48.44
> この実装テクニックは JavaTM プログラミング言語では必要ありません

これはオーバーライドするときに内部アドレスのこと気にせずにオーバーライドできるよって意味だろJK

218 :デフォルトの名無しさん:2013/11/01(金) 16:14:56.95
Java言語では必要ありません、に対しての通常なわけだから
「他の言語では内部アドレスを整数に変換することによって実装されますが」と同等の意味だろう。

普通に読めば。

219 :デフォルトの名無しさん:2013/11/01(金) 16:16:11.57
ObjectのhashCode()の実装はJavaで書かれてません

220 :デフォルトの名無しさん:2013/11/01(金) 16:18:22.78
しかも1.2の頃から確認できる文だからなぁ。10数年前は一般的だったテクニックだったっつー事だね。

221 :デフォルトの名無しさん:2013/11/01(金) 16:19:16.50
>>218
どうしてこんな頭の悪い奴ほど主張が強いのだろう。

222 :デフォルトの名無しさん:2013/11/01(金) 16:20:19.00
Javaで書かれてないけどデフォルトでは os::random() 呼んでるからなぁ。

223 :221:2013/11/01(金) 16:22:31.29
アンカーミス>>218ではなく>>216

224 :デフォルトの名無しさん:2013/11/01(金) 16:22:39.22
っつかVMのソースコードからデフォルトで乱数使ってるの判明してんのに、さすがに見苦しいわ。

225 :デフォルトの名無しさん:2013/11/01(金) 16:23:18.01
偶数しか返さないhashCode()、とか、やだなあ。おい

226 :デフォルトの名無しさん:2013/11/01(金) 16:23:50.84
そりゃ内部アドレスを返してたらセキュリティ的に危ないだろJK

227 :デフォルトの名無しさん:2013/11/01(金) 16:27:31.81
JDKのインスト―ルフォルダ内にあるsrc.zip

228 :デフォルトの名無しさん:2013/11/01(金) 16:39:40.93
>>227
今回の Object#hashCode() の場合はネイティブだからそれ見ても無駄。

229 :デフォルトの名無しさん:2013/11/01(金) 16:43:33.77
これやれば分かる

Object[] obj = new Object[200];
for (int i = 0; i < obj.length; i++) {
  obj[i] = new Object();
  System.out.printf("%d %d\n", obj[i].hashCode(), obj[i].hashCode());
}

230 :デフォルトの名無しさん:2013/11/01(金) 16:56:13.81
はい、この話はこれでオシマイ、次の質問どうぞー

231 :デフォルトの名無しさん:2013/11/01(金) 16:59:34.57
おーばーらいどってなんですかー?

232 :デフォルトの名無しさん:2013/11/01(金) 17:09:36.54
おーらいおーらい

233 :デフォルトの名無しさん:2013/11/01(金) 17:11:01.03
>>229
やったお
http://ideone.com/vYNDS4

234 :デフォルトの名無しさん:2013/11/01(金) 17:25:23.65
>>207
おもしろい実験だな

235 :デフォルトの名無しさん:2013/11/01(金) 17:34:31.67
勉強になったので記録させていただいた

http://www54.atwiki.jp/projecthikky/pages/40.html

236 :デフォルトの名無しさん:2013/11/01(金) 17:54:32.32
本来の争点からズレてないか?hashCodeのオーバーライドについて話してたんじゃなかったのか?

237 :デフォルトの名無しさん:2013/11/01(金) 18:54:18.47
オブジェクトはIDだよおっかさん

238 :デフォルトの名無しさん:2013/11/01(金) 18:56:50.44
乱数はID

239 :デフォルトの名無しさん:2013/11/01(金) 21:48:01.12
論破完了

240 :デフォルトの名無しさん:2013/11/01(金) 21:54:21.91
>>151-
この辺りからの流れか、えらく続いてるな
もうループしてるだけだろ

241 :デフォルトの名無しさん:2013/11/01(金) 21:55:43.29
iPad air ほぢい

242 :デフォルトの名無しさん:2013/11/02(土) 01:25:29.23
>>201
そーゆーのはブログでやれよ雑魚

243 :デフォルトの名無しさん:2013/11/02(土) 01:27:33.65
馬鹿には無理

244 :デフォルトの名無しさん:2013/11/02(土) 01:37:04.66
eclipseでメソッドのヘルプをeclipseについてるブラウザで閲覧しようとしたところ、
eclipseごと固まってしまいました。

1時間ほどの作業を保存していないので、
消えるとショックなんですが、
復元機能はついてますか?

245 :デフォルトの名無しさん:2013/11/02(土) 01:39:15.54
こちらへどうぞ。
eclipse総合
http://toro.2ch.net/test/read.cgi/tech/1361510049/l50

246 :デフォルトの名無しさん:2013/11/02(土) 03:00:39.61
>>172

247 :デフォルトの名無しさん:2013/11/02(土) 07:39:35.86
次の方

248 :デフォルトの名無しさん:2013/11/02(土) 12:19:39.67
javaの中級レベルのテキストでお勧めのものはありませんか?

249 :デフォルトの名無しさん:2013/11/02(土) 12:26:52.72
effective java

250 :デフォルトの名無しさん:2013/11/02(土) 12:34:38.02
有難うございます

251 :デフォルトの名無しさん:2013/11/02(土) 12:38:46.61
でも第二版が品切れだな。
他のんない?

252 :デフォルトの名無しさん:2013/11/02(土) 15:02:28.40
>>249
改版するわけでもなさそうなのに、ピアソンて商売気ないのね

253 :デフォルトの名無しさん:2013/11/02(土) 16:00:47.98
ピアソン日本として活動してた会社がグループ離れて、全部絶版になった

254 :デフォルトの名無しさん:2013/11/02(土) 16:05:34.16
以前も業務提携解消で同じようなことがあったような気がするけど、
その時は、一部の本が別の会社が出て、
しばらくして、ピアソン日本で出るようになった記憶。

255 :デフォルトの名無しさん:2013/11/02(土) 17:14:11.82
使用しているサーバはTomcat5.5なんだけど、JDBCRealmのdigestをMD5に設定した途端に認証に失敗します。もちろんテーブルにMD5のパスワードを入れてるのですがうまくいきません。どうすればいいか教えてください。

256 :デフォルトの名無しさん:2013/11/02(土) 17:18:01.22
7.0にする

257 :デフォルトの名無しさん:2013/11/02(土) 18:01:43.61
spring <--> mybatisの連携をやろうと思っているんですが、
どうやってmybatisに依存性を注入すればいいんですか?

これじゃだと、依存性が注入されないんですが、やり方おかしいですか

@Service
public class Sample extends HttpServlet {
@Autowired
SqlSession sqlSession;

258 :デフォルトの名無しさん:2013/11/02(土) 18:50:10.95
Javaでわからないことを質問するスレ
http://kohada.2ch.net/test/read.cgi/prog/1363851093/

259 :デフォルトの名無しさん:2013/11/02(土) 19:03:05.10
>>258
このスレと何が違うの

260 :デフォルトの名無しさん:2013/11/02(土) 19:07:47.82
そこはこのスレより過疎、意味ない

261 :デフォルトの名無しさん:2013/11/02(土) 20:35:38.29
>>257
spring
http://toro.2ch.net/test/read.cgi/tech/1322414231/

262 :デフォルトの名無しさん:2013/11/02(土) 21:10:15.59
5 名前: 1 投稿日: 2013/03/21(木) 16:53:49.51
でもリンク書いてくれたスレ、レベル高いなぁ
もっとこう、初心者が気軽に書けるスレがあればいいんだが・・・

warota

263 :257:2013/11/02(土) 22:28:32.53
>>261
誘導先に書き込んだら、自己解決してしまったorz

アスペクト指向って役に立つの?
ロギング、トランザクション、認証以外に用途が全く思いつかないんだけど

264 :デフォルトの名無しさん:2013/11/02(土) 22:36:42.97
>>263
コメント:書き方に気をつけましょう

265 :デフォルトの名無しさん:2013/11/03(日) 00:54:09.19
methodA()が呼び出される前・後に、ロギングするようにしたいのですが
どのようにすればいいでしょうか?

266 :デフォルトの名無しさん:2013/11/03(日) 01:43:29.34
リスペクトされてないアスペクト

267 :264:2013/11/03(日) 08:16:43.37
>>263
「後だし」ていうんだよ

268 :デフォルトの名無しさん:2013/11/03(日) 08:21:09.13
>>265
「java メソッド呼び出し フック」ggrbしあわせ

269 :デフォルトの名無しさん:2013/11/03(日) 08:42:21.45
アスペは役に立たない

270 :デフォルトの名無しさん:2013/11/03(日) 13:51:29.11
ggrasaws

271 :デフォルトの名無しさん:2013/11/03(日) 15:54:33.89
gdgdurusai

272 :デフォルトの名無しさん:2013/11/03(日) 17:07:40.76
javaってas演算子無いんだね
キャストに失敗した時、nullがセットされるからめちゃ便利なのに

273 :デフォルトの名無しさん:2013/11/03(日) 17:12:33.14
>>272
castに失敗したらnullが返るけど

Class#cast (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/lang/Class.html#cast(java.lang.Object)

274 :デフォルトの名無しさん:2013/11/03(日) 17:13:16.49
嘘はよくない

275 :デフォルトの名無しさん:2013/11/03(日) 17:18:52.73
SocketChannelクラスにbindが実装されてたんだな

276 :デフォルトの名無しさん:2013/11/03(日) 17:50:40.17
>>273
おもいっきり、DOCに例外が発生するって書いてないか

277 :デフォルトの名無しさん:2013/11/03(日) 17:51:36.30
>>273
おまえ一度もjavaに触ったことないんじゃね?

278 :デフォルトの名無しさん:2013/11/03(日) 20:49:32.47
きっとVMがSunやOracleやGoogleじゃないんだよ
MSとかさ

279 :デフォルトの名無しさん:2013/11/03(日) 22:44:53.52
それをいうならSunやOracleやIBMだろ
GoogleのああいうのこそまさにえせJava

280 :デフォルトの名無しさん:2013/11/03(日) 22:48:03.45
プログラミング言語としてのJava言語は特許とってないのか

281 :デフォルトの名無しさん:2013/11/03(日) 22:51:30.59
JVMやライブラリの中は特許だらけだよ
Oracle神以外が作った処理系をJavaとして世に出すには
Oracle神に大金を支払ってライセンスを受ける必要がある

282 :デフォルトの名無しさん:2013/11/03(日) 22:53:00.48
JVMを借用する言語を作ったらなんらかのライセンス問題にひっかかりますか?

283 :デフォルトの名無しさん:2013/11/03(日) 22:57:39.58
馬鹿には無理

284 :デフォルトの名無しさん:2013/11/03(日) 22:58:29.04
JVM上で動くJava言語ライクな言語を作ったらライセンス違反ですか?

285 :デフォルトの名無しさん:2013/11/03(日) 23:10:07.47
このご時世、何かしら特許で言いがかりを付けることは可能だろうね
ただ現実としてScalaみたいなのが問題になっていない以上、
あなたの言語がそれを超えることはあり得ないのでまず問題ないといえる

286 :デフォルトの名無しさん:2013/11/03(日) 23:20:32.59
じゃあ逆にJDKでのコンパイル物が実行できる俺俺JVMを作るのは

287 :デフォルトの名無しさん:2013/11/04(月) 00:45:08.93
>>286
それはアウト
GoogleとOracleは実際それで絶賛喧嘩中

288 :デフォルトの名無しさん:2013/11/04(月) 00:49:00.54
x86のエミュレータはOKだのにJVMのエミュレータはアウトなのか

289 :デフォルトの名無しさん:2013/11/04(月) 01:09:06.18
OpenJDKからフォークしたことにすればおk
GPLになっちゃうからドブに捨てるようなもんだけどな

290 :デフォルトの名無しさん:2013/11/04(月) 01:23:09.57
Integer Java Virtual Machine のエミュレータ試作 - 日本大学
www.tani.cs.chs.nihon-u.ac.jp/g-2004/karaika/ijvm.pdf

教育用JVMエミュレータの設計と試作
www.gsim.aoyama.ac.jp/~ida/jvm-emu

4L-3 教育用 JVM エミュレータの設計と試作
ci.nii.ac.jp/naid/110002894678

教育用なら大丈夫なんじゃね

291 :デフォルトの名無しさん:2013/11/04(月) 01:27:24.81
IKVM.NETとかKaffeもOracleに特許料を払ってたりするのか?

292 :デフォルトの名無しさん:2013/11/04(月) 01:43:52.99
取るに足らないからだよ
商業的に邪魔になるようなら攻撃される可能性はある

293 :デフォルトの名無しさん:2013/11/04(月) 02:01:40.94
IKVMなんて広く使われるようになったら訴訟確実だろうな
Javaの主戦時で衝突するわけで、Androidよりヤバイよあれ

294 :デフォルトの名無しさん:2013/11/04(月) 02:19:16.20
日本語版が欲しいところ

Oracle v. Google - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Oracle_v._Google

295 :デフォルトの名無しさん:2013/11/04(月) 02:23:08.66
Oracle対GoogleのAndroid/Java訴訟で「Java APIは著作権保護対象ではない」との判断 | SourceForge.JP Magazine
http://sourceforge.jp/magazine/12/06/03/2329238

296 :デフォルトの名無しさん:2013/11/04(月) 03:28:46.88
ところでオラクルvsグーグルのジャバ裁判はどっちが勝ったんですか?

297 :デフォルトの名無しさん:2013/11/04(月) 06:55:44.11
決着ついてたら>>294のwikiにも書かれてるはず

298 :デフォルトの名無しさん:2013/11/04(月) 08:28:55.08
Google vs Oracle裁判は裁判の経過というより「そもそも何が争点になってるのか」がわかりにくい
・VMがパクリ
・APIの名前がパクリ
・APIの中身がパクリ

こういう争点だと認識してる

299 :デフォルトの名無しさん:2013/11/04(月) 09:06:02.06
よかったねつれて

300 :デフォルトの名無しさん:2013/11/04(月) 14:31:43.07
テンプレ見たんですが
なんで文字列の比較に==を使っちゃいけないのですか?
理由が書いてないのですが教えてください

301 :デフォルトの名無しさん:2013/11/04(月) 14:37:18.44
http://docs.oracle.com/javase/jp/7/

ifとかswitchとか言語構造がのってるページを見て勉強したいのですが
このページにあるのでしょうか?

302 :デフォルトの名無しさん:2013/11/04(月) 15:17:41.89
>>301
こっち
ttp://docs.oracle.com/cd/E26537_01/tutorial/java/index.html

303 :デフォルトの名無しさん:2013/11/04(月) 15:25:18.79
int[][] ary = {
{1,2},
{3,4},
};

上のコードは問題なくコンパイルできるんですが
下のコードはエラーになります

int[][] ary = new int[2][2];
ary[0] = {1, 2};
ary[1] = {3, 4};

二次元配列のときはこういう書き方はできないのでしょうか?

304 :デフォルトの名無しさん:2013/11/04(月) 15:36:42.85
できない

305 :デフォルトの名無しさん:2013/11/04(月) 15:37:03.97
そうでしたか、わかりました

306 :デフォルトの名無しさん:2013/11/04(月) 15:41:00.36
ary[0] = new int[]{1, 2};
ary[1] = new int[]{3, 4};

だとコンパイル通るよ

307 :デフォルトの名無しさん:2013/11/04(月) 15:57:32.47
おお、ありがとうございます

308 :デフォルトの名無しさん:2013/11/04(月) 17:26:24.46
class Test{
private String test = "test1";
main{
hensuutest("test2");
}

test(String test){
System.out.println(test);
System.out.println(Test.test);
}
}

クラス内の変数とメソッド内の変数名が一緒の時に、
それぞれ区別して参照するためには何を変数の前につければいいのですか?

309 :デフォルトの名無しさん:2013/11/04(月) 17:28:05.64
this

310 :デフォルトの名無しさん:2013/11/04(月) 17:34:26.72
ありがとうございます。

メッソトにstaticをつけろと言われまして、
つけたらthisはstaticだと使えねーよと怒られてしまったのですが。。。

static void Test(String test){
System.out.println(test);
System.out.println(this.test);

}

311 :デフォルトの名無しさん:2013/11/04(月) 17:36:29.90
あ、メソットが変数名と被ってるのは書き込み用だから
気にしないでください。

312 :デフォルトの名無しさん:2013/11/04(月) 17:38:03.96
自己解決しました

313 :デフォルトの名無しさん:2013/11/04(月) 17:39:14.34
してないですw

314 :デフォルトの名無しさん:2013/11/04(月) 17:39:18.20
>>310
静的メソッドからインスタンス変数を参照することはできないんで
testを参照したいならtestにもstaticつけなきゃいけないよ。
もしくはオブジェクトを作ればいい。
test(String test){
 Test o = new Test();
 System.out.println(o.test);
}

315 :デフォルトの名無しさん:2013/11/04(月) 17:44:13.30
なるほど。ありがとうございます。
なぜ、情的メソッドからインスタンス変数を参照できないのか、
ちょっと整理がついていないですが、
クラスを利用したいと思います。

316 :デフォルトの名無しさん:2013/11/04(月) 17:59:32.19
公式で無料のチュートリアルがあるんだからそれやって覚えなさいよ

The Java? Tutorials
http://docs.oracle.com/javase/tutorial/

317 :デフォルトの名無しさん:2013/11/04(月) 18:12:38.28
>>315
静的メソッドね。インスタンスメソッドを呼ぶときはオブジェクトを作って
呼ぶでしょう。オブジェクトを作ったときにインスタンス変数のメモリも
確保されるからインスタンスメソッドからはインスタンス変数を参照することができる。
けれども静的メソッドを呼ぶときはインスタンスを作成する必要がないんで
インスタンス変数のメモリが確保されてない。だからインスタンス変数を参照できない。

318 :デフォルトの名無しさん:2013/11/04(月) 18:14:57.43
>>312
ワロタ

319 :デフォルトの名無しさん:2013/11/04(月) 18:41:02.02
EJB3の単体テスト。EJBContainer.createEJBContainer()で参照したEJBに
InjectしているManagedBeanが解決されずにNullになる。
何か設定が不足している?仕様?

320 :デフォルトの名無しさん:2013/11/04(月) 19:59:27.14
Eclipseでプロジェクトを循環参照したら、怒られちゃった
javaってプロジェクトの循環参照できないのかよ!!!
c#に負けてんじゃん

321 :デフォルトの名無しさん:2013/11/04(月) 20:08:15.77
よかったねー

322 :デフォルトの名無しさん:2013/11/04(月) 20:10:14.82
>>317
なるほど!

カップラーメンにお湯入れてねーのに、スープ飲めるかよってことですね。

323 :デフォルトの名無しさん:2013/11/04(月) 20:58:20.83
自分はmainメソッドから他のメソッドを呼ぼうとしたらstaticつけないと呼べないよと
Eclipseに怒られたのでstaticを付け、そのメソッドから他のメソッドを呼ぼうとしたら
また怒られたのでstaticをつけ・・・

気がつけばそこにはstaticメソッドしかいない。

そんな恐怖物語を学生実験の現場で何度か見てきた。

324 :デフォルトの名無しさん:2013/11/04(月) 21:20:25.02
これはstatic感染症と命名しなければなりませんね。

325 :デフォルトの名無しさん:2013/11/04(月) 21:27:58.91
性的感染症

326 :デフォルトの名無しさん:2013/11/04(月) 21:53:20.80
staticスパイラル

327 :デフォルトの名無しさん:2013/11/04(月) 22:15:46.67
よくストリームをcloseするコードとして
Reader reader = new FileReader("a.txt");
try {
&nbsp;&nbsp;&nbsp;&nbsp;doSomething(reader);
} finally {
&nbsp;&nbsp;&nbsp;&nbsp;reader.close();
}
というコード(@)と、
Reader reader = null;
try {
&nbsp;&nbsp;&nbsp;&nbspreader = new FileReader("a.txt");
&nbsp;&nbsp;&nbsp;&nbsp;doSomething(reader);
} finally {
&nbsp;&nbsp;&nbsp;&nbspif (reader != null) {
&nbsp;&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp;&nbsp;reader.close();
&nbsp;&nbsp;&nbsp;&nbsp}
}
というコード(A)を見るのですが、どちらが正しいのでしょうか?
個人的に@で十分だと思うのですが、Aじゃないとreaderのcloseが漏れることがあるのでしょうか?

328 :デフォルトの名無しさん:2013/11/04(月) 22:16:15.89
nbspとかいう文字が羅列するコードなんて見たことねえよ

329 :デフォルトの名無しさん:2013/11/04(月) 22:22:41.98
>>327
遅れるとかそういう問題じゃなくて、new FileReaderのところでファイルが無いと例外が発生するから。

330 :デフォルトの名無しさん:2013/11/04(月) 22:23:12.69
>>328
にわかか?この間までは&nbsp;で空白が出力されてたんだけどな

331 :デフォルトの名無しさん:2013/11/04(月) 22:25:05.01
>>330
お前はプログラム修正で文字化けが発生するようになったことを客に指摘されて
同じことを客に抜かすのか?

332 :329:2013/11/04(月) 22:25:17.57
凄い勘違いをしていた無かったことにしておくんなまし。

333 :デフォルトの名無しさん:2013/11/04(月) 22:25:34.52
>>329
すいません、大外にはFileNotFouneExceptionを捕まえるtry〜catchがあると思ってください。
ただ単純に、@、Aのどちらでも、close漏れは防げるのか、防げないのかということが知りたいです。

334 :デフォルトの名無しさん:2013/11/04(月) 22:25:36.59
すみません、Javaでandroidアプリを作っているのですが、
TableLayoutで作った表の幅と高さを調整したいのですが、どうしたらいいでしょうか?

TableLayoutでテキストとボタンを配置したのですが、実機で起動したところ
表示したものが、1/9の大きさで左上隅に表示されました。
これだと、小さすぎるので幅を大きくしたいのですが、
調べたところ、xmlファイルのはあるのですが、Activityファイルでは見つかりませんでした。
どこを調べたらいいのでしょうか?

335 :デフォルトの名無しさん:2013/11/04(月) 22:26:59.26
>>331
何の話してんだバーカ
2chの仕様をいってんだよ

336 :デフォルトの名無しさん:2013/11/04(月) 22:33:35.78
自己解決しました

337 :デフォルトの名無しさん:2013/11/04(月) 22:35:23.94
>>333
close漏れは(@、A)どちらでも防げるよ。

338 :デフォルトの名無しさん:2013/11/04(月) 22:38:16.68
@ってtry {の部分が失敗することってないのかな?

339 :デフォルトの名無しさん:2013/11/04(月) 23:21:43.96
>>328,330,331,335
おまえら面白杉だろw

340 :デフォルトの名無しさん:2013/11/05(火) 00:01:05.31
>>327
検索したらそのものずばりの解説がヒットしたけど、検索した?
http://www.atmarkit.co.jp/ait/articles/1112/20/news131_3.html

341 :デフォルトの名無しさん:2013/11/05(火) 00:06:07.20
>>340
バカ乙

342 :デフォルトの名無しさん:2013/11/05(火) 00:08:53.65
close()メソッドも例外投げなかったっけ?try-catchでくくる必要あった希ガス

343 :デフォルトの名無しさん:2013/11/05(火) 00:10:20.03
>>342
関係ねえよ

344 :デフォルトの名無しさん:2013/11/05(火) 00:13:21.72
>>342
あるね。

try{
 FileReader reader=new FileReader("unko");
 try{
  ...
 }finally{
  reader.close();
 }
}catch(Exception e){...}//ヌルポとIOExceptionを補足
で良い感じもする。

345 :デフォルトの名無しさん:2013/11/05(火) 00:14:12.45
>>342
今回の話とは関係ない

346 :デフォルトの名無しさん:2013/11/05(火) 00:14:29.78
>>327
前者と後者の違いはclose()の漏れに注目してる違いのコードじゃないよ
new FileReader("a.txt")の失敗をキャッチしたいかしなくていいかの違いだよ
前者はa.txtが無かった場合どこで処理されるか知らんけど、後者はそこのcatchで処理されるからcloseメソッドの呼び出しに気を遣うためにnullチェックしてる

347 :デフォルトの名無しさん:2013/11/05(火) 00:17:49.52
だけど自分の場合過去のソースの99%は以下
FileReader reader=null;
try{
 reader=new FileReader("unko");
 ...
}catch(IOException e){
 ...
}finally{
 try{
 reader.close();
 }catch(Exception e){...}
}

348 :デフォルトの名無しさん:2013/11/05(火) 00:18:10.05
つまり
前者の@はnew FileReader("a.txt")の失敗を想定しなくていいコード
後者のAはnew FileReader("a.txt")の失敗をそこで処理したいコード (ただAにはcatch文が書かれてないけど、本来は処理する)

349 :デフォルトの名無しさん:2013/11/05(火) 00:20:25.24
>>348
>>333読めよバカ

350 :デフォルトの名無しさん:2013/11/05(火) 00:21:59.23
馬鹿には無理

351 :デフォルトの名無しさん:2013/11/05(火) 00:43:39.87
質問者名前欄にレス番号入れてくれないと見落とすだろんバカん

352 :デフォルトの名無しさん:2013/11/05(火) 00:46:59.65
質問者は根本問題として@とAのコードの違いをcloseの漏れを防ぐために厳重にしてるかどうかの違いだと勘違いしてるからあんな質問したんだろJK

353 :デフォルトの名無しさん:2013/11/05(火) 01:03:39.20
自信がなかったのでFileReaderのソースコード見たけど@でOK

354 :デフォルトの名無しさん:2013/11/05(火) 01:27:27.96
>>347
これはまずいと思うぞ。
コンストラクタが例外投げたらぬるぽじゃないか。
ぬるぽ地獄に陥りたいのか!!

355 :デフォルトの名無しさん:2013/11/05(火) 01:29:31.91
>>353
今の論点は>>338なんですよ。

356 :デフォルトの名無しさん:2013/11/05(火) 01:33:59.45
実際にはこんな感じになると思う。
void load(File f)throws IOException
 FileReader reader=new FileReader(f);
 try{
  ...
 }finally{
  reader.close();
 }
}

357 :デフォルトの名無しさん:2013/11/05(火) 01:35:35.37
スレ汚しすまんね。
void load(File f)throws IOException,NullPointerException
{...}

358 :デフォルトの名無しさん:2013/11/05(火) 01:36:21.44
もうだめだ地獄だ。357は間違っている。

359 :デフォルトの名無しさん:2013/11/05(火) 01:36:54.32
>>327>>333が質問者のレスだから両方読んでから回答してね(>>337の回答でFAだけどね)

360 :デフォルトの名無しさん:2013/11/05(火) 01:37:29.35
tryの行で失敗するってことはないのん??

361 :デフォルトの名無しさん:2013/11/05(火) 01:38:00.13
構文であるtryが失敗ってどういうこと?

362 :デフォルトの名無しさん:2013/11/05(火) 01:39:05.45
@のコードの

Reader reader = new FileReader("a.txt");
// ここに何か処理があったらreaderのclose()のフォローができない
try {

って話をしたいの?

363 :デフォルトの名無しさん:2013/11/05(火) 01:44:11.30
自分以外の誰か、あるいは自分がうっかりして、そこに失敗の危険性のあるコードを書き足したらヤバいな

364 :デフォルトの名無しさん:2013/11/05(火) 01:45:14.39
構文であるtryが失敗する心配をするならfinallyが失敗する可能性も検討しないと、finallyが呼び出されず異常終了したらcloseされないじゃん!って

365 :デフォルトの名無しさん:2013/11/05(火) 01:46:47.96
いや、try って多分例外が発生したときのためにスタックをどこまで巻き戻すかとかやってると思うんだけど

366 :デフォルトの名無しさん:2013/11/05(火) 01:51:06.65
構文であるtryが内部で何をやってようとJavaプログラマがそこを配慮する必要は全くないだろJK

367 :デフォルトの名無しさん:2013/11/05(火) 01:54:02.55
try自体の失敗にビビったら何のメソッドも呼び出せなくなるだろ、呼び出し先のtryでシステムエラー投げられたってどうしようもないぜ

368 :デフォルトの名無しさん:2013/11/05(火) 02:00:26.00
メモリのスタックサイズを気にするような環境でJavaを使うのか

369 :デフォルトの名無しさん:2013/11/05(火) 02:51:32.05
>>172

370 :デフォルトの名無しさん:2013/11/05(火) 03:42:42.31
test(cursor c1){
Cursor c2 = c1
c1.close
}

こんな感じのコードを書いたんですが、
c1をクローズするとc2まで閉じちゃうんです。代入ってコピーするんじゃなくて、メモリで持ってるインスタンスそのものにアクセスするエイリアスみたいなものなんでしょうか?

371 :デフォルトの名無しさん:2013/11/05(火) 03:47:11.09
ハードリンクみたいなもんだよ

372 :デフォルトの名無しさん:2013/11/05(火) 03:48:12.72
ハードリンク - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%83%89%E3%83%AA%E3%83%B3%E3%82%AF

373 :デフォルトの名無しさん:2013/11/05(火) 03:52:34.53
Object obj1 = new Object();
Object obj2 = obj1;
obj1 = null; //obj2はnullにならない

もしエイリアスなら、obj2はobj1と同じ物を指さないといけないからobj1をnullにしたならobj2もnullにならなければならない

374 :デフォルトの名無しさん:2013/11/05(火) 03:55:30.80
む、、、難しい。

375 :デフォルトの名無しさん:2013/11/05(火) 03:58:04.78
コピー姿態ならメソッドclone()が必要かも

376 :デフォルトの名無しさん:2013/11/05(火) 03:59:04.42
Human tom = new Human(); //新しい人間を1人作ってそいつにtomというニックネームをつけた
Human joe = tom; // tomとニックネームをつけた人間にjoeというニックネームもつけた
tom = null; //tomというニックネームを使うのをやめた

インスタンスの概念

377 :デフォルトの名無しさん:2013/11/05(火) 04:03:43.13
>>376
ジョーさんはその後もトムという通名を使ってるのですか?

378 :デフォルトの名無しさん:2013/11/05(火) 04:05:27.30
>>377
それは違うよ、本人がtomやjoeと名乗ってるわけじゃない、周りが勝手にtomやjoeと呼んでるだけなんだよ

379 :デフォルトの名無しさん:2013/11/05(火) 04:10:58.85
プロレスラー 武藤 = new プロレスラー()
プロレスラー ムタ = 武藤
ムタ = null ムタ止めた
武藤.dead 武藤(ムタ)は引退した

こ・・・こういうことか 理解した 

380 :デフォルトの名無しさん:2013/11/05(火) 04:16:45.78
Human tom = new Human("Jack"); //新しい人間(本名Jack)を1人作ってそいつにtomというニックネームで呼ぶことにする
Human joe = tom; // tomとニックネームをつけた人間(Jack)にjoeというニックネームでも呼ぶことにする
tom = null; //tomというニックネームで誰かを呼ぶことをやめる、tomというニックネームで呼ばれる人間はいなくなる (Jackはもうtomとは呼ばれない)
tom = new Human("Cindy"); //別の新しい人間(本名Cindy)を作ってそいつをtomと呼ぶことにする

Foo(tom); // Fooメソッドに tom と呼んでる人間(Cindy)を引数として渡す

void Foo(Human bob) { //引数で渡された人間を Fooのメソッド内では bobというニックネームで呼ぶことにする
}

381 :デフォルトの名無しさん:2013/11/05(火) 04:21:59.03
Human tom = new Human("Jack"); //新しい人間(本名Jack)を1人作ってそいつにtomというニックネームで呼ぶことにする
Human joe = tom; // tomとニックネームをつけた人間(Jack)をjoeというニックネームでも呼ぶことにする
tom = null; //tomというニックネームで誰かを呼ぶことをやめる、tomというニックネームで呼ばれる人間はいなくなる (Jackはもうtomとは呼ばれない)
tom = new Human("Cindy"); //別の新しい人間(本名Cindy)を作ってそいつをtomというニックネームで呼ぶことにする
Foo(tom); // Fooメソッドに tom と呼んでる人間(Cindy)を引数として渡す
tom.die(); // tomと呼ばれてる人間(Cindy)を死なす
joe = null; // joeというニックネームで誰かを呼ぶことをやめる、joeというニックネームで呼ばれる人間はいなくなる、また同時にJackをニックネームで呼ぶ者がいなくなったためJackは失踪する
joe.die(); // joeと呼ばれてる人間はいないので存在しない者を死なすことは出来ない

void Foo(Human bob) { //引数で渡された人間を Fooのメソッド内では bobというニックネームで呼ぶことにする
}

382 :デフォルトの名無しさん:2013/11/05(火) 04:28:49.67
荒らすな雑魚

383 :デフォルトの名無しさん:2013/11/05(火) 05:12:16.69
>>382
        ノ ⌒γ⌒)
      ((       (
     (          )
     )          ヽ
    ノノ           ))
   (    ノノ   ノノ    )
  (((   ノ乂ノノ从 人乂  ヽ
   )  )ノノ__」」__|   )
  (   )) (●) |(●)/(  ))
  ))   (   ノ | ヽ | )ノ    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( メ  ヽヽ   」  / ノ   <  え!ここ荒らしちゃいけないの!?
 ((乂  ノノ | llllllllllllll ノノ )     \________
   ((乂  ヽヽ ++++ノノノ)((
     ヽ乂  ヽ  ̄ ̄/ ノ
          ヽllllllノ

384 :デフォルトの名無しさん:2013/11/05(火) 05:19:39.58
どんどん書き込んでね

385 :デフォルトの名無しさん:2013/11/05(火) 05:42:37.68
アンドロイドはすれ違い

386 :デフォルトの名無しさん:2013/11/05(火) 06:10:49.45
変数とは認識。

387 :デフォルトの名無しさん:2013/11/05(火) 06:39:30.78
馬鹿には無理

388 :デフォルトの名無しさん:2013/11/05(火) 08:42:01.61
>>296

389 :デフォルトの名無しさん:2013/11/05(火) 23:37:37.99
JNIの技術使えばandroid携帯の色々な機能が使えたりする?

390 :デフォルトの名無しさん:2013/11/06(水) 01:50:55.99
色々な機能が使えるよ

391 :デフォルトの名無しさん:2013/11/06(水) 02:36:56.28
Jarファイル内にDLLを入れてJNIでアクセスすることできる?

392 :デフォルトの名無しさん:2013/11/06(水) 03:07:41.31
JNI で DLL, SO 等のネイティブライブラリを JAR に含めるには|てくめも@ecoop.net
http://www.ecoop.net/memo/archives/2007-02-17-3.html

Javaで標準以外のライブラリを使用したプログラムを他のPCで動か.. - 人力検索はてな
http://q.hatena.ne.jp/1288867770

Jar ファイルを持つネイティブ dll をバンドル
http://ja.softuses.com/218163

コンピュータ職の徒然日記 - Yahoo!ブログ
http://blogs.yahoo.co.jp/shikakuit/archive/2011/08/25

View Source Native code and classloaders
http://jiemamy.org/plugins/viewsource/viewpagesrc.action?pageId=2162771

Oracle CEPアプリケーションのアセンブルとデプロイ
http://docs.oracle.com/cd/E28389_01/dev.1111/b61654/deploy.htm

393 :デフォルトの名無しさん:2013/11/06(水) 06:09:41.09
ヒマ人だなお前w

394 :デフォルトの名無しさん:2013/11/06(水) 06:47:25.39
>>391
直接は出来ない。MANIFEST.MFをごにょごにょすれば出来るとかは基本的に迷信。
getResourceAsStream等でJAR内のDLLを一端テンポラリディレクトリ等に書き出して
System.loadで読み出す必要がある。

395 :デフォルトの名無しさん:2013/11/06(水) 08:14:15.89
>>392
そーゆーのはブログでやって

396 :デフォルトの名無しさん:2013/11/06(水) 08:47:18.80
XML使うときってどのライブラリ使うのが一般的というか簡単ですか?

397 :デフォルトの名無しさん:2013/11/06(水) 09:07:44.30
java

398 :デフォルトの名無しさん:2013/11/06(水) 09:10:24.16
>>196
重くても楽がいいなら標準DOM
でなきゃ標準SAXで

399 :デフォルトの名無しさん:2013/11/06(水) 09:16:47.25
rhino上のjQuery経由

400 :デフォルトの名無しさん:2013/11/06(水) 09:50:30.21
馬鹿には無理

401 :デフォルトの名無しさん:2013/11/06(水) 09:55:47.17
pull型最強

402 :デフォルトの名無しさん:2013/11/06(水) 10:03:07.83
Pullはいかにも手続き型って感じで嫌だ

403 :デフォルトの名無しさん:2013/11/06(水) 12:12:43.18
アホには無理

404 :デフォルトの名無しさん:2013/11/06(水) 12:27:38.42
java.util.Dateのメソッドは非推奨ばっかりなんですが
日付を扱う場合はCalendarクラス
時刻を扱う場合はDateFormatクラス
を使うのが定番でしょうか?

Java7のドキュメントのこのページ見ながら勉強してます
http://docs.oracle.com/javase/jp/7/api/java/util/Date.html

405 :デフォルトの名無しさん:2013/11/06(水) 12:32:30.20
ガンバって勉強して下さい

406 :デフォルトの名無しさん:2013/11/06(水) 12:41:03.38
>>404
いいえ。

407 :デフォルトの名無しさん:2013/11/06(水) 12:56:44.63
util.Dateを使えって事ですか?

408 :デフォルトの名無しさん:2013/11/06(水) 13:12:55.70
Date は、地域や暦によらない不変の日付時刻を表す
Calendar は、ある特定の地域と暦における年月日時分秒を表す
例えば、日本時間における西暦2013年11月6日12時27分38秒は、
アメリカ東海岸では西暦2013年11月5日22時27分38秒になる
Date は特定の地域や暦に結びついていないので、 Date 的にはどちらも等しい
同じ Date をまた別の地域や暦の Calendar にセットすれば、その地域や暦に応じた年月日時分秒になる

409 :デフォルトの名無しさん:2013/11/06(水) 15:11:41.13
未だに日付関連APIすらまともに使えないって…
初心者未満のレベルだってことを自覚した方がいいぞ

410 :デフォルトの名無しさん:2013/11/06(水) 15:51:44.98
質問スレで上から目線()

411 :デフォルトの名無しさん:2013/11/06(水) 17:04:27.24
Runnableのような単一のメソッドのみ持ったインターフェースを、コールバック用の
関数っぽく扱うために(メンバ変数などを持たせずに)、runメソッドのみを実装することに
なると思うんですが、そのような関数のためのインスタンスでも、いちいちヒープ領域に
インスタンスを作ったり開放したりするコストなどがかかるのでしょうか?

同じようなモノをJava8で追加されるラムダ式で実現すると、static finalで作った関数と
同程度の最適化が起こると聞いたので気になります

412 :デフォルトの名無しさん:2013/11/06(水) 17:09:42.88
ゆっくり休んだほうがいいぞ

413 :デフォルトの名無しさん:2013/11/06(水) 17:12:14.31
だなw

414 :デフォルトの名無しさん:2013/11/06(水) 17:20:30.01
>>408
詳しい解説ありがとうございます
Calendarでやってみたんですが日本の日時になってくれません

TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo");
Calendar calendar = Calendar.getInstance(tz);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeZone());

いくつかのオンラインでためしてみたのですが時間がずれてしまいます
http://www.browxy.com/
http://www.compileonline.com/compile_java_online.php

415 :デフォルトの名無しさん:2013/11/06(水) 17:32:17.98
>>414
getTime の戻り値は Date
Date は地域に結びついていないと言った
Calendar の年月日時分秒は get で取る
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH) + 1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));

416 :デフォルトの名無しさん:2013/11/06(水) 17:48:17.65
馬鹿には無理

417 :デフォルトの名無しさん:2013/11/07(木) 03:02:13.62
JavaDBを使ったアプリを作って配布する際にJavaDBのファイルを含めないとアプリをダウンロードしたユーザはアプリを使えないよね?
JavaDBのファイルってアプリに含めて配布してもいいのかな?どのファイルをアプリに含めればいいんだろ

418 :デフォルトの名無しさん:2013/11/07(木) 06:38:48.39
java初心者で申し訳ないですが質問です。

public class Sample2 {
public static void main(String[] args) {
int count=5;


while (count !=5&amp;&amp;count>0){
System.out.println("while :count=" +count);
count--;
}


do{
System.out.println("do-while : count="+count);
count--;
}while (count!=5&amp;&amp;count>0);
}

}

で結果が

do-while : count=5
do-while : count=4
do-while : count=3
do-while : count=2
do-while : count=1

になるのですが count!=5 のところの ! の意味がよくわかっていない為よくわかりません。
階乗の意味か逆の意味のどちらかと思い自分なりに考えてみたもののさっぱりでした。
count!=5 の意味に重点においた解説をどなたかしてはもらえませんか?

419 :デフォルトの名無しさん:2013/11/07(木) 06:43:22.44
甘えてばっかりだなゆとりは

420 :デフォルトの名無しさん:2013/11/07(木) 07:05:04.47
きみが5歳ならおしえてあげる。

421 :デフォルトの名無しさん:2013/11/07(木) 07:08:29.05
>>418
count != 5は、countが5ではないって意味。
while (count != 5 && count > 0)
はcountが5ではなく、0より大きければという条件。
countは5なので、条件は不成立。最初のwhile文は実行されない。

do while文では最初にdoのところが処理されて
count--でcountが4になる。
countが5ではなく、0より大きければという条件が成立する。

422 :デフォルトの名無しさん:2013/11/07(木) 07:11:00.33
オレオレ語を使われてもわかりません。

423 :デフォルトの名無しさん:2013/11/07(木) 07:23:51.37
>>421
解説ありがとうございます!
おかげで理解することができ、スッキリしました!

424 :デフォルトの名無しさん:2013/11/07(木) 07:28:31.44
テキスト検索ボックスに入力されるたびにリストのフィルター処理しているんですが、一文字目のフィルター処理中に2文字目が入力された場合、処理を中断して2文字目の処理を優先する方法はありますか?

425 :デフォルトの名無しさん:2013/11/07(木) 07:29:13.14
>>421
なるほど、大変良くわかりました。
どうもありがとうございました!

426 :デフォルトの名無しさん:2013/11/07(木) 07:41:39.94
javadbは、jdk7/db/LICENSE のファイル(linux)によると Apache License Version 2.0 とあるので、dbフォルダごと全部そのフォルダの構造やファイルを一切編集しないでコピーすれば、再配布できるはず。

427 :デフォルトの名無しさん:2013/11/07(木) 08:03:56.16
一番年下のたらちゃんに敬語を強制させているさざえ家の闇に触れた気がした。

428 :デフォルトの名無しさん:2013/11/07(木) 08:28:14.09
>>422

429 :デフォルトの名無しさん:2013/11/07(木) 11:45:20.36
集合の比較ができるクラスはありますか?

int配列1 1,2,3
int配列2 1,3,5
とあって、
この場合、1,3を取得をしたいのです。

430 :デフォルトの名無しさん:2013/11/07(木) 12:06:57.00
Set、検索するきもないのか

431 :デフォルトの名無しさん:2013/11/07(木) 12:36:05.92
教えてクレクレ君っていうのはくだらない理由で大学教授を怨むパターンが多い。

432 :デフォルトの名無しさん:2013/11/07(木) 12:43:12.70
>>172

433 :デフォルトの名無しさん:2013/11/07(木) 13:27:52.81
>>430
ありがとうございます。
こういうの探してました!
ちょっと試してみます。

434 :デフォルトの名無しさん:2013/11/07(木) 13:28:14.66
JWS (Java Web Start) 捨てて、
自分でJWSが管理していた部分を実装してるんだけど、
ウェブ上のファイルの最終更新日時の取得ってどうやるんだ?

毎回ダウンロードさせるわけにもいかないし、
更新するファイルだけになんらかの属性つければ話は済むんだが、
なんか方法あるなら教えてください。

435 :デフォルトの名無しさん:2013/11/07(木) 13:32:25.37
そういうのこそ、自分で管理しないのがコツ

436 :434:2013/11/07(木) 13:36:57.43
自己解決
URL url = new URL("http://...");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
Date date = new Date(conn.getLastModified());

>>435
証明書の警告がなければ使い続けてたよ。

437 :デフォルトの名無しさん:2013/11/07(木) 14:50:51.89
>自分でJWSが管理していた部分を実装

この実装をダウンロードさせてインストールさせることには抵抗が無いと?

438 :デフォルトの名無しさん:2013/11/07(木) 15:11:27.17
>>437

>この実装をダウンロードさせてインストールさせることには抵抗が無いと?

”させる”ってことは俺について言ってるんだよな?
答えは「ない」だ。
大体JWS使ってる時だってオレオレ証明書だったし。


もしユーザー側の抵抗について言ってるんだとしても
やっぱり「ない」けどな。
大体 ユーザーはどうやって実装してるかなんて気にしてないし。
むしろJWSのセキュリティ警告出る方が心配あおるだけだし。

439 :デフォルトの名無しさん:2013/11/07(木) 15:29:38.59
ライブラリやアプリの開発者は、ユーザが用意した任意のシステムやオーエスについてのセキュリティまでをもサポートする必要はない

440 :デフォルトの名無しさん:2013/11/07(木) 15:38:58.34
>>172

441 :417:2013/11/07(木) 15:43:35.10
>>426
d、全部含める必要があるのか・・

442 :デフォルトの名無しさん:2013/11/07(木) 16:09:17.72
ジャバはオワコンでこれからはシー・シャープですよ?
つまりこれからはサーフェースとエックス・ボックスとウィンドーズ・ホンの時代ってことです!!
マイクロソフトが豊富な資金力で壮大なマーケティングをやってるの知らないんですか!?

443 :デフォルトの名無しさん:2013/11/07(木) 16:12:29.76
アスペ..netですね、わかります

444 :デフォルトの名無しさん:2013/11/07(木) 16:14:28.31
構文とライブラリの覚え直しですね

445 :デフォルトの名無しさん:2013/11/07(木) 16:23:16.03
グーグルがモトローラーを買収して、マイクロソフトがノキアを買収して、オラクルも携帯端末ハード企業を買収して、nexusやmssurface(amr)みたいなjavameのハードウェアのリファレンス・モデルを出してほしい。

446 :デフォルトの名無しさん:2013/11/07(木) 16:24:36.04
SQLiteみたいにデータベースっぽくファイルへの読み書きができるライブラリとかないの?

447 :デフォルトの名無しさん:2013/11/07(木) 16:29:44.16
>>446
それがsqliteでは。
他のアプリからも読みるフォーマットでということかな。
perlの頃にcsvファイルフォーマットでsqlとかあったから、それの頭にjつけて探せばあるんじゃね。(適当)

448 :デフォルトの名無しさん:2013/11/07(木) 16:33:42.62
SQLJet?::?Pure Java SQLite
http://sqljet.com/

449 :デフォルトの名無しさん:2013/11/07(木) 16:42:41.15
javadbを使ってるんですが、例えばselectで出てきた2行目だけを削除したいときのsqlはどう書けばいいんですか?

450 :デフォルトの名無しさん:2013/11/07(木) 16:55:32.22
【PureJava】 Derby 1 【OpenSource】
http://toro.2ch.net/test/read.cgi/db/1128799341/

451 :デフォルトの名無しさん:2013/11/07(木) 17:03:17.89
>>449
sqlに2行目などという概念は無い

452 :デフォルトの名無しさん:2013/11/07(木) 17:07:16.83
Using Java DB in Desktop Applications
http://www.oracle.com/technetwork/articles/javase/javadb-141163.html

これってderby.jar単体を自分のアプリのjarに含めて配布してOKってこと?
>>426が言うみたいに全部のファイルを含める必要はないってことでOK?

453 :デフォルトの名無しさん:2013/11/07(木) 17:12:07.31
1, taro
2, jiro
2, jiro
3, san

となってるときwhereを使うと全ての2, jiroの行が消えちゃうんですよ。
例えばこのとき2行目だけを消せるようなsqlはどう書くんでしょうか?

454 :デフォルトの名無しさん:2013/11/07(木) 17:13:55.06
>>452
ライセンスをちゃんと理解できればそうもできるけど、分からないなら全部配布した方がいい。

455 :デフォルトの名無しさん:2013/11/07(木) 17:14:53.62
>>453
distinct
てかスレチ

456 :デフォルトの名無しさん:2013/11/07(木) 17:23:01.78
>>452
>derby.jar単体を自分のアプリのjarに含めて

そんなことそのページに書いてないよ

457 :デフォルトの名無しさん:2013/11/07(木) 17:23:23.01
>>453
主キーが無いのが悪い

458 :デフォルトの名無しさん:2013/11/07(木) 17:23:26.00
distinctはそういうときに使うんですか。
selectはできても、deleteはできないみたいですね。

459 :デフォルトの名無しさん:2013/11/07(木) 17:28:22.00
>>457
dbで直接updateしないで、csvをインポートしたtableを作成したりなんで、sqlはまったく同じデータが複数行で被ってるときに弱いんですよ。
今はこの脆弱性をどうしようか思案中です。

460 :デフォルトの名無しさん:2013/11/07(木) 17:35:09.45
>>459
ROWNUMが無いならどうしようもないな

461 :デフォルトの名無しさん:2013/11/07(木) 17:41:23.96
sqlだと結局そうなるんですよねー^^

462 :デフォルトの名無しさん:2013/11/07(木) 17:45:13.15
distinctはもれなくgroup by nameに置き換え可能ですか?

463 :デフォルトの名無しさん:2013/11/07(木) 17:47:17.69
>>453
お前には2番目と3番目に出てきたものの違いがわかるのか?
CSVを取り込んだ時の順番かどうかは実装次第じゃないのか?

464 :デフォルトの名無しさん:2013/11/07(木) 17:50:47.37
自分で実装したプログラムで取り込むなら主キーを設定すればいいが
そうではないのだろう
だから無理

465 :デフォルトの名無しさん:2013/11/07(木) 17:57:07.78
>>172

466 :デフォルトの名無しさん:2013/11/07(木) 18:42:16.68
前処理で行番号付ければいいんじゃね。

467 :デフォルトの名無しさん:2013/11/07(木) 18:46:22.90
>>454
derby.jarの中のMETA-INFにapache license 2.0の要求するLICENSEファイルとNOTICEファイルが入ってるみたいだし、derby.jar単体で再配布とか使ってもいいとかそういうことではない?

468 :デフォルトの名無しさん:2013/11/07(木) 18:55:31.67
>>467
derby.jarだけでなく、他に必須のderbyclient.jar, derbyLocale_ja_JP.jar にもライセンスの喚起のファイルがあるね。
それならjarの中身をいじらないままなら該当のだけを個別に配布しても多分大丈夫だろう。

469 :デフォルトの名無しさん:2013/11/07(木) 19:06:42.94
ただし己のJARにderby.jarを含めるなら話は別だ

470 :デフォルトの名無しさん:2013/11/07(木) 21:04:00.74
組み込み型のderbyとSQLiteとどっちのほうが

471 :デフォルトの名無しさん:2013/11/07(木) 21:13:34.43
licenses/Apache_License_2.0 - Open Source Group Japan Wiki - Open Source Group Japan - SourceForge.JP
http://sourceforge.jp/projects/opensource/wiki/licenses%2FApache_License_2.0

JARはここで言う「成果物」に相当するの?

472 :デフォルトの名無しさん:2013/11/07(木) 21:27:48.12
[ThinkIT] 第1回:Javaはまだまだこれからだ! (1/3)
http://thinkit.co.jp/free/article/0708/9/1/

> JARという配布形式では依存しているライブラリを1つにまとめて扱えない
>
> JARはその内部にJARを持つような構造をサポートしていません。
> あるライブラリが依存するJARを一緒にまとめて配布することはできても、まとめて1つのファイルとしてJVMにロードすることはできません。

473 :デフォルトの名無しさん:2013/11/07(木) 21:29:16.04
>>471
ここでやれ
http://toro.2ch.net/test/read.cgi/tech/1266247461/

474 :デフォルトの名無しさん:2013/11/07(木) 23:03:47.98
あいかわらず変な奴が多いなここ

475 :デフォルトの名無しさん:2013/11/07(木) 23:17:14.74
Pure Javaに拘る奴はバカ

476 :デフォルトの名無しさん:2013/11/07(木) 23:18:28.91
>>475
ここはおまえのくるところではない

477 :デフォルトの名無しさん:2013/11/07(木) 23:24:50.77
JNI

478 :デフォルトの名無しさん:2013/11/08(金) 01:31:59.62
「PureJavaじゃありません」とかわけのわからんこと言って客の要求を却下してこそ一流

479 :デフォルトの名無しさん:2013/11/08(金) 01:35:02.58
SQLiteは著作権放棄だからJavaに移植して使えばいいのよ

480 :デフォルトの名無しさん:2013/11/08(金) 05:21:36.23
>>455
java6からderby (javadb)とrhino (scripting)がjavase jdkに含まれてるから、一応このすれで扱っても問題ない。
しかも、それらはjdkのスタンダード・ライブラリ扱いってことで、いい宣伝にもなるんじゃないか。

481 :デフォルトの名無しさん:2013/11/08(金) 06:23:49.10
Apache Licenseなのだからjarの中身を弄ろうがバラそうが自分の成果物と混ぜて
uber jarにしようが、使ってますということをリンク付きでどこかに明示して
オリジナルのNOTICEファイルを配布物の目につくどこかに突っ込んでおけば無問題。

482 :デフォルトの名無しさん:2013/11/08(金) 06:42:28.13
ライセンスの人為的解釈だとそうもいえるけど、著作物の同一性保持の法的保護ってのが先立って存在するから、何でもありって分けじゃあない。

483 :デフォルトの名無しさん:2013/11/08(金) 07:15:23.29
926+1 :デフォルトの名無しさん [↓] :2013/10/25(金) 00:03:45.26
javafxを習得しても、javafxは現状、iphoneでもandroidでもwindhowsphoneでも、ipadでもnexusでもsurfaceでも動かん。

484 :デフォルトの名無しさん:2013/11/08(金) 07:23:06.30
>>482
派生物の許諾を許可するライセンスなのに巻き戻して同一性保護とかわけわからん。
日本だとOSSプロジェクトのフォークは永遠に無理だな。

485 :デフォルトの名無しさん:2013/11/08(金) 07:25:28.27
派生物の許諾 > 派生物の配布

486 :デフォルトの名無しさん:2013/11/08(金) 07:31:31.86
そのライセンスは、派生物の何を明示的に許諾するのか、暗黙では何ができて何ができないのか、そういうのを理解できないならその成果物の塊のままで再配布すればいいですよ。
とくにプログラムものでは、それの二次創作なのか、ライブラリとして利用するだけなのかとかも、ちゃんと理解してないといけません。
そうでなければ、スクラッチで、まったくの無から作って下さい。
オープンとかフォークとか成果物自体は結構どうでもよくて、自分である程度形になったものを作れるようになると、著作権とかライセンスとかにある意義の大事なところが理解できてくるでしょう。

487 :デフォルトの名無しさん:2013/11/08(金) 07:46:08.79
>>484
日本でオープンソースのプロジェクトなんてのは成功しなくていい
日本人が中心になってやってるのなんかは想像するだけできもい

488 :デフォルトの名無しさん:2013/11/08(金) 07:48:39.34
ボかさないでApache Licenseで許諾されている派生物の配布がどのように同一性の
保護云々で妨げられるのか説明してくれ。

そしてApapche commons等々がバラされて混ぜられて一つのjarに固められたものが
当たり前のように配布されていたりMaven centralから落ちてきて頭を抱える昨今、
DerbyというApache Projectの成果物をそのように扱うことにどの程度のリスクが
あるのか実務的な観点から答えてみてくれ。

ヒマ人以外にとっては単に「杞憂」。

489 :デフォルトの名無しさん:2013/11/08(金) 07:49:44.21
そんなに知りたいならアパッチに聞けよw

490 :デフォルトの名無しさん:2013/11/08(金) 07:54:48.07
アホか。個別に直接聞かなくてすむように契約書として文面におこしているんだろうが。

491 :デフォルトの名無しさん:2013/11/08(金) 07:57:17.36
>>488
>>486をちゃんとよく読め雑魚w

492 :デフォルトの名無しさん:2013/11/08(金) 07:59:42.05
javadbの配布物の一部を再配布したいんだから、apacheじゃなくてoracleに聞けばいいんじゃないの

493 :デフォルトの名無しさん:2013/11/08(金) 08:03:30.65
>>491
はい。一定の義務の元に派生物の配布を明示的に許可しているのでOKでFAね。

494 :デフォルトの名無しさん:2013/11/08(金) 08:09:36.27
>>491
無駄に話をややこしくする一方で根拠を聞くとまともに答えない人って何なの。
>>492
JavaDBは中身もCopyright noticeもDerbyそのものなのでApacheで桶。

495 :デフォルトの名無しさん:2013/11/08(金) 08:19:01.83
>>488,494

>>473

496 :デフォルトの名無しさん:2013/11/08(金) 08:24:29.42
>>494
本当にその理解で大丈夫?w

497 :デフォルトの名無しさん:2013/11/08(金) 08:30:53.30
>>495
もう結論出ているから移る必要無いよ。終了。
Jar弄るなら云々とか自分のJarに含めるなら云々といっている人は外の世界をもっと
よく見るかあるいは手元のJarの中身をもっと眺めてみようね。
>>496
もう分かったから。仕事行けよ。

498 :デフォルトの名無しさん:2013/11/08(金) 12:37:58.85
>>497
もう分かったから、ここから出て行け

499 :デフォルトの名無しさん:2013/11/08(金) 12:46:51.17
>>296

500 :デフォルトの名無しさん:2013/11/08(金) 12:59:30.02
500get

501 :デフォルトの名無しさん:2013/11/08(金) 13:07:20.09
501get

502 :デフォルトの名無しさん:2013/11/08(金) 13:17:03.19
自己解決しますた

503 :デフォルトの名無しさん:2013/11/08(金) 15:16:45.29
Jarを一つの成果物とみなすか、Jarとただのアーカイブとみなすかに関係なく
Apache License 2.0にはLICENSEやNOTICEを派生成果物や成果物の中につければいいとあるんだからderby.jar内に書いてあるんならどちらも問題ないだろう
ただユーザはJarを展開して配置するわけではないからderby.jarを中に入れようが外に添付しようがJar内のLICENSEやNOTICEは読まんだろうな

504 :デフォルトの名無しさん:2013/11/08(金) 16:29:58.93
SMTPappenderのsubjectって、固定文字列だけ?
ホスト名とか動的にいれらんないの?

505 :デフォルトの名無しさん:2013/11/08(金) 16:46:28.19
SMTPappenderって何?

506 :デフォルトの名無しさん:2013/11/08(金) 16:52:35.74
Welcome - Apache Logging Services
http://logging.apache.org/

507 :デフォルトの名無しさん:2013/11/08(金) 16:54:12.08
SMTPAppender (Apache Log4j 1.2.17 API)
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SMTPAppender.html

SMTPAppender (Apache Log4j Core 2.0-beta9 API)
http://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/appender/SMTPAppender.html

508 :デフォルトの名無しさん:2013/11/08(金) 17:07:42.81
ttp://www.nurs.or.jp/~sug/soft/log4j/log4j6.htm#sec2

509 :デフォルトの名無しさん:2013/11/08(金) 17:09:38.27
Apacheのdocはみた。
log4j.xmlで、subjectを動的に設定できないから困ってる。
環境変数とか読み込めたりする?

510 :デフォルトの名無しさん:2013/11/08(金) 17:13:05.70
Yes, I am the Google.
ttp://stackoverflow.com/questions/7014792/how-can-i-dynamically-change-the-email-subject-using-log4j-smtpappender

511 :デフォルトの名無しさん:2013/11/08(金) 17:25:35.09
ベータ版であるlog4j 2.0を使うのが悪い

512 :デフォルトの名無しさん:2013/11/08(金) 17:29:07.23
SMTPAppender (Apache Log4j 1.2.17 API)
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SMTPAppender.html#setSubject(java.lang.String)

513 :デフォルトの名無しさん:2013/11/08(金) 18:31:29.78
>>512
可愛いヤツめ。

>>510
mdc。なんかいけそうな気がする。
ありがとう!試してみるよ。

514 :デフォルトの名無しさん:2013/11/09(土) 17:21:41.59
ken arnoldKava本5th editionってなんで売ってないの?

515 :デフォルトの名無しさん:2013/11/10(日) 08:57:57.22
初心者の質問です。
一応、Java SE7 programmer Silver の資格を持ってますが。
あんなのは、ただの意地悪問題だけのテストだったので意味が無かったのですが
Stringに関しての質問で
例えば
int num = 10;
とあったとして
Stringに変換する時
""+num か、
((Integer)num).toString() か、
String.valueOf(num)

どれが一番適切なんでしょうか。
疑問です。

516 :デフォルトの名無しさん:2013/11/10(日) 09:01:51.37
プロジェクトの規約に従う
以上

517 :デフォルトの名無しさん:2013/11/10(日) 09:03:12.58
すごいね、以上

518 :デフォルトの名無しさん:2013/11/10(日) 09:05:29.10
初心者の質問です。
一応、Java SE7 programmer Silver の資格を持ってますが。
あんなのは、ただの意地悪問題だけのテストだったので意味が無かったのですが
Stringに関しての質問で
例えば
int num = 10;
とあったとして
Stringに変換する時
""+num か、
((Integer)num).toString() か、
String.valueOf(num)

どれが一番適切なんでしょうか。
疑問です。

519 :デフォルトの名無しさん:2013/11/10(日) 09:13:38.92
>>515
((Integer)num).toString()は
Integer.valueOf(num)#toString()で
Integer#toString()はInteger.toString(num)を呼んでいて

String.valueOf(num)は
Integer.toString(num)を呼んでいる。

なのでInteger.toString(num)でいんじゃないか。

520 :デフォルトの名無しさん:2013/11/10(日) 09:29:38.11
俺は野良goldしか資格をもってないが別に疑問に思わない
性能評価でもすりゃべつだろうけど

521 :デフォルトの名無しさん:2013/11/10(日) 09:35:00.48
一応その場合はString.concatが最強だけど、そういうことは気にしない方がいい

522 :デフォルトの名無しさん:2013/11/10(日) 09:35:51.36
資格とかめんどくせぇ。スーパードカタの俺でもやっぱやらなきゃいけないの?

523 :デフォルトの名無しさん:2013/11/10(日) 09:48:02.99
Oracle Certified Java Programmer, Silver SE 7
(90問中70問正解で合格)

public class Test {
public static void main(String args) {
System.out.println("Hello");
System.out.print("Java");
System.out.println("World");
}
}

上記のコードはどのような出力をするか、選択肢の中から1つ選べ。
 A. HelloJavaWorld
 B. Hello
   Java
   World
 C. Hello
   JavaWorld
 D. コンパイルエラー
 E. 実行時エラー

524 :デフォルトの名無しさん:2013/11/10(日) 09:50:12.02
D.

525 :デフォルトの名無しさん:2013/11/10(日) 09:52:43.57
E.

526 :デフォルトの名無しさん:2013/11/10(日) 10:02:23.28
C.

527 :デフォルトの名無しさん:2013/11/10(日) 10:04:54.55
O.

528 :デフォルトの名無しさん:2013/11/10(日) 10:28:37.29
A

529 :デフォルトの名無しさん:2013/11/10(日) 10:51:23.92
そういうのは英検とかトーイックとかと同じ検定試験であって、資格(ライセンス)というしろものじゃないんだけどね

530 :デフォルトの名無しさん:2013/11/10(日) 11:00:09.75
TOEICは役に立つぞ

531 :デフォルトの名無しさん:2013/11/10(日) 11:13:19.84
試験結果の判定

スコアに応じて、コミュニケーション能力のレベル (Proficiency Scale) がA、B、C、D、Eの5段階で評価される[16]。
また、スコア分布も公開され、受験者中のおおよその順位を知ることもできる。TOEICスコアとコミュニケーション能力レベルとの相関表は以下の通りである。

A 860点〜 Non-Nativeとして十分なコミュニケーションができる。
自己の経験の範囲内では、専門外の分野の話題に対しても十分な理解とふさわしい表現ができる。
Native Speakerの域には一歩隔たりがあるとはいえ、語彙・文法・構文のいずれをも正確に把握し、流暢に駆使する力を持っている。

B 730点〜855点
どんな状況でも適切なコミュニケーションができる素地を備えている。
通常会話は完全に理解でき、応答もはやい。
話題が特定分野にわたっても、対応できる力を持っている。業務上も大きな支障はない。正確さと流暢さに個人差があり、文法・構文上の誤りが見受けられる場合もあるが、意思疎通を妨げるほどではない。

532 :518:2013/11/10(日) 11:30:44.86
>>523
E
理由:mainの引数のStringが配列になってない。
マジでこんなひっかけばっかり。
ちなみにいまだ答えの解らなかった問題をひとつ

クラスを作った時に有る可能性のあるものを2つ選択せよ
A:import
B:package
C:メソッド
D:フィールド

533 :デフォルトの名無しさん:2013/11/10(日) 11:33:38.50
意味不明

534 :デフォルトの名無しさん:2013/11/10(日) 11:33:51.87
>>531
まさに検定だな。

運転や医療行為や海賊行為のように禁止されていることを特別に免除される、免許ではないな。

ソフトウェア開発も、資格を持っている人でないと販売してはならない、という時代がいつか来るかもな。

535 :デフォルトの名無しさん:2013/11/10(日) 11:34:47.14
>>532
{
 int a=1;
 int getA(){return a};
}
と書いた後にclass Aと書けばメソッドとフィールドも「作った時にある」可能性はあるよな。

536 :デフォルトの名無しさん:2013/11/10(日) 11:37:56.60
3万払って池沼が作った問題解かされるなんて・・・

537 :デフォルトの名無しさん:2013/11/10(日) 11:43:11.07
>>532
クラスを定義する時点でObjectクラスのフィールドとメソッドを継承してるのだから、C、D。
クラスを定義する時点でパッケージとimport元のクラスは存在してるだろうから、A、B。
英語だともっと適切な表現なのかな。

538 :デフォルトの名無しさん:2013/11/10(日) 11:45:04.39
古今東西、殺しのライセンスを持たなくても殺人は現実可能なので、ライセンスとか認定とかそういうしろものがなくても個人的なことがらであればなんとでもなりますよ。
理解力試験とかライセンス法制度とかの具体例は、システムの生成というものを考える上で具体的でおもしろい話だとは思いますけど、ついてこれる人は少ないでしょうね。

539 :518:2013/11/10(日) 12:12:12.41
>>537
そうなんだよ。
たぶん英語の問題を無理矢理日本語に訳したみたいだったしね。

ところで池沼ってなに?

540 :デフォルトの名無しさん:2013/11/10(日) 12:37:10.66
>>538
あくまで販売する場合なので、開発チームに安全衛生責任者を置くような感じ。
開発現場で事故が起きるわけじゃないし必要ないか。しかし、販売する商品の品質管理はひどいものだ。

541 :デフォルトの名無しさん:2013/11/10(日) 13:02:55.93
>>538
さようなら

542 :デフォルトの名無しさん:2013/11/10(日) 13:28:55.53
>>172

543 :デフォルトの名無しさん:2013/11/10(日) 13:30:13.76
>>540
それを使ったからけが人が出るとか言うのなら基準も作れるだろうが

実際の害は↓
この商品(システム)を運用すると御社に最大○○名程度の余剰人員が発生しますが
くれぐれも解雇なさいませんようお願い申し上げます

544 :デフォルトの名無しさん:2013/11/10(日) 15:32:48.13
>>543
カード番号とか個人情報流出の被害はどうかな。
対象となるシステムが限定されるけど。個人情報保護法の適用されるシステムとか。

545 :デフォルトの名無しさん:2013/11/10(日) 15:39:24.37
>>544
真痛へ

546 :デフォルトの名無しさん:2013/11/10(日) 16:05:51.34
だからjavawebstartは仕様変更したんだろボケ

547 :デフォルトの名無しさん:2013/11/10(日) 17:32:55.17
ベンダー系の資格ってなんであんな高いの?
オラクルシルバーなんてほとんど意味ないのに。

548 :デフォルトの名無しさん:2013/11/10(日) 18:39:56.40
番号指定で挿入も参照も高速なリストって何ですか?

549 :デフォルトの名無しさん:2013/11/10(日) 18:43:21.73
普通のリスト
スーパーリスト
ハイパーリスト
メガトンリスト

550 :デフォルトの名無しさん:2013/11/10(日) 18:44:27.22
B木

551 :デフォルトの名無しさん:2013/11/10(日) 21:49:23.88
>>548
ArrayList

552 :デフォルトの名無しさん:2013/11/10(日) 23:22:56.54
>>548
Javaに高速という概念は存在しない

553 :デフォルトの名無しさん:2013/11/10(日) 23:27:44.75
String.joinなんてものいいけど、
String.concat(String...)
String.concat(CharSequence...)
があれば最強なんだけどね・・・

554 :デフォルトの名無しさん:2013/11/11(月) 01:40:11.55
初心者です
あるクラスの内部クラスを、他のクラスで委譲することはできるのでしょうか
それとも委譲する場合は内部クラスではなくしっかりとクラスを作らないとだめなのでしょうか
よろしくお願いします

555 :デフォルトの名無しさん:2013/11/11(月) 01:44:32.73
>>554
できますん

556 :デフォルトの名無しさん:2013/11/11(月) 01:56:07.81
その内部クラスのスーパークラスやインターフェースがパブリックなものなら可能だろうけど
Objectしか継承してないような内部クラスなら渡しても使い道ないがな

557 :デフォルトの名無しさん:2013/11/11(月) 02:03:30.11
自己解決しました

558 :デフォルトの名無しさん:2013/11/11(月) 02:07:46.70
>>556
日本語でおk?

559 :デフォルトの名無しさん:2013/11/11(月) 05:29:33.86
>>553
StringBuilder使え

560 :デフォルトの名無しさん:2013/11/11(月) 05:50:23.01
すごく初歩的な質問なんですがエラーが出た際、
例えば
Aメソッドの最初に「ここまで実行できてる」と書いてその後の処理でエラーが出る
Aメソッドの最後でBメソッドを呼び出し
Bメソッドで「Bメソッドまで実行できてる」と書く
この場合「Bメソッドまで実行できてる」というメッセージが出てるのはおかしいですか?
Aメソッドの処理でエラーが出ているはずなのにどうしてBメソッドが呼び出されてるのか分かりません

561 :デフォルトの名無しさん:2013/11/11(月) 06:56:09.60
人に聞く前に自分で考えるようにすれば知能は2倍になりますよ

562 :デフォルトの名無しさん:2013/11/11(月) 07:37:15.58
デバッグすればここで聞かなくともすみます

563 :デフォルトの名無しさん:2013/11/11(月) 09:02:14.50
>>559
それだとStringを作るためにappend,toString時にchar[]のコピーが2回必要になる。
文字列のパフォーマンスを考えるとStringに追加してもらうしかないし、解決するには+=, concatでなく、concat(...)が必須ってことが理解できるはず。

564 :デフォルトの名無しさん:2013/11/11(月) 09:05:53.82
他の代替案もあるけど、これ以上はジャバのハックになるから、このうんこスレのレベルを越えてしまいます。

565 :デフォルトの名無しさん:2013/11/11(月) 11:45:32.86
>>563
結局おまえは何がしたいんだ
Stringは、アドレスを保持していて
concatした結果はStringのインスタンスに影響無く
戻り値で再度Stringのインスタンスで受けるしかねーだろ

566 :デフォルトの名無しさん:2013/11/11(月) 12:02:31.29
よく考えれば理解できますよ。
System.arraycopy, Arrays.copyOfのところですが、少なくともcharAtの呼び出しと評価も回避できます。
javaではパフォーマンスはあまり考えませんが、memory copy (java.awt)やStringについては少し気にしてもいいかなと思います。

567 :デフォルトの名無しさん:2013/11/11(月) 12:56:58.60
その手の改良は本当にそこがボトルネックだと計測されてからやればいい
細かいところをいくら気にしてもその8割は労力の無駄

568 :デフォルトの名無しさん:2013/11/11(月) 13:02:07.17
馬鹿には無理

569 :デフォルトの名無しさん:2013/11/11(月) 13:02:28.04
>>560
んなもんAメソッドが投げるのがRuntimeExceptionか、Exception
か、Errorか、しらんが
AメソッドがExceptionを投げました。
Exceptionの詳細が表示される。
でBメソッドが実行されます。
それだけの話し。

570 :デフォルトの名無しさん:2013/11/11(月) 15:10:36.87
File file = new File("sample.txt");
RandomAccessFile raf = new RandomAccessFile(file, "r");
raf.seek(2);
String s = raf.readLine();
System.out.println(s);
raf.close();

これで3文字目から改行まで文字列を表示しますが
3文字目から6文字目までと範囲を指定して読み込む書き方を教えてください

571 :デフォルトの名無しさん:2013/11/11(月) 15:38:09.40
raf.seek(2);
byte 三文字目 = raf.readByte();
byte 四文字目 = raf.readByte();
byte 五文字目 = raf.readByte();
byte 六文字目 = raf.readByte();
byte[] b = { 三文字目, 四文字目, 五文字目, 六文字目 };
String s = new String(b);
System.out.println(s);

572 :デフォルトの名無しさん:2013/11/11(月) 15:38:43.28
文字列?

573 :デフォルトの名無しさん:2013/11/11(月) 15:52:54.68
>>571
なんか面倒くさいんですね
ありがとうございます

574 :デフォルトの名無しさん:2013/11/11(月) 15:57:57.60
いや、わかりやすさを優先して面倒くさく書いただけ
もうちょっと便利メソッドがあるからRandomAccessFileのリファレンス見るよろし

575 :デフォルトの名無しさん:2013/11/11(月) 16:22:59.06
>>570
RandomAccessFileを使う理由は?
文字列を巻き戻したりせずに読み込むだけならReaderで十分だよ。

char[] buf = new char[4];
BufferedReader in = new BufferedReader(new FileReader("sample.txt"));
in.skip(2);
in.read(buf, 0, 4);
in.close();
String s = new String(buf);

576 :デフォルトの名無しさん:2013/11/11(月) 17:43:57.81
バイト単位では無く文字単位で読み飛ばしたり読み込んだりするのであればむしろ
Readerを使うのが正しいな。

577 :デフォルトの名無しさん:2013/11/11(月) 18:08:20.30
DataInputStreamも忘れないでやってください。

578 :デフォルトの名無しさん:2013/11/11(月) 19:39:57.97
>>577
あれはObjectInputStreamの下位的な位置付けで文字列の読み込みも
シリアライズとかで必要なものに特化してるからなぁ。

579 :570:2013/11/11(月) 21:02:29.64
すいませんGoogleで「java seek ファイル」で検索したときにヒットしてみつけたのがRandomAccessFileだったので
これを使うものだと思ってました
BufferdReaderも使ってみます

>>574
read(new byte[10])こんな感じの書き方を覚えました

580 :デフォルトの名無しさん:2013/11/11(月) 21:13:25.31
write = new BufferedWriter(new FileWriter(file,true)
とし、例外Exceptionのprintstacktraceの内容をファイルに書き込むことは
可能ですか?

試行錯誤しましたがわかりません。

581 :デフォルトの名無しさん:2013/11/11(月) 21:15:06.96
>>579
ファイルを読んでいる途中でファイルの先頭方向に戻るとかいう操作が必要で無い
場合はRandomAccessFile使う必要無いよ。こっちを使うのがむしろ特殊ケース。
大抵はInputStreamでskipを使って指定バイト数を読み飛ばすので用に足りると思う。

あとキャラクターエンコーディングとかを意識してバイト数ではなく文字数単位で
読み込んだり読み飛ばしたりする場合はReaderを使わないとダメ。

582 :デフォルトの名無しさん:2013/11/11(月) 21:16:25.96
PushbackReader (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/io/PushbackReader.html

583 :デフォルトの名無しさん:2013/11/11(月) 21:18:23.92
Sun Developer Connection - 2001
http://otn.oracle.co.jp/technology/global/jp/sdn/java/private/techtips/2001/tt0518.html

584 :デフォルトの名無しさん:2013/11/11(月) 21:25:25.06
うんこすれ乙

585 :デフォルトの名無しさん:2013/11/11(月) 21:28:26.87
てきとうメモ ≫ Blog Archive ≫ PushbackReaderで迂闊にunreadすると危ない
http://muranoya.net/wordpress/?p=17

586 :デフォルトの名無しさん:2013/11/11(月) 21:45:24.23
>>580
ロガーを使うのが王道じゃないかな。

587 :デフォルトの名無しさん:2013/11/11(月) 21:50:30.85
複数のプロジェクトによってシステムが構成されている場合、jarファイルの参照設定はどのようにしてますか?
全てのプロジェクトに対して、ビルドパスを通すことは賢いやり方とは思えないのですが

588 :デフォルトの名無しさん:2013/11/11(月) 21:59:27.14
悪評高きMavenは例えばそのためにある。
そのような疑問を抱いた時こそMavenやGradleといった依存性管理ツールを学ぶ好機。

589 :587:2013/11/11(月) 22:10:17.54
>> 588
あぁ、そうなっちゃうんですね
mavenすごく面倒なので、使わないようにて思ってたんですが
ありがとうございます

590 :デフォルトの名無しさん:2013/11/11(月) 22:39:17.36
Mavenが面倒?

すごく楽じゃん。規約に沿ってきれいにまとまる範囲までは。

今となって特殊な事情でも無い限りこの手の依存性管理を「使わないようにする」理由が薄い。
ライブラリやフレームワーク等も依存性管理ツールの利用を前提としてプロダクトを細かく
モジュールに分割して配布する(そしてfat jarが敬遠される)ようになったから、過去のjarを
手作業でコピって上書きしたら以降運任せではとうてい持続しない。

もう新規プロジェクトは規模にかかわらず依存性管理ツールの使用がデフォで良いと思う。
規模にかかわらず便利だし、特殊なことをしない小さなプロジェクトほど楽が出来る。

入門に際してもjavacでHello Worldが済んだら以降はMavenなりGradleといった今時のビルド
ツール強制で良いと思うけれどもね。

591 :デフォルトの名無しさん:2013/11/11(月) 22:46:24.54
java.util.logginのようにjavaseに組み込まれるならあって当然として利用してライブラリの設計もするけど、そうでないなら一過性の流行りものでしかない。

592 :デフォルトの名無しさん:2013/11/11(月) 23:08:15.48
>>575
Reader#skip(2)でエラー出なかったからといって、
ほんとに2文字スキップしたのかは戻り値確認するまで解らんぞ

593 :デフォルトの名無しさん:2013/11/11(月) 23:12:34.54
サンプルだから省略したんだろ馬鹿は黙ってろ

594 :デフォルトの名無しさん:2013/11/11(月) 23:15:30.33
うんこすれ乙

595 :デフォルトの名無しさん:2013/11/11(月) 23:17:12.15
>>580
PrintWriterでないと無理。コンストラクタにWriter渡して作ればいい。

596 :デフォルトの名無しさん:2013/11/11(月) 23:21:43.55
ネット系InputStream.skip()の気まぐれには泣かされた

597 :デフォルトの名無しさん:2013/11/12(火) 04:35:04.24
依存性管理が一過性の流行ということは無いと思うけれどもなぁ。
mavenでさえ2以降でもすでに8年たっているし。

Jarを手作業で落としてコピれば動くので今時の依存性管理付きビルドツールは不要です
pomの類いも書きませんというのは、手作業で動作チェックすれば動くのでテストケースは
書きませんというようなもの。

598 :デフォルトの名無しさん:2013/11/12(火) 09:21:08.14
8年経つならやっと取り扱ってもらえるんじゃないか。
場合によってはジャバ9のモジュラリティーとかそのあたりで入ってくるかもしれない。

599 :デフォルトの名無しさん:2013/11/12(火) 10:42:28.48
「クラスローダは自作するもの」と周知させれば
「derby.jarはバラさなければならない」 とか馬鹿なレスも減るべ。

JREに無料で付いてくるクラスローダ実装引き合いに出して
「これがJavaだ!」みたいなことドヤ顔で言う人ってなんなの…


しかし 「このアプリの起動にはMavenが必要です」 な未来はイヤ。
Mavenスレ落ちて何年経つんだよ

600 :デフォルトの名無しさん:2013/11/12(火) 10:44:14.62
C#やるとJavaが面倒くさい

601 :デフォルトの名無しさん:2013/11/12(火) 11:05:15.85
jarはそのままでも展開しても差異はないし問題もない。

602 :デフォルトの名無しさん:2013/11/12(火) 11:06:31.09
>>600
そりゃそーだろ
C#は、javaのいいとこ取りして
さらにこういう機能があったら良いのに
っていうものを追加したもんだもん
ちなみに俺はC#→java(android)って感じで勉強してきたけどね

603 :デフォルトの名無しさん:2013/11/12(火) 11:16:57.36
c#勉強してもwindowsとかmicrosoft製品でしか動かないでしょ。
ubuntuでmonoを使う選択肢というのはmicrosoftの性質を鑑みてストールマンや他多数の著名人が禁止してるし。
microsoftもので動かしたいときがあればjs,ruby,phpとかのスクリプトだけ勉強しとけばいいのかもと思う。

604 :デフォルトの名無しさん:2013/11/12(火) 11:23:22.25
>>172

605 :デフォルトの名無しさん:2013/11/12(火) 11:26:52.05
GithubはC#に移行

606 :デフォルトの名無しさん:2013/11/12(火) 11:45:34.51
自分がよく使いそうな独自クラスを管理するにはパッケージを使うのですか?

いつもよく分からないからコピペで済ませてるんですが、eclipseでこういう風に管理してるってのがあれば教えてください。

607 :デフォルトの名無しさん:2013/11/12(火) 11:59:04.52
>>606
独自クラスうんぬんじゃなくて
パッケージってのは名前の衝突を避けるため
分離化するのが目的

608 :デフォルトの名無しさん:2013/11/12(火) 12:51:12.66
>>607
自分がよく使う汎用クラスの管理はどうなさってます??

609 :デフォルトの名無しさん:2013/11/12(火) 13:02:24.47
サブドメインくれる無料ブログ作って、パッケージ名に使えばいいんじゃないの。

旧SunMicroは、メアド文字列使って一意なjavaパッケージ名を求める手順を
提案すべきだったと思うんだが

610 :デフォルトの名無しさん:2013/11/12(火) 14:14:09.34
>>606
ライブラリ化。

611 :デフォルトの名無しさん:2013/11/12(火) 15:01:24.51
>>610
で、その外部jarライブラリを作るにあたって、結局パッケージ名も関わってはくると思う。

デフォルトパッケージ?

612 :デフォルトの名無しさん:2013/11/12(火) 15:24:22.72
>>599
>「クラスローダは自作するもの」と周知させれば

なしてわざわざ自作するの? どうしてあるものを使わないの?


>しかし 「このアプリの起動にはMavenが必要です」 な未来はイヤ。

頓珍漢な心配はまず実際にmaven使ってみてからにしてくれない?
All-in-oneなexecutable jarにせよ必要なjarがlibディレクトリ等に入ったtar.gz等に
せよ、配布用のパッケージをどうmavenで作成するかなんて世の中具体例に溢れている。

613 :デフォルトの名無しさん:2013/11/12(火) 15:39:20.12
>>599
>「derby.jarはバラさなければならない」 とか馬鹿なレスも減るべ。

そういうレスがいつあったのか、それとも単なる思い込みかよく分からんが、
「そのほうが楽なら」バラすしそれ全く手間じゃないし。
それこそpomにプラグイン指定すれば手作業ゼロで自動化できる話。

実行用のパッケージ作るのにオレオレなクラスローダー使ったりどこかの
Jar-in-Jarソリューション使うより、単にバラして動くならそっちの方が
シンプルだし確実。

614 :デフォルトの名無しさん:2013/11/12(火) 15:50:32.58
可愛い子ちゃんなんだからあまりいじめるなよ

615 :デフォルトの名無しさん:2013/11/12(火) 17:00:43.73
>>611
デフォルトパッケージは使っちゃダメ。

ちゃんと自分用のパッケージ名を適当に決めて、機能別にさらにパッケージに
分けて管理した方が良い。
自分でライブラリを作り始めるのであれば、まず既成のライブラリがどのように
パッケージを分けて管理しているのか観察してマネをしてみるところから始める
と良いと思うよ。

616 :デフォルトの名無しさん:2013/11/12(火) 17:46:22.74
>>611
それを言ったら、パッケージなしで書くのはhello worldまでになる。つまりパッケージ名は常に考えているので、ライブラリだからどうこうと言うことはない。

617 :デフォルトの名無しさん:2013/11/12(火) 18:05:59.87
すまん。ランチャーがわりにmaven使ってるのオレだわー。
これはこれでなかなか便利でな…

618 :デフォルトの名無しさん:2013/11/12(火) 18:15:32.95
自己解決しました

619 :デフォルトの名無しさん:2013/11/12(火) 18:17:11.04
質問です。SwingでJFrameのデフォルトの大きさを決めておこうと思って
static final Dimension DEFAULT_SIZE = new Dimension(400, 300) みたいにしたのですが、
このインスタンスってプリミティブ型と違って書き換えが可能なんですね・・・
こういう場合では縦横それぞれのプリミチブ型を記述するしかないのでしょうか?
せっかくDimensionというクラスがあるので使いたいと思うのですが

620 :デフォルトの名無しさん:2013/11/12(火) 18:23:52.69
>>617
すまん。自分もテスト走らせたり開発用のインスタンス起動するのにmavenつかうよ。

ただどうも便利なビルドツールとランタイムの区別がついていない人がいるようでつい。

621 :デフォルトの名無しさん:2013/11/12(火) 18:39:56.50
>>619
static final Dimension2D DEFAULT_SIZE = new UnmodifiedDimension(400,300);
setとか呼ばれたら、UnsupportedOperationExceptionを投げる。
Collections.html#unmodifiableListあたりを参考に。

クラス定義が面倒なら、キャストはしてはいけませんとコメントで書いといて、= new DImension。
Dimensionとして渡さないといけないような相手なら、簡便さとコストを優先しているのだろうから諦める。

622 :デフォルトの名無しさん:2013/11/12(火) 19:13:42.76
>>621
ありがとうございます、参考になります
単純にインスタンスをラップして、リードオンリーなメソッドのみ委譲して、
それ以外は例外を投げればいいんですね。
このあたり、自作のライブラリを作るときは参考にしようと思います。
繰り返しですが、だりがとうございました!

623 :デフォルトの名無しさん:2013/11/12(火) 19:43:41.43
こちらこそだりがとう。

624 :デフォルトの名無しさん:2013/11/12(火) 19:49:43.97
だりがやねん。

Jframe.setSizeはDimension2Dでなくて、Dimensionでないとダメらしい。残念。

625 :デフォルトの名無しさん:2013/11/12(火) 20:15:45.84
初期化するときに1回しか使わないから直接書けばよくね?
デフォルトサイズ後から使わないでしょ?

626 :デフォルトの名無しさん:2013/11/12(火) 21:02:46.43
簡単に書けることをわざわざややこしく書きたい人もいる

627 :デフォルトの名無しさん:2013/11/12(火) 21:07:10.91
スタティッククラスってどういうときに使うの?

628 :デフォルトの名無しさん:2013/11/12(火) 21:36:03.83
>>627
内部クラスの事を言っているのであれば外側のオブジェクトへの参照がいらないとき。
外側のオブジェクトへの参照が不要なときは可能な限りstaticにすべき。

629 :デフォルトの名無しさん:2013/11/12(火) 21:51:18.21
つまりクラス定義に付けるstaticは内部クラス用ってことか

630 :デフォルトの名無しさん:2013/11/12(火) 22:22:40.16
言語仕様の用語的にはstaticが付かない外側のクラスへの参照を持ってる奴だけを内部クラスと呼ぶ
のでstaticが付いたら内部クラスとは呼ばない。

631 :デフォルトの名無しさん:2013/11/12(火) 22:27:38.44
class Foo {} // 普通のクラス
static class Bar {} //???

class Hoge {
  class Unko {} //内部クラス
  static class Chinko {} //???
}

632 :デフォルトの名無しさん:2013/11/12(火) 22:48:55.42
>>627
別クラスにstaticメンバ見せたいけど
どうしてもメンバをprivateにしておきたい場合にstatic classを使う。

あるいはMap.Entryみたいに、成り行きでなんとなく使う

633 :デフォルトの名無しさん:2013/11/13(水) 00:21:21.14
swingを勉強しています。JFrameを作ってマウスクリックしたら*.pngファイルを読み込み
JLabelに貼り付けて表示するプログラムを作りました。ですが*.pngファイルが表示されないのです。
何が原因でしょうか?pngファイルをJFrameのコンストラクタで読み込んでJLabelに貼り付けると
うまく行きます。またmouseClicked()にブレークポイントを設定すると、そこで停止します。
アドバイスよろしくお願いします。
public class sample01_38a
{
public static void main(String[] args)
{
my_frame frame = new my_frame() ;
frame.setBounds(0,0,500,500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
<略>
public class my_frame extends JFrame implements WindowListener,MouseListener
{
public void mouseClicked(MouseEvent e)
{
icon = new ImageIcon( "images/anomalocaris.png" ) ;
label = new JLabel("test label",icon,SwingConstants.CENTER);
getContentPane().add(label) ;
<略>

634 :デフォルトの名無しさん:2013/11/13(水) 00:24:22.24
その質問何回目

635 :デフォルトの名無しさん:2013/11/13(水) 09:57:32.52
すいません、自己解決しました。

636 :デフォルトの名無しさん:2013/11/13(水) 11:14:17.67
static finalとか良く分からん。
外に見せたい定数とかに定義してんだけど。

637 :デフォルトの名無しさん:2013/11/13(水) 12:07:42.92
>>636
複数のインスタンスで別個に持つ必要がない定数に使う

638 :デフォルトの名無しさん:2013/11/13(水) 14:11:01.81
>>637
なるほど、分かり易い。

あるクラスをインスタンス化したら、中のインスタンスが見えてしまうんだが、プライベートとかつけても消えてくれない。。。

639 :デフォルトの名無しさん:2013/11/13(水) 14:48:13.11
>>638
インスタンス化される側のクラスの中でメンバー変数をprivate宣言する必要がある。

640 :デフォルトの名無しさん:2013/11/13(水) 14:58:59.23
>>639
かったぱしからprivateつけてみてはいるんだけどなぁ。
勉強します。

641 :デフォルトの名無しさん:2013/11/13(水) 16:22:25.80
同じクラスの中からだと見えちゃうよ > private

642 :デフォルトの名無しさん:2013/11/13(水) 16:29:44.93
どういうことやってるのか
ソースコード見ないと何とも言えんなあ

643 :デフォルトの名無しさん:2013/11/13(水) 16:34:32.11
実はデバッガで見てるのでは

644 :デフォルトの名無しさん:2013/11/13(水) 16:58:07.27
インスタンスをどこから隠したいのかが不明瞭
他のパッケージから隠したいのか
同一パッケージの他クラスから隠したいのか
同一ファイル内の他クラスから隠したいのか

645 :デフォルトの名無しさん:2013/11/13(水) 17:11:36.94
ウェブページと対話するようなプログラムをかきたいんですけど
ログイン状態を維持したままウェブページにアクセスするのってどうやるんでしょうか?

HTTPURLConnection から InputStream を開いてページソースを取得するのはできるんですが
クッキーとかセッションの扱いがいまいちわかってない程度の知識です

646 :デフォルトの名無しさん:2013/11/13(水) 17:17:48.09
プログラミングよりも先にネットワークの仕組みを勉強すればいいんじゃね?

647 :デフォルトの名無しさん:2013/11/13(水) 17:19:08.56
だなw

648 :デフォルトの名無しさん:2013/11/13(水) 17:24:45.91
サーバーサイドJavaの本を買えばのってるぞ

649 :デフォルトの名無しさん:2013/11/13(水) 17:25:12.80
ネットワークの仕組みなんて要らないよ
クッキーについてだけ勉強すればおk

650 :デフォルトの名無しさん:2013/11/13(水) 17:25:27.92
そういわずにせめてどのクラス使えばいいとかヒントになるページとか教えてください!

651 :デフォルトの名無しさん:2013/11/13(水) 17:26:17.94
ウェブの仕組みについて勉強すれば
ここで訊かずともどのクラス使えばいいのかおのずと見えてくる

652 :デフォルトの名無しさん:2013/11/13(水) 17:26:55.79
バカにはムリムリww

653 :デフォルトの名無しさん:2013/11/13(水) 17:27:34.73
java cookieでググレばおk

654 :デフォルトの名無しさん:2013/11/13(水) 17:27:35.24
「Java セッション」でググればいくらでも出てくるレベルの質問とか、釣り質問か

Javaの道:Servlet(6.セッション管理)
http://www.javaroad.jp/servletjsp/sj_servlet6.htm

Java Solution FAQ:セッションの開始・継続・終了
http://www.atmarkit.co.jp/fjava/javafaq/session/session04.html

セッションを使ったデータの書き込みと読み込み - セッション管理 - サーブレット入門
http://www.javadrive.jp/servlet/session/index2.html

655 :デフォルトの名無しさん:2013/11/13(水) 17:29:15.42
わざと古すぎる記事を紹介とか

656 :デフォルトの名無しさん:2013/11/13(水) 17:33:17.10
>>654
そーうーのはブログでやって

657 :デフォルトの名無しさん:2013/11/13(水) 17:40:33.60
>>654
軽くよんでみたんですけどこれってサーバー側で動的ページを表示させる方法にみえるんですけど
クライアント側でもHttpServletっていうクラスを使えばできるんですか?

まだServretの中身よんでないんですけど
方針がまちがってなければちゃんと調べてみます

658 :デフォルトの名無しさん:2013/11/13(水) 17:42:50.89
Java技術最前線 - 「Java SE 6完全攻略」第42回 Cookieを扱う その3:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070831/280847/

Lesson: Working With Cookies (The Java? Tutorials > Custom Networking)
http://docs.oracle.com/javase/tutorial/networking/cookies/

659 :デフォルトの名無しさん:2013/11/13(水) 17:50:42.67
ゆとりは手取り足取り教えてもらわないと何もしないのな

660 :デフォルトの名無しさん:2013/11/13(水) 17:51:54.22
ゆとり乙w

661 :デフォルトの名無しさん:2013/11/13(水) 17:54:56.68
自己解決しました

662 :デフォルトの名無しさん:2013/11/13(水) 17:59:36.13
うぅ;; ゆとりですいません…
というかそもそも読むだけしかできなくて
パスとIDをポストして結果をクッキーにためる処理もできないことに気づきました;;

Cookie = new Cookie();
url.post("id=...&pass=..., cookie); とかすれば勝手にクッキーに情報がたまって
url.openStream(cookie); みたいに引数でわたしたら勝手にクライアント認識してくれるようなクラスがあると思ってました;;

もうちょっと勉強しないと自分には無理っぽいです><
どうもおさわがせしました…

663 :デフォルトの名無しさん:2013/11/13(水) 18:01:23.29
涙目wwwゆとり乙wwww

664 :デフォルトの名無しさん:2013/11/13(水) 18:02:51.54
相変わらず役にたたねえスレだなw

665 :デフォルトの名無しさん:2013/11/13(水) 18:03:52.58
バカにはムリw

666 :デフォルトの名無しさん:2013/11/13(水) 18:05:54.88
Javaでのクライアント側のクッキー管理なんてデフォルトのクッキーマネージャを使ってりゃ十分だろJK

667 :デフォルトの名無しさん:2013/11/13(水) 18:11:32.08
CookieManager manager = (CookieManager)CookieHandler.getDefault(); //でデフォルトのクッキーマネージャ取り出して
CookieStore store = getCookieStore(); //クッキーのデフォルト保存先(メモリ)へのアクセス取り出して

CookieStoreのadd get removeを使ってファイルに書き出すなりファイルから読み込むなりして管理すれば十分だろJK

668 :デフォルトの名無しさん:2013/11/13(水) 18:18:47.63
相変わらず役にたたねえレスだなw

669 :デフォルトの名無しさん:2013/11/13(水) 18:22:11.12
自己解決しました

670 :デフォルトの名無しさん:2013/11/13(水) 18:27:50.31
質問です。
まず、Javaのクラスは常にヒープを使用するというのが気になったので、
配列などにあらかじめインスタンスをたくさんnewして格納しておき、必要なときにその配列から
未使用のインスタンスを検索して取り出して、不要になったら配列に返す、という方法で
擬似的にスタックを再現しようと思いました。

叩き台としては、十分なreserve数を用意したArrayListにインスタンスをnewして詰め込んだあと、
インスタンスを使用するときにpop、返却するときにpush、という方法で作りました。
しかしながら、テストをしてみるとインスタンス化するクラスがよほど大きなクラスでない限りは
newしたまま放置するのとほとんど差がありませんでした(むしろ遅いときの方が多かった)

ここで質問なのですが、実際のところ、このような方法で素のnewやGCの機能を使うよりも
高速化を図ることはできるのでしょうか?

671 :デフォルトの名無しさん:2013/11/13(水) 18:29:10.80
疑似スタックに何の意味が

672 :デフォルトの名無しさん:2013/11/13(水) 18:30:11.23
疑似スタックがヒープ上に作られるので何の効果もありませんでした

673 :デフォルトの名無しさん:2013/11/13(水) 18:30:24.54
それスタック関係なくてインスタンス化の時間を省きたいだけだろ

674 :デフォルトの名無しさん:2013/11/13(水) 18:30:48.99
>高速化を図る

Javaを使うことを諦める

675 :デフォルトの名無しさん:2013/11/13(水) 18:34:30.15
>>674
でも宿題だから仕方ない

676 :デフォルトの名無しさん:2013/11/13(水) 18:38:40.65
>>675

★★ Java の宿題ここで答えます Part 72 ★★
http://toro.2ch.net/test/read.cgi/tech/1337692704/

677 :デフォルトの名無しさん:2013/11/13(水) 18:42:55.68
全体的にコードがぐちゃぐちゃで遅いだけじゃね
特にコンストラクタが

678 :デフォルトの名無しさん:2013/11/13(水) 18:43:00.11
「よほど大きなクラスでない限り」素でGCが発生しないからpushで戻す時間遅くなってるんじゃ?
GCが発生しそうなプログラムなら速くなると思いますけどね
new って実際メモリ確保する時間はほぼ一瞬なのでインスタンス化の時間は変わらないと思います

679 :デフォルトの名無しさん:2013/11/13(水) 18:48:28.61
>>670
http://www.ibm.com/developerworks/jp/java/library/j-jtp01274/#3.1

680 :デフォルトの名無しさん:2013/11/13(水) 19:09:17.52
>>383
荒らすな雑魚

681 :デフォルトの名無しさん:2013/11/13(水) 19:26:36.75
>>671-679
みなさんありがとうございます。

>>679
とても参考になりました。今回とは関係ないけれど不変オブジェクトについても
大変興味深かったです。Scalaやりたくなってきた・・・

682 :デフォルトの名無しさん:2013/11/13(水) 19:38:20.94
不変オブジェクトについては少し古いかもな
誰がなんと言おうとプリミティブラッパーは普通の数値として計算に使おうとするとゴミだし

683 :デフォルトの名無しさん:2013/11/13(水) 20:21:34.86
>>679
こういった「その時代時代のパラダイム」に依拠したネイティブ・ハッキングは、たとえお金を積まれたとしてもあまりやりたくないね

684 :デフォルトの名無しさん:2013/11/13(水) 20:22:16.37
最近のGC実装は、
使い道の無いかもしれないオブジェクトを後生大事にプールしておくより、
短寿命のオブジェクトをポコポコ作る方が効率よい。

685 :デフォルトの名無しさん:2013/11/13(水) 21:15:26.67
ゴッツさんってラムダの人でしょ。
関数型言語の名手で関数戻り値マンセーだから不変オブジェクトにこだわりがあるのもよくよく分かる。
ただ、オブジェクト指向言語を使ってライブラリを設計するというのは、不変オブジェクトやシングルトンだけでなく、関数型由来の方法以外の、他の方法論もたくさんある、ということは一言いっておきたい。

686 :デフォルトの名無しさん:2013/11/13(水) 21:19:47.40
>>682
そういうのは気にしなくていいと記事には書いてある

687 :デフォルトの名無しさん:2013/11/13(水) 21:35:50.65
>>645
Apache CommonsのHttpClientを使え。

標準クラスライブラリの範囲内でもCookie処理は実現できるが、
Java 6ではexpiresの解釈にバグが混入していたり(7以降は解決済み)、
http://www.javainthebox.com/2007/09/blog-post_4729.html
Set-Cookieの適用順が変わっているからエラーが起きたり、
http://tomott.cocolog-nifty.com/blog/2010/09/javecookie5-5d9.html
ライブラリとしての完成度や信頼性は高くない。

688 :デフォルトの名無しさん:2013/11/13(水) 21:53:59.14
>>687
レスありがとうございます
これすごいですね

ぱっとみた感じ HTTP のプロトコルわからなくても
フォームにかかれてるの name と value の Map を渡すだけで
POST リクエスト作ってくれるみたいですね

あれからもずっと調べてたりプログラムかいたり試行錯誤してたんですが
そもそもログインフォームのソースみながら
POST してクッキーを受け取る部分すらできなくて困ってました…

さっそく使ってみようと思います

689 :デフォルトの名無しさん:2013/11/13(水) 22:04:33.07
もはやJavaが怖い

690 :デフォルトの名無しさん:2013/11/13(水) 22:20:27.17
>>689
kwsk

691 :デフォルトの名無しさん:2013/11/13(水) 22:26:41.08
めでたしめでたし、「ここはどこわたしはだれ」になるであろうに10ペリカ。

692 :デフォルトの名無しさん:2013/11/13(水) 22:38:05.92
>>686
プリミティブ型は後方互換のために存在するって言い切って良いレベルだとでも?

693 :デフォルトの名無しさん:2013/11/13(水) 22:44:53.71
ジャバのプリミチブ型の本質は、JVMのネイチブ型とのマッピングなんで、記事にあるNEW演算子のことだけでなく、その点でも気にしなくていいです。

694 :デフォルトの名無しさん:2013/11/13(水) 22:51:11.46
そんなハイレベルな宿題とかいったいどんな学校なんだ

695 :デフォルトの名無しさん:2013/11/13(水) 22:56:57.70
>>694
ていうか2ch用のネタの投下だってことに気づけw

696 :デフォルトの名無しさん:2013/11/13(水) 22:59:37.13
バカにはムリw

697 :デフォルトの名無しさん:2013/11/14(木) 00:14:14.09
>>687
ようやくポストするとこまでいけたけど HTTP コード 302 が帰ってきてボディがからっぽになる;;
302 って軽く調べたらリダイレクトらしいんですけどリダイレクト先の URL がどこにもない;;

698 :デフォルトの名無しさん:2013/11/14(木) 00:26:00.04
>>697
本当にリダイレクト先のURLが書いていないのなら、それはサーバーが意図的にそういう設定にしてるってことだからどうにもできない。
POSTしたデータがおかしいからサーバーがエラー吐いてる可能性もある。

699 :デフォルトの名無しさん:2013/11/14(木) 00:42:00.13
>>697
HTTPヘッダのLocation見ろ。
そして、HTTP勉強してから出直せ。
とりあえずcurlとか使って、手動でできるレベルになれ。

700 :デフォルトの名無しさん:2013/11/14(木) 00:54:08.77
ああそっちの初歩的な見落としか

>>697
リダイレクト対応する場合は以下のコード追加しろ
http://d.hatena.ne.jp/lettas0726/20120806/1344264352

701 :デフォルトの名無しさん:2013/11/14(木) 02:11:47.94
こんなことしたい時、皆さんどうしてますか?
MyInterfaceを実装するMyClassを総称型引数に持つList<MyClass>のインスタンスを、myMethod(List<MyInterface> myInterfaceList)に渡したい

702 :デフォルトの名無しさん:2013/11/14(木) 02:13:27.38
ちなみに出来ないのは分かってますが、なんで出来ないようになってるかも疑問なんです

703 :デフォルトの名無しさん:2013/11/14(木) 02:17:10.34
頑張ればできる

704 :デフォルトの名無しさん:2013/11/14(木) 02:23:48.84
extendsキーワード使えばいいんじゃないの?

myMethod(List<? extends MyInterface> myInterfaceList)

こんな感じ?

705 :デフォルトの名無しさん:2013/11/14(木) 02:25:57.18
Java総称型メモ(Hishidama's Java Generics Memo)
http://www.ne.jp/asahi/hishidama/home/tech/java/generics.html

706 :デフォルトの名無しさん:2013/11/14(木) 02:54:54.39
出来なくなかった!
ありがとうございます
職場で試します

707 :デフォルトの名無しさん:2013/11/14(木) 03:08:07.63
http://ideone.com/gXkKQz

こうか?

708 :デフォルトの名無しさん:2013/11/14(木) 03:41:47.94
>>698-700
レスありがとうございました

>>700 さんの方法がうまくいけば簡単そうなので試そうとしたんですが
パッケージ内のクラスに DefaultRedirectStrategy ってクラスがないみたいで
HttpClient に setRedirectStrategy ってメンバーメソッドもないみたいだし
4.3.1 をおとしたんですけどこの記事とバージョンが違ったのかな…

@Override っていう書き方はじめてみたんですけど
匿名クラスを自分で定義する感じなんでしょうか…

>>698,699
Location って HTTP ヘッダよむ方法がようやくわかってなんとかリダイレクト先のURL取得できたので
明日また手動でリダイレクト先を取得しにいこうと思います
いろいろアドバイスありがとうございました

709 :デフォルトの名無しさん:2013/11/14(木) 07:37:19.12
>>708
あとの細かい試行錯誤はブログでやって

710 :デフォルトの名無しさん:2013/11/14(木) 08:17:21.87
ジェネリクスで、なんでint型はintegerを指定しなきゃいけないんだよ。
Stringはそのまま使えるのに。
統一しろや。

711 :デフォルトの名無しさん:2013/11/14(木) 08:22:53.63
>>708
httpclient-4.3.1.jar
httpcore-4.3.jar
が適切にクラスパスに追加されてれば以下のコードが動くはず
http://ideone.com/Ukqu1n
俺の環境で実行に成功したコードをそのままコピーしてきたから、
これがエラーで動かない場合はクラスパスの設定がおかしいってこと

712 :デフォルトの名無しさん:2013/11/14(木) 08:35:34.79
>>710
プリミティブ型もクラスとして扱う考え方は後付けで色々ほころびがあるのはやむを得ない。
文句を言わず我慢しろ。

713 :デフォルトの名無しさん:2013/11/14(木) 08:44:24.69
List<int> と書いたら自動的に List<java.lang.Integer> のことだと解釈してくれれば便利なのに

714 :デフォルトの名無しさん:2013/11/14(木) 08:46:56.68
Stringはプリミティブ型じゃねーだろ

715 :デフォルトの名無しさん:2013/11/14(木) 09:11:14.85
>>711
LaxRedirectStrategy使うんじゃダメなん?

716 :デフォルトの名無しさん:2013/11/14(木) 09:13:03.52
いうなればお前の顔が不自由なのは仕方なくそれなりに生きていけ、ということであり。
優性交配した次世代はもっとイケメンだから。

717 :デフォルトの名無しさん:2013/11/14(木) 09:17:04.20
なんだこの場所的にも生物学用語の用法的にも頓珍漢な誤爆は。

718 :デフォルトの名無しさん:2013/11/14(木) 09:23:22.58
>>716
日本語でおけ

719 :デフォルトの名無しさん:2013/11/14(木) 18:04:31.47
ようやくやりたいことができました
昨日からいろいろレスくれたみなさんありがとうございました

とくに HttpClient と Location を教えてくれた >>687,699 さん本当に助かりました!
HTTP や クッキーの実装意識しなくてもソーステキストレベルでウェブトラバースするだけで
クッキーの処理1文字もかかずにすんだんですけど
最初 HTTP とクッキー勉強しないと無理っていわれてすごい困ってました

普段UIや画像処理系のプログラムしかかかないので
ネットワークプログラミングがこんなに大変とは…
手動なら30秒とかでできることをプロgyラムにさせるのに丸一日かかっちゃいました;;
ブラウザってすごいことやってたんですね…

>>711 さんわざわざ動作確認までしていただいたのにすいません
たぶん httpclient だけ落としてて core の方をおとしてなかったせいだと思います
ただ POST した時点でログイン処理は成立してて
リダイレクト無視していきたいページ GET するだけで
普通にログイン状態維持できてたので自分的にはこれでOKでした

720 :デフォルトの名無しさん:2013/11/14(木) 18:08:28.90
ゆとり乙

721 :デフォルトの名無しさん:2013/11/14(木) 18:19:04.74
つぎはいつかな?

722 :デフォルトの名無しさん:2013/11/14(木) 18:29:50.33
期限切れの時にまた来そうだ。
標準のCookieManagerの実装の問題って直ってるのかな。

723 :デフォルトの名無しさん:2013/11/14(木) 19:22:56.54
>>704
>>705
>>707
ちゃんと出来ました
ありがとうございました

724 :デフォルトの名無しさん:2013/11/14(木) 19:27:52.98
久しぶりにbsh触ってみたけど、全然変わってないな。
あれ使えたら、ちょっとしたコード試すとき便利なのに。

725 :デフォルトの名無しさん:2013/11/14(木) 19:39:18.71
>>722
java7では直ってないので俺は1から作りなおしたけどな。

726 :デフォルトの名無しさん:2013/11/14(木) 20:56:19.92
Cookie日付をパースできるAPIがJava8からまた復活するんだっけ。
DeprecatedなDateコンストラクタでもいいんだけどさ。

727 :デフォルトの名無しさん:2013/11/14(木) 21:45:24.63
あれれ;; さっそく動かしてみたらしばらくすると
java.lang.IllegalStateException: Invalid use of BasicClientConnManager: connection still allocated.
Make sure to release the connection before allocating another one.
at org.apache.http.util.Asserts.check(Asserts.java:34)
ってエラーが出始めて1回でるとずっと GET に失敗する…

やってることは
HttpClient client = new DefaultHttpClient();
for(;;) {
if(!login) {
HttpPost post = new HttpPost(ログインページ);
params.add(...) // ID PASS セット
HttpResponse response = client.execute(post);
post.abort();
login = true;
}

HttpGet get = new HttpGet(みたいページ);
HttpResponse response = client.execute(get); // ここでエラー
if(response.getStatusLine().getStatusCode() == 403) {
login = false; continue;
}
BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
以下読み込み
get.abort();
}

っていう感じなんですけどループの中の GET execute でエラーがでる;;
なんかもう Java とは関係ないセッションのステートの話だと思うんですけど
もし詳しい人いたら原因わかりませんか?

アサートの中でエラーがでてるのでネットワークの状況というよりローカルでの使い方の問題な気もするんですが…

728 :デフォルトの名無しさん:2013/11/14(木) 21:52:59.08
例外だけから判断するとちゃんとクローズしてないのが原因じゃね?

729 :デフォルトの名無しさん:2013/11/14(木) 21:55:45.25
>>728
最後の br.close() はやってるんですけど…

730 :デフォルトの名無しさん:2013/11/14(木) 22:12:19.70
HttpClient使ったことないから自信ないけど
client.getHttpConnectionManager().closeIdleConnections(1);
とやってコネクション閉じたら直るかも。
というかそもそもclientをPOSTとGETで使いまわしているけど
それぞれ別のHttpClientを使ったらどうよ?

731 :デフォルトの名無しさん:2013/11/14(木) 22:20:22.11
>>727 >>729
DefaultHttpClientのインスタンスを使いまわす場合は注意が必要
例えばこういうコードはダメ。実行すればそれと同じエラーがでる

【エラーが起きるコード】
HttpClient client = new DefaultHttpClient();
while (true) {
  HttpGet get = new HttpGet("http://example.com");
  HttpResponse response = client.execute(get);
  Thread.sleep(1000);
}

【問題ないコード1】
HttpClient client = new DefaultHttpClient();
while (true) {
  HttpGet get = new HttpGet("http://example.com");
  HttpResponse response = client.execute(get);
  EntityUtils.consume(response.getEntity()); // これでDefaultHttpClientは再利用可能になる
  Thread.sleep(1000);
}

【問題ないコード2】
while (true) {
  HttpClient client = new DefaultHttpClient(); // ←client.execute()を実行するたびにDefaultHttpClientを作り直す
  HttpGet get = new HttpGet("http://example.com");
  HttpResponse response = client.execute(get);
  Thread.sleep(1000);
}

732 :デフォルトの名無しさん:2013/11/14(木) 22:23:09.65
このレベルでつまづくようならPythonなどスクリプト言語のネットワークライブラリ使った方がいいと思う
使い方も簡単だしインスタンス使いまわしのエラーなど妙なハマりどころがないから

733 :デフォルトの名無しさん:2013/11/14(木) 22:25:51.21
いきなり他言語に飛躍する脳もどうかしているぞw

734 :デフォルトの名無しさん:2013/11/14(木) 22:30:36.75
相変わらずアホなスレですな

735 :デフォルトの名無しさん:2013/11/14(木) 22:31:58.05
>>730,731
おおお ありがとうございます

>>731 とかまさにやっちゃダメなコードになってる気がします
さっそく書き換えてみます

736 :デフォルトの名無しさん:2013/11/14(木) 22:32:05.22
>>733
話を聞く限り単純なネットワークプログラミングが目的でJavaに拘る理由はないし、
Pythonのコードの方がよほど簡単
http://d.hatena.ne.jp/yatt/20110503/1304403694

737 :デフォルトの名無しさん:2013/11/14(木) 22:44:04.64
>>736
一応 C java perl PHP ぐらいは使ったことあるんですけど Python はないかも…
GUI扱えるのが C++ と Java だけなんですよね…
今回やりたかったのはピクシブってサイトでおきにりの絵師さんが絵投稿したら
ポップアップだして絵を表示するみたいなことをしたかったのでGUIが使える言語でJava選びました

というかスクリプト言語って変数宣言の自由度が高すぎて
知らないうちに名前空間が被ったりしてデバッグ大変そうで…

738 :デフォルトの名無しさん:2013/11/14(木) 23:04:59.70
代わりにやってもらうスレ立てたほうがいいんじゃないか。

739 :デフォルトの名無しさん:2013/11/14(木) 23:11:56.89
PHPでもQtやGtkとかでGUI作れるんじゃないの?

740 :デフォルトの名無しさん:2013/11/14(木) 23:11:58.58
>>731
レスポンスをクローズするのじゃダメなの?

741 :デフォルトの名無しさん:2013/11/14(木) 23:16:18.08
PerlならGtkとQtに加えtkも使える!

742 :デフォルトの名無しさん:2013/11/14(木) 23:16:49.29
PerlやPHPでGUIが出来るならJavaはオワコン

743 :デフォルトの名無しさん:2013/11/14(木) 23:24:05.13
大学の知人でperl信者がいたけど、
他人に解からない難解なものがカッコいいというのが彼のポリシーだったようで。
再利用性皆無なコードだったな。

744 :デフォルトの名無しさん:2013/11/14(木) 23:26:10.86
再利用する価値もないコードならどんな汚く書いてもOK

745 :デフォルトの名無しさん:2013/11/14(木) 23:29:57.91
ある出版社の携帯アプリのjavaコードも他人にわからないようにハゲが工夫をこらして難解にしてたなw
そのハゲにとって他人に簡単に理解されたら辞めさせられておまんま食い上げだからしょうがないが。

746 :デフォルトの名無しさん:2013/11/14(木) 23:31:19.56
proguardとは違うのか

747 :デフォルトの名無しさん:2013/11/14(木) 23:33:39.76
うー;; だめだー;;

>>731 のがまさにこれだったのでうまくいくかと思ったのに
EntityUtils.consume(response.getEntity());
を加えても同じエラーでちゃいます…

3つめの HttpClient を毎回生成するのはセッションまで新しくなっちゃうみたいで
エラーはでないんですけどログイン状態が維持されない…

>>730 さんの試してみたんですけど
getHttpConnectionManager がみつからないっていわれるんですよね…
軽く調べたら 3.x 系のサンプルがでてきたんですけど 4 系と違うのかな…

748 :デフォルトの名無しさん:2013/11/14(木) 23:33:50.18
難読化ツールとかそういうんじゃなくて、無意味にスレッドを増やして同期をとっておらずミリ秒差で処理の流れが変化するような難解コード

749 :デフォルトの名無しさん:2013/11/14(木) 23:37:07.86
もうJavaは諦めてPHPとcurlとphp-qtで作ればいいじゃない

750 :デフォルトの名無しさん:2013/11/14(木) 23:52:50.22
初歩的な質問をさせてください。よろしくお願いします。

環境はTomcatで、JSP/Servletで簡単なページを2−3つぐらい作成するのですが、
これで、Webサーバ(Apache)を使う必要(メリット)はあるのでしょうか?

(クライアントからのリクエストは、特に多いといわけでもありません)

751 :デフォルトの名無しさん:2013/11/14(木) 23:55:21.09
>>750
無い。

752 :デフォルトの名無しさん:2013/11/14(木) 23:55:41.90
tomcatにapacheの代用をさせることもできるが
画像表示はapacheの方が圧倒的に早い。

753 :デフォルトの名無しさん:2013/11/15(金) 00:47:44.20
>>750
httpのログは?

754 :デフォルトの名無しさん:2013/11/15(金) 01:26:35.14
>>727 の件で
ときどき 503 がでてるみたいでその後に GET したときに必ずエラーが出てるみたいです

根本的な解決方法がわからないけど
とりあえず例外はいたら HttpClient のインスタンスを作り直して
ログインからやり直すって感じの応急処置にしてみました

若干解決方法が気持ち悪いけど現状安定してるみたいです…

アドバイスくれた方々ありがとうございました!

755 :デフォルトの名無しさん:2013/11/15(金) 07:14:27.22
次はいつかな

756 :デフォルトの名無しさん:2013/11/15(金) 08:54:29.06
>>383
荒らすなゆとり

757 :デフォルトの名無しさん:2013/11/15(金) 09:58:50.12
>>754
ちょっと>>727を見ていて思ったのだけれども、for(;;)で無限ループを回すのは
良いとして、一回GETリクエストをしたら次のGETをする前にちゃんと数秒間の
スリープは入れているよね?

758 :デフォルトの名無しさん:2013/11/15(金) 09:59:18.75
あらすな馬鹿とあらしがいう

759 :デフォルトの名無しさん:2013/11/15(金) 11:49:49.48
GCC開発者「Javaはオワコン。GCJをやめてGoをやろうぜ」
http://engawa.2ch.net/test/read.cgi/poverty/1384481613/

760 :デフォルトの名無しさん:2013/11/15(金) 11:53:27.41
>>759
すれち

761 :デフォルトの名無しさん:2013/11/15(金) 18:53:51.84
PNaClがAppletを反面教師として堅牢なプラットフォームに育ちますように…

762 :デフォルトの名無しさん:2013/11/15(金) 19:09:06.23
ネットで拾ったソース実行しようとしたらjava.until.vectorがないって言われたんですけど
どっかでダウンロードすることはできますか?可変長配列を使えれば別のものでも大丈夫とは思うのですが

763 :デフォルトの名無しさん:2013/11/15(金) 19:10:04.62
utilとuntilのタイプミスでは

764 :デフォルトの名無しさん:2013/11/15(金) 19:14:01.01
utilでした。すいません
java.utilはあるのですがそこから予想で挙げられてるクラスがネットに書かれているのよりずっと少ない…

765 :764:2013/11/15(金) 19:34:25.49
すいません、自己解決しました

766 :デフォルトの名無しさん:2013/11/15(金) 22:26:45.64
>>757
はい! いれてます!
実際に使うときは1時間に1回ぐらいみにいくだけで十分なんですけど
デバッグのために一時的に1分に1回とかにしてました

767 :デフォルトの名無しさん:2013/11/16(土) 20:51:36.07
ご質問させてください
現在javaの資格について調べているのですが
オラクルjava認定資格アソシエイツ(OCJ-A)とjavaプログラマbronzeはなにか違いがあるのでしょうか
今は駆け出しなので初歩から取得しようと思って調べたのですがいまいちよくわかりません
どなたか返信お願いします

768 :デフォルトの名無しさん:2013/11/16(土) 21:18:51.69
すきにすれば

769 :デフォルトの名無しさん:2013/11/17(日) 00:18:24.64
mavenで親子関係のあるプロジェクトを作りたいのですが、親のパッケージングはpomなんですか?
親プロジェクトはmaven専用のプロジェクトになる気がするのですが、気のせいでしょうか

770 :デフォルトの名無しさん:2013/11/17(日) 07:21:45.14
>>767
アソシエイツって何か知らないけど、java プログラマー bronze
は、日本だけの資格だから取るならsilverをお勧めします。
ちなみに、silverの問題は、「こんなコード誰が書くか!」とか
「問題文が曖昧すぎるんだよ!」みたいな問題ばっかりで
俺の場合、silverの公認教科書を100%解けるレベルで
試験結果は、80%後半だった。

771 :デフォルトの名無しさん:2013/11/17(日) 10:31:55.87
Sevletでwebアプリ作ってるんですが、
アプリ稼働中はログインしたユーザー情報を個別にMapに突っ込んでおきたいのです。
そこで、認証が済んだユーザ情報をコントローラから

public class LoginUtil{
 private static Map loginUserSubInfo = new Map();
 public static void setLoginUserSubInfo(){};
 public static User getLoginUserSubInfo(){};
}

みたいなpublicクラスのクラス変数にstaticメソッド経由で入れようと
思ってるんですが、これだとloginUserSubInfoはスレッドセーフにはならず
同時アクセスがあった場合は意図しない値がセットされたりするんでしょうか?

そもそもこういう実装にはせず、sessionオブジェクトとかで
ユーザー情報を管理したほうがいいですか?

772 :デフォルトの名無しさん:2013/11/17(日) 10:51:06.45
>>771
最初のうちはstaticつけようが何しようが
動くものを作る。
その後で、「あっ、これをこうすればstaticいらないや」
とか後から改変したら良し。

773 :デフォルトの名無しさん:2013/11/17(日) 11:19:02.91
>sessionオブジェクトとかでユーザー情報を管理したほうがいいですか?
YES

774 :デフォルトの名無しさん:2013/11/17(日) 11:20:33.92
あとsessionだと範囲が狭いならservlet context(applicationスコープ)で管理すべきです。

775 :771:2013/11/17(日) 16:49:07.93
>>772-774
ありがとうございました。
HttpServletクラスのgetServletContextで
applicationスコープ使うことにしました。

776 :デフォルトの名無しさん:2013/11/17(日) 17:00:07.81
てとりあしとり、みんなしんせつだね

777 :デフォルトの名無しさん:2013/11/17(日) 19:26:40.38
後継者を育てる楽しみ

778 :デフォルトの名無しさん:2013/11/17(日) 19:49:06.95
布教しないと終了だからね。
GCCがJava見捨てるとか検討だって。
もちろんc#とかMicrosoft関連は崖っぷち。
ハーメルンの笛吹きに踊らされた連中のデスマーチだけどさ。

未来は意外と最古の言語Lispかも。

779 :デフォルトの名無しさん:2013/11/17(日) 19:53:56.58
OpenJDKがあるからGCJいらなくね?って話を「Javaが不人気だから見捨てられた」と読み替えるネガキャンはもっとレベルの低いスレでやらないと意味ないよ

> OpenJDKという活発な開発コミュニティが存在していること、
> OpenJDKの活動を引き出すというGCJの当初の目的はすでに果たせたこと、などが理由としてあげられている。

780 :デフォルトの名無しさん:2013/11/17(日) 19:56:30.49
>>172

781 :デフォルトの名無しさん:2013/11/17(日) 19:59:03.79
>>759

782 :デフォルトの名無しさん:2013/11/17(日) 20:23:48.22
>>172>>759はオワコン

783 :デフォルトの名無しさん:2013/11/17(日) 20:33:48.13
GoよりもDartのほうが普及しそう

動的型付け言語は使っててストレスが溜まる
やっぱり静的型付け言語のほうがいい

784 :デフォルトの名無しさん:2013/11/17(日) 20:37:35.99
>>296

785 :デフォルトの名無しさん:2013/11/17(日) 20:41:23.58
>>296はオワコン

786 :デフォルトの名無しさん:2013/11/18(月) 00:42:36.52
javaって自由すぎて、難しいよね
フレームワークが沢山あるくせに古かったり・まともに動かなかったりする所が
もう、.リソース分散しないで欲しい

787 :デフォルトの名無しさん:2013/11/18(月) 00:57:16.91
本来なら規格化された電子部品の様に中身を知らずに何処でも使えるソフトウェアの部品化だったはず。

所が現実はどの部品も信用ならずだし、他の言語に比べ異常に長い名前を知らなきゃ何も出来ない。

大昔にGOTO文の多用で分岐するFORTRANがスパゲッティプログラムと揶揄されたがJavaは店じゅうにスパゲッティをブチまけて隣りテーブルと繋がってる様な惨状だ。

788 :デフォルトの名無しさん:2013/11/18(月) 10:48:08.48
惨状ってほどでもねぇな。ゴミゴミした街並みを記憶できる程度には整理されている。

789 :デフォルトの名無しさん:2013/11/18(月) 10:50:08.16
普段生活してない他所の街について汚ねぇ街並みだと言うことはできるが、同時それはおまえがまるで余所者(プログラマに向いてない者)である事を意味している。

790 :デフォルトの名無しさん:2013/11/18(月) 11:38:16.34
Javaが主に扱ってる領域って
同名やバージョン別で区別とか平気で出てくるぞ

そういう分野何でもかんでもグローバル空間にぶちまける言語使うと
すぐスパゲッティになる

791 :デフォルトの名無しさん:2013/11/18(月) 12:31:15.04
コンストラクタ呼び出す前って、newをつけるけど、つけないで呼び出す場合はあるんですか?

792 :デフォルトの名無しさん:2013/11/18(月) 12:39:28.41
認識がおかしい
newが本体でコンストラクタはオマケ

793 :デフォルトの名無しさん:2013/11/18(月) 12:42:41.79
newだけで勝手に呼び出してくれるんですか?

794 :デフォルトの名無しさん:2013/11/18(月) 12:50:14.09
>>791
自分自身のコンストラクタ呼ぶときには付けない。
別クラスが呼び出すなら、まずない。
他はリフレクションでのnewInstanceぐらい。

795 :デフォルトの名無しさん:2013/11/18(月) 17:30:29.48
スーパークラスのコンストラクタって明示的に呼び出さないとダメなんすか

796 :デフォルトの名無しさん:2013/11/18(月) 17:34:04.72
>>795
引数なしのデフォルトのコンストラクタでよければいらない

797 :デフォルトの名無しさん:2013/11/19(火) 01:22:23.74
Smatraってどうよ?

798 :デフォルトの名無しさん:2013/11/19(火) 03:12:54.36
ArrayList list

list.get(0);
list.remove(0);

これを同時に処理はできるような方法はありますか?

799 :デフォルトの名無しさん:2013/11/19(火) 03:16:15.59
>>798
釣りなの?removeの戻り値って何か知ってる?

800 :デフォルトの名無しさん:2013/11/19(火) 03:44:23.53
自己解決しました

801 :デフォルトの名無しさん:2013/11/19(火) 06:23:14.29
自己解決じゃねえw

802 :デフォルトの名無しさん:2013/11/19(火) 13:11:30.08
俺も知らなかったw

803 :デフォルトの名無しさん:2013/11/19(火) 13:19:40.26
スタックから削除と同時に要素も取得とか普通の発想だろ…

804 :デフォルトの名無しさん:2013/11/19(火) 13:31:51.29
>>803
それはJavaでの常識でしょ

805 :デフォルトの名無しさん:2013/11/19(火) 13:42:45.77
スレッドセーフの幻想が健在だった頃の名残だよな

806 :デフォルトの名無しさん:2013/11/19(火) 16:36:36.99
まさか返してくれるなんて・・知らんかったw

807 :デフォルトの名無しさん:2013/11/19(火) 17:08:01.69
>>804
プログラミング全般の常識だが…
配列操作でpush/pop/shift/unshiftは当たり前のテクニックだし、
Ruby, JavaScript, Perl, Pythonなどスクリプト言語では組み込みでshift関数(配列の先頭の要素を削除して返却)が用意されてる

808 :デフォルトの名無しさん:2013/11/19(火) 17:14:31.63
>>172

809 :デフォルトの名無しさん:2013/11/19(火) 17:18:44.15
>>172はオワコン

810 :デフォルトの名無しさん:2013/11/19(火) 17:54:44.78
>>807
俺もそれが普通の発想だと思うが、世の中には削除と同時に取得するのが安全でないC++という言語もあるんだ

811 :デフォルトの名無しさん:2013/11/19(火) 18:59:40.99
でまわってるコンテナライブラリなら
スレッドセーフかどうかくらい明記してるとおもう。

812 :デフォルトの名無しさん:2013/11/19(火) 22:21:10.09
Queue使えよー。ArrayListの頭チョップとか何の罰ゲーム。どこがスタックなのよ。

813 :デフォルトの名無しさん:2013/11/19(火) 22:21:44.83
3ヶ月javaやって使って、ようやく簡単な画面作れたんだけどさ
これって、時間かかりすぎかな?
ちなみに、職業プログラマね

814 :デフォルトの名無しさん:2013/11/19(火) 22:25:17.83
tomcatにデプロイしたのですが、*.jarが読み込めないよーみたいなエラーがでます。
/webapps/sample/WEB-INF/libに、*jarを配置したのですが...
何でダメなんですか?

815 :デフォルトの名無しさん:2013/11/19(火) 22:34:12.02
>>813
ちょっと長いかな程度。注入時間わからないけど。
サーバとか組込とかいろいろあるわけで、Javaというキーワードだけで仕事取ってくる営業は無能だと思うの。言語の文法覚えるのはすぐだが、フレームワークや開発手法を理解するのには時間かかる。

816 :デフォルトの名無しさん:2013/11/19(火) 22:56:56.62
>>815
会社では.NETで開発しているんだけど、上からjava覚えてきてねーと言われた
だから、3ヶ月間家に帰ってきてから、一人でjavaの勉強しているわけなんだ

spring/mybatis/tomcatを作って、画面項目4個でDBへ問い合わせるプログラムを作ってみた
そしたら、進捗遅くねー?って言われた。だから、皆さんどのくらい時間がかかるのかなって思ったんだ

817 :デフォルトの名無しさん:2013/11/19(火) 23:02:04.86
勤務時間外に勉強してるのに泣かせる話だな

818 :デフォルトの名無しさん:2013/11/19(火) 23:04:03.51
>>812
一般的なスタックは動的配列のサブセットとして実装されるのが普通だからだよ
だからって動的配列がスタックの操作を提供しなきゃいけないという理屈はないが、慣習的にそうなってることが多い
.NETではスタックと動的配列は別になってて、動的配列のRemoveも値を返さないね

819 :デフォルトの名無しさん:2013/11/19(火) 23:21:32.22
removeが値を返すのが標準か否かじゃなくてさ
removeをAPIリファレンスも読まずに使ってるのが怖いなあって思うわ
他のメソッドとかも注意書きとかも読んでないで使ってるんだろうなって思う

820 :デフォルトの名無しさん:2013/11/19(火) 23:23:58.38
phpとかweb(js)からjavaに来たゆとりだとそんなところだろ

821 :デフォルトの名無しさん:2013/11/19(火) 23:24:55.81
感覚的に使えるものってマニュアル読まなくてもある程度使えちゃうからマニュアル読む人減るんだよね
車や家電の操作だってそう

822 :デフォルトの名無しさん:2013/11/19(火) 23:47:52.14
LIFOとFIFOの区別は付けとこうな・・・

823 :デフォルトの名無しさん:2013/11/19(火) 23:49:50.76
>>814
エスパーできねーや、残念

824 :デフォルトの名無しさん:2013/11/19(火) 23:55:49.00
java.nio.Buffer をなぜリングバッファにしなかったのか、残念

825 :デフォルトの名無しさん:2013/11/20(水) 00:06:03.54
話のネタにもならない一般の知識しか持ち合わせていないならそろそろブログでやってくれる?

826 :デフォルトの名無しさん:2013/11/20(水) 00:07:55.33
そのBuffer系列は全部抽象クラスでオーバーライド面倒

827 :デフォルトの名無しさん:2013/11/20(水) 00:10:34.90
え?

828 :デフォルトの名無しさん:2013/11/20(水) 00:11:59.02
馬鹿には無理

829 :デフォルトの名無しさん:2013/11/20(水) 00:56:58.73
java.nio.Bufferはコンストラクタ公開されてないからそもそもオーバーライドできんかったような記憶が……

830 :デフォルトの名無しさん:2013/11/20(水) 03:31:37.20
メジャーなアプリでのShift_JISなどの日本語文字の対応といい、Javaの公式日本語ドキュメントといい、世界は日本への配慮しすぎだは

831 :デフォルトの名無しさん:2013/11/20(水) 04:14:36.10
>>810
C++が使いにくいのは確かだが、
Atomicかどうかに言語関係なくないか?

832 :デフォルトの名無しさん:2013/11/20(水) 13:31:52.47
java8のByteBuffer, java.nioについては、もともとは配列wrapperでもあるしmemory mappedが作れるのだからCharSequence::charsと同じくstream対応の方がいい。

833 :デフォルトの名無しさん:2013/11/20(水) 22:05:20.55
>>831
810 ではないが、810 で言っている「安全でない」というのは
例外安全性のことであって、GC がない C++ では本質的な問題。

834 :デフォルトの名無しさん:2013/11/20(水) 23:04:28.14
>>833
なんでGCが?それ、ものすごく狭い範囲で言ってないか?

操作のAtomicityは実装によるわけで、
DBのトランザクションみたいに、
きちんと気をつけてないと、例外安全にはならないよ。

835 :デフォルトの名無しさん:2013/11/20(水) 23:13:49.81
removeの戻り値を誰かがきちんと評価してやらないと
C++でfree()するチャンスが永遠に失われるよ、と言う話でわ

836 :デフォルトの名無しさん:2013/11/20(水) 23:19:45.99
コピーコンストラクタが例外を投げうるということが本質であって
Atomicity は関係ない。だからスクリプト言語のようにすべての
オブジェクトをヒープにおいてコピーしないようにすれば
例外安全に pop できる。
もちろんコピーコンストラクタが例外を投げないクラスであれば
例外安全に pop できるが、テンプレートで実装されているので
C++ である以上仕方ない。

837 :デフォルトの名無しさん:2013/11/21(木) 00:22:18.67
stlに限っての話でしょ?
結局実装によるって事じゃん。

838 :デフォルトの名無しさん:2013/11/21(木) 00:30:08.08
>>832の付け足しで思い出したんだけど、charsでIntStreamを取得するだけでなく、各Bufferのバルク処理用としてforEachも欲しいなってこと。

839 :デフォルトの名無しさん:2013/11/21(木) 00:41:37.28
いや配列に読み出せよ
一個ずつforEachなんてやってたらクソ遅くなってバッファの意味ないぞ

840 :デフォルトの名無しさん:2013/11/21(木) 01:00:15.55
そうそう、配列、配列。
配列で何か引っかかって考えてたんだけど、streamは、配列で使うよりBufferでラップして、buf.intStream(); buf.forEach();がjavaぽいなと思って。
allocateDirectのときもあるし、配列に読み出すとコピーが発生するし、配列はreadonlyにできないし。
場合によってはIterable, Collectionのように、iterator, spliterator, forEachがBufferに追加された方がバルク処理にはいいかもしれない。

841 :デフォルトの名無しさん:2013/11/21(木) 01:07:58.32
SIMDではfloatが主役なんだからFloatStreamも追加しろよおい

842 :デフォルトの名無しさん:2013/11/21(木) 04:29:36.48
javaやってる人間にc++なんて理解できるわけないじゃないですか><

843 :デフォルトの名無しさん:2013/11/21(木) 11:36:55.05
別に理解しなくていいよ
Javaの常識がプログラミング全般で通用すると思わないでいてくれればそれで

844 :デフォルトの名無しさん:2013/11/21(木) 16:10:44.72
手続き型言語なら大概通用する
C++が変態すぎる

845 :デフォルトの名無しさん:2013/11/21(木) 21:45:39.87
CとかC++は自由度が高いからなー
色々経験しとくとおもしろいぞ。

日本語で書くCOBOLとかな

846 :デフォルトの名無しさん:2013/11/21(木) 23:03:42.58
streemって並列化が効果出るような何万個もあるような要素数じゃないと元々意味ないぞ。

847 :デフォルトの名無しさん:2013/11/21(木) 23:16:45.09
javaでは元々小手先技は通用しないから、streamは個々の処理の高速化が期待できるという代物ではないと思うよ。

848 :デフォルトの名無しさん:2013/11/21(木) 23:26:51.03
>>847
いや、悪い。
そうだから外部イテレータ使う処理にforEach使っても意味ないぞと>>840に言いたかったんだが安価忘れた。
やるなら無限ストリームにしなきゃ使い道がない。

849 :デフォルトの名無しさん:2013/11/21(木) 23:43:45.14
ん?
streamの設計目的は元々バルク処理の効率化(と多少のメモリアクセスの高速化)がメインじゃなかった?
つまり内部イテレートをしたいからstreamを導入したんじゃなかったか。
lambdaはコンカレントの煩雑コード削除と、アクセスをnew経由からmethodhandle経由に切り替えるのが目的だし、lambda,streamはそのゴールは微妙に違う。
基本型のstreamを考慮しているかどうかは知らないけど、project sumatraを見てると基本型int,float,long,doubleのstreamは必要となってくるんじゃないのかと思うけど。
日本語のブログばかり見て勉強した気になってないで、ちゃんと英語ブログとかjavaoneとかの一次二次資料もみないと、どうやって使うのか、どういうときにつかうのか全然理解できなくなるよ。

850 :デフォルトの名無しさん:2013/11/21(木) 23:58:18.00
一要素一操作ごとに仮想メソッド呼ぶのに速くなるわけないでしょ
相当に粒度の大きい処理でないと大幅に遅くなるよ

851 :デフォルトの名無しさん:2013/11/22(金) 00:01:21.88
Servletの高速化やってたとき思ったのは、ストリーム使うと
処理の途中で処理されたものから逐次転送されていって効率的になることが実感できた。
まとめて転送より遥かに早い。

852 :デフォルトの名無しさん:2013/11/22(金) 00:04:54.54
そりゃそうだけどw
そういう話なら別にjava8関係ないだろw

853 :デフォルトの名無しさん:2013/11/22(金) 00:06:33.68
C++の関数呼び出しとJavaのメソッド・コールはまったく別物と考えた方がいいですよ。
そもそもJavaではメソッドのコールは、hotなものはJITでその環境に最適化されてネイティブ・コンパイルされて、コールのコストは無しを前提(つまりこれを単位元として)として考えます。

854 :デフォルトの名無しさん:2013/11/22(金) 00:24:37.85
>>851はまさに逐次処理じゃん
プリミティブ型のstreamによるバルク処理の効率化がどうのとは全く関係ない
そもそもIOバウンドだろうから元々全く別の話だけど

855 :デフォルトの名無しさん:2013/11/22(金) 00:27:01.99
>>854
昔ストリーム指向なんて言葉があってね。そんな限定的な目的で作られたんじゃないんだよストリームは

856 :デフォルトの名無しさん:2013/11/22(金) 00:28:40.01
流れ切りすみません

現在、JavaでAndroidアプリを開発する研修をうけているのですが、
その中で、HTMLとPHPファイルを端末の方に送信して、
端末側でHTMLとPHPを動かすことを習いました。

そこで思ったのが、
ゲームアプリを開発すると仮定して、
複雑な処理がいらず、画面を表示するだけならHTMLで記述し、
ゲームなど複雑な処理がいる部分はJavaで書き、
サーバーにアクセスする必要のある処理は、PHPで行うという、
言語の使い分けをして、一つのアプリを作るということは、
技術的に可能でしょうか?
それとメリットとかあるのでしょうか?
個人的には、HTMLは比較的短時間で完成するものなので、
全てJavaで行うよりは負担が少ないと考えているのですが、どうでしょうか?

857 :デフォルトの名無しさん:2013/11/22(金) 00:38:31.43
>>856
そりゃ画面がHTMLなら基本的に全てサーバーサイドだよ
アニメーションなどで必要ならJavaScriptを使う
AndroidアプリはWebView貼るだけでJavaはほとんどいらない
最近だとリッチなゲームを作るためにクライアントをUnity(C#)なんかで作ってるのも多いね
その場合はサーバーは画面に関知しないでAPIを提供するだけだよ

858 :デフォルトの名無しさん:2013/11/22(金) 00:41:25.52
>>856
端末でphpを使うの? それなんてフレームワーク?
普通はサーバ側でphpにより動的にhtmlやjsonを生成し、端末へ送る。

859 :デフォルトの名無しさん:2013/11/22(金) 00:42:26.04
AndroidのWebViewでアプリ作るなら、中で動かすHTML+CSS+JavaScriptは
なるべくシンプルにしないとドツボにはまるよ
WebViewのバグも多いし、特にCSS周りをリッチな作りにすると死ねる
CSSアニメーションとかは期待できない

何かのクライアントアプリなら充分いけるけど、ゲームとかを
AndroidのWebViewで作るのは自殺行為

860 :デフォルトの名無しさん:2013/11/22(金) 00:42:54.40
>>850のようにバッファで必要一括で取って来て処理するのが、メモリキャッシュも期待できるし、その外部イテレートのブロックで処理するので関数呼び出しコストもないし、処理だけに着目した方法としては従来の単純なそれが一番理にかなってます。
しかしjavaでいう効率化とは、外部イテレートを使うと一時変数が必要になったり(代表ではfor loopのcounter変数など)、ブロック外に状態を管理したりする変数が必要になったり、メイン処理以外の下準備が必要なことが多くなりますが、
内部イテレートだとそういった状態管理はsqlのように実装任せに出来ます。
例えば>>851だと、メモ化(キャッシュ)によってコードが大幅に簡略化し、ステートフルにも出来て、作業(処理)の効率化がなった(処理コードが分離した)といえます。
これは高速化とは別の効能であり、言語・ライブラリの仕様レベルでこのような効果が簡単にできる仕組みがlambda,streamで行えるということです。
速度を求めるだけならc++でやればいいでしょうが、javaではパフォーマンスは一応考慮してますが、ネイティブでもないですしc++とは目指しているところがまったく違います。

861 :デフォルトの名無しさん:2013/11/22(金) 00:45:49.71
>>854
javaでもfileのmemory mappingできるけど

862 :デフォルトの名無しさん:2013/11/22(金) 00:57:55.43
>>857
レスありがとうございます。
講師の先生は、HTMLとPHPを区別して述べていたので、それに習いました。
そうなると、サーバーにアクセスする必要な処理、例えば、ガチャのようなランダムでキャラクターが出る、
戦闘画面で登場する敵のデータとかをPHPで受け渡して、
そのデータをクライアントに渡して、ガチャを引き当てたり、
決まったステージの敵が出てきたりという処理を行う形になるでしょうか?

Unityも勉強していますが、プログラムがわからないので、
きちんとプログラム勉強してからチャレンジしたいと思い、
まずJavaできちんとしたゲームを作れてから、挑戦したいと思います。

863 :デフォルトの名無しさん:2013/11/22(金) 01:03:28.49
アンドロイドはすれ違い

864 :デフォルトの名無しさん:2013/11/22(金) 01:07:32.07
スレ間違えてすみませんでした。
androidアプリ開発向けのスレが見つからなかったので、
こちらに質問させてもらいました。
どちらに行けばよろしいでしょうか?

865 :デフォルトの名無しさん:2013/11/22(金) 01:57:08.02
>>864
Androidプログラミング質問スレ Part37
http://toro.2ch.net/test/read.cgi/tech/1382430603/

866 :デフォルトの名無しさん:2013/11/22(金) 02:05:36.84
>>865
ありがとうございます。
早速行ってきます。

867 :デフォルトの名無しさん:2013/11/22(金) 09:41:53.09
配列を後ろから取り出したいのですが綺麗な方法ありますでしょうか?
for (String hoge : hoges) {
}
みたいな綺麗な書き方ができればいいのですが、添え字を計算しないと
ダメでしょうか?

868 :デフォルトの名無しさん:2013/11/22(金) 10:55:02.20
>>867
http://docs.oracle.com/javase/jp/1.5.0/api/java/util/Collections.html#reverse(java.util.List)

869 :デフォルトの名無しさん:2013/11/22(金) 11:10:09.04
Collections.reverse(Arrays.asList(hoges));
for (String hoge : hoges) {
}

870 :デフォルトの名無しさん:2013/11/22(金) 11:17:13.72
reverseって降順にソートされちゃいませんか?

871 :デフォルトの名無しさん:2013/11/22(金) 11:31:53.24
ソートはしない
順番を上下ひっくり返すだけ
もういっかいやれば元に戻る

872 :デフォルトの名無しさん:2013/11/22(金) 11:37:49.16
おお。すばらしいです。ありがとうございます。

873 :デフォルトの名無しさん:2013/11/22(金) 18:07:37.63
逆順のイテレータ使うんは古いんすかねえ

874 :デフォルトの名無しさん:2013/11/22(金) 19:31:50.63
>>873
そういうゴチャゴチャしたの以外がないかってことかと

875 :デフォルトの名無しさん:2013/11/22(金) 19:51:27.38
File.existsでfalseが返ってくるのに
mkdirsするとエラーになってしまうのってどういう原因があるのでしょうか

876 :デフォルトの名無しさん:2013/11/22(金) 19:53:26.26
どうせ書き込みの権限がないんだろ

877 :デフォルトの名無しさん:2013/11/22(金) 19:56:18.50
sがついているから。

878 :デフォルトの名無しさん:2013/11/22(金) 20:21:30.70
>>876
たまになんです

879 :デフォルトの名無しさん:2013/11/22(金) 20:29:12.07
File.existsで確認したあと、かつ、mkdirするまえ
のタイミングでディレクトリが作成されてるとか

880 :デフォルトの名無しさん:2013/11/22(金) 20:31:47.07
>>878
たまにが、
同じパラメータなのに、たまに起きるのか、
たまに起きるパラメータがあるのか、
によって大きく違うと思う。

881 :デフォルトの名無しさん:2013/11/22(金) 20:54:17.83
質問です、組み込みの方の配列(int[] など)をコピーする際は
Arrays#copyOfを用いればネイティブな性能でコピーできることを教わったのですが、
例えば、int[]型のインスタンスをdouble[]型になるようにコピーしたり
キャストするような方法は提供されてるのでしょうか?
また、もし無い場合は効率的な方法などがありますでしょうか?
(自分で考えつくのはFor文でコピーしていく程度です・・・)

882 :デフォルトの名無しさん:2013/11/22(金) 20:54:45.85
>>879
そんなはずはないんですよね。

>>880
同じパラメータで連番がつくだけです。

ただ共有フォルダにmkdirしてます。

883 :デフォルトの名無しさん:2013/11/22(金) 21:19:02.62
>>881
ない。そもそもintからdoubleに変換する必要性がわからん。
そのままintを使えばいい。

884 :デフォルトの名無しさん:2013/11/22(金) 21:24:29.12
>>883
それもそうですね。ありがとうございます、設計を見なおしてみます

885 :デフォルトの名無しさん:2013/11/22(金) 22:42:51.71
アプリケーションサーバはどこがおすすめ?
JBossは本当に人気があるのか疑問

886 :デフォルトの名無しさん:2013/11/22(金) 22:48:38.57
>>875
なんてエラーメッセージが出てるの?

File (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/io/File.html#mkdir()

File (Java Platform SE 7 )
http://docs.oracle.com/javase/jp/7/api/java/io/File.html#mkdirs()

887 :デフォルトの名無しさん:2013/11/22(金) 22:50:34.83
お前ら職業なに?

888 :デフォルトの名無しさん:2013/11/22(金) 22:52:37.94
SNEPというエリート職だよ

889 :デフォルトの名無しさん:2013/11/22(金) 22:57:13.06
農協の工員です

890 :デフォルトの名無しさん:2013/11/22(金) 23:46:52.58
自宅安全警備保障に24時間臨戦態勢で在籍しております。

891 :デフォルトの名無しさん:2013/11/23(土) 00:14:47.77
>>885
金があればベンダーにプレゼンさせろよ

892 :デフォルトの名無しさん:2013/11/23(土) 02:03:34.60
>>882
共有ってネットワーク経由か。そりゃ失敗するかも。

893 :デフォルトの名無しさん:2013/11/23(土) 08:18:17.82
>>892
なぜでしょうか?
遅延とかあるのでしょうか?

894 :デフォルトの名無しさん:2013/11/23(土) 08:51:17.79
>>893
ネットワークが繋がってないとか、サービスがbusyとか、普通にあるでしょう。特にSMBとかひどい。

895 :デフォルトの名無しさん:2013/11/23(土) 09:03:18.44
>>894
対策としてはリトライすればいいでしょうか?

896 :デフォルトの名無しさん:2013/11/23(土) 09:04:11.22
>>881
ByteBufferにバイトオーダ指定してから、intで書いてdoubleで読めばいい。
ダイレクトバッファ使えばさらに高速。

897 :デフォルトの名無しさん:2013/11/23(土) 09:32:12.14
>>896
JNI使ってネイティブコードがダイレクトバッファ触る場合は速くなる可能性高いけど、
Javaからダイレクトバッファ触る場合は速くなる可能性殆ど無いぞ。

898 :デフォルトの名無しさん:2013/11/23(土) 09:44:15.31
>>895
繋がってなかったら、リトライしても同じ。

899 :デフォルトの名無しさん:2013/11/23(土) 09:59:16.16
神に誓って普通にループ回してキャストしていった方が遥かに速い

900 :デフォルトの名無しさん:2013/11/23(土) 10:01:40.18
>>898
なるほど。やはりリトライしか無いのですね。

901 :デフォルトの名無しさん:2013/11/23(土) 11:12:26.60
わろた

902 :デフォルトの名無しさん:2013/11/23(土) 17:35:54.44
>>875
アクセス権、容量不足、誰かが同時に書いている、まだ親ディレクトリが無い、
CDROMだった、長すぎるパス、エントリがパンク、コネクタの緩み、
いろいろあるだろ。全部君が確認するんだよ。

mkdirsでなくmkdirで試すとか相対パスなら絶対パスにしてみるとか

903 :デフォルトの名無しさん:2013/11/23(土) 17:37:39.85
>>902
そんなに肩に力入れなくていいからw

904 :デフォルトの名無しさん:2013/11/23(土) 18:16:44.55
>>902
なるほど。やはりリトライしか無いのですね。

905 :デフォルトの名無しさん:2013/11/23(土) 21:09:39.76
eclipse wtpでtomcatデバッグをしたいのですが、*.javaはいつコンパイルされるのでしょうか?

906 :デフォルトの名無しさん:2013/11/23(土) 22:42:55.47
web.xmlはサーブレットの数だけ、<servlet><servlet-mapping>を書く必要があるんですか

907 :デフォルトの名無しさん:2013/11/23(土) 22:53:13.42
本買ってね byつだ

908 :デフォルトの名無しさん:2013/11/24(日) 02:35:22.83
ServletのapplicationContextに、session-idをkeyとした
数万件単位のkey-value値を格納して、
リクエスト毎にそれを出し入れするのはナンセンスですか?

key-valueを格納したMapなどを1つ用意して、それを
applicationContextに格納したほうがいいのでしょうか?

909 :デフォルトの名無しさん:2013/11/24(日) 02:42:13.10
>>908
ナンセンスだろ。ServletContextのアトリビュートは多目的だから一つのMapのためだけに使用すべきじゃない。

910 :デフォルトの名無しさん:2013/11/24(日) 09:48:44.58
エラーをキャッチして表示

911 :デフォルトの名無しさん:2013/11/24(日) 10:56:08.16
>>906
何のために書くかが分かれば答えは自ずと出てくるのでは

912 :デフォルトの名無しさん:2013/11/24(日) 17:44:29.18
自己解決しました

913 :デフォルトの名無しさん:2013/11/25(月) 04:49:05.89
なんかもう初歩以前の質問ですが、エクセルVBAを職業訓練で習ってjavaを独学で勉強しようと思ってるんですがやっぱり全然別物ですか?おすすめのサイトや本、ゆくゆくはゲームを作りたいと思ってるのですがこういう勉強法がいいよ!などアドバイスください

914 :デフォルトの名無しさん:2013/11/25(月) 05:12:20.84
早起きならそれでも良いけど夜更かしならまず生活習慣の改善からかな。

915 :デフォルトの名無しさん:2013/11/25(月) 06:36:17.36
>>913
似ているかどうかって主観的な問題だと思う。
シェパードとブルドッグは似てないけど、犬と猫よりは似てる。

両方ともオブジェクト指向というものに基づいている。VBAはかなり中途半端だけど。
型というものがあるのだけど、Javaは静的、VBAは動的。ここが一番違う。
文法的には両方とも、C言語を祖先にしているので近いものがある。

言語を理解するには、予約語の一覧を見るのが良い。

ただきっと知りたいのはクリックとか操作方法の違いとかで、そんなのは同じ言語ですらツールによって違う。

916 :デフォルトの名無しさん:2013/11/25(月) 09:57:32.56
>>913
ゲーム作るのに必要なのは絵、音楽、シナリオ、これらが全てで、
プログラマの役割はそれを機械的に繋ぎ合せるだけの空気みたいなもんだが。
つまりプログラマは「与えられた設計図を基にゲームという製品を完成させる人」であって、
設計図を作る人ではない。そういうのはプロデューサーの仕事。

プログラマーになりたいの?
プロデューサーになりたいの?
どっち?

917 :デフォルトの名無しさん:2013/11/25(月) 10:14:50.34
豆腐がビーム撃つぐらいのゲームなら絵だの音楽だのシナリオだのは要らんし、
勉強したいならその程度から初めてきゃいいでしょ。

そこから、3D勉強したければ立方体がビーム撃つゲームにしてもいいし、
ネット対戦したければ豆腐同士がビーム撃つゲームにしてもいいし。

918 :デフォルトの名無しさん:2013/11/25(月) 11:51:00.82
>>916
絵、音楽、シナリオが全てって、それノベルゲーだろ
どんな閉じた世界のゲームだよ

919 :デフォルトの名無しさん:2013/11/25(月) 12:18:24.96
アーティスト…素材を作る人
プロデューサー…素材の使い方を決める人
プログラマ…プロデューサーの決めた設計図に従う人

プログラミングを学んでも一番最後の土方仕事しかできない。
ゲームに必要な素材は作れないし素材の使い方も学べない。

920 :デフォルトの名無しさん:2013/11/25(月) 12:52:30.13
>>913
第一障壁「変数の名前と変数の値が区別できる」を突破したのなら、
たぶん君には素質がある。JavaでもなんでもGOGO

921 :デフォルトの名無しさん:2013/11/25(月) 13:04:59.64
>>919
これがワナビってやつか

922 :デフォルトの名無しさん:2013/11/25(月) 15:08:32.07
プロデューサーはプロデュースする人だ。馬鹿か

923 :デフォルトの名無しさん:2013/11/25(月) 15:53:35.22
ほっとけよ。バカがプロデューサになってプロジェクトが失敗して会社から追放されるのを見るのが楽しみなんだw

924 :デフォルトの名無しさん:2013/11/25(月) 18:43:21.12
雑魚相手にいちいちレスするな

925 :908:2013/11/25(月) 18:48:55.49
>>909
ありがとうございます。
applicationContextには、マップを1つだけ入れて
そこにkey-valueをいろいろ出し入れすることにします。

926 :デフォルトの名無しさん:2013/11/26(火) 16:59:41.85
質問をさせてください。Java初心者です。
System.out.println("出力");
というコードに関してお願いします。

このコードに関して、テキストでは、Systemクラスの、outフィールドのprintlnメソッドを使い
コンソールに"出力"と出力させる、と書いてあります。
普通、メソッドってクラスから呼び出すものなのでは、と考えていたのですが、
上記の説明では、フィールドにあるメソッドを呼び出しているということですか?
printlnメソッドは、outフィールドに定義されている変数的な意味があるメソッドなのでしょうか?

927 :デフォルトの名無しさん:2013/11/26(火) 17:02:10.03
outはクラスだよ

928 :デフォルトの名無しさん:2013/11/26(火) 17:12:56.14
ありがとうございます。
自己解決しました

929 :デフォルトの名無しさん:2013/11/26(火) 17:20:51.29
>>927
こら。

930 :デフォルトの名無しさん:2013/11/26(火) 17:28:05.36
つってみたい年頃なのだろう

931 :デフォルトの名無しさん:2013/11/26(火) 18:52:17.94
信頼できるかどうか微妙なサイトを誤ってJava確認メッセージ不要状態にしてしまったのですが、
これを必ずメッセージで確認する状態に戻すにはどうしたら良いのでしょうか?

932 :デフォルトの名無しさん:2013/11/26(火) 20:20:39.70
>>931
ブラウザのクッキーを削除

933 :デフォルトの名無しさん:2013/11/26(火) 20:50:54.41
>>926
こう書けば、わかりやすいんじゃなかな。
PrintStream output = System.out;
output.println("出力");

System.outフィールドやローカル変数outputは、PrintStreamクラスのとあるインスタンスを参照してるだけ。

System.getProperties()などクラスのメソッドを直接呼び出す方が特殊。クラスメソッド、static メソッドという。

まず、クラスとインスタンスの違いを理解しよう。

934 :デフォルトの名無しさん:2013/11/26(火) 23:12:31.37
javaで開発している時、ストアド使いますか?
それとも、APサーバで頑張りますか

935 :デフォルトの名無しさん:2013/11/26(火) 23:32:16.53
ストアドは極力使わない方がいい

936 :デフォルトの名無しさん:2013/11/26(火) 23:33:43.72
日本語でおk、かな

937 :デフォルトの名無しさん:2013/11/26(火) 23:41:05.40
>>934
他のアプリからも使うときはスドアドも使う。そうでないなら、DBに依存しにくいようにする。後は性能と設計次第。

938 :デフォルトの名無しさん:2013/11/27(水) 00:12:27.65
JSP/Servletで、シンプルなWebアプリを作ってみたいのですが(画面2,3ぐらい)、
MVCモデルで作る場合、フレームワークなしでも簡単にできるのでしょうか?

素人ですみませんが、よろしくお願いします。

939 :デフォルトの名無しさん:2013/11/27(水) 00:29:43.16
できるよ
そんな小規模なアプリだとクソ見通し悪くなるだけで全くお勧めできないけど

940 :デフォルトの名無しさん:2013/11/27(水) 02:32:31.08
画面ってページのこと?

941 :デフォルトの名無しさん:2013/11/27(水) 02:39:50.14
小さいならHTML5で書いてlocalstorageでもいけそうだな

942 :デフォルトの名無しさん:2013/11/27(水) 10:50:36.35
>>933
ありがとうございました。
復習します!

943 :デフォルトの名無しさん:2013/11/27(水) 22:00:15.58
皆さんやっぱり仕事はプログラマなの?知識のレベルが高すぎだと思うんだけど。
もし趣味でプログラミングしている方がいたらどのようにして高度な知識を得たのかぜひ教えてください後を追いたいです

944 :デフォルトの名無しさん:2013/11/27(水) 22:02:11.99
質問の仕方が上手だね
ただこの低レベルな流れでそのヨイショは少し魂胆が見え透き過ぎてるかな

945 :デフォルトの名無しさん:2013/11/27(水) 22:03:11.40
荒らしたいに決まってんだろ

946 :デフォルトの名無しさん:2013/11/27(水) 22:24:01.22
仕事より趣味の方が拘れるから高度な知識を得られる。研究職とかは知らないけど。

947 :デフォルトの名無しさん:2013/11/27(水) 22:59:35.03
JSF使っている人居ますかー?

948 :デフォルトの名無しさん:2013/11/27(水) 23:00:51.97
仕事だとクソみたいな設計とかコーディングルールを押し付けられるんじゃないかと。変な内製ライブラリとか。

949 :デフォルトの名無しさん:2013/11/27(水) 23:05:14.57
仕事で得られる技術スキルなんてバッドノウハウばかり

950 :デフォルトの名無しさん:2013/11/27(水) 23:16:46.69
>>949
例えば何が?

951 :デフォルトの名無しさん:2013/11/27(水) 23:28:57.36
CUIで罫線使ったマス目を書きたいんですけど簡単に書くとしたらどうすれば良いんでしょうか?

952 :デフォルトの名無しさん:2013/11/27(水) 23:30:46.78
>>951
CUIならコンソールの問題だから言語は関係ない。

953 :デフォルトの名無しさん:2013/11/27(水) 23:32:58.55
>>951
テキストファイルに罫線を使ったマス目を出力したいんですけど、って質問と同じ。
そんなものはどういうテキストエディタで開くのかによって決まるだけ
コンソールの種類によって決まるだけ

954 :デフォルトの名無しさん:2013/11/27(水) 23:34:11.84
おなじような質問が過去ログにあったねー

955 :デフォルトの名無しさん:2013/11/27(水) 23:47:03.88
宿題の時期になると定期的に出てくる

956 :デフォルトの名無しさん:2013/11/28(木) 02:00:13.78
>>950
根本的な改修をしたがらず小手先の対応でツギハギになる。
そうやって問題が蓄積してにっちもさっちもいかなくして
顧客にバージョンアップを促し金をむしり取る。

957 :デフォルトの名無しさん:2013/11/28(木) 07:14:40.25
>>956
転職しろ

958 :デフォルトの名無しさん:2013/11/28(木) 08:05:57.39
>>957
俺以外の人の話だから。

959 :デフォルトの名無しさん:2013/11/28(木) 08:23:07.49
>>956
それ客から要求して、どうしようもなくなった時は作り直すからとか言っておいて、約束破るからなぁ。で、不具合起きたら怒る。
あ、もう取り引きやめたから安心して。

960 :デフォルトの名無しさん:2013/11/28(木) 08:50:05.85
はじめまして。50代の初老男です。今までは、プログラミングへの憧れというか興味を持ち続けながらも
仕事が忙しく、学ぶことができませんでしたが、この年になり、やっと学べる余裕ができました
趣味程度に学んでいければと思い、Java→Androidと進もうと考えていますが
おすすめのテキストや、WEB教室、通信教育や、おすすめの学習方法があったら教えてくださいませんか?
プログラミングは全くの初心者です

961 :デフォルトの名無しさん:2013/11/28(木) 08:56:08.88
>>960
本屋で立ち読み。入門書はそこで読み終える。
気に入ったリファレンスマニュアルを「2冊」買い、相互補完しながら読む。
あとは実践あるのみ。

962 :デフォルトの名無しさん:2013/11/28(木) 09:03:51.89
だが立ち読みして本買うという簡単なことが50歳になるまで出来なかったということはすでに無理ってことかな。

963 :デフォルトの名無しさん:2013/11/28(木) 09:06:39.60
学生のときから囲碁将棋やってた俺がいつも思うのは
老後の趣味として囲碁将棋初めても手遅れということ。
可哀想なくらい全く強くなれない。

964 :デフォルトの名無しさん:2013/11/28(木) 09:10:18.59
それは相手がほしいのだろう、強くなくてもいいんでないかい

965 :デフォルトの名無しさん:2013/11/28(木) 10:15:17.89
プログラミングは11歳から始めないと誰にも勝てない

966 :デフォルトの名無しさん:2013/11/28(木) 11:14:54.67
コミュ障になる

967 :デフォルトの名無しさん:2013/11/28(木) 11:55:25.83
仕事しながらだと職業訓練校はムリか。
いくつかあるAndroid開発者認定試験のテキストを探すもよし。
試験の主催者のサイトに行けば、週末コースありのスクール情報とかもあるはず。

968 :デフォルトの名無しさん:2013/11/28(木) 15:05:02.47
皆様、色々とご指導をありがとうございます。
始めるのは遅いし才能ないかもしれませんが亀のように進みたいなと考えてます。
とりあえず、入門書を何冊か読んでみます。
主催者側のサイトも探してみます!本当にありがとうございます!

969 :デフォルトの名無しさん:2013/11/28(木) 15:54:14.05
基本から学びたい…とかよりも、
俺はどうしてもこういうアプリ、こういうゲームを作りたいんだ!
という具体的な目標を持ってる人のほうが上達は早いと思うな。
語学でもなんでもそうだけどね。

970 :デフォルトの名無しさん:2013/11/28(木) 19:10:37.90
エロ画像収集アプリ作りたい!とかな

971 :デフォルトの名無しさん:2013/11/28(木) 19:48:10.69
>>970
本能と直結してるので動機付けとしては優良だな。

972 :デフォルトの名無しさん:2013/11/28(木) 19:54:08.97
映画フェイスブックでザッカーバーグが画像収集してたけど、いい練習になるよね。ただしemacsでperlだったっけ。サイトごとに仕様が違うのが良い。

973 :デフォルトの名無しさん:2013/11/28(木) 20:54:32.71
そういうのはスクリプト言語向けだよな
Javaでやるとコード量10倍

974 :デフォルトの名無しさん:2013/11/28(木) 21:16:10.61
馬鹿には無理

975 :デフォルトの名無しさん:2013/11/28(木) 21:29:12.67
ザッカーバーガーザッカーバーガー

976 :デフォルトの名無しさん:2013/11/28(木) 21:50:54.08
javaでスクレイピングするの難し

977 :デフォルトの名無しさん:2013/11/28(木) 22:05:18.48
何このまたRubyスレからお叱りが飛んできそうなデジャヴーは

978 :デフォルトの名無しさん:2013/11/28(木) 23:01:41.20
るーびー?ってなんですか?鉱石?わかんない

979 :デフォルトの名無しさん:2013/11/28(木) 23:09:06.72
フリガナのことです

980 :デフォルトの名無しさん:2013/11/28(木) 23:11:14.53
じゃ幼稚園児でも読めるんですね!すごーい!( ゚Д゚ノノ☆パチパチパチパチ

981 :デフォルトの名無しさん:2013/11/28(木) 23:19:51.78
誘導した先で大活躍してくれると、誘導した側も鼻が高いよな

982 :デフォルトの名無しさん:2013/11/28(木) 23:48:08.46
周りに回って誘導した側が教わることになるんですね良くあることです

983 :デフォルトの名無しさん:2013/11/29(金) 00:00:25.64
るびーはすれ違い

984 :デフォルトの名無しさん:2013/11/29(金) 02:03:04.98
JEP182ついでにライブラリに残ってるレガシーなAPI削除してほしいな。

985 :デフォルトの名無しさん:2013/11/29(金) 05:04:30.94
じすれ?

986 :デフォルトの名無しさん:2013/11/29(金) 10:09:24.10


987 :デフォルトの名無しさん:2013/11/29(金) 10:25:50.23
3状態のライフゲームを作りたいんだけど、どうすればいいか分からない
アドバイス的なものとか、参考になるサイトとかあれば教えてほしい

988 :デフォルトの名無しさん:2013/11/29(金) 14:39:30.47
何を教えて欲しいのかがわからない。
ライフゲームに必要な生物学の仕組みがわからないのか?
それともJavaのGUIでライフゲームを実装する方法がわからないのか?

989 :デフォルトの名無しさん:2013/11/29(金) 14:50:22.51
ライフゲーム実装するだけなら生物学とか要らんだろ……

990 :デフォルトの名無しさん:2013/11/29(金) 15:00:56.18
将棋できない人でも将棋ゲームは作れるってか?

991 :デフォルトの名無しさん:2013/11/29(金) 15:11:06.62
格子データ1つでライフゲーム作ると面倒なので、
観測用と次世代格納とで2つ格子データを用意しよう。

992 :デフォルトの名無しさん:2013/11/29(金) 17:43:06.92


993 :デフォルトの名無しさん:2013/11/29(金) 19:01:55.55


994 :デフォルトの名無しさん:2013/11/29(金) 21:13:47.46


995 :デフォルトの名無しさん:2013/11/29(金) 21:19:30.84


996 :デフォルトの名無しさん:2013/11/30(土) 01:09:11.14
人生ゲームと勘違いしてるんじゃね?

997 :デフォルトの名無しさん:2013/11/30(土) 12:01:45.31


998 :デフォルトの名無しさん:2013/11/30(土) 12:59:57.04
スレ

999 :デフォルトの名無しさん:2013/11/30(土) 13:16:14.22
>>172

1000 :デフォルトの名無しさん:2013/11/30(土) 13:21:21.15
1000get

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

212 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)