[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/21 17:37 / Filesize : 238 KB / Number-of Response : 992
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:テンプレ(1/3) mailto:sage [2009/11/21(土) 17:58:46 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド133★★
pc12.2ch.net/test/read.cgi/tech/1253376151/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/


973 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 16:03:02 ]
画像について質問です。
巨大なBufferedImageに図形などを描画してそれをImageIOでファイルに書き出したいんですが
画像サイズがデスクトップサイズを超え始めたぐらいからOutOfMemoryが出て生成に失敗してしまいます。
大きい画像を使いたい場合何か方法はありますか?
jdkは1.6です。

//そういえばImageIOでjpgを保存すると色にセピアみたいになる変換掛かりますよね?どうすれば治るんでしょうか・・・

974 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 16:14:43 ]
>>973
VM引数に -Xmx512m とかつけて最大ヒープサイズを大きく取るとか。

975 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 16:36:56 ]
デスクトップサイズって巨大かなぁ?
1920x1200x3[byte]として6,912,000[byte]。7MB弱だし。
どっかメモリリークしてないか?

976 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 17:01:27 ]
public static void main(String[] args) throws Exception {
BufferedImage im = new BufferedImage(1920*2,1200*2,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = im.createGraphics();
for (int x=0; x<im.getWidth(); x+=10) {
for (int y=0; y<im.getHeight(); y+=10) {
Color c = new Color((int)(Math.random()*256)
,(int)(Math.random()*256)
,(int)(Math.random()*256));
g.setColor(c);
g.drawLine(0, 0, x, y);
}
}
g.dispose();
OutputStream out = new FileOutputStream("test.jpg");
ImageOutputStream ios =
ImageIO.createImageOutputStream(out);
ImageWriter iw = (ImageWriter)ImageIO
.getImageWritersByFormatName("jpeg").next();
iw.setOutput(ios);
iw.write(im);
out.close();
}

これとか問題出る?

977 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 17:20:08 ]
>>976
大丈夫でした!
どうやら、画像以外にもいろいろやってるからそれらがメモリを圧迫しているようです。
ちなみに出力部分のところはImageIO.write(im,"jpeg","test.jpeg");と何か違うんでしょうか?

978 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:17:28 ]
>>977
ImageIO.java見ると分かるけど、実はほぼ同じ。
ImageIO.getImageWritersByFormatName("jpeg") がサービスプロバイダの
イテレータなので複数の実装があったときに使い分けられる程度。

979 名前: ◆QZaw55cn4c mailto:sage [2010/01/03(日) 21:42:10 ]
java.text.SimpleDateFormat の質問です。
codepad.org/n24uZLFz
のようなエラーが発生するのですが、何が悪いのでしょうか?

980 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 21:52:15 ]
そのエラーメッセージが理解できないという事は、
Javaの言語仕様をきちんと読んでいないだろ。

981 名前: ◆QZaw55cn4c mailto:sage [2010/01/03(日) 21:56:33 ]
>>980
なにぶん初学者で、テキストの範囲をちょっと逸脱するとこうなってしまいます。
もうちょっと我慢して教科書を読んでいきます。



982 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:12:21 ]
「スローするにはキャッチまたは、スロー宣言をしなければなりません。」
と丁寧に教えてくれてるもんな。頑張ってこの意味を理解しようね。




俺は面倒がってExceptionでスロー宣言しまくりだけどなー。(小言は聞こえない)

983 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:20:58 ]
>俺は面倒がってExceptionでスロー宣言しまくりだけどなー。(小言は聞こえない)

catch して捨てるよりはまし。

>>979
みたいな、サンプルプログラムでは、 throw Exception しちゃうのが
結局、一番合理的な解じゃないかな。
catch しても printStackTrac()ぐらいしかできることないっしょ。
コードが読みにくくなるだけで、実用上のメリットがさしてない、

ただ、初心者が、「どこでも throw Exception すればいい」 と思い込んだらちょっとまずいってだけで、


984 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:30:44 ]
一番正しいのは契約プログラミング的な考え方で、前提条件は全て事前チェック
しておいて、それに引っかからないモノはそれこそ例外として扱うことじゃないかと
思ってるんだがどうかな?

985 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:35:06 ]
最初は、throw Exceptionされているメソッドを呼び出すときは、呼び出し元もthrow Exception定義しましょうでもかまわないと思う
だんだん勉強して、例外についての理解も進めば、throwかcatchかどっちがいいか分かるようになるでしょ

ところでそろそろ次スレたてるね

986 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:38:55 ]

★★Java質問・相談スレッド135★★
pc12.2ch.net/test/read.cgi/tech/1262525781/

987 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:47:54 ]
でも例外に関するエラーメッセージは解りづらい気がする
例外って常用的な日本語だから、慣れないうちはスペルミスでもあるのかと思ってしまう。
さらにExceptionがソースをいくら検索してもみつからないって混乱したり

988 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:03:13 ]
JAVAをはじめてまだ1週間程の初心者なんですが、
kitten.ace.nitech.ac.jp/ichilab/mech/software/gate/
ここで公開されているアプリと似たものを作りたいと思っています。
それでこのアプリのソースコードが見てみたいんですが、
ソースコードが公開されていないアプリのソースコードを見る方法ってありますか?

馬鹿な質問かもしれませんが教えていただきたいです。
よろしくお願いします。

989 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:19:06 ]
>>988
>>91
これで一応見ることができる

990 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:36:33 ]
>>989
ありがとうございます!
やってみます。

991 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 10:31:42 ]
C/C++での「配列のある要素のポインタを関数に渡す」みたいな処理はどうやるのでしょうか?

void func(int n, int a[]);

int main(void){
  int a[] = {1,2,3,4,5};
  func(3, a+2); //これの「a+2」
}









[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<238KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef