1 :
デフォルトの名無しさん :
2013/02/22(金) 15:54:25.74
2 :
デフォルトの名無しさん :2013/02/22(金) 16:29:16.11
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
3 :
デフォルトの名無しさん :2013/02/22(金) 20:38:26.93
Java Appletって複数のclassファイルが生成された場合、全部アップロードすればいいの?
4 :
デフォルトの名無しさん :2013/02/22(金) 20:59:32.83
コールバック関数ってどういう時に使うの? ググって調べても電話がうんぬんでよくわからない
>>3 jarファイルにひとまとめにしてアップロードした方が楽じゃね?
アプレットってjarのままでも実行できるの?
持ってる入門書はアプレットのクラスだけで終わるサンプルしかなくてhtmlには全部classで書いてあるので 複数のクラスダメかと思ってたしjarで上げるのも無理かと思ってたのだが
JavaFXを使ってアプレット作りなさい
>>9 googleで検索キーワードに
java アプレット jar アップロード
とかやって検索すればいっぱい引っかかるぞ。
本をたくさん買う金がないならせめて手と頭ぐらい使おう。
というか今からアプレット学ぼうという時代感覚が理解できん。
Flashコンテンツ作るにはAdobeの有料の買わなきゃならんじゃないですかー
Javaも無料じゃありません
Javaってどっから金とってんの?
java7u15のインスコ時の30億のデバイスって画像の文字、あんま気にしてなかったがよく見たら最近のスマホの名前とか入ってんのな、ちゃんと画像も更新してたんだな
17 :
デフォルトの名無しさん :2013/02/22(金) 22:56:16.09
Javaのswingでラベルを沢山つくりたいときはどうすればいいですか。 for(i=0;i<100;1++) JLabel label = JLabel("ラベル"+i); 変数の部分をどう扱えばいいかわかりません。
>>18 JLabel labels[] = new JLabel[100];
for(int i = 0;i < 100;i++)
{
labels[i] = new JLabel("ラベル" + i);
}
>>18 HashMap<Integer, JLabel> labelMap = new HashMap<Integer, JLabel>();
for(int i=0; i<100; i++) labelMap.put(i, new JLabel("ラベル"+i));
ラベルが大量に必要なアプリっていったい
>>19 >>20 ありがとです、できました。
>>21 はじめてのプログラミングですが、自分用のカレンダー作ってます。
また質問するかもです。
面白いライブラリあったら教えてくれ SWT以来出会っていない
HttpURLConnectionを使ってHttpの応答のヘッダを見て、例えばgifだったら画像本体部分はダウンロードしない、としたいのですが 本体の前にヘッダだけ見ようと先にHttpURLConnectionのgetContentType()やgetHeaderFields()だけ実行しても パケットキャプチャソフトで見るとその時点で既にHttpURLConnectionは画像本体部分も含めて 全てバッファにダウンロードしちまっているようなのですが、無駄な通信を抑えるためにも なんとかヘッダ部分だけ先に見てそこから後続部分をダウンロードするしないの判定処理はできないですかね? HEADメソッドでまずヘッダだけでも見るってのも、通信回数が増えるので一回の接続でなんとかしたく。 それともやっぱSocket使ってもっと低い所でゴニョゴニョしないとダメですかね
>既にHttpURLConnectionは画像本体部分も含めて全てバッファにダウンロードしちまっているようなのですが 仕様です。
URLでDLするファイルが何か判別できないってこと?拡張子すら不明のDLってこと?
29 :
デフォルトの名無しさん :2013/02/23(土) 19:21:56.73
>>26 そもそもWebサーバー側がGETとかHEADとか特定のリクエストにしか対応しないから、クライアント側の実装だけで都合のいい部分を取得するってのはできないような気がするけどな。
Socket 使ってGETリクエスト送って IP+TCP+HTTP ヘッダのバイト数まで読み込んだとして、Content-Type が gif だったら無理やりリセットパケット送るってのもそのうち向こうで怪しいと判断されて遮断される可能性があるし。
ヘッダ見てからもうっかい全部DL 画像→DLしない、通信1回、通信量小 画像以外→DLする、通信2回、通信量中+ ヘッダ見ずに最初から全部DL 画像→通信1回、通信量大 画像以外→通信1回、通信量中 どっちがいいのか
31 :
デフォルトの名無しさん :2013/02/23(土) 19:25:45.32
>>30 テストで異なるURLを1000とか10000とか用意して、両方のやり方でやってみて平均コストが低い方を選ぶしかないね。
拡張子が不明なURLなんてめったに無いんだし そこまでピリピリ細かいこと気にせんでもいいんじゃないの? だいたい画像ならimgタグのsrcとかから取得だろ
男なら画像の拡張子を判定して全てDLしろ。これなら一発だろう。 ゴニョゴニョするならその後でしろ。女々しいことはするな。
34 :
26 :2013/02/23(土) 20:01:35.82
ああ、省いちゃったけどURLは拡張子無しで、通常はjpeg画像なのに エラー発生時だけサイズでかいgif返してくるんですわ・・・。 それで色々もったいないからgifの時は本体省きたくて。 ここまでレスの感じだと、やるとしたらSocket、でも嫌がれる可能性もあるから 色々コスト考えてHEADリクエスト→GETリクエストか常に全部ダウンロードか どっちかにしちまえってとこですかね。どうもです
馬鹿には無理
36 :
デフォルトの名無しさん :2013/02/23(土) 20:16:40.86
>>34 同じ gif が返ってくるならキャッシュすればいいだけでは?
37 :
26 :2013/02/23(土) 20:32:06.31
>>36 ええ、キャッシュというか、gifって分かったらダウンロードせず
クライアント側で予め用意していた画像を表示する感じです。
URLも拡張子なしで、かつ?date=YYYYMMDDHHMMみたいに
リクエスト毎に変わるパラメータを付けるので、
詳しくは分かりませんがhttpリクエストでサーバーにNot Modifiedを返させる?
みたいなことも恐らくできない状態でして。
色々説明省いちゃだめですねー
>エラー発生時だけサイズでかいgif返してくるんですわ・・・。 これはこれで興味があるんだが・・・。
日本語でおk
アカン
その指定って意味あるの?
もしその指定で解決するような問題なら質問者は質問してこなかっただろう
45 :
デフォルトの名無しさん :2013/02/23(土) 21:03:41.19
>>37 ブラウザで Firebug みたいなツール使って無効なURLを見に行った時に、2回目以降も実際に .gif を取りに行ってるかな?
URL教えてくれればもうちょっと具体的にコメントできると思うけど。
HTTPというプロトコルを知らずにHTTP通信するわけがない
プロトコルをちゃんと理解せずに外部ネットワークに接続とかそんな悪いことする奴はおらんねん
48 :
26 :2013/02/23(土) 21:06:36.72
>>40 お、確かにそんなのありましたね。
試しにsetRequestProperty("Accept", "image/jpeg")だけ指定してみました。
でもgifの時はgifをちゃんと全部返してきてくれました。残念。
サーバー側で厳密に対応していてくれてたのなら、なんとかなったのかも・・・。
(サーバーは全くいじれない立場)
これ以上はHTTPの話になるんで、そろそろおいとましときます。
ありがとうございました
エロ画像の掲示板の自動DLソフトかなんか作ってるのだろうな
おらkるに集まる奴は皆ケチな奴ばかりだな
なんで? いいじゃん。オラクル。プログラミング言語を提供してくれて俺は幸せだ
それで無料だったら尚よかったのに
js,phpを筆頭に、ruby,python、それだけでなくc#ですらwindows desktop以外でも使われ始めたるのだから、javaはもうマルチ(クロス)プラットフォームであることをアピールのポイントにはできない。
スクリプト言語と同じ扱いワロタ
HTTPの仕様としてはエンティティだけってのは 無いから無理。 サーバーはヘッダーに続けてエンティティを送ってくる。 クロールアプリでも作ってるのなら 別スレッドから切断してやればいい。
じゃあ次世代のガラケーやスマホにはJavaVMは搭載されないね
使う側が依存する開発を勝手にはじめちゃったんだから仕方ないじゃん。その部分をもっていってるならナンセンス。 加えて、他の言語がんばれよとしかいえない。
>js,phpを筆頭に、ruby,python サポートや補償が無いのでアウト >c#ですらwindows desktop以外 公式のサポートは得られないのでアウト
おらkるはまた、グーグルがしでかした権利侵害の裁判をやるみたいだから、今渡こそおらkるにはあほグーグルをコテンパンにしてIT産業業界から永久追放して、裁判もぜひ頑張って勝ってほしいね。
アウトかどうかは
>>58 の妄想でなく
顧客の要件によるものなのだが。
システムインテグレーションということを
したことがないらしい。
ここはサーバ系をやってこなかったC/C++あがりしかいないのでhttpの話はわかりません。
javaでオラクルからサポートをうけられるわけでなし…
なんでここっていっつもビジネスの話(しかもお下劣な)になるかねぇ。
>>47 ネットワークの途中でATMとか挟んでても知る由もないけどな。
自分が直接触るプロトコル限定だな。httpも何かでラップしてたら知らなくても良い。その何かでできる範囲内なら。
最近は、アノテーションを以前にもまして多用するようになってきたけど ドキュメンテーションどうしてる?
今度の対ぐーgる裁判でもジャバのパッケージ・ライブラリの著作物性の著作権を主張するみたいだから、おらkるは言語とライブラリ(言語機能実現にIOなどの必須の付随モジュール群)と著作物の関係をどういう風に考えてるのかもっとわかりやすく主張してほしいね。
あ、はい。
69 :
デフォルトの名無しさん :2013/02/24(日) 00:00:41.11
>>48 JDKの生のHttpClientではなくcom.ning.async-http-clientの利用を推奨。
欲しい物はずばりそこにある。
70 :
デフォルトの名無しさん :2013/02/24(日) 04:50:07.63
>>66 アノテーションが付いていますよってドキュメントに残すかってこと?
基本的には無いなぁ。大概のアノテーション付けは実装の詳細の類に入ると思う。
>>66 定義ファイル=パラメータ設計書としてたところは、アノテーションの登場によりどう対応したか、ってことかな?
なんですか?
>>70-71 Javadocのタグ付けとか、descriptionに
ローカルなルール決めしておくとか・・・
ただ、IDE(eclipse)の自動補完とかスニペット無いから
PGまかせになってしまうよね。
その辺、今後、開発が進んで一般化してくれるといいね。
>>58 サポートとか補償ってよくわからないんですけど、どなたか経験談を教えてください。
やだよ
このスレ休日より平日のほうが勢いあるんだけどなんで?
PGが仕事がなくてヒマしてる時間に2chしてんだろ
みんな、もっと雑談しようよ
クロージャっていまいちよくわからない。 Javaではクロージャは使えないらしいけど、 クロージャっぽいことをするにはどうすればいい?
Java以外のクロージャがある言語を使う
クロージャが無いとGUIアプリのイベントハンドラの類が書きにくいという話は良く聞く けれども、無名クラスだと記法がノイジーで読みにくい、以上の不具合って何があるの だろう。 イベントハンドラに渡す値の類であればfinal変数でも大概は用に足りると思うのだけど。
クロージャって外部から直接的な参照ができない変数のこと?
てかjava8の新機能にクロージャなかったっけ
ただの無名クラスの構文糖ですよ
果たしてjava8のアップデートでいくつの言語が脱落するのであろうか
以前実行した時の値を保持できる関数らしいが、いまいちピンとこないんだよ。
87 :
デフォルトの名無しさん :2013/02/24(日) 23:57:22.89
javaでインベーダーもどきをつくりたいだが 参考文献を教えてくれ 防御壁作成が難しい ゲームを作るのは大変だ
>>87 すべての物質は原子からできている。だから原子レベルの物理シミュレーションすれば防護壁を完全に再現できる。
当たり判定
>>87 こうやれば簡単にできるというような楽な方法は、無いそうですよ
各自で創意工夫します
91 :
デフォルトの名無しさん :2013/02/25(月) 11:30:08.28
tomcatの起動死活監視ってどうやってやってます?
JMXじゃねーかな。やったこと無いけど、話は聞く。
>>91 特定のURLにただリクエスト送って
レスポンスが正常に帰ってきたなら動作中とかでいいんじゃないの?
java6とjava7の違いをまとめているサイトありますか?
javainthboxみたらいいんじゃねぇ?
97 :
94 :2013/02/25(月) 20:57:58.85
java7 新機能 でググったら見つかりました
>>87 もうちょっと具体的に書きなよ
防御壁ってなにさ
このメソッドの宣言の意味がわかりません。 public static <T> List<T> simpleFind(String sql, ResultSetBeanMapping<T> mapping) throws SQLException { 型Tのマップを受け取って型Tの要素が入ったリストが返されているのであろうというのは 何となくわかります。 しかし、返値の前にさらに<T>をつけているのは何なのかわかりません。 あと、メソッドの中で T bean = mapping.createFromResultSet(rs); とあるのですが、メソッドの中での型宣言のときは<T>ではなくTでよいのでしょうか?
メソッドの場合はそういう宣言をするように決められているからジェネリクスについて勉強しろ
<T> bean = mapping.createFromResultSet(rs); 流石にこれは違和感ありまくりんぐ
HashMap<String, boolean> userArgs = new HashMap<String, boolean>; とすると、型定義のbooleanにて、「このトークンの後にはDimensionsを指定する 必要があります」と怒られます。Dimensionsとは何ですか? booleanをHashMapで使うにはどう宣言すればいいのでしょうか?
BooleanでいいのでFa
104 :
桃白白 :2013/02/26(火) 14:35:14.78
>>102 Dimensionsは次元かな。
ジェネリクスの型引数に指定できるのは参照型。booleanはプリミティブ型。
そのお怒りのことばはbooleanはジェネリクスの型引数に指定できないから
booleanに[]付けちゃいなよとコンパイラさんがお気遣いくだすってるもの
なんじゃねえでしょうか。知らないけどさ。Booleanは参照型。Booleanを使っちゃいなよ。
わかりました ありがとうございます
Javaでエラーがあったときに返すbooleanは一般的に、 エラーがあるときにfalseですか? それともエラーがあるときにtrueでしょうか?
回答がクソすぎるwww HashMap<String, boolean> userArgs = new HashMap<String, boolean>(); だろが!! ()をわすれてるっつうに!
ミス HashMap<String, Boolean>userArgs = new HashMap<String, Boolean(); 例えばintの場合もIntegerにしなさいよってことだな
ミス ミス HashMap<String, Boolean>userArgs = new HashMap<String, Boolean>();
ideone つかえよ
codepad使えよ
糞スレ乙
113 :
デフォルトの名無しさん :2013/02/27(水) 01:33:36.78
こうやってJavaは最強の言語に成長してゆくんだろうなと切に感じる 他方からあら捜ししてくれるありがたい言語だ
さすがにここまでくると設計がおかしいとしか 何のための仮想マシンだよ
じゃあおめえVM作ってみろよ
JavaがGoogleに売られたら流行る気がする
そうか? Go や Dart や blocky や NaClって流行ったっけ?
まあ俺的には言語なんてC#ひとつになってくれていいんだけどね
GuavaやGuiceみたいに小粒で使い勝手の良いものは結構あるんだけれどもなぁ>Google 個人的にはGWTにもっと頑張ってもらいたい。
Googleって新技術出してすぐ投げ出すから 常に話し半分で迎える流れができてしまってる
Dalvikはゴミ性能だしAndroidの開発環境もお粗末だし
ObjectC最高!まで言えよクソが
売却するならせめてApacheかIBMだろ。
売ると打診されたら買っちゃうんじゃないかなマイクロソフトは
MSが買ったらApacheライセンスになるだろうから 乞食的には万々歳なんじゃない?
MSが買ったらC#やC++にされてJavaの信頼性が損なわれる
Javaの信頼性はすでに失われたからなぁ
C#、C++と比べてもその信頼性は断然上だけどね
いや、踏んだら死亡レベルのバグが何年も放置されてんだろw
Stringのバグとか言うの、教えてください
クライアントから手を引くための口実作りをしてるんじゃない?
Javaがダメになったら、オラクルの製品の半分が駄目になるのだけど。 特にアプリケーションサーバなどが。
とにかくやる気の無さが異常。 MSとのこのやる気の差を見せ付けられると Javaが廃れるのは必至
騒ぎになってるのはクライアントの問題でしょ(だからこそ話題になるわけだが) Oracleにとっては明日消えて無くなってくれても全くどうでもいいところだろうけど、 こういうことが続くとJavaやOracle全体のイメージの悪化は避けられないからなあ 一番クライアントJavaを嫌ってるのはOracleだろうね
開発者のマシンがクラックされる事例が続くと サーバサイドは安心とは言えない
バグを直さない(直せない)というのは致命的だよな。
>>137 Oracleがクライアントやめます宣言してみんなアンインストールすれば解決
アプレットをやめるならわかるけど、クライアントをやめるっていうのは意味がわからないなあ。 JREのインストーラーを提供しなくなるってことかな。 Java製のアプリを販売する場合は、そのベンダーがーJREを同梱して販売するしかなくなるってことかな。
要はそこを考えていない時点でただのアンチJavaなスレ荒らしなだけ。 MS信者が沸いてるのが全てを物語っている。
いやそもそもクライアントJava自体いらないっていう主張なんだから考えるも何もw
JavaFXは
>>140 みたいな方向に行こうとしてるみたいだけどね
まあJavaは終了の方向でしょ。COBOLみたいなもん。
「Javaが危ない」のではなく「利用者が多いプログラムは脆弱性を狙われる割合が高いので危ない」だけでしょ。 JavaやFlashが消えてもまた次の「利用者が多いプログラム」が狙われて危ない状態になるだけ。 JavaやFlashが消えれば物事が解決すると思っている人は、きっと「世の中のプログラムの大半は安全だがJavaやFlashだけがバグを放置している」と勘違いしているのだろう。 実際は「世の中の大半のプログラムは脆弱性を抱えているが、JavaやFlashは利用者が多いから狙われる機会が多いだけ」なのに。
脆弱性があるのが問題ではなくて直そうとしないのが問題あるわけで。
Javaはほとんど役に立ってないのになんとなく入ってたりするから 必要なければ消せっていうのは当然の対策だと思うけどね そういうのはアップデートされてなかったりユーザーのセキュリティ意識が低かったりするし
>>145 脆弱性を放置するなんてどこの企業だってある程度はやらかしてるけど…。
特にOracleだけ酷いとは思えないし、君がそう思うのなら適切なソースを頂戴。
>>143 COBOLといえば、去年、技評からポケットリファレンスの一冊としてCOBOLが出た。
需要はあるんだろう。びっくり。
新しい入門書もちらほら出版されてる。
↓Javaで作れるん? 6 名前:(-_-)さん[sage] 投稿日:2013/02/28(木) 14:56:45 ID:??? VB, C#, Java, C++, JavaScript, ActionScript(Flash) ひとまずこれらの言語でそれぞれ マインスイーパ ソリティア(クロンダイク・フリーセル・スパイダーのどれか) メモ帳 電卓(100円ショップにあるようなレベルの簡易な電卓) ペイント(MSペイントほど機能は無くてもいいので絵が描けて保存できて切り取りコピペなど) 2chブラウザ(初歩レベルのHTTP通信、簡易なもの、板一覧・スレ一覧・スレの取得と表示、モナジラの仕様に従う) チャット(TCP・UDPでの低レベル通信、サーバーとクライアントをそれぞれ作る) を作ってみるってのはどうよ
サーバーサイドオンリーでUIはHTMLで作るならアリ 普通のアプリにしたいなら他のにしといた方がいい
>>149 普通のアプリだし、Javaなら作れるだろ。
プログラミングの勉強に作ってみるのもいいんじゃないか。
作れるのか じゃあ作ってみるよ d
153 :
デフォルトの名無しさん :2013/02/28(木) 23:14:12.22
javaでゲームをつくるための参考の本がないな 一番なのは15歳からはじまるJAVAゲームプログラミングか? 他にいい本を紹介して
地元の図書館にJavaアプレットでゲームを作る本みたいなのがおいてあったな 行番号付BASICみたいというかオブジェクト指向というものが全く使われてなかったな
「amazon Java ゲーム」でググるとそれっぽい書籍のが出てくるよ まぁamazonとか楽天ブックスでもいいけど書籍系のネットストアで「java ゲーム」で検索かけりゃいくらでもでるだろうけど
質問者はおすすめの本を訊いているのでは?
157 :
デフォルトの名無しさん :2013/02/28(木) 23:40:26.81
ゲーム作成の本というとc++関係は多いけどjavaになると少ない c++が使えるならセガの人が書いた分厚い本がいいだろうけど 本当にセガの研修で使われているのかな?
>>141 しっかしな、10年経ってもMS信者がスレを荒らすとは異常事態だなこりゃ
>>142 それじゃ誰がJREを提供するのかっていう
Java Community Processはどうなるのかっていう
JREがなければJava EEもTomcatも動かないというのに
それどころかNetBeansもEclipseも使えなくなる
そんなありえない話があるのかという
クライアントJavaはともかくJCPはさっさと解散するべき
>>143 今でもCOBOLの仕事あるんだけどな
ただ若い奴は必要とされていない
俺が応募したら60代の経験者を期待していたって言われて
COBOLとは聞かされてなかったんだけどそこで落とされたw
>>148 まだみずほ銀行がCOBOLのプログラムを抱えているからな
いまだにCOBOLで稼働している
言語を確認せず応募なんてするわけないじゃん 嘘乙
>>149 ってか、ほぼ全部Javaで作られたアプリが実在するんだよな
マインスイーパーはEclipseのプラグインですでにあるし
メモ帳、電卓は単純だしペイントもそこいらの本に載っているし
2chブラウザもすでにV2Cで作られているし
チャットも10年以上前にJavaServletで作られたAppletと連動した高速チャットアプリケーションがすでに
Yahooで公開されていた
>>153 新宿ヨドバシ、新宿紀伊国屋で探せばいくらでもJavaでゲームを造る本が見つかるけどな
いくらでもっていうほどたくさんあるわけでもないが、10冊くらいはあったんじゃないかな
スマホ・ガラケー用のも含めるともっとあるかもしれない
>>164 派遣経由で応募だから
言語名がでなかったんだよ
>>160 >>142 は、個人ユーザーがJREとアプリを別々にインストールすることは
やめさせてもいいんじゃないかってことなのでは。
最悪インストールしたJavaアプリの数だけJREもインストールされることになるけど。
そしてエンドユーザーから見たらJREがあることは気が付かなくてネイティブアプリと同じように扱えてしまうと。
それなら脆弱性もアプリのせいにできるしな
>>167 Javaアプリケーションをやたら「Javaアプリ」と呼ぶ表現はやめてくれないか
「Javaアプリ」といえば携帯電話用Javaアプリケーションのことを指すのだから
JavaからリフレクションとシリアライズとBeans潰すだけで 結構堅牢になれるんじゃない?
>「Javaアプリ」といえば携帯電話用Javaアプリケーションのことを指すのだから えっ
昔はJアプリ、Vアプリといったものだ 今だとソフトバンクアプリ?
PHS使ってたからJavaアプリなんて言葉は知らないなあ。
Javaなんか覚えても就職できませんよ
こんなもん誰でもできるからな
それって大学なんか行っても就職できませんよといってるようなもんだな
新卒取るなら、知識より伸びしろ。 Java程度もできない奴なら、今後も他も出来ないだろう。
Javaは文法的にはまだ分かりやすいほう 日本語の参考文献の入手が難しいから デフォルトで入ってる多くのライブラリを把握できんし マニュアルは古いので日本語訳あるけど やりたいことを実現できるライブラリを探すとなると大変 どの言語とかでもそうだけど サンプルコードとかも一緒にインストールして ソースコード読んで独学が一番いいかも
>>178 残念ながらそのJavaもできない社会人が世の中の大半なんだが
Javaは基礎だけは簡単 だが応用となるとかなり技術がいる Javaアンチはそこをよく勘違いしている
語学と一緒で時間を突っ込んでコードを読み書きしないと育たんよ。どんな言語でも一緒。 文法と同様に語彙力がないと効率よく問題解決に至らない。
抽象クラスがあるのに、わざわざインターフェース作った奴は頭いいな
>>181 SQLとHTMLをゲロゲロするだけの言語で何言ってるの
Javaの真価を発揮する仕事をしたければ データベース、サーバ管理、ネットワーク、セキュリティ、 アジャイルソフトウェア開発の奥義 もすべて身につけなければならない さもないとそこいらのPHPプログラマとレベルが変わらなくなるぞ
そんなに脅されると敬遠してしまいたくなる。 ところで設計も結構大事じゃないか?
だから『アジャイルソフトウェア開発の奥義』には設計も含まれているよ 脅しってほどでもないし これは精神論に近い 10年以上前からJavaアンチがよくこの手の話題でJavaを馬鹿にしているので こうやって釘を刺して置かないと誰もが痛い目を見るからね
しかし、実際はフレームワークの穴埋めをしてるだけの ライン工並みの単純作業なのであった……
MFC時代から変わらない
Javaの仕事が誰にでもできる単純作業だというのをアンチというなら 世の中のほとんどのJavaユーザーがアンチだなw
それは「Javaユーザー」の定義にもよるな お前みたいに仕事で仕方なくJavaプログラミングもしていそうな奴もいるけどJavaは嫌いという奴とか
ジャヴァラー
仕事でやる分には作業過程自体が仕事なんだから Java言語の生産性や周辺技術の善し悪しや好き嫌いは別にどうでもいいことでしょ Java嫌いとか言えるのはむしろ小規模な事業や遊びや趣味でやってる奴
仕事として見た場合、生産性や周辺技術の善し悪しは全然どうでも良く無いけど?
マー板でやれよデブハゲ
>>194 周辺技術は、今後仕事をどのように進めるかを話し合う時に多少考えることがあるかな
ただ生産性については本格的に仕事でコーディングを始める前に話し合うことが
ないとも言い切れないな
>>193 このスレで「Java終了」だとか「Java程度がー」とか「こんなもん誰でもできる」とか
かつてのMS信者みたいなアンチな発言してる奴のなかには
どうみてもJava嫌いが混じってる可能性大だろ
ドカタ言語としてのJavaが嫌いなら君もアンチだよ
俺はJavaをドカタ言語だと思ってないのでアンチじゃないさ
ドカタドカタっていうけどドカタを舐めてかかると痛い目を見るぞ 下手すればドカタの方がそこいらのサービス残業やってる正社員プログラマよりも給料が高いからな
>>178 アホか
Javaなんて勉強してできなかったのか、それとも今までやらなかったのかわからんだろ
伸びしろというなら人間性や地頭の良さと採ることだ
>>201 ここまでメジャーなものを触ったこともないというのか? そういう仕事に就きたいというのに?
>>202 COBOLしか知らない60代のおっさんなんかまずさわったことがないのばっかだろ
ってかWebデザイナーとかもJavaをろくにしらないって奴が多い
ってかPHPとかPerlとかしか知らないのなんかそんなのばっかだが
Java に参照渡しがあったらなー、C#はあるのにねえ
>>204 いらないだろそんなの。なんに使うんだよ。関数は戻り値を返すのが
正道なやり方だ。Javaは正道を行くものだ。参照渡しなんていらない。
実用的なデータ構造である赤黒木とかAVL木をインプリメントしたいのだけれども、参照がないためにインプリできなくて困っているんです
またお前かw
>>206 そんなもの俺が教えてやんよ。
戻り値でノードを返すようにすれば回転が起こったときも問題ないだろ。
回転が行われて木が平衡化したあとは平衡化処理が行われないようにしなきゃいけないんで
平衡化したというフラグも返す必要がある。なのでResultクラスを作ってそれがノードと
フラグを持つようにすればいい。putメソッドやremoveメソッドはResultオブジェクトを返しちゃう。
もしくはあれだな赤黒木なんかはとくにノードに親の参照を持たせてループでぐーるぐるの実装が多い。
再帰呼び出しが行われないのであればResultクラスを作る必要もない。ローカル変数でじゅうぶんだ。
209 :
デフォルトの名無しさん :2013/03/02(土) 19:40:41.97
javaをずっとやっていると体を動かしてもいないのにしんどい 頭に負担をかける これ仕事にしていたらおかしくなるのもわかるな
ゆとり死ね
>>209 C/C++をやると確実に死ねるぞおすすめだ
>>203 Javaを知ってたらCOBOLしか知らないに含まれない。
デザイナでなくプログラマの話をしてる。
論理的思考をしよう。
Javaもやってみたが、これこれこういう理由で他の言語を使っていると言えるなら評価する。
213 :
デフォルトの名無しさん :2013/03/02(土) 20:19:11.07
Javaの本高いし、時間もとれん 一応amazonで中古品買って節約しているが 日本でプログラム技術を身に着けることは至難の業だな
214 :
デフォルトの名無しさん :2013/03/02(土) 20:28:11.37
ITバブル前は、プログラマーってコミュニケーション能力がいる日本で居場所が ない人のための救いの職種だったような感じだったけど つまりもくもくできるイメージ、オタクがやるイメージだったけど 就職難でnormalな人がやる職種になったのかな そうじゃなくてまだ奇人変人がやる職種ですかね
会社による
>>212 デザイナでもプログラマやってる奴もいるし
プログラマでもデザイナやってる奴がいる
SEとプログラマとSIerとの境界線が曖昧になってる会社や個人がいるようにんさ
>>213 俺は10年かけてJavaの本に何十万くらいか金をかけた
ってか図書館とブックオフを活用せい
学生なら大学図書館と研究室の研究費
会社なら会社の経費で
>>214 ぶっちゃけいうと当時はやっていた「コミュニケーション能力」って言葉
技術がないやつらがエンジニアを騙すための詐欺に使うお決まりのキーワード
つごうがわるくなったら「コミュニケーションが〜」といって突っぱねればいいから
昔、学生時代にデジット株式会社という会社で学生派遣アルバイトをやったとき
奴らが都合悪くなると「コミュニケーション能力が〜」とか言われてそれ以降から
あの会社経由では採用されるのが難しくなった。あの会社も社長も
「理系の人間や技術者はコミュニケーション能力がない」という変な先入観を
持っていることを自社のウェブサイトで暴露していたし
あの会社の人間が面接でつきそいでくるときも余計なことを言うからそれで落とされたことが何度も
その話はみんなして話題になってた。「あいつがつきそいでくるから不採用になる」と
そんでもって他の求人情報サイトに鞍替えして仕事を探すことにしたわな
219 :
デフォルトの名無しさん :2013/03/02(土) 20:55:36.82
>>217 まあ確かにJavaはなんか勉強してもすっきりしないんでいろいろ本を買ってしまう
ビジネスとしてはおいしいジャンルかもしれん
習得するには、時間がかかるし、量もおおいしと金をつかうことがおおくなる
英会話教室、結婚に関するビジネスにつぐいいビジネスかも
220 :
デフォルトの名無しさん :2013/03/02(土) 21:09:22.93
Javaの文法だけじゃなくって、効率を見積もるためにアルゴリズムの本も読まなきゃいけないし、デザインパターンとか、テストの技法とか、WebアプリならOS, DB, Apacheやら関連分野の本も読まなきゃならないしね。 さらにはプロジェクト管理、開発方法論とかチームでどううまくやっていくか、レベルアップを図るかみたいなのも読まないと。 永遠に終わらないことを悟った今日この頃。
>効率を見積もるためにアルゴリズムの本も読まなきゃいけないし、デザインパターンとか、テストの技法とか、WebアプリならOS, DB, Apacheやら関連分野の本も読まなきゃならないしね。 これはJavaに関係なくどの言語でもやることじゃねえの?
>>216 最初から読んでみよう。
新卒でプログラマとして就職したいやつの話だ。
>>220 Javaは大規模開発で使われるから広い知識も要求されるんだろう。
話の流れが読めない奴は専ブラ使ってないのか
参照渡し君は一生愚痴ってればいいんじゃねw
>>223 組み込みから大規模開発まで使われるから広い知識に対応するだけで、スペシャリストでもJavaを使うことはできるでしょう。
1人で全範囲を開発するのか
javari
一人で開発ってぼっちかよ。 何にでも対応できる人間は重宝されるから、 広く勉強しておいたほうがいいだろ。
>>220 まあフレームワークだDIコンテナとか、ネットワークだDBだセキュリティだの
一時期Javaを極めるのってものすごい大変だなと思ったことがあるなあ
今だとJava以外のこと、例えばAjax、jQuery、HTML5、CSS3、
iPhone、Android、GWT、Twitter API、Facebook APIのことも習得しなければ時代の流れに取り残されそうだ
>>221 Java以前に主流だったC/C++言語ではデザインパターン、テスト手法、
Webアプリ、DB、Apache関連の知識は不要だった。
Javaでもっとも重要なことの一つに 不変クラスとはナンたるか? それを作るにはどうすればいいのか ってことがある Checkstyleとかである程度不変性をチェックできる これを知ってるか知らないかでそのプロジェクトに大きな影響が出るんだよな
不変クラスを使ったからプロジェクトがうまくいったのではなく、 そういう概念を正しく理解して適切に利用できる能力のあるメンバが揃ってたからうまくいったんだろう 因果と相関をごっちゃにしちゃいかん
まあ正論だな その他にもデザインパターンとか知ってるか知らないかで大きな影響がでる 継承の使い方を間違えている人のソースコードは酷く扱いづらい
235 :
デフォルトの名無しさん :2013/03/03(日) 11:38:42.30
プログラマの適性がある人って、なんでも一人でやりたがる人だろう チームプレイが好きではない
後から後からアイデアが浮かんできて、こんな面白いことを他人にやってもらうなんて もったいないって思ってしまうことはあるね。 でも、それじゃ納期に間に合わないから仕方なく人集めるんだけど。
問題解決の能力かな。 1つクリアになった時の高揚感って良い物だ。 スポーツで記録を更新できたとか、難しかったゲームをクリアできたとかと同じじゃないかな。
>>235 それはWindowsNTを作った「戦うプログラマー」のカトラーも同じように「一人でやるのが理想」と言っている
近頃はバージョン管理システムが普及してチームプレイもしやすくなっているだろうなあ
C++よりJavaは自惚れた馬鹿が余計なことをしにくくする仕様があるからチームプレイはしやすい方だと思うぞ
>>229 何でも出来ると、みんなやりたくない仕事が回ってくるから、隠してる。vbとか。
jre1.6.0_01を削除したいんですがプログラムの削除一覧になくて削除できません 最新版はプログラムの削除から消せたのですがどうやったら消せますか?
なければフォルダを直接削除
そのままディレクトリ消せばいいよ
>>243 だがレジストリに残骸が残るぞ
Glary Utilitiesで残骸を消すといい
いらないわけでもないが、使わないなら消しても問題になることは無い
>>205 AtomicMarkableReference「せ(ry」
2値化してジャギった絵をアンチエイリアス処理したいのですが 何か画像処理について参考になるサイトってありますか? 本屋で見た感じだと、そういうのってC言語が多い印象なんですが いきなりJAVAでも学べるもんでしょうか
Javaが読めればCの本でも普通に読めるっしょ 言語の話じゃなくアルゴリズムの話なんだし
>>246 Glary Utilitiesは別に難しくない。
起動してすぐに「1-クリックメンテナンス」を実行すれば
レジストリを自動的にクリーニングしてくれる。
そんな難しくないだろ
ってかプログラマ向けのソフトじゃないしな
どちらかというと一般向けだからな
>>249 Javaはこれから勉強です
言語は特に関係無いんですね、ありがとうございます
言語によって習得効率に違いが出るものもないわけじゃないが まあCの方がソースコードが多いっていう利点はあるな 『Java言語で学ぶアルゴリズム事典』なんか役立つかもしれん
ソースコード多くてもC/C++のコードはまとまりがないんだよね コーソは悪くないけど個性が出すぎてて参考にし辛かったり拡張、利用がしづらい。 その点Javaは優秀
排他的なパッケージシステムはGOOD
>>254 Javaでアルゴリズムとか計算とかCっぽいことやってるのって
大半がCをクラスに入れただけの糞コードだろ
むしろCのコードより扱いにくかったりする
258 :
デフォルトの名無しさん :2013/03/04(月) 14:06:05.76
Java6のupdateクルー
>>256 それはまさに
>>253 の奥村晴彦が書いた『Javaによるアルゴリズム事典』の
ソースコードだろう。
まさにCをクラスに入れただけとか、一部継承を使っているコードがあるが
デザインパターンや『アジャイルソフトウェア開発の奥義』の観点からみると
いまいちオブジェクト指向プログラミングの特性を生かしきれていない部分があることはわかる
ただ下手にクラス多用してもヒープ領域が増えるからパフォーマンスを高めるために
作ったアルゴリズムが逆にパフォーマンス低下を招くこともあるんだわな
>>257 相変わらずしょうもないアンチが湧いているな
「Javaによる」に関してはしょうがないかな。 元々が20年以上前の「C言語による」(こっちは貪り読んだ)からの派生品に過ぎないし。 類書は無いものかね。網羅的にアルゴリズムを列挙していてJavaベースのサンプルコードのある本。
アルゴリズムなんてどの言語で再現しようと大差ないだろ
CのコードをJavaに置き換えると C特有のハッキングクラスの裏技が使えなくなるから そこで多少支えることや、コード量が多くなることがあるんだな そしてメモリ消費量が増える
openjdkにも最近騒がれてる脆弱性あるの?
アルゴリズムの実装くらいなら、 オブジェクト指向プログラミングにこだわらなくてもいいんじゃないの。
いつまでもそんなこと言ってるからダサいのだと思うよ 初プログラミング言語としてJava始めた人のほうが暦浅くてもちゃんと設計できてる >アルゴリズムの実装くらいなら、 >オブジェクト指向プログラミングにこだわらなくてもいいんじゃないの。 この考えは異常だと思う
プログラミングなんか、できるだけ簡単に済ませたい。 変なこだわりを持って時間ばかりかかってては無駄だね。
>>266 それは同意。
昔の人はそうだったかもしれないけど
今はオブジェクト指向プログラミングも重要
デザインパターンを上手く使うことで最適化できるアルゴリズムもないわけじゃない
>>267 はデスマーチやスパゲティコード乱造者の典型だな
といっても昔からあるアルゴリズムをJavaで実装した例の多くは多態を関数ポインタ代わりに使ってたり テンプレートメソッドで似たルーチンの実装を共通化してるくらいだろ あんなのオブジェクト指向言語の機能を利用したハックであってオブジェクト指向とは言い難い
いや、その共通化こそがJavaの保守性だったりのすべてを支えてると思うよ。 何が言いたいかっていうと、 public static final int OBJ1_WIDTH = ... public static final int OBJ2_WIDTH = ... みたいなことをよくC/C++プログラマはしちゃうよね クラスに分けられるにも関わらずこういう書き方しちゃうのは総じてダサい(これはJavaに限らずだろうが) 「簡単だから。すぐできるから。」は言い訳にもなってないと思う おそらくOBJ1とOBJ2が相互に影響しあう場合を危惧したいのだろうが、 その場合は普通OBJ1とOBJ2を引数に持つような、例えば private Obj1 obj1; private Obj2 obj2; public Constructer(Obj1 obj1, Obj2 obj2) { this.obj1 = obj1; this.obj2 = obj2; } のようなクラスを用意すべきなのだよ 「作りたいものの将来像」がたとえ明確に決まっていたとしても何もかもをごちゃ混ぜにひとつのクラスで作っていくのはださい 本当にださい
widthはwidthなんだからObj1、Obj2クラスのwidthとしてprivateで定義してゲッター作れって意味ね フィールド宣言から遠く離れた位置で使用するようなコードもダサい Obj1とObj2の関係はメインルーチンで書くんじゃなくてその関係を定義したクラスを利用したほうがいいよということ 連投失礼
ただし、Obj1とObj2の関係を第三者の系からではなく、 Obj1、Obj2それぞれの系から考えたいのならObj1、Obj2それぞれに互いを認識しあうメソッドを要するべき すると同じ「関係」でも ・Obj1が認識するObj2 ・Obj2が認識するObj1 として分離できる こういうことを考えるのが設計の楽しいところで、オブジェクト指向につながっていくのだと思う 連投失礼x2
つまらん戯れ言しか書けないならブログでやれよカス
半可通のゲッターよりもfinal intの方が信頼出来るね俺は。
「ダサい」っていうのは流行遅れってことだろ。 流行ってるものはかっこいいからな。 乗り遅れたものは感情的に否定するだけ。
つまりVBは日本では最高にクールだと
VBはもう流行ってないだろw
Excelかっこよすぎわろた
ジャバはオワコンなんだろ? そんならさっさとC#に乗り換えろよ
個人的にはC#に乗り換えた。 仕事ではまだJavaやらされるけどorz
Javaって生まれてよかったんだろうか。 Javaのせいで人類は無駄なコストを払ってるんじゃなかろうか。
デスクトップアプリならOSS乞食やクロスプラットフォーム厨にはQtがあるしなあ 同じ機能のアプリでQt製のとJava製のがあったらQt製使うよね… 実際にはオープンソースのデスクトップアプリってQt製ばっかりだけど
QtはフレームワークでJavaは実行環境。比較するならSwingとQtでしょ JavaからQtを使うのも当たり前のように行われてるし
Qt使うならJavaみたいなウンコ言語使わねーよ Javaしか使えない低能は除く
286 :
デフォルトの名無しさん :2013/03/05(火) 21:01:11.44
前田稔氏のサイトみたことありますか?
287 :
デフォルトの名無しさん :2013/03/05(火) 21:20:52.07
javaでスクロールのやり方を教えて javaでRPGを作るさいに参考になる本を教えてください
やめとけ 他人にそのためだけにわざわざJavaをインストールさせられるほどの魅力のあるゲームなんてなかなか作れんぞ
289 :
デフォルトの名無しさん :2013/03/05(火) 21:38:19.44
>>288 いまどきexeに出来るツールとかググればすぐ見つかるぞ。
jre同梱するとすごいでかいゲームになってしまうけどな!
JavaScript/HTML5/Canvasでいいよ
それだとIEユーザーどうすんのさ
>>292 いまどきWebkitをパッケージ化してexeに出来るツールとかググればすぐ見つかるぞ。
JRE同梱ほど大きくならないしな
>半可通のゲッターよりもfinal intの方が信頼出来るね俺は。 だれかこれを訳して
295 :
デフォルトの名無しさん :2013/03/05(火) 22:09:46.36
>>294 ゲッターというのは頭にgetが付くメソッド
ロボットのことじゃなかったのか
>>295 いやさすがにソレはわかる
何故後者のほうが信頼できるのかということを説明してほしい
>>282 C++と比べたら無駄なコストも大幅に減ったろう
302 :
デフォルトの名無しさん :2013/03/05(火) 22:58:03.96
androidアプリの開発にc,c++などのndkを使っている人おりますか?
そんな珍獣はいませんしスレチ
>>300 C++が生まれちゃいけなかったのは間違いない。
もしJavaがなかったら、プログラミング言語の主流は今どうなってただろうね。
やはりC++から派生した言語になったのか、Perl等のスクリプト系言語になってたか、
VBやDelphiのさらなる進化があったのか。
>>304 VBはありえんだろうな
間違ってもVB.NETがVBの進化系と思ってはならない
あれはJavaとDelphiの亜流C#の派生に過ぎない
Javaが無ければ、.NETも無かっただろうから、C#がなくて、 VB6.0系にC++やDelphi的なものを取り込んだ何かになってたんじゃないかな。
308 :
デフォルトの名無しさん :2013/03/06(水) 00:25:24.14
Java6はもう更新なかったんじゃなかったのか? 932 名前:名無し~3.EXE[sage] 投稿日:2013/03/05(火) 06:01:05.54 ID:orcEfkUf Java SE Runtime Environment 7 Update 17 リリース Java SE Runtime Environment 6 Update 43 リリース
Objective-Cの天下になっていたさ
openGL使ってる人いますか? 特に指定しなくてもデフォルトでダブルバッファしてくれるらしいのですがうまくいかないです どうもDisplay.sync()もうまくいっていないようなのですが、グラフィックドライバーが古いからですかね・・
311 :
デフォルトの名無しさん :2013/03/06(水) 02:25:52.58
JDK7u10が公開され続けてる理由は何なのですか?
312 :
デフォルトの名無しさん :2013/03/06(水) 02:35:44.05
(´・ω・`)知らんがな
313 :
デフォルトの名無しさん :2013/03/06(水) 04:57:21.39
Java終わったな 始まってもなかったか
Objective-CってiPhoneのお陰で再燃しているだけに見えるがな Androidは相変わらずJavaが台頭しているしな
Androidはiアプリと並んでJavaがフロントエンド開発で成功した特殊事例だと思う。 サーバーサイドの開発では相変わらず動きは活発だし、最近では大規模分析計でも強い。
※AndroidはJavaではありません
317 :
デフォルトの名無しさん :2013/03/06(水) 09:30:47.33
"Write once, run anywhere"
HadooはUNIXに依存してるしな Androidにせよ、昔ながらのソースレベルのクロス開発と何も変わんね
基盤となる分散ファイルシステムとMapReduce実装としてJavaで書かれたHadoopが デファクトになったから、HBaseやPigといったその上に乗っかるインフラも殆どまず Javaで書かれて出てくる。他の言語も使えないわけじゃないけど基本ゲスト扱い。 別にC言語ベースになってもおかしくはなかったのだけれども、結果論としてはHadoop のおかげでMapReduceを使ったオープンソースの分散大規模バッヂに関してはJavaが ソフトウェアスタックの首根っこを担っているのが現状。
>>317 ヘッドレス環境やGUIシステムが複数ある時点でお題目に過ぎないのは
最初からわかっていたこと。ただし環境依存部を除く実行コードは、その
理想にかなり近いところまで実現している。
ラッパー クラスを自動生成するツール知りませんか?
Javaの多言語化についてはどうだろう。うまくいくだろうか。 JavaのAPIと枯れたVMが使えて、Java言語より開発が楽になるなら魅力的だなと思うのだけど。
Javaの多言語化ってわけじゃないだろ。 あなたの書いてる様にJVM基盤上で動くものなんてもう大量にあるわけだし。
サイトによってswingとかAWTなどの書き方が異なるんですが GUIを作るために基礎を勉強するための定番の書籍ってありませんか?
ジャバはオワコンなんでしょ?
まだおわってないよ まだPerlもおわってないし
Javaで2chブラウザ作るよ!オープンソースで!V2Cを超えてみせる!
それは質問でも相談でもないですよね
質問でも相談でもないレスは全て通報しときました
回答できないスレになります
awtとswingが違うっていっても外枠は似たようなもんだよね 違うといえばawtはsetDefaultCloseOperation()がないので自前で用意しないといけないところくらいじゃない? もちろんレイアウトとかコンポーネントの話になってくるとswingなわけだけども、 gui学ぶには両者の描画メソッドまわりをやらない限りには理解できないかと
>>308 大量のSnow Leopard機を放置する方がヤバイから。
>>321 EclipseだかApache Commonsになんかあったような気がするが覚えていない
>>322 そんなのC#でやればいい
Javaでやる必要なし
もしやればC#化するかC++化してカオスになりJavaの利便性が失われる
>>334 もう絶版だから、図書館で探すか、Amazonのマーケットプレイスで買って。
メインストリームがJava 沸きこぼしをその他ってか?あながち間違いじゃない現実
>>319 HDFSが遅過ぎてウンコ過ぎて話にならん、というのが
周知の事実になってきたから、Hadoop人気もどうなるか分からんよ
JDK7u17のSampleDemoをダウンロードしたら MargeSortのサンプルがあってJava7で新しく追加されたクラスとか使ってたから Java6の日本語ドキュメントが使えなかった
Java6のアップデートを終わらせないために次々とハッカーたちが脆弱性を見つけてんのか?
http://d.hatena.ne.jp/matsukaz/20070712#1184263152 このサイトを参考に、Spring Web Service(spring-ws) ver 1.2で
SOAP Webサービスを実装しようとしていますが
MarshallingMethodEndpointAdapterクラスが非推奨になり
アダプタはDefaultMethodEndpointAdapterクラスに変わって
プロセッサ(MarshallingPayloadMethodProcessor)も必要?
と
マーシャラーは、以前はコンストラクタで渡したようですが、
変更後はどこへ?
どなたか、いい資料か例知りませんか?
Javaでマイコン開発がしたい。。。。
マイコンって何?
マイコンのうえで動くJVMが必要
そうなんだよね〜 あまり話題にならないけどJavaのサウンドAPIがまとまってて使いやすくて、これでハード作りたい
>>325 自分で判断できない時点で何をやっても無駄。
javadoc内のリンク、一部は古いままなのな、ページ無いのがあった
組み込みJavaってオラクルと契約しないと使えないでしょ .NET MFならMS公式のキットがオープンソースで一式自由に使えるよ C#でそれなりにリソースも要るけど
Swingのdoc読んでたら将来的にシリアライズの互換性なくなるから長期的サポートならXMLEncoderを見ろとか書いてあったから XMLEncoderのページを見たら >プロセス間通信および通常目的の直列化には、これまでどおり ObjectOutputStream を使用することをお勧めします とか書いてやんの どっち使えってんだよ
同じバージョンのクラス同士ではObjectOutputStreamでやった方が早い。 作成途中にクラスのメンバとかメソッド名を変更しても書き出したファイル読み込むには Beansとして作ってXMLEncoder使っておかないとうまく対応できない
vc++すかんわ〜 エラー内容が混沌としすぎだしUIがゴツゴツしててイライラする
>>352 プロセス間通信=同一のマシン上での実行ならバージョンは同じだから
直列化を使っても問題はないってこと。
DalvikってブラウザのJavaScriptよりは速い?
何のブラウザかによるし答えようがないだろ
多元配列のディープコピーの仕方を教えてもらえませんか? 1行でシンプルにかける方法を探しています。 static な関数は定義することが出来ます。 が、要素は、3次元であったり4次元であったり、 要素数もばらばらです。 よろしくお願いします。
完全にスクリプトインタプリタのJavaScriptと比べたら どんなJavaでも早いよ。
最近のJavascriptはコンパイルするとかいう話じゃなかったけ
長いことMavenスレが立たないんだが、 レポート出力系の人材はみんなJenkinsに行っちまったのか?
>>362 まずもってAntスレやMakeスレがないからねぇ。
ivyやGradleもひっくるめてJavaビルドツール、依存性管理スレ総合とでもすれば
よいのだろうか。
チェックボックスの仕組みみたいな機能(記憶回路?)を作りたい場合どうかくのがいいの? 例えば ・ある対象物を一度左クリックすればそれを選択されている状態とする ・もう一度左クリックすれば選択を解除する みたいな機構ってUI考えるときに一つや二つでてくるよね? もしこれが右クリックで解除ならばbooleanで簡単にできそうだけど、1入力(左クリックのみ)で選択と選択解除をしたい場合にどうかくといいのか悩む。 自分がよくやるのはint型でcouterをフィールドに宣言して2の倍数か否かで分ける方法 だけどこれ、counterはクリックすればするほど加算されていってるのが気持ち悪い int型の最大値を超えるなんて非現実的なことだが、そこに妥協しないならばコードも膨れてくるし
まぁ最大値超えてもJavaは確か反転するんだっけ、大丈夫だとは思うけど
オーバーフローエラーが起きないのはある意味迷惑
367 :
デフォルトの名無しさん :2013/03/07(木) 21:52:35.79
>>364 > もしこれが右クリックで解除ならばbooleanで簡単にできそうだけど、1入力(左クリックのみ)で選択と選択解除をしたい場合にどうかくといいのか悩む。
これがよくわからないんだけど、boolean だとだめなの?
boolean isClicked = false;
public void mouseClicked(MouseEvent e) {
isClicked = !isClicked;
}
>>362 代わりに自分で立ててくれよ
立たないと不平を言うより自分から率先してスレを立てよう
どうしても過疎って人が集まらないならMaven以外の話題も可能な
ビルド・レポートツール総合スレ【Maven/Ant/Jenkins】みたいなスレを立てよう
JBossスレも昔は話題があったのに今じゃ誰も話題にしない
List<String> list = new ArrayList<String>(); とする人と ArrayList<String> list = new ArrayList<String>(); とする人がいるけど意図的にやってたりするのですか?自分なりに考えたのは ・前者はArrayListはListを継承しているという意味合いを強く意識している? ・前者は文字数が少なくてすむ? ・後者は単純明快? 自分は後者なのですが、内部的に処理が異なっていて何かが変わったりするんですか? それとも何かのクセとかそういうレベルですか?
>>370 メソッドの引数にList<String>をとる物があるときは前者が好まれる
というか普段から前者を意識しておくことをお勧めする
ListになくてArrayListにある機能を使うなら後者を選ぶ
キー入力のフラグをenumでうまくかけないかな? いっつも一つずつ private boolean keyLeft; みたいな感じで定義してるのだけども、これをうまくまとめて書きたい いくつ必要かわからないことを考えるとArrayList<Boolean>にするのがいいのかな? だけどArrayList<Boolean>しようがboolean[]にしようがインデックスはint型なんですよね だから今までprivate static final int LEFT = 0;のようにint型でインデックスを定数化?する書き方が主流だったが それじゃダメだっつうんでenumが出てきた? public enum KeyType { LEFT, ....., ESCAPE } みたいなenumを配列やリストのint型のインデックスにうまく対応させる方法があれば教えてほしい イメージとしては private ArrayList<Boolean> keyFlag = new ArrayList<Boolean>(); if(!keyFlag.get(ここでenumのKeyTypeをうまく利用したい)) .... とか private boolean[] keyFlag = new boolean[2]; if(!keyFlag[ここでenumのKeyTypeをうまく利用したい]) ... みたいな感じ 今思いついたけどさすがにこれはなしか? private HashMap<KeyType, Boolean> keyFlag = new HashMap<KeyType, Boolean>(); if(....) keyFlag.put(KeyType.LEFT, false); if(!keyFlag.get(KeyType.LEFT).... いやありか!?
あれ、もしかするとそれをしちゃうとenumでせっかく安全にした部分が崩れちゃうのか・・・?
あれもしかしてenum内にセッターゲッター作るが普通? public enum KeyType { LEFT(false), ,,,,, ,ESCAPE(false); private boolean value; private KeyType(boolean value) { this.value = value; } public void setValue(boolean value) { this.value = value; } public boolean getValue() { return value; } }
>>376 Enumに可変成分を持たせるのは厳禁。
EnumMapを使いなさい。
>>377 の例だとキー入力にEnumSet使ってるな
enummapなんてもんがあったのね やるじゃん
>Enumに可変成分を持たせるのは厳禁。 これって本当そうなの? じゃあenumのコンストラクタ作ったりメソッド作ったりできないじゃん
Enumって定数でそ
独自アノテーションとか使い道がサッパリ分からんわ Deprecated Override SuppressWarnings この3つありゃ十分じゃね
Enumって定数のように扱うもんでそ
Java覚えた書籍がEnumやアノテーションやジェネリクス入る前のバージョンのだったから 未だにそれらの使い方が分からんw
定数のように扱うって言うのは列挙する部分の話でしょ? enumに可変成分持たせることの何がいけないのさ。 そもそも定数のように扱うために出てきた機能じゃないと思うのだが
390 :
デフォルトの名無しさん :2013/03/08(金) 04:35:40.90
みんな Effective Java の enum の章を読め。 話はそれからだ。
Java7で増えた新しいクラスとか全く使い方が分からんのだが
ここまで住民の知識レベルを問う流れでした
>>360 ありがとう。
すんげ〜
ただ、どえれー遅くなりそうだね。
何度も頻繁に繰り返すには不向きっぽい。
自分で言っているのもなんだが( パフォーマンスならディープを選ばないだろと言う意味 )
頻繁に繰り返し呼ばれる配列で
配列の種類も甲乙丙・・・10種類くらいある。
パフォーマンスは必須だが、それより重要視される要件として
他クラスからの変更は許可せず、値だけを見せる必要がある。
ディープコピーが正解かと思ったんだが、違うのかな?
public class Human { public enum Status { HP(120), MP(60), STR(30); private int value; private Status(int value) { this.value = value; } public int getValue() { return value; } public void setValue(int value) { this.value = value; } } } みたいなのダメなの?そんなわけないよね。これがダメならただ列挙するだけの仕組みでしかないじゃん。
名前が列挙なのにそんなこと言われてもな。 イミュータブルとかスレッドセーフとかデシリアライズとか諸々。 setがなくてvalueがfinalならよいよ。
>>381 >>384 それがわかってないということはまだJava慣れしていない証拠
「不変クラス」やSingletonパターンでぐぐってみればすぐにわかるだろう
Interger.valueOf()でIntegerオブジェクトを生成できる理由を考えて見ればわかるんじゃないかと
それから、バイブルともいえるEffective Javaでも読めばわかるかな
ラッパークラスがどうのこうのってこと?
>>395 意地悪で聞くけどConcurrentMapやSemaphoreのようなスレッドセーフな共有変数
置き場に使うのは何故ダメかな。
public enum WC{
Men(5), Women(3);
public final Semaphore place;
private WC(int numPlace){this.place = new Semaphore(numPlace);}
}
switch(wc){
case WC.Men:
wc.acquire();
いたす;
flush();
wc.release();
break;
case WC.Women;
wc.acquire();
ドア開ける;
...
>>398 395に書いたことを君が検証すればいい。
俺に検証させるな。
仲直りのちゅうしなさい
>>399 イミュータブルではないけれどもスレットセーフでシリアライザブルかつシングルトンだよ?
Java Magazine日本語版を読んでみたが、関係者の記念写真ばかりでワロタ 写真集かこれは!?
使っていて言語的にも祭り上げられてる感はひしひしと感じる
>>398 Javaのアクセス制御(publicやprivateなど)がザルであることから、プログラムが大規模になるほど"共有したい範囲=アクセスできる範囲"を維持し難いため。
398の例なら、悪意ある外部者がセマフォを独占する可能性がある。
ザルである実例をどうぞ。示せなければただのデマだね。
なんでもpublicにしとけ!っていう設計なんて一切考えないメモリ厨にはあれがザルに見えるんだろうなww
Javaでcmdのコマンドを実行する方法があれば教えてください。 Cでいうsystem("cmd /c cls");みたいなことをしたいです。
ProcessBuilderでググれ
それが、 Runtime r = Runtime.getRuntime(); Process p = r.exec("cmd /c cls"); が効かないのです。 clsをfirefoxとかにすればちゃんとブラウザ開いてくれるのにclsが効かない
>>405 誤解しないで欲しいが、他言語も似たようなものだから、javaだけを貶めているつもりはない。
404に書いた以外の例を挙げるならOSGi。あれは外部からアクセスされたくないパッケージを設定できる。
>>410 ググってからにしてくれ。
ググってその書き方は無いだろ。
>>383 >>386 Spring3になってから
アノテーション祭だよ。
コンテキストが定義だらけだった
昔みたいなことはなくなって
scan定義のみでおわり
あとは、クラスアノテーションで
@Controller,@Service,@Repository
メソッドアノテーションで、
@Transactional,@RequestMapping
参照は、@Autowired
バリデーション関係も多数
もう、昔には戻れないな
414 :
デフォルトの名無しさん :2013/03/08(金) 12:49:28.06
>>410 clsコマンド自体はちゃんと実行されてると思うよ。
clsコマンドは画面クリアのための制御コードを標準出力に出力してるんだけど、
Javaからコマンドを実行する場合、そのコマンドの標準出力は画面(正確には
Javaプログラムの標準出力)には垂れ流されないので、いったん自分で受け取って、
System.outに出力する必要があるみたい。本当にJavaって糞だと思う。
>>414 clsはcmd.exeの内部コマンドだよ。
>>414 clsはcmd.exe組み込みだから。
たぶんexecしたら別端末になるんじゃないの?
適当書くけど。
めちゃかぶってるやん。仕事に戻るわ。。
は?
423 :
デフォルトの名無しさん :2013/03/08(金) 19:16:08.10
androidアプリで設けた人おりますか? せどり、FXでの金儲けに比べるとしんどいすか?
JAppletのpaintをオーバーライドしちゃいけないのは何でなの?
JAppletがpaintをオーバライドして使われることを想定した作り方になってないからじゃねーの?
なーるほどね
>>427 finalにする事で、性能面で有利な実装ができるとか
あるのかな?
java.lang.Stringとかもだよね、確か?
>>429 寝ぼけたプログラマの、とんでもない行為が少なくなることを性能面というなら、ある。
final にしなかったことで、性能面じゃなくて、ダーク面(ダークサイド)に落ちたことはある。
431 :
410 :2013/03/08(金) 22:43:20.34
>>416 >たぶんexecしたら別端末になるんじゃないの?
もしかするとそうかもしれない。firefoxがちゃんと立ち上がってることから察するに、clsコマンドも実行されてる
だけどJavaコマンドで実行したcmd端末とは別の端末が裏で起動して実行してるのかなと・・・
これじゃあclsコマンドをJavaコマンドで実行した端末でできないのであまり意味がないですよね・・・困りました
×Javaコマンドで ○Javaコマンドを
>>430 ユーザーランドというよりは、
VM内の最適化とかキャッシュとかそうゆう方面で有利さはないのかなと思ったしだいで
コマンドプロンプトのCUIの画面クリアしたいならansi.sysを有効にしてエスケープシーケンス使えと何度言ったら分かるんだ!
435 :
410 :2013/03/08(金) 23:35:47.87
>>434 すみません日本語でお願いします
そんな大掛かりなことをしないと画面クリアもできませんのか!!!
諦メロン
質問です byte[] waveData = new byte[44100*time]; for(int i=0; i<waveData,length; i++) { waveData[i] = (byte) (波の式); } みたいなバイト波形データをAudioSystem.write()でwavファイルに書き込むところまではできたのですが、 これをファイルに書き出さずに再生する方法がよくわからないです
メモリへのプリロードが可能な、リアルタイムでないサウンドデータを使う場合は、Clip を使用します。 一度にメモリに入りきらない長いサウンドファイルや、再生前にデータを知ることのできないサウンドなどのストリーミングデータには、SourceDataLine を使用します。
javax.sound.sampled.AudioSystem
>>374 Swingの話をしてるのなら、
KeymapとかKeyStrokeとかAction#setEnabled()とか既にあってだな…
444 :
437 :2013/03/09(土) 00:52:30.68
447 :
437 :2013/03/09(土) 02:37:26.74
後半の部分ですよね? whileじゃなくてclip.drain()でやったりClipをキャストしない方法でも試したりしているんですがうまくいかないです
while?
よくわからんがAudioFormatとかの部分に設定値ミスあんじゃねえの
まさか設定値まで
>>443 の通りにやってないよな
zipとか怖くてひらけねえよ
450 :
437 :2013/03/09(土) 02:53:19.47
452 :
437 :2013/03/09(土) 03:14:59.51
そうなんですよね
453 :
437 :2013/03/09(土) 03:16:33.77
送信してしまった そうなんですよね、ggって出てくるClip使って再生するソースで再生できたためしが今までにない・・・
>>443 のコード
clip.drain();
↓
System.out.println("drain");
clip.drain();
と書き換えたら音がしたよ
>>450 のコードでも
whileの前にSystem.out.println("drain");を加えたけど音がならなかったけど
その手前にあるwavファイルへの出力削ったら音がしたから、ファイル出力でバッファが空になるようだね
どうも clip.start(); のあとに何か間が必要なのかな?
System.out.println("drain"); 以外のメソッドで試しててないけど文字は別にdrainじゃなくてもいいと思うけど 再現した? clip.start();のすぐ後にSystem.out.println("なんちゃら");が入ると音が再生された なんなんだろうこれは
うん、 System.out.println("なんちゃら"); の代わりに Thread.sleep(100); を入れても音がなった どうもclip.start();してから再生開始までに時間がかかるようだよ
458 :
437 :2013/03/09(土) 04:18:57.03
>>455 >
>>450 のコードでも
>whileの前にSystem.out.println("drain");を加えたけど音がならなかったけど
>その手前にあるwavファイルへの出力削ったら音がしたから、ファイル出力でバッファが空になるようだね
ファイル出力削ったらっというのがよくわからないのだけれども、try{ AudioSystem.write あたりを削除したってことですか?
自分の環境でそこを削除してwhileの前にSystem.out.println("drain");を書いてみましたがなりませんでした
推測だけどclip.start();してからバッファが送られるまでに結構時間がかかって こちらの環境だと標準出力で文字送る時間くらいの時間で再生開始できるけど そちらの環境だと標準出力くらいの時間では足りないとか? Thread.sleep(100);に置き換えて待ち時間を変えて試してみてはどう?
>>458 >>454 は再現したの?
System.out.println("drain"); じゃなくてThread.sleep(100);みたいな待ち時間決められるコードに置き換えて試してみてもダメ?
コード削ったのはこの部分だね丸々コメントアウトした try { AudioSystem.write(audioIn, AudioFileFormat.Type.WAVE, new File("test.wav")); } catch(IOException e) { e.printStackTrace(); }
もしどちらでも再現しないのなら 私には原因わからんので、分かる人がスレに来るのを待つしかないね
今まで知らなかった 5 つの事項: 日常的な Java ツール
http://www.ibm.com/developerworks/jp/java/library/j-5things12/index.html 一応バグとして取り上げられてる記事もあるけど
>音が出ない場合
>JDK 5 リリースでは、たちの悪い小さなバグが報告されています。短い音声クリップの場合、一部のプラットフォームでは、コードは適切に実行されているように見えながら、音が出ない場合があります。
対策もすぐ後に書かれてます
>このバグには「won't fix (修正方法なし)」というマーキングがされていますが、対策は非常に単純です。STOP イベントをリッスンする LineListener を登録し、STOP イベントが発生したら、
全部は転載しないので該当部をご覧になってください
音が鳴らなかったのはただのバグで対処法もちゃんとあってよかった System.out.println()とか分けわからん方法でも音が鳴ったのはよく分からんが
>>460 >>454 は最初ならなくて、Thread.sleep(1000);をいれると無事なりました
ですが自分のほうのコードはなぜかならず・・・
>>463 で貼ってくださったコードのようにLineListener加えてもならない・・・
>短い音声クリップの場合、一部のプラットフォームでは、コードは適切に実行されているように見えながら、音が出ない場合が...
ということでかなり再生時間が長いクリップにしてもみましたがダメだ〜
はぁ〜サウンドAPIには泣かされっぱなしです Mixer.Info[] info = AudioSystem.getMixerInfo(); for(int i=0; i<info.length; i++) { System.out.println(info[i]); } 自分の環境ではこれの出力が文字化けしてミキサーも情報もろくに得られない>< ちょっといったん寝ます。
文字化けはこちらでも起きましたよ 文字コードが直す方法知らないので気にしてませんでしたが
スリープ時間からしてかなりの低スペックマシンなんじゃ
472 :
437 :2013/03/09(土) 05:14:07.88
>>468 なった〜!!ありがとうございます
さっきならなかったのはwav書き出しを消さないままリスナー追加してたからっぽいです
あれ、だけど
/*try {
AudioSystem.write(audioIn, AudioFileFormat.Type.WAVE, new File("test.wav"));
} catch(IOException e) {
e.printStackTrace();
}*/
のコメントアウトを外すと鳴らなくなる・・・
>>455 でも書いたけど
wavファイルに書き出すと登録したデータが空になるとかだと思う
所謂キュー(queue)みたいに音データ取り出すとデータが減ってくみたいな
たぶん、確信はないけど
書き出しと再生を行えるようなソフト(GUIで波形合成してテストプレイ→気に入ったらwav書き出し)を作る予定なのですが厳しいですかね? 今再生した後に書き出してみましたが、ファイルが壊れていて再生できませんでした。 tempファイルとして書き出してそれを読み込んで再生とかにしたほうがよさそうですね
再生と保存をしたいのなら
>>468 に
>>461 を加えて
次の修正を
clip.open(audioIn);
↓
clip.open(audioFormat,data,0,data.length );
これで出来ない?
>>461 を加えるというより元の場所に復元させると言ったほうが言葉として正しいか
別の方法でもできた clip.open(audioIn); ↓ audioIn.reset(); clip.open(audioIn); これでも音再生されたよ こちとらあんまJava詳しくないもんでね余計なレスが多くてすまんね
初心者同士が助け合うスレ
apkファイルをapktoolで解凍しようとしたら 失敗するんだけど何が足りないのかわかりません。 教えてください。
>>442 よくわかんないだけど、swingでキー入力調べるときってKeyEvent.VK_LEFTとか以外に方法があるって事?
Swingのテキストファールドに入力された文字をSQLite3に入れたいんですが、エラーが出ます int id = 1; stmt.executeUpdate("INSERT INTO item (id, title) VALUES (" + id + "," + title.getText() +")"); title.getText()を変数に入れてからやってもエラーでました、title.getText()を使わず文字を入れた場合はエラーでないです データベース名とかの凡ミスは何回もチェックしたし、誰かやり方教えてください
>>482 PreparedStatementを使いましょう。使い方はググってね。
>>482 titleをシングルクオートで囲んでないから?
ゲーム等のキー入力には使え無さそうな
487 :
デフォルトの名無しさん :2013/03/09(土) 16:53:03.92
ゲームのスクロールのやり方を教えてください 考え方を・・・。
>>487 タイマーで 1/60 ごとに少しずつずらした画像を作って表示しろ
結局わからなかったのでIDだけ作ってからデータ変更で入れることにした
>>482 SQLiteは使ったことないけど、
受け取った例外の中にSQLiteのエラーメッセージは表示されないの?
>>469 文字化けの件は、取得できる以前で情報切り捨てられてて変換すらできないってどっかで見た
ググったら検証ブログが出てくると思うよ
ちなみに現バージョンで直ってるかは知らない
>>492 もちろんその辺ggって見ましたが、正直あきらめてます。
現バージョンでおそらく直ってない
音を鳴らす需要というとアプレットかGUIアプリかだからオラクルは対応する気ゼロなんだろうな
Java Sound APIとJMFの立場は?
Javaってライブラリに名前つけるの好きだよね
Java Media Framework - Wikipedia
http://ja.wikipedia.org/wiki/Java_Media_Framework >JMF はサポートしているコーデックが少ないと言われている。
>例えばJavaバージョンでは、MPEG-2、MPEG-4、RealMedia、ほとんどのQuickTimeムービー、Flash 2 以降のFlashコンテンツを再生できないし、MP3の再生にはプラグインが必要である
>サンはJMFを放置しているように見える。APIが最後に修正されたのは1999年で、公式サイトの最新ニュースの日付は2004年11月である
それは配列の要素番号が範囲外の時に出る ソースコードの修正が必要だから作者に報告してみれば?
簡単な質問なんですけど あるクラスのメソッド[たとえばfoo(int a,int[] b,Integar c)] があるとするとメソッド内でaを変更しても引数でいれたint型の変数には影響 無いと思っておいてよいですか? つぎに、bは配列のオブジェクトなので変更すれば影響があると思っておいて 良いですか? で、最後のcはIntegerクラスのオブジェクトなので変更すれば影響があると 思っておいて良いですか? 馬鹿な質問かもしれませんが、教えてください。
501 :
デフォルトの名無しさん :2013/03/11(月) 07:37:48.19
録画ソフト作ろうとJMFDLしたが、廃墟感が凄くて、案の定数年前に死んでた
502 :
デフォルトの名無しさん :2013/03/11(月) 07:42:19.83
>>500 よくない
プライベートな変数と引数名を一緒にして、前者にthisをつけるのがJavaの定石
ただ引数がないならthisつける必要はない
が、つける人もいるし、「つける必要がない」ことを意識するためにつけない人もいる
>>502 >>プライベートな変数と引数名を一緒にして、前者にthisをつけるのがJavaの定石
笑点?
thisなんかつかってないよ。 thisをいちいちつかう言語をみてびっくりしたよ!
505 :
桃白白 :2013/03/11(月) 11:24:11.98
>>500 桃白白が教えてあげちゃう。
> aを変更しても引数でいれたint型の変数には影響無いと思っておいてよいですか?
いいよ。
> bは配列のオブジェクトなので変更すれば影響があると思っておいて良いですか?
いいよ。
> cはIntegerクラスのオブジェクトなので変更すれば影響があると思っておいて良いですか?
いいよ。
1番目の質問と2番目の質問では「変更する」の対象が違ってる。
1番目の質問の「変更する」の対象はaが指し示す値。
a = 2とか。呼び出し元に影響はない。
2番目の質問の「変更する」の対象はbが指し示すオブジェクトの状態。
b[0] = 2とか。呼び出し元にも影響する。
1番目の質問と同じように「変更する」の対象がbが指し示す値だとするなら
aと同じように呼び出し元に影響はない。
b = new int[0]と書いても呼び出し元の変数は変わらない。
3番目の質問はcが指し示すオブジェクトの状態を変更すれば影響はおよぶ。
しかし、Integerクラスは状態を変更することができないもの。
じっさいには呼び出し元に影響をおよぼすのはムリ。
>>502 嘘付けwフィールドの頭にmやらfやらアンスコ付けるのが定石だろ
507 :
デフォルトの名無しさん :2013/03/11(月) 11:34:46.14
質問です。 A.jpgというアイコンを設定したトグルボタンをONにした状態で、 B.jpgというアイコンを設定したボタンをクリックすると、 トグルボタンのアイコンがB.jpgのアイコンに変更されるようにするためには、 どのように書けば良いのでしょうか? ボタンのactionPerformedイベントの部分にコードを書いてみましたが、 思ったように動かず、アイコンが変わりません。 どなたかお教え下さい。お願いします。
配列の容量よりもでかいインデックスを参照しているだけ
>>505 明確に答えて頂きありがとうございました。
>>505 さんの前に答えていただいたレスは、僕の質問方法が悪かった様で
thisつけるかぎりは、メンバの事をさしているようだったので失礼しました。
実際は、こんな事コードで書いて確認すれば良い話だったのですが
めんどくさがりな自分なので、質問さして頂きました。
510 :
桃白白 :2013/03/11(月) 12:18:49.72
/!/{ / ヾ--r
_ /  ̄ <_
_>`´
>>509 ___<_
> r‐'" ̄ ̄ ノ ̄ ̄`ヽ、―ニ 二
/ , | `ヽ/ ´`ヽ _ 三,:三ー二
 ̄/ | ノヽ--/ ̄ , ` ̄ ̄ ̄
/ /⌒ヽ,| ミ } ...| /!
レ l d _}`ー‐し'ゝL _
| ヽ、_, _,:ヘr--‐‐'´} ;ー------
|/| \ ノ`ヾ:::-‐'ーr‐'"==-
ヽ/l/|` ー------r‐'"  ̄ ̄
|└-- 、__/`\-:、
__,ゝ,,_____/ \_」 \
>>506 >
>>502 > 嘘付けwフィールドの頭にmやらfやらアンスコ付けるのが定石だろ
なんだこのC++/C#の老害は
>>509 まあコイツみたいな人まかせな釣り師は殴られてもおかしくないな
>>506 はJavaをよくしっていればやらなくてもいいことをやっている余計な人だな
プリミティブは実態を渡す
クラス変数は参照を渡す
なので
>>500 は正解
でも、Stringは値渡しだから・・・ 気おつけろ!
Stringも参照の値渡しだな。 不変オブジェクトだから普通は状態変更できないだけで。
foo(v1,v2,v3);//呼び出し foo(int a,int[] b,Integar c){ a = 5; // v1の値は変わらない b[0] = 5; // v2[0]の値は変わる b = new int[0]; // bはv2と違う参照先になる b[0] = 6; // v2[0]の値は変わらない c = new Integer(5); // cはv3と違う参照先になる } こうか?
>>516 > b[0] = 6; // v2[0]の値は変わらない
ここで例外。
きゃいーん
> b = new int[0]; これは成功するのか
やってみればすぐわかるだろ。馬鹿か
TableModelEvent.INSERTってなにをもってinsertと判断しているんですか?
APIドキュメントを読んでも分からなかったってことかい
「TableModelEvent.INSERT」でググりなさい
現在サーバ用アプリケーションで以下の様なソケット管理をしているのですが、 常に接続していた方が良いのでしょうか? 1、サーバ待ちうけ 2、クライアントからサーバへ各種要求(ソケット生成) 3、クライアントのソケットを破棄 2、3を以後繰り返す様なプログラムになっています。
>>516 b = new int[0]; // bはv2と違う参照先になる
v2がint[0]で初期化されんじゃね
>>522-523 insertやupdateをどういうトリガで検出しているのかを知りたいのです。
TableModelListener()のtableChangedがテーブルの状態変化をみてる?
insert=行が追加された
update=セルの値が変更された
ってのをみているんですかね?
>>524 クライアントの接続形態による。
クライアントの数が少数かつ特定なら接続し続けてもリソース不足にならないだろうけど、
クライアントの数が多数もしくは不特定なら接続し続けるといつかリソース不足になる。
サーバ関係や、Apache Commons用のpropertiesの設定ファイルの置き場所をどこにしようか迷ってる みんなpropertiesファイルをどのディレクトリに置いてる? それともjarの中に突っ込んでる?
529 :
524 :2013/03/12(火) 17:12:28.37
>>527 レスありがとうございます。
サーバに接続してくるクライアントが少数なので、常時接続するようプログラムを修正してみます。
>>528 カスタマイズが必要なら外だし。
そうでないなら好きにしろ。
でいいんじゃね?
>>530 後で毎回変更することがあるし
しかも客に指定させる必要があるときがあって
どこにすればいいのか迷うことがあった
それとAppletや通常のGUI Javaアプリケーションではどこに置けばいいのか迷うなあ
基本内部にいれて、OSの環境変数でパス指定してたらそっちから読む。
>>532 そうなんだろうけど
Eclipsede "String"の外部化ってのがあるよね
あれでResourceBundle使って各種設定項目をpropertiesファイルに置く。
そしてそのpropertiesファイルのファイルパスもまた別のpropertiesファイルから読み込む
そしてさらに、Apache Velocityの設定ファイルもpropertiesファイルに置く
んでさらにJavaDBを使っている場合、それ関連の設定もpropertiesファイルに置く
そしてLog4j、Java Logging API関連も…
ファイルIOのためにファイルの絶対パスを記述するためにどこかにpropertiesファイルを置く
こうしてどれもこれもpropertiesファイルだらけになる
>>531 GUIといってもただのスタンドアロンアプリなんだから、好きなところにおけばいいじゃない。
ユーザーごとの設定が必要ならユーザーディレクトリとか。
Appletはクライアントへの保存はあきらめて、サーバーに保存するしかないんじゃね?その場合、プロパティファイルへの保存にこだわる必要はなくなるだろうが。
>>534 最後の一文は無視して。Commonsのプロパティとかって用途限定されてたのに一般論書いてた。
疲れてるらしい。もう寝よう。
536 :
500 :2013/03/13(水) 07:11:33.92
一応ためしました public class Method_test { public Method_test(){} public void testmethod(int a,int[] b,Integer i) { a = 10; b[b.length-1]=10; i = new Integer(10); } } public class MainClass { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Method_test mobj = new Method_test(); int a = 1; int[] b = new int[]{1,2,3}; Integer c = new Integer(1); System.out.printf("%d %d %d \n", a,b[2],c); mobj.testmethod(a, b, c); System.out.printf("%d %d %d \n", a,b[2],c); } } 結果、Integerのobjに変化がみれなかったです。 これはやはり、プリミティブな型だからでしょうか、教えてください。
(1) メソッドの引数は値渡し。仮引数への代入は実引数に影響を与えない (2) 変数はプリミティブに対しては値を保持するが、オブジェクトに対しては参照を保持する (3) 配列はオブジェクト
残念だが完全な解説ではないな 間に受けるとバグが出来る javaって本当にいい加減な言語
そうだな。Stringもバグってるらしいしな
全くの初心者なんだがJavaかCをやる必要があるんだ どっちをやるべきだと思う?
>>541 どっちから始めた方がとっつきやすいだろうか?
Java経験者からの意見を頼む
543 :
デフォルトの名無しさん :2013/03/13(水) 09:10:53.25
>>536 Integerはプリミティブ型じゃないよ。クラス型。
Integer型の変数が変わらなかったのはオブジェクトの状態が変えられなかったから。
変数に別のオブジェクトを代入するのは変数の状態を変えること。
変数の状態を変えることとオブジェクトの状態を変えることとは違うもの。
Integerは不変オブジェクトだからオブジェクトの状態を変えることはできない。
馬鹿には無理
>>534 そのファイルの絶対パスをハードコーディングするのって問題だよね
設定ファイルを読みこませなきゃいけないし
ここはJava Preference APIの出番か?
>>542 言語の開発された時系列で考えれば答えはでるだろ。
>>540 まぁ、C言語で、ポインタ、構造体、線形リストまで理解しとけばいいんじゃない?
#define とか、typedefとかの意味合いもりかいしとけば・・・
まぁ、C言語も良いだしゃきりないが、C++でもVisual StudioのMFCのコードとか
見てみると、無理やりなさと#defineのマクロ関数見るとうんざりするな。
Javaは、ポインタが無いのと、C++でいうoperatorがないので、最初は
とっつきにくいだろうけど、Javaでオブジェクト指向のなんたるかを勉強・・・
ま、とりあえず、Eclipseインストールして、C/C++を導入して
コードを書きまくるしかないだろう。
>>545 クラスパスにプロパティのあるディレクトリを追加して
ClassLoader#getResourceAsStream使うのじゃダメ?
>>540 Java。
Cが教養だった時代はもう終わった。
CはCが必要な人がやるべき言語だ。
他の人はもっと多機能な言語をきちんとやるべき。
C言語をやったあとJavaに入ればJavaがいかに楽な言語かが分かる Javaから入ってC言語をやると、匙を投げたくなるレベル
最初に学ぶ言語としてCとJavaを比べるならJavaだね。 JavaとPythonやRubyといった言語を比べるのであれば色々議論はあるけど。
>>554 C++からjavaでもサジを投げたくなったぜ
『C++なら超簡単に実現出来る事ができないんだ』 ってね
Eclipseのエディタ環境が抜群に良い(スピードは抜群に遅いが)ので相殺されるけどね
馬鹿には無理
ジャバは料理をする時に全部同じ包丁を使うようなもの ようは文化包丁 どれだけ極めても料理長にはなれない 所詮主婦の台所レベル
プログラミング言語全てに言えることをJava限定で言ってみた!
開発の道具として考えるのならツールやライブラリ類が充実している言語を使うべき その観点ならJavaやC#が最適。C/C++は組み込みかゲームなど特殊な理由がなけりゃ使わない
マイナー包丁を極めて料理長になっても出来る料理もマイナーすぎて客は少なく店も小さいっす(´・ω・`)
540は必要があるってことだが 会社とかだと研修とかで覚えるとかじゃないん?自主勉強なん? 働いたことないから知らんけど
ペロペロ
やらしさが足りない!
566 :
桃白白 :2013/03/13(水) 17:34:58.70
>>563 STLはちょっとうらやましいよね。STLをJavaにポーティングしたやつは
有料だしな。誰か無料で公開してくれないかな。
____
/ ⌒ ⌒ \
./( ―) ( ●) \
/::⌒(_人_)⌒::::: | チラッ
| ー .|
\ /
567 :
デフォルトの名無しさん :2013/03/13(水) 18:22:22.13
JAVA ← これの発音は ジャワ ですか? ヤワ ですか? ジャヴァ ですか? ヤヴァ ですか?
ジュワッ
ドイツ人なら「ヤファ」だろ
571 :
デフォルトの名無しさん :2013/03/13(水) 18:36:34.68
つまり国によって呼び方が異なると?
じゃば
ジャワ 昔もっくんが宣伝してた
まいける じゃない みひゃえる だ
みしぇる だよ
みかえる
みっちぇる
581 :
デフォルトの名無しさん :2013/03/13(水) 21:19:44.71
ジャワティーとかあるじゃん 初めてJavaに携わったときジャワって読んでたわ 誰も指摘してくれなかったから今日までずっとジャワって読んでたわ
力が欲しいか。。。
あの、お風呂で、ジャ(ry
紅茶ならジャワ、コーヒーならジャヴァ
ヴァバザハット
>>566 さすがにC++のSTL1およびBoostは
結局それだけC++は、拡張性がたかかったおかげだけど
俺は、いまだJAVAになぜoperatorが無いのか、それさえあればと思ったりもするし
C#のようにoutや、refがないのか(まぁ、C#はJAVAを参考にして
拡張しただけのようなもんだけど)とも思う
ミハイル
今学生で時間があってプログラミングを学ぼうと思っています プログラマ志望ではないですが、PC使えると捗ると思うのでJavaを勉強しようかと思っていますが、他の言語のほうがよいですか?
ゲーム作ってみたいとかツール作りたいとか、 目的持ってやれば言語は別になんでもいい。 やりたい事がないんだったら別のことやったほうがまし。
確かに目的は明確にもっていなかったです TOEICの勉強でもすることにします どうもです
TOEICも目的持ってやれよ
ならJavaはお勧めしないな。個人的なちょっとした作業の範囲だと正直あまり使い道がないから。 操作を自動化したい->Perl,VBA もうちょっと複雑な処理がしたい->Python.Ruby Webサイトが作りたい->HTML,JavaScript,PHP GUIアプリが作りたい->C# JavaはAndroidアプリを作りたければやってもいい
風呂釜じゃばとかジャバ・ザ・ハットネタとか懐かしいな 昔の Java-House メーリングリストのハウスジャワカレーネタは出ないのか
swtで、shell にラベルを貼っているんだが、 Shell をdispose するとき、ラベルを先にdispose するべき? それとも、親がdispose すれば子はdispose する必要がない?
>>588 ナニをしたいかにもよるが
全般的なことを学びたい学生ならJavaは超おすすめだな
他にプログラミング経験がないなら
>>592 はちょっと目的が違う
Libre Officeが普及している時代にMSOfficeでしか使えないVBAとかは余計だと思うがな
JavaScript、PHP知らなくてもWebサイトは作れる。というかJavaScriptは今はコピペだけで済ませて知る必要がない
Javaと一緒に勉強しようとすると混乱するかもしれない。Ajax、jQuery、HTML5、CSS3でバリバリやりたいのなら勉強してもいいと思うが。
GUIアプリだけに特化したいならC#もいいだろうが、サーバサイドやその他汎用的な環境で作りたければJavaの方がいい
Javaよりも複雑な処理をするのにPythonやRubyを進めるのも間違っている
むしろJavaの方が複雑
特に目的がないなら一番役に立つ可能性が高いのはVBAなのはどう考えても事実だよw もうちょっと汎用的にいきたいならスクリプト言語覚えるのが有効 PCの勉強ならCだな
>>588 たった一つのレスで諦めてしまうとは、もったいない。
なんとなくプログラミングをやってみたいならJavascriptとHTMLをやってみては?
テキストエディタとブラウザがあれば始められるし、文法もとっつきやすい。
>>596 Office持ってないとVBA使えないんだよ。
>>598 それはもっともだが、そもそもプログラミング言語以前にOfficeが使えない奴は使えないよw
とりあえず役に立つ可能性の高いPCの勉強がしたいんならOfficeの練習一択だろ まあVBAまで行くかどうかはともかくとして、認めたくなくても最重要スキルなのは確かだ
>>596 いまどきCなんて勧めるのはやめようぜ。
初心者向けなら他にもいくらでも良い言語があるんだから。
こんなところにいると感覚がおかしくなるが、世間一般ではVBAができれば神 VB系から入るとアホになるから、JavaとかPythonとかちゃんとした言語で素養を身に着けてからVBAやるのもいいかもね
officeとかイヤでも使うし、使ってるうちに覚えてしまうだろ。 この前個人的にサポートお願いされて困った奴が、 社員の趣味が高じてExcelでつくった奴のリプレイス。 その会社が小さいうちはどうにかなったけど、 ちゃんとやり始めると色々とむずかしくなってきた、っていうありがちなパターン。
Javaスレでやる話だろうか
Android以外ではジャワは使いなくないな サイズは増えるがbcbが一番楽チン
デルファイでもスマホアプリが組めるってあったが パスカルでやる位ならjavaだな
>>594 shell.dispose();
System.out.println(label);
出力
Label {*Disposed*}
のようになったよ。もちろんclose()メソッドでも同じ。
ちゃんと確かめてないが、おそらくParentにshellを設定してる場合でshellを破棄すると子も破棄されるという一番自然な仕組みだと思う。
ゆえに段階的に最下層まで破棄されるはず。
>>604 Javaスレなのにあまりオススメされてないのが面白い
個人的に使う言語にJavaはないわ Androidみたいにそれしか使えないかバカの一つ覚えか
Javaは動けばいいや的な側面が強すぎるからCやC++をやってきた自分としては好きになれない、ブラックボックス化しすぎ。 それでもしゃーなしやってるけど。
お前が在日
むしろ自由はきくがC、C++の野晒な感じのほうが出来上がったものに「動けばいいや」的な作品が多い気がする Javaはそれが最初からできないから設計でつめるしかなく、解法パターンが自ずと狭まる=設計には吉
だな
>>610 ブラックボックスってのは裏を返せばプログラマの技量と関係なく一定のセキュリティ対策が保証されてるということ
CやC++ではプログラマの腕がへぼだと際限なく脆弱性を放り込める仕様だからプログラマの腕次第ではとんでもないことになる
おっと。Javaにセキュリティの話は鬼門だぜw
使うだけでもれなくセキュリティホールが付いてくるもんな
>>615-616 これだけ多くの人間が関わって開発してるJREですらバグを完全に消すのは不可能ってこと
つまり個人開発者がJREの手を借りずに一から同じ機能をC/C++で開発したらJRE以上にバグを混入させることは明白
Javaの脆弱性を批判するのは「Windowsには毎月これだけの脆弱性が見つかってる。俺がOS作れば脆弱性なんてなくせるのに」って言うのと変わらん
だがCなら回避作がある
>>617 その通りだと思う
ウィンドウズの「重要な更新プログラム」を本腰入れて確かめてインストールする奴なんてほぼいない
それと同じようにJavaが使われてるから、言語のなかで目立ちすぎてる部分は否めないが
役に立ってるならいいんだよ Javaが嫌われるのはほとんど使われてないのになんとなく入ってて問題起こすから
赤信号皆でわたれば怖くない じゃないが、今そんな感じジャン昨今のSNSにしろゴーグルにせよ 重要なセキュリティの問題が見つかっても多くの所で既に使われていると力で押し切れる心理ってあるじゃんww
JavaはEEとネイティブパッケージだけにしてSEを廃止するのがベスト 消費者PCに入ってても変な悪評の元になるだけ
馬鹿には無理
このスレ見てるとC/C++でずっとやってて、仕方なくJavaで作らなければいけなくなって愚痴りに着てる人が多い気がする で、見るからに、サーバー系やっててJavaにきたとかじゃなくて、Androidのアプリを作らされてる感がヒシヒシと伝わってくる というか前者でうつってきたならある意味天国なわけだが
609は10年前から2chでJavaアンチ活動をやってるキチガイか
そういや過去ログ見てるとこのスレに似てる口調&お決まりの文言でてくるな〜とは感じてた 単発スレとか色んなところに書き込んでる気がする
>>C/C++でずっとやってて、仕方なくJavaで作らなければいけなくなって >>Androidのアプリを 3ヶ月経つと慣れる 無いものは無い とあきらめがつくようになる
>>586 >(まぁ、C#はJAVAを参考にして
>拡張しただけのようなもんだけど)
どこで噛まされて来たのか、
最近こんなこと信じてるやつが嫌儲にもいたな…
jtableの新規行のセルにデータを入力したのち button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { TableTest.this.insert(); } }); で、SQLのINSERTは出来ているのですが、jtable自身が更新されません。 どうしてINSERTしたデータが更新されないのでしょうか?
テンプレ読んだのですが、判断がつかなかったので質問です JSFに関する質問はここでしてもよいのでしょうか?
C#はいろんな言語のいいところだけを見境なく拾ってきただけだよ。
そのC#の機能を見境なく拾ってるのが今のJava
ならJavaでいいやん
全然拾いきれずに時代遅れのウンコ言語化してるのがJava
JavaとC#に決定的な差なんてあるの? ラムダ式とかフレームワークでどうにでも補完できる機能くらいしか差は思いつかない
>>588 Javaは設計手法まで学ばないと活かせないし、まともなものは作れない。
自分のためのツールを作るなら、bashをススメておく。
Java5以後、SunのゴタゴタからOracleへ買収と、 開発体制に影響するようなことがいろいろあったからなあ。 でも今年のJava8からV次回復するで!
それはないんだ・・・
641 :
デフォルトの名無しさん :2013/03/15(金) 00:03:37.63
Javaの脆弱性はJavaのVMにかかっているが C++の脆弱性はC++でアプリ作った奴の腕にかかっている
>>640 例えばC++では最終的には出力されたアセンブリを直接読めば全ての動きが理解できるけど、
JavaはJVMの中身を見ることは現実的には不可能だからどんな単純なプログラムでもJVMというブラックボックスを通すことになる
643 :
デフォルトの名無しさん :2013/03/15(金) 00:29:44.93
java.exeを逆アセンブルすれば
> 現実的には不可能
>>642 JavaVMを何でコンパイルしたと思っているんだ。
アセンブリと比較するなら中間コード、JavaVMと比較するならCPUだろ。
むしろJVMの怖いのは逆アセンブルして関数名検索されてバイナリ単位から弄られることじゃねーの? 特にわかりやすい関数名つけたままクラック対策してないことが多いよね
647 :
デフォルトの名無しさん :2013/03/15(金) 02:37:22.46
proguardつこてる?
あー、javaに慣れてからwin32api使うと引数等が何を意味してるか覚えづらいしわかり辛いからい嫌になる
javaもwin32apiも資料いっぱい出てるだろ
そういやJavaでアニメーション情報もったgifを書き出そうとすると大変だった記憶があるが、 JavaFXでその辺対応してたりするの?確か簡単にgifアニメーション再生はできたはずだが
gifのファイル構造は解釈できても書き出せないとは・・・なさけない
そういう意味でいってるんじゃねーよ gifファイル構造をパースするのが不便なつくりになってるだろ? 勝手な妄想はやめなさい
>>636 call by reference は Java にはない
オプショナルな型付けとか型アノテーションってどうなの。 動的型付け言語を使っている人にとっては融通さをスポイルするので邪道なのかな。
誤爆った。
ああ、あのスレで粘着してるのって やっぱりJavaドカタだったのね
>>642 Java仮装マシンのオペコードを意識するようになると視野が広がる。
バイトコードなんかほとんどJavaそのままだろ
バイトコード...いかにも凄そう...爆笑 コンパイルも出来ていない半ナマ状態(肉ならベリーレア(ユッケか?)、魚ならタタキ、状態) せめてシンボル位なんとかすればよかったのに(PG無しでも) 初めて知った時、開発者バカか?と思った それか何か他に理由(悪だくみ)があるのか? と推察してるんだけどね
むしろそのバイトコードがハッカーの餌になっていたりして面白いのがJava
JVMはJava前提で他の言語のこと考えてないから仕様がしょぼいんだよね .NETのCLRでJVMを実装するのは全く問題ないけど逆は不可能(エミュレーション的な実装になる)
わし、Javaがすきやw Java書いてるとき、ナルシスティックになれるw
>>625-626 昔から単発で暴れていた奴といえば「嘲笑激藁」や「ゲラ」をつけてJavaアンチやってたVB兼C#厨を思い出す
少なくとも8年以上前から彼らの口調や主張はそんなに変わっていない点がポイント
彼らはマイクロソフトから派遣されたエヴァンジェリストではないかと噂されたこともある
当時は実際マイクロソフトがエヴァンジェリストを雇ってC#の布教活動に必死に励んでいたからなあ
「Javaは終わる。これからはC#と.NETだ!」みたいな宣伝を必死に煽りながらやってるレスをあちこちで見かけたな
だいたい5人くらいのC#信者が煽ってたから何もわからない人にはあたかもC#優勢でJavaは本当に終わりなんだろうなあ
と勘違いする人もいたかもね
それから煽る人物が一人か二人くらいに落ち着いてきた感じだね。今だと一人が積極的で他は消極的にJava批判をしている感じか
あの頃からJavaはもう終わり終わり死滅する死滅すると連呼していたのに10年経ってもJavaは死滅もしていないし終わってもいない
>>638 Oracle買収はJava7以降の話だよ
Java5はむしろJavaの快挙、Javaの大変革といってもいい大成果
Genericsとアノテーションのお陰で開発効率は大幅に向上しているからな
>>642 EclipseのByte Code Outline っていうプラグイン入れればアセンブラのようにJavaのバイトコードを解析できるよ
>>649 Win32 APIはごちゃごちゃして整理整頓されていなくてもっぱら評判が悪いけどね
C/C++時代の過去のゴミを名残として残しているせいで余計な物が多い
>>659 あんた10年経っても煽るのも例えるのも下手くそだねえ
それともJavaを最近初めて知った新参の別人か?
それを本気で言ってるなら無知をさらけ出しているようなものだよ
まあUnixのカオスっぷりにくらべたらw WinRTで一掃されたしな
>>661 その程度で仕様がしょぼいならParrotもそこいらのVMもしょぼいものになるな
.NETは他の言語のこと考えている反面、煩雑になっている
>>666 バイトコードなんてJavaのソースコードをちょっとフラットにした程度のもんだよ。
実際の動作が見えないことには変わりない。その必要があるかどうかはともかく。
バイトコードを見ればいいとか言ってる奴はバイトコードが実際にどういうものか全く理解してない証拠 十分高級言語だぞあれ
>>665 5のころまでは良かったんだよ。
Javaの入門者には2005年より最近の書籍で十分間に合うよって勧められるレベル。
そして2000年代後半のSun末期の会社全体の迷走っぷり売上低迷がオラクルの買収につながる。
オラクルは絶好調のSunを買収したわけじゃない。
>>673 ってか、JavaDBとかとなるとJava5では間に合わんだろうなあ
どっかのマニアックなハッカーのサイトで見た記憶あるんだが、 バイトコードって関数名は見えちゃうんだよね? それを検索かけてコンパイルし直すととあるウィンドウズのソフトの試用期間を外せました。みたいなサイトを見た覚えがある
>>675 それどころか逆コンパイルかけたらほとんど元のソースに復元できる
>>675 お前はマニアックの意味を勘違いしている
Maniacの意味を辞書で調べろよ
向こうで「お前の趣味はマニアックな趣味だ」なんて外人に言ってみろ
ぶっとばされるぞ
679 :
デフォルトの名無しさん :2013/03/15(金) 12:46:50.54
>>678 君は机上の勉強はほどほどに、口語の勉強するよろし
マニアック=「〜狂」だからな マジでキチガイっていう意味だから 下手に使うと嫌な顔をされる 結婚式のaisleのことをバージョンロードと呼んで 結婚前の女性に嫌な顔をされたって話は有名だ あっちではヴァージンロードは汚らしい道っていう意味 virgin roadに、そこいらの勘違いした日本人が考える「純潔さの象徴」などない
一般的なハッカーは犯罪をやらないが、自称ハッカーが犯罪をやるケースが多い
>>682 ハッキングは本来、高等な技術をさす言葉で、褒め言葉でもある
ハッキングを犯罪というようになったのは、マスメディアの誤用
ハッキングのうち、とくに犯罪に関わるもののことをクラッキングといって区別する
Java Swing Hacks
maniacは口語的に日本で使うマニアックと似たような意味もあるよ
だが殆どの場合悪印象に見られるけどな 侮辱と取られる
まぁ100歩譲ってmaniacが侮辱ととられたとして、日本語の意味でマニアックを使ってることに噛み付くお前は電波以外の何者でもない
馬鹿には無理
ここでやっと正論が出た
>>688 ありえない
つうか間違った和製英語を広めるから
>>689-690 のような馬鹿が増えるんだっていうの
「彼はハッカーだ」と誰かに言われたら第三者から犯罪者扱いされるとかウザすぎるだろ
ウェブサイトのことをホームページとか呼んで普及させた馬鹿マスゴミもいるし
迷惑すぎるだろ
coolだな
>>691 カタカナ語は全部日本語なの
だからなんでもありなのさ
例)キャブレターなんて英語はない
例)エネルギーなんて英語はない
例)ビタミンなんて英語はない
例)コーヒーなんて英語はない
山ほどあるねぇ
694 :
デフォルトの名無しさん :2013/03/15(金) 16:47:35.87
クラスのインスタンスはすべからくヒープに確保されるのでしょうか? 極めて頻繁に更新・参照される値をクラスで管理した場合にnewが連発し、 性能が劣化するのではないかと懸念してます。 たとえば、3Dグラフィック処理において、頻繁に更新される空間座標の値をクラスで管理した場合、 getter内のnew(あるいは参照引数側のnew)を連発するとガベコレが動きまくる? これらの値をスタックでやり取りする方法はありますか?
>>694 newはヒープに確保
ヒープにないとGCが動けない
>>性能が劣化するのではないかと懸念してます。
おっしゃる通り その通り
>>これらの値をスタックでやり取りする方法はありますか?
そこでC++登場です
696 :
694 :2013/03/15(金) 16:58:07.92
>>695 回答ありがとうございます。
うわーん、絶望した。
つまりスタック使いたければ全て基本型でやりとりするコードを書けと・・・なんて拷問
>>693 だから?
つかヴァージンロードは論外だから
そこに上げられてるものは発音さえ気をつければ通じる
だふぁヴァージンロードはどんなに発音に気をつけても向こうでは誤解されるんだが
すべてグローバル変数にすればおk
699 :
694 :2013/03/15(金) 17:31:54.96
>>698 よく理解できないのですが、自分がやりたいのはC/C++みたいなスタックのやり取りです。
struct A {
int a;
int b;
};
struct A get(void)
{
struct ret = { 1, 1 };
return ret;
}
struct A inc(struct A *a)
{
a->a++;
a->b++;
return *a;
}
int main(void)
{
struct A a = get();
struct A b = inc(&a);
...
}
質問した本人もうすうす気づいてると思うけど、トンデモ回答しかこないからここで聞かないほうがいいよww ここはJavaの評価を必死で下げたい人ばかりだからヤフー知恵袋で聞くほうがまだまし
C#でも使ってみては
>>696 その辺の最適化はVMがある程度はやってくれるよ。
たとえば頻繁に使うヒープのデータを一時的にスタックに載せるぐらいはやってくれる、らしい。
あとnew連発とかは工夫次第でなんとかなるっしょ。
>>699 グローバルにしてもnewした実体はヒープにあるし、javaの構造体(クラス)はC++とは別物です
>>702 例えば内部でnewするgetメソッドを複数回呼んだ場合、全て別のヒープ領域にインスタンスが
生成されるはずなので、メソッド自体は頻繁に使うが、結果として生成されるヒープは別物になるので、
最適化は働かないかなと思います。
単純にコーディングを楽にしたいので、データのやり取りをクラス経由にしたいのです。
例えば(またグラフィック関連ですが)、アプリ初期化時に描画オブジェクトの相対座標を全て設定しておき、
描画フレーム毎に絶対座標を算出する処理を実装しようとすると、その絶対座標を取得するやりとりに
x座標、y座標、z座標を持つクラスを使用するとコーディングが楽になると思います。
>>695 そ、そうなのか?
あるクラスで頻繁に使う変数を
1.毎回Newで作る
2.クラスのメンバー変数として再利用する
して、
2.の方がパフォーマンスが悪いんだが。
>>705 ちょっと何言ってるのかよく分からないです
>>705 他に問題があるのでは?
>>再利用する
どんな方法?
クラスをnewとかStringを使わなければそんなはずはないと思うけど?
>>705 最近はほとんどnewしない
scan-baseで、package指定して
@Component
@Service
@Repository
@Controller
@Endpoint
等々…アノテーション
参照するときは
@Autowired
これだけで充分
void test1(){ int[] = new int[10];
int[] r1 = new int[10]; public class Pattern1 { void run(){ r1[0] =10; } } public class Pattern2 { void run(){ int[] r2 = new int[10]; r2[0] =10; } } 圧倒的にスピードが違うんだけど しかもpattern2の方が早い
JFSって新規開発で今でも採用されることはありますか?
>>704 たとえばget がインライン展開される場合、
インライン展開された先でgetで生成されたインスタンスが即座に廃棄され、
再びgetでインスタンス生成されるなら領域使いまわされる可能性はかなり上がる。
>>704 エスケープ解析について調べてみるといろいろ興味深い
それはそれとして、呼び出し側であらかじめ確保してある戻り値用のオブジェクトを引数で渡しそこに入れてもらうとか、
オブジェクトプールで使い回すとか、可読性を犠牲にしてでもGCを抑えたいなら、いろいろ書きようはあるはず
>>710 な ことはないな
ヒープだろうがスタックだろうがメモリアクセスの時間はそうは変わらない
個数が少ないのでGCが出てないだけ
こんなミクロベンチに意味があるとは思えんが、後者の方が早くVMが無駄に気が付く可能性は高いだろうな
int(プリミティブ)だし、副作用なさそうならコンパイル時点で最適化されるでしょ。
コードが
>>710 のまんまなら除去されるはず。
717 :
694 :2013/03/15(金) 22:26:46.11
>>710 はコードがまるっと削除されてるだけだろうな
ところでエスケープ解析なんかほとんど当てにならんぞ
数値計算をやったことあるが思うようにスタックに取ってくれた試しがない
>>716 >>int(プリミティブ)だし、副作用なさそうならコンパイル時点で最適化されるでしょ。
じゃば でっせ コンパイルなんてしてないヨ
最適化? 大笑い
720 :
デフォルトの名無しさん :2013/03/16(土) 09:06:26.09
生成されたバイトコード // Pattern1 void run(); Code: 0: aload_0 1: getfield 4: getfield 7: iconst_0 8: bipush 10 10: iastore 11: return // Pattern2 void run(); Code: 0: bipush 10 2: newarray int 4: astore_1 5: aload_1 6: iconst_0 7: bipush 10 9: iastore 10: return
>>721 だからバイトコードなんて意味ないってば
JITのときに最適化されるんだから
バイトコード君こそ
>>719 みたいなネタじゃなくてマジでJVMがインタプリタだとでも信じてるんじゃないか
JVMの仕組みをほんの少しでも知ってれば
>>721 の比較に何の意味もないことは明らかなのに
ここまでバイトコードを一所懸命しらべた
>>721 が涙目になること言うなよ
とはいえバイトコードを知ることはもはや物好きがやるものではなくなってるんだよな〜 ってのが東工大か何かの資料にあった
>>724 一生懸命ってIDEでも標準コマンドでも見れるがな
上の方ではコンパイル時点で最適化とか書いてて、誰も訂正してなかったから
書いただけだよ
JITでは最適化される
バイトコードはVMが(元々はインタプリタが)解釈するときに手間がかかりすぎないように Javaのソースコードをあらかじめ少し変形しておいたものに過ぎない JITから見ればバイトコードはあくまでソースコードであり、それを見て云々というのはほとんど何の意味もないこと
>>727 ソースコードには最適化が効く書き方と聞かない書き方があるだろ
バイトコードがソースコードであるというなら、やはり最適化が効く効かないの違いはあるだろ
デフォルトで何回同じコードが走ったら JITが使われるかすら知らなそう 起動した瞬間にJITコンパイルするとでも思ってんの?
起動オプションによっては全然JIT使われないからね 良く知らずにJava使ってる低能のコードは バイトコードがそのまま走ってる可能性が大だよ
JITされないところなんて性能に影響しないだろ ボトルネックになり得ないところまでそんなこと気にしてたら全部のバイトコード読むことになるぞ
>>728 その最適化効く書き方ってのもバージョン上がったら
最適化効かない書き方になってたりな。
そもそも最適化の仕様なんて実装依存だから「ケースバイケース」が答え
>>731 またまた強がってー、どうせバイトコードなんて読めないでしょ?
>>730 それはバイトコード以前の問題だろw
高速化のためにバイトコードまで気にしなきゃいけないような状況なら
普通に考えればその部分のコードはJITされてるのが前提でしょ
バイトコードは実は分かりやすい割には難しそうに見えるから 自称Javaエキスパートが偉ぶるのにはちょうどいいけど、 PrintOptoAssemblyオプションでJIT後のアセンブリが読めるから 今のJVMの最適化を議論するならバイトコードじゃなくてそっち
昔はJavaといえば「バイトコードをJVMのインタプリタが解析して…」っていう解説が 昔のJava本にはちらほら見られるんだよな JITコンパイラだのHot Spotだのが出たのはさらにその後の話で
PrintOptoAssemblyでアセンブリコード読んだら 全然AVXとか使ってくれてなくて、あーgccに全然負けてますわ、となったなぁ
Android以外でジャバやってる人ってかわいそ過ぎるな 必死になってジャバを援護してるw Androidのバイトコードってまるまるソースが復元できちゃうじゃん? これってコンパイルって言えるのか?
> Androidのバイトコードってまるまるソースが復元できちゃうじゃん? > これってコンパイルって言えるのか? 可哀想すぎる……
そもそも速度の事を出すなら ジャバなんか...笑 なんで ジャバなんかでやらなくちゃいけないんだ? え? ポインタもメモリも管理出来ないようなクソ言語でやる必要ないだろ?
ガチアセンブラの話が出てきた途端に黙りこくるJavaエキスパート()
ポインタもメモリも管理できないヘボプログラマがC/C++でバグ入りプログラムを量産してる状況を見ると いい加減身の程を弁えてJava/C#使えよって思うよ。
>>743 ダメだ可哀想とかいうレベルじゃねーや。
朝鮮人の頭してたら無理だと思う
ジャバを援護する人の何%がC++を使いこなせるんだろうなぁw
>Android以外でジャバやってる人ってかわいそ過ぎるな いやいやAndroid開発させられてるんですねわかります。 どんぐりの背比べ
>>750 使いこなしつつ、膨大なエラーを書いている奴も多いがwww
>>750 俺はC/C++なんてとても使いこなせないからJava使ってる
境界チェックもやってくれない言語でセキュアなプログラミングなんて馬鹿の俺にはとても無理
C/C++でJavaと同等のセキュリティを確保できる人がいたら尊敬するよ。今までそんな人に会ったことはないけど
>>741 っていうかAndroid以外でJavaで仕事やってる人の方が圧倒的多数なのに
妄言が多いアンチさんだなあって思った
JVMも穴だらけだからなぁ Oracleの連中にはC/C++は難しすぎるらしい
C++もそれなりに限界があるからな JavaのライブラリがC++以上に充実してくればもうC++はOSやVM専用言語になるのみ
じゃばドカタに回ってくる仕事は 簡単にいえばDB呼んで結果を画面に出す程度の仕事しかないから 高速化する必要もネイティブの機能使う必要もないからな
>>755 JVMが穴だらけとは言っても境界チェックが突破されるような穴はないだろ
C/C++でプログラミングする場合に比べて穴の数も大きさも桁違い
本当のドカタは組み込み系だよ DB関連ならまだまし っていうか技術だけで給料が決まらないのが実情 結局は経営者の判断に依存している
>>簡単にいえばDB呼んで結果を画面に出す程度の仕事しかないから >>高速化する必要もネイティブの機能使う必要もないからな ジャバの人 速度必要ないじゃんね? つっつかれるとやっぱり気になる? コンパイル済みのネイティブコードじゃないから速度を追求出来るはずもないし、 メモリを自分で管理出来ないから勝手にGCおでましで、とんでもない時にカクカクしちゃう 画面周りだと非常にカクカクが気になる GCストップ命令でもあれば画面周りだけでもなんとか対処はできそうだけど...無理か
画面といってもほとんどHTMLだろ? つまるところテキストを生成するだけなのでカクカクもクソも
人間が触って速いのとサーバーで動かして速いのは全然別物だよ JavaでGUIアプリ作ったりするとカクカクに感じがちなのはVMのチューニングがサーバー用途偏重だから
そうだね。メモリを自分で管理できないJavaは設計を何も考えずに速度重視で書いてきたC/C++プログラマーには苦しいよね
Androidのお話ね PCでジャバなんか死んでもやらん
なにが悲しくてPCでジャバなんか...ねw
スタンドアロンでもサーバ関わってくるのとGui必要なものはもうほとんどJavaになってきてるけどな まぁゲームプログラマだからandroidしか使いたくない&C++プログラマなんだろうが
PCでは実際使われてないから安心しろ サーバーだ
ジャバを援護してる人って、とどのつまりジャバしかできないんだろ?
すれ違いだうんこども
擁護するとか文字の読めない人がいるみたいだが、単に 開発言語の一つというだけだろ。 Javaの場合は言語というよりランタイム含めた環境だが。
最初からブルーカラー向けに設計された開発言語ってだけだよ
ジャバってカタカナで書くなよ、頭悪い
だから朝鮮人は世界から嫌われるんだよ?
じゃばならいいのか? ジャワなんだけどなホントは
うんこ言語なんかどうでもいいだろ androidがなければ普通の人は使わない うんこ言語
朝鮮人の脳ではJAVAしかできないとか
777 :
桃白白 :2013/03/16(土) 16:52:34.85
>>765 Java超便利っすよ。桃白白まじおすすめしちゃう。
>>776 >>朝鮮人の脳ではJAVAしかできないとか
チョーセン windows mobiie死んでよかったなぁ
わははははははははははははははははははははは
アイフォーンも特許問題でもうすぐ死ぬだろうし
わははははははははははははははははははははは
春だな
本国に帰るんだったら朝鮮学校いったほうがいいよ
>>765 Javaしか出来ないし、他に無料でGUIアプリ組むとしたらどんな言語があるのかな
PHP一択
チョーセンにはC++は無理 ってか だよな
乃木坂46で一番可愛いのは誰ですか?
>>785 ションベンくせーガキメス どれでもいいだろうが
どーせやってるときはマグロだろうし パクパクぐらい出来るのか? 下手くそだろうがw
エベンキ野郎が発狂してるな
境界性人格障害のチェック
>>790 java で ライトオンリーが実装されないうちは、javaのセキュリティなんて糞ってこと。
C++は、素敵でハイクオリティなコーダーがセキュリティを守っています。
ま、糞コーダーがjavaより酷いセキュリティ違反をしでかすけどなwww
マインクラフトPEって凄くない?あんなん作りたい
windowsで動くJavaのデコンパイラでおすすめを教えて下さい
795 :
桃白白 :2013/03/16(土) 22:04:43.85
>>794 これ。桃白白まだ修行中だからリンク張れないの。
JD-GUI | Java Decompiler
java.decompiler.free.fr/?q=jdgui
あぼ〜ん
>>795 小物はこれで十分だね
大物はインターナルエラーがでるけどさ
PCでJavaなんか 普通にやってるけどな 趣味でJavaプログラミングする奴はみんなそうだろ
みんなっていつそんな統計とったの?
そんな奴がどれだけいるかは別にして そりゃまさか趣味でサーバーサイドJavaやる奴はそういないだろうからまあ間違ってはいないだろうなw
趣味でサーバサイド? まあ趣味でJava Swingでプログラミングしている奴に比べるとそうそういないだろうなあ なにせどこのレンタルサーバもJava Servlet使えるところがほとんどないからな
サーバーが用意できるかどうかは置いといても 趣味でサーバーサイドJavaって一体何やるんだよw オーバーキルすぎるわ
>>803 無料ないっすね
無料ならdotcloudとかHEROKとかいうのに上げるのがいいかね
ゲームサーバーとかか?
昔からやってる人だと、それしか知らないからなんとなく個人サイトで使ってるってのはありそう
>>792 Javaのセキュリティがーって言ってるのの多くは、サンドボックスの話でしょ? それがない言語と比べても意味がないのでは?
それより、バッファオーバーフローをなんとかしなよ。
>>804 こないだandroid appをPCで使いたくてUIだけ作ったよ。libはそのままで動いた。そういうlibがあるならservletも選択肢にはいるんじゃない。
>>783 Qtはとにかくスポンサーに恵まれないよね・・・
AppleかGoogleが拾ってやれば良かったのに
>>803 いつの間にか充実してきているんだな
さくらサーバとかCoreserverのような有名な有料レンタルサーバでもServlet対応していればいいのにな
ってか、server.xmlとかちゃんとカスタマイズできるんだろうか
ちゃんとデータソースの設定ができるんだろうか
JavaDBが使えるんだろうか
できなきゃできないでものすごく不便だが
>>804 10年程前に学生時代にスキルアップ目的でやったよ
あの頃はServletの仕事もなかった
んでたまたま運良くServletを使う仕事が某社であってバイトでServletやることになった
当時はPerlとASPが主流で皆驚いていた。PHPすら普及し始めたばかりで
結局趣味でServletをやったことが仕事に繋げられて幸運だった
今までCGIでしかできなかったことをServletでできるということは当時としては革命的で
Java好きな者としては嬉しいものだったよ
>>805 さくらインターネットやCoreserverでもあれくらいの料金だから別にどうってこともない
もし商売を始めたければアレくらいの値段でも普通
月500円から3000円くらいならわりとやりやすいんじゃないのか
spring-ws1.5で、CommonsXsdSchemaCollectionクラスのinlineプロパティを利用して wsdlへ依存関係にあるschemaをinline化してるのですが spring-ws2.0からのdynamic-wsdlで同じようにinline化する方法ないでしょうか?
>>812 知らないんだけど、それ使うとどうなるの?
Google App EngineはサーバーサイドJavaに入りますか
独自プラットフォームでpurejavaでもworaでもないから原理主義的にはそもそもJavaに非ず
無知は罪だな
819 :
デフォルトの名無しさん :2013/03/17(日) 12:40:53.50
hmap = new HashMap<String, Point>(); Point pt = new Point(0, 0); hmap.put("top", pt); pt.x = 20; pt.y = 20; hmap.put("middle", pt); pt.x = 30; pt.y = 30; hmap.put("bottom", pt); こうやって書いて hmap.get("top"); で取り出したら最後のptの値に書き換えられてしまうんだけど 普通にptを値渡し出来ないの?clone()してもエラーになってしまうし なんか色々面倒そうなので困った。 ptを配列にしてそれぞれ別にするのが一番簡単?
>>819 そのPointへのポインターを値渡ししてる。
cloneは自分で書くもの。
stringとかみたいにしたいなら、代入とかするんじゃなく、getRelativePointみたいなメソッドにして新しい座標ごとに新しいobjejtを作ってやればいい。メモリ喰いたくないならsingletonで既に登場したpointはpoolから返せばいい。
>>819 これでいいじゃん
hmap.put("top", new Point(0, 0));
hmap.put("middle", new Point(20, 20));
hmap.put("bottom", new Point(30, 30));
823 :
デフォルトの名無しさん :2013/03/17(日) 20:32:17.40
質問です。 インスタンス二つのクラスが同じかどうか比較する方法ってあるんでしょうか。 instanceOfではあるインスタンスが特定のクラスか確かめることはできても 比較して単純に同じかどうかは判別できないようなので。 誰かご存じなら教えてください。
>>823 a.getClass().equals(b.getClass()) じゃいかんのか?
単純に同じクラスかどうかは単にClassオブジェクトを取得してequalsですればよい。
>>824 の方法でも良いし、==を使っても良い。
クラスの継承関係、例えばAppleのインスタンスとAomoriAppleのインスタンスがあって
青森リンゴもリンゴだよねと言うことをを知りたいのであればisAssignableFromを使う。
apple.getClass.isAssignableFrom(aomoriApple)
>>824 >>825 ありがとうございます。
わざとgetClass()をオーバーライドしなければ、getClass()の比較で良いのですね。
isAssignableFrom()の方は全く知らなかった事でした。
日本語のAPIのObjectの項には載っていないようですね。なんでじゃろ。
>>826 ObjectでなくてClassのメソッドだから。
getClassしてからisAssignableFromせんとダメだよ。
本当だ…。 そうか、ObjectとClassって別物だっけ。 だいぶ呆けてきてるなぁ…。
どの言語でも日本語ドキュメントは散々だろ おまけにverふるいのわかってまっか?おたくそれJava6でっせ
いやむしろObjectとClassが同じものだなんていう解釈した人に初めて出くわしたわけだが
>>830 全てのクラスはObjectのサブクラス…がオブジェクト=クラスに繋がりそうだが
そもそも、ClassはClassというclassであって、classとはまた別の存在なのだな
クラスからオブジェクトを生成するのとごっちゃにしてて意味不明
JavaのClassってリフレクションするときに使うハンドルに過ぎないぞ Rubyみたいなのとは違ってあまり深い意味はなく、クラスとオブジェクトは明確に異なるもの
クラスは文体 オブジェクトは実体
java.lang.Object java.lang.Class<T>
public final class Class<T>extends Objectimplements Serializable, GenericDeclaration, Type, AnnotatedElement
new MyClass().getClass().getClass().getClass().getClass().getClass().getClass().getClass().getClass().getClass() == Class.class -> true
>>819-821 ここら辺みると結局Javaでもポインタの概念がある程度分かってないと
かなり困るし言語仕様的にもC#みたいに明示的に参照渡しできるのと違って
なんか余計分かりにくい気がするんだけどな。
参照(≒ポインタ)の値渡しって… 普通に値渡しと参照渡しを使い分けられる仕様じゃなんでダメなのかな?
では次の方どうぞ
>>838 javaにはポインタは無い クラスのアドレス渡し
しかもC++のクラスとは別物
オブジェクトをファイル化してバイナリエディタで見てごらん
デコレーションケーキで表すと...
C++がケーキ本体だけを書き込むのに対して
javaは箱と包み紙とリボンまで書き込んでいるようなもの
>>838 デフォで参照の値渡しになる言語の方が多いし、普通の人はそれで困らんよ。
あと
>>819 に必要なのは参照渡しじゃなくて構造体とか値型だしな。
C++でスタックにクラスのオブジェクト置いてるように見える構文って 多くの場合ヒープにもなんか確保してるよ RAIIに頼って参照渡ししまくるのはGCのないC++でメモリ管理をなるべく楽にするために生まれた独特のスタイル GCがあるんなら要らん
>>842 >>C++でスタックにクラスのオブジェクト置いてるように見える構文って
どんなのかなぁ?
馬鹿には無理
Cのメモリを大して理解してない連中がJavaへきてハチャメチャなこというのは見てて腹立たしいな
>>845 キミはまず日本の漢字の使い方を理解しなくちゃだね
これだから在チョンは
>>843 参照でもポインタでもないローカル変数作ればいいんじゃね?
HaxeがJavaに対応してくれれば・・・
JavaVMは時代遅れ 今はNekoVMの時代
VMなんか下着のパンツをはいてさらに毛糸のパンツをはいた女のあそこをいじってるようなもの ノーパン状態のアセンブラは現状無理だから、パンツが薄いC++が一番触り易い
DT乙
>>850 これ共通の動的言語向けVMを自称してるくせにRubyもPythonもPerlもPHPも動かないの?
逆に聞くけど、何に使えるの?
>何に使えるの? OSの垣根を越えてる
それは
>>853 に挙げてある言語処理系全てに言えるよね。
ついでにJavaScriptもLuaもJavaもC#も。それらには優れたライブラリや膨大な既存資産があるし、
枯れてて安定してるし性能もいい。
スレ違いなら誘導してください。 eclipse で特定の変数の値を書き換えようとしているものを列挙する方法を教えてください。
859 :
デフォルトの名無しさん :2013/03/19(火) 17:34:54.32
今までJAVA6を勉強してた奴が馬鹿みたいw
861 :
デフォルトの名無しさん :2013/03/19(火) 19:18:40.45
Σ(゚Д゚; ガーン
862 :
デフォルトの名無しさん :2013/03/19(火) 19:36:54.93
いや、別にJava6を勉強していた事が、そのままJava7で生かせるだろ
863 :
すれちか :2013/03/19(火) 20:42:57.75
MSならまじ
限界を感じた・・・ 1000回に1回ほどエラーが出る・・・ int i=0; int k; for(k=i+1; k<14; k++){ if(k>13){ERROR("Errorじゃぼけ");} if(tmp[hoge[k]]==0){continue;} if(hoge[k]==hoge[i]+2){break;} } if(k>13){ERROR("Errorじゃぼけ");} tmp[hoge[k]]--; 8行目でOut of Bound エラーが出る・・・ むしろ、どうやったら出るのか知りたい・・・ 俺には無理だ
2chの専門板の中でも特にプログラム板は「それっぽい」やつらが「それっぽく」語るけど 基本的に2chにはカスしかいない mixiをはじめとしてSNSが蔓延ったいま、名無しで活動する意味が殆どないんだから ブログやSNSで名前を持って活動してても全然注目されない奴らが 未だに匿名コミュで無駄な時間潰してgdgdやってるだけ 2chで拾える情報に価値がある事もある、俺みたいのも時より情報ばら撒くから けど本来は、2ch以外でちゃんとした情報を拾えるようになって居なきゃ、技術者としてゴミ HNもって身内コミュ作れる奴なら、2chなどにはもう来ない だからスキル高い奴から順番に匿名コミュからは消えていく そういうネットの傾向が2chの各板で見られる ゴミ捨て場の中にも、光るものがあるのが2chだった が、その光るものは、違う場所にいってしまい ゴミッカスだけが取り残されて、置いてけぼりにされてるのが現在の匿名コミュ そういうネットの傾向が2chの各板で見られる
馬鹿には無理
それぞれの要素数は?
Error を見逃してるだけじゃね? 俺流 ハードコーディングブレークポイント使ってみたらどうかな? int aaa =1;if(aaa/0==1){} 変数がaaaなら検索ですぐ見つかるし、警告も出ない。エラーで確実に止まる。
hoge[k]が14以上の予感
>>871 が当たりでした。。。
ログファイルに落としてたのに、見つから無かった。別の要因があるみたいです。
>>864 breakしないでforを抜けるとkは14になっている
そこで要素数14の配列の14番目を参照しようとしてるから
0番から始まるから要素数14の配列は13番までしかない
プログラミングやってるのはプログラマや技術者だけじゃないってば。 何回言ってもわからないよね君たち。
できない人間ほど自分が優秀だと思い込んでるからね
>>875 そうみたい。
ありがとう
変則的なコードを書くと、思わぬところで、って感じが ゆお〜〜くわかつた
>>878 >>思わぬところで
思わぬところではないけどね
複雑怪奇な処理は何やってるのかなぁ
配列の添え字に配列の要素を使ってるところとか? 一度だけそういう使い方したことあるけど配列の要素数が絶対に変わらないこと前提だったな
>>860 なんでJavaアンチにはこんなアホ発言をする奴が多いんだか
Javaに後方互換性があることも知らない馬鹿って凄いな
>>866 2ch人口が一時的に減ったこと
そしてこのプログラム技術板とこのJavaスレでは以前よりも人が少なくなったことは確かなようだが
それがmixiの影響だとする意見が7年ほど前にもあったが
そのmixiは昔は招待制で実名必須だった
ところが今は招待不要で匿名も許されてしまった
完全匿名ではないから自作自演はしにくいといっちゃしにくいが
2ch全体から見るとマスコミ、政治、ニュー速、サブカル系の板は相変わらずレスが集まってる
まあ宣伝目的ばっかだが
2chに専門的なことを書く技術者や専門家も研究者も確かに減ったな
昔は理系全般とかUNIX板とかにも神のごとく凄い才能を持ったやつもいたもんだが
匿名性を立てに暴れる膨大な数の荒らしに嫌気がさして馬鹿馬鹿しくて去っていったんだろうな
ただ馬鹿みたいにひたすら草生やすニコ厨みたいな低脳とかを見ていると2chのレベルが下がったことを象徴しているな
結局非技術的な話題をしたがる奴が2chに残る傾向が強まったということか
『ウェブは馬鹿と暇人のもの』を書いた著者もそんなふうに考えているらしいな
>>876 そう見なされることもあれば君みたいにそう見なさない者もいる
プログラマ=SEとみなす者がいるかいないかって話だからな
その単芝が例のアレだろ。 過去ログ見てても数十年前から出没してるのがわかる。スルーしろ。 あと、全鯖ID表示もしくはプログラム板のID表示希望。とはいえ運営板で聞いてみると厳しい模様。 ID非表示なのが諸悪の根源なんだよな〜。NGぶっこみたいのに。
>>884 奴が1999年頃から出没していたと?
俺は2002年〜2004頃に語尾に「(嘲笑激藁」や「(ププ」「(ゲラ」「(ワラ」をつけて暴れていた奴をこのプログラム技術板で
よく見たんだけどアレと同一人物かな
「C#って死滅しちゃうの?」「Javaって死滅しちゃうの?」スレで暴れていた奴
>>884 強制ID表示への鞍替えは鯖に負担をかけるからという理由で却下されたことが何度もあるようだよ
強制IDにしたせいで投稿者が減ったこともあるんだとか
とくに過疎板では強制ID申請は通りにくい
自作自演によってスレを盛り上げるとそれで人が集まって活性化することもあるから
むやみに強制ID表示にしない方がいいっていう意見もあるとかないとか
それよりも問題ありな投稿を繰り返す荒らしには削除整理板で削除依頼するか
規制議論で荒らし報告してホスト晒しをお願いした方がいいんじゃないかと
削除知恵袋板に問題が伝われば運営に近い者(削除人、規制人などなど)の目にも止まるようになる
いまJava用のXMLパーサって何がいいかな JAXPとかJAXBとかいろいろあったけど今はもっといいのある?
他でやれカス
>>888 考えが逆だよ
非表示だからキ○ガイが自演しまくったり一日中はりついてるから鯖に負荷かかるんだよ
>強制IDにしたせいで投稿者が減ったこともあるんだとか
そのほうが良いに決まってんだろ頭おかしいのか
>とくに過疎板では強制ID申請は通りにくい
過疎ってるから通りにくいと思っているのか?活性化したら通るの?ちげーよ!管理者のさじ加減という答えをもらったわ。
>>892 今は忍法帳のクッキーやら連投規制システムによって
鯖にかかる負荷は減ってるよ
というか、強制IDにしたせいで過疎った板もあるんだ
ソースコードの癖とIDの組み合わせから個人特定されやすくなると
恐らく有能な人材を含めて確実に人が減るんじゃないかと
過疎板では通りにくい理由として強制IDにするとますます過疎になるって話を聞いたことがある
削除知恵袋板か難民板あたりの情報だったろうか
2chの削除人や規制人に立候補する連中がよく見ているスレが削除知恵袋板や難民板にあるんだ
>>893 >今は忍法帳のクッキーやら連投規制システムによって
>鯖にかかる負荷は減ってるよ
>というか、強制IDにしたせいで過疎った板もあるんだ
>ソースコードの癖とIDの組み合わせから個人特定されやすくなると
>恐らく有能な人材を含めて確実に人が減るんじゃないかと
上等じゃねーか。いい事だらけだろ。
ID表示されてたらお前みたいなのも含めて一掃できるから便利なんだよ。このやり取りが邪魔なら二人をぶっこめばいいし。
>>894 残念ながら強制IDの板でも荒らしや特徴のあるレスが減らないことはよくある
荒らし対策のつもりで導入した強制IDがうまくいかないケースもあるんだ
プロバイダによっては再接続によって割り当てられるIPアドレスが無尽蔵にあるところがある
そういうプロバイダを使われると強制IDの効き目がまったくない
必死チェッカーもどきもまったく通用しないんだ
それに無線LANを使われるとアクセスポイントを切り替える毎にプロバイダが変わるから
再接続と自作自演が非常に楽になってしまう
ようするに荒らしや薄汚いやつがますます自作自演しやすくなる
そこにIPv6なんか使われた日にはますます自演しやすくなる
IDが黒い単発ID荒らしがしつこく出没しては短文で煽り荒しを繰り返す不毛なスレがあちこちにできるようになるよ
特定プロバイダやノートPCでノマドやってるような連中が有利になって それ以外のIP固定プロバイダのユーザーや 自作自演にうんざりしているユーザーが確実に離れることになると思うんだ
離れたほうがいいだろ。お前みたいなくだらないカキコミでスレ汚す連中減るんだし
898 :
デフォルトの名無しさん :2013/03/21(木) 11:07:27.16
メソッド名が同じで引数が違うものは オーバーロード といいますが なんでロードなんですか?
自治スレでやれよ なんでJavaスレで議論するんだよ
馬鹿には無理
simple xmlというライブラリを使って xmlをデシリアライズし、 <a> <b> <c>abc</c> <c>abcd</c> </b> </a> のcタグの中身が取りたいのですが データが入るオブジェクトクラスを @root(name="a",strict=false) public class D{ @Element( name="b" ) public B b; class B { @Element(name="c") public String c; } } のように記述して、実行すると
ConstructorExceptionが発生してしまいます オブジェクトクラスの正しい記述法は教えてください
>>902 そのSimple XMLというライブラリは使ったことがないけれども、経験則から言うと
その手のxxマッパーの類はインナークラスを使えるにしても大抵はstaticでないとダメ。
class Bをstatic class Bにしてみたら銅だろう。
あきらめて、 無難に、スキーマ書いてJAXB2
905 :
901 :2013/03/21(木) 17:58:43.70
みなさんありがとうございます classをstaticにしてみたところ、 その階層はクリアできました ターゲットxml: <a> <b> <c>abc</c> <c>abcd</c> </b> </a>
906 :
901 :2013/03/21(木) 18:01:05.66
ソース: @root(name="a",strict=false) public class D{ } タグaまではこれで正常に終了 @root(name="a",strict=false) public class D{ @Element( name="b" ) public B b; static class B { } 教えていただいた通りstaticに修正してタグbまでも正常に終了
907 :
901 :2013/03/21(木) 18:06:13.20
@root(name="a",strict=false) public class D{ @Element( name="b" ) public B b; static class B { @Element(name="c") public String c; } } タグcまで取得する処理を記述しようとするとvaluerequiredexceptionが発生します ちなみに実際に取得したい内容はもっと深い階層なので cも@Elementアノテーションつけています タグcはタグ名に:が含まれているのでフィールド名は:を無視した名前にしているのですがそれが原因でしょうか
908 :
901 :2013/03/21(木) 18:12:13.44
public String c; → public class C c; static class C{ } でした スレ汚しすみません
>>897 だからまともな奴が減るんだって
薄汚い無能な奴だけが残る結果が待ってるんだと
910 :
デフォルトの名無しさん :2013/03/22(金) 02:51:21.91
ubuntuのJFrameのパスってどこでしょうか? eclipseは見つけてくれるんだけど、javacで見つけられない。
locate
find
whereis
>>913 whereisで見つかるかバカwwwwwwwwwwwwwwwww
馬鹿には無理
>>915 man whereisで仕様調べろwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
917 :
デフォルトの名無しさん :2013/03/22(金) 03:28:07.87
>>915 whereisで見つけるコマンドはやくしろバカwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
918 :
デフォルトの名無しさん :2013/03/22(金) 03:41:16.99
今度はそのくだらん話でレスを伸ばす気なの?
>>919 whereisじゃjarファイルは見つけられないよ
PATH検索やmandb検索はするけど、javaディレクトリは拾わない
馬鹿には無理
コマンド名くらいしか知らないにわかに言われたくないよ ちゃんと勉強しろよ
言語使用が簡単だからって馬鹿には無理
switch(x++){・・・}と switch(++x){・・・}って 全く同じと思ってよい?
↑あと switch(x+1)も
switch(x+1)はxの値で比較された。 925だけでお願いします。
はい。 全く同じだという認識でよい?
>>925 違う。ってか、そこでインクリメントする意味あるの?
2つの書き方によって、場合によっては判定が変わったりしないか? という質問です。
>>925 どう違いますか?(書き方が違う、ていうのを除いて)
OCJ-Pの勉強中で、ひねくれた問題出るから念のための質問です。
一般的にはここでインクリメントなんかしないってわかってる。
↑
>>931 の間違い
スレ汚しすみませんm(_ _)m
>>932 自分で試せばいいじゃん。
int x = 1;
switch (x++) {
case 1: System.out.println("one"); break;
case 2: System.out.println("two"); break;
}
結果:one
int x = 1;
switch (++x) {
case 1: System.out.println("one"); break;
case 2: System.out.println("two"); break;
}
結果:two
こんなんで試験受かっても、何の役にも立たないよなぁ。
936 :
925 :2013/03/22(金) 17:50:22.68
>>935 いや、試したんだけど上のだと両方とも結果:twoになるはずだよ。
937 :
925 :2013/03/22(金) 17:54:44.17
>>935 ごめん嘘だった。
あれ〜何を間違えてんだろ・・
出直してきます。。
>>936 試した結果を貼ってるんだが。じゃあこれは?
int x = 1;
int y = x++;
System.out.println("x = " + x + ", y = " + y);
結果:x = 2, y = 1
int x = 1;
int y = ++x;
System.out.println("x = " + x + ", y = " + y);
結果:x = 2, y = 2
939 :
925 :2013/03/22(金) 18:00:35.08
>>938 それは大丈夫
switchになった応用に頭がついてきてなかった
ありがとう
馬鹿には無理
埋め
楳
産め
プログラマは産む機械だ
< __ノ 〃/ /_ // / / |│ / / / 《_/ , /__` <__/ / │| l ⌒/ // 八| │/ 厂,≧==≠、 ̄´ _, |人 l | ′/ / / 〈 | |/ / (:じ'リ 丶\ ∧ | ′ // // /厂 l | ∨ ⊂´ ̄`ヽ へ` < l | ' ′ , ⌒ヽ ∨八__八 / `≧ 、\| | / / \ >┴‐┴< ′ ノ> ヽ(:じ'リヽ八 l/ / ノ⌒丶 / , -─‐- 、 \ J `ヽ⊃ ノ イ / プログラマがバグを生むなら `ヽ、 , ' ∠三二≧、 \ ヽ /⌒ヽ // // / / みんな死ぬしかないじゃない! 厂`ヽ ∨ /二 , ´─ 、 \∧ ', ヽ ノ / / / あなたも、私も! / /| 「 ̄〃 ヽ/ l | / /ー イ , < ̄ ̄` / | | /| |/ | ├──,. <ノ─ イ/ ̄ ̄`ヽ \ ⌒ ' 人 ∨八 八∨ 人 // ノ′ \
>>935 試験で細かい事覚えても
現実には「後で悩むような書き方はしない」だからね
細かいことなんて試験終われば忘れてるし
先に加算されるか後で加算されるか見たままだろ
車の免許のひっかけ問題みたいなもんか
そう、ひっかけ問題ばかりで嫌になる もはや報奨金のためにやってるようなもん
>>947 でも一行に詰め込むとあたまおかしくなんねん
Rubyには、++xもx++もない。 言語オタク的には、いらないんじゃないの? x += 1 これは、1つしか増加しない。 x += 2
switch(x++){・・・} switch(++x){・・・} こんなコードを書いたら 即クビだ
c[0] = 0x20; c[1] = 0x20; c[2] = 0x20; c[3] = 0x20; c[4] = 0x20; i = 0; c[i++] = 0x20; c[i++] = 0x20; c[i++] = 0x20; c[i++] = 0x20; c[i] = 0x20;
後者だとコピペ数ミスでヤバそう
何の言語でもプロがそれやったらアカンでしょ
>>956 あちこちで見たで…むしろ、プロジェクトのルールとして後者を推奨してるのまで…
そのプロジェクト、バグいっぱい出してそう
0, 1, 2 以外のMagicNumber禁止とかいうアレか。 static final な変数 PT4 = 4 とかで回避してるぜ
for文とかのループ系を毛嫌いしてんのか
for文より全列挙したほうが優れる場合ってどんなだ? バイナリサイズが膨らみそうだが、メモリが限られてるとかか?
java.nio もっと普及させようず
>>961 ちょと違うけど
a[i++] = "hoge";
a[i++] = "moge";
a[i++] = "hage";
的な
スペックが低い機器で扱う場合 メモリというよりも処理速度の問題なんじゃないのか
オートインクリメントがあればクロックが削れ…いや、なんでもない忘れてくれ
値の演算と評価は分離しないと可読性は低いしバグの元になる。
a.setString(i++, "hoge"); a.setString(i++, "hoge"); 以下略 みたいなのも見る
コンパイラさんに速度最適化してもらえばええんちゃうの
>>947 int x=2, y;
y= (x++) + (++x) + (x++) * 2 - (++x) * 5;
y ?
ちなみにJavaはx++のコストと++xのコストはどっちが高いの? C++では1ステートメント文++xのコストが高いみたいだけど。
すんません、イテレータの話です。
数学的には足し算よりインクリメントの方が重要なんだよな
973 :
デフォルトの名無しさん :2013/03/23(土) 03:39:56.09
>>970 コストはx++も++xも同じだろ。
どちらもx = x + 1だ。
y = (x++) + (++x) + (x=x+1) + x; y ?
x = 5; z = x + (x++) + (++x) + (x=x+1); x = 5; y = (x=x+1) + (++x) + (x++) + x;
実用性皆無のトリックコードに価値などない。
>>953 の前者だと真ん中の一行コメントアウトしたい場合でも残りの添字の修正が必要だけど、後者なら気にしなくていい。
処理速度なんかより可読性や保守性の方が重要な場合が多いでしょ。本当に速度が重要ならそもそもJavaなんか使わないし。
>>967 C/C++では未定義動作だけど、Javaではwell definedらしい。ちょっとびっくり。
>>970 intとかだったらJavaでもC/C++でも大差ないと思う。
C++で元の値が必要ない場合は前置++を使うべきなのは、オブジェクトに対して後置++を使うとオブジェクトのコピーが発生するため。
演算子オーバーロードのないCやJavaでは関係ない。
>>977 c[i] = 0x20; i++;
これでいいだろ。
コードゴルフじゃないんだからケチんなよ
スレ違いだったらすみません eclipseでjavaの勉強をしているんですけど、ファイルから入力してコンソールに出力ってしたいんですけどどうやればいいんですか? コマンドプロンプトからなら java program < text.txt みたいに書けるんですけど
>>983 できないみたいなので、自分でファイルを開く。
import java.io.*;
//
>>983 program.java
public class program {
public static void main(String[] args) {
String file_name = args[0];
String s;
try {
BufferedReader buffered = new BufferedReader( new FileReader(file_name) );
for(;;) {
s = buffered.readLine();
if(s == null) {
break;
}
System.out.println(s);
}
buffered.close();
} catch (IOException en) {
en.printStackTrace();
}
}
}
>>986 static mainだから、例外処理、上記例でいいけど
良い子は、まねちゃ駄目な例だぞ
今時なら、Apache commons
ioだな
java7の時代にそんな糞コードとかcommonsとか薦められて なんか可哀想
7でなんかよくなったっけ? 関係ないだろ
他でやれ雑魚どもw
closeがthrows IOExceptionな糞仕様は解決されたのでしょうか?
もうすぐ解決される予定
closeしなければならないインスタンスの宣言をtryの直後の()内に書け
>>995 標準入力ってまともに使ったことなかったけど、そんなの出来るんだ
梅
eclipseでファイルの標準入力は出来ないのか
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。