( ^ω^´・ω・`)
Java村のあーさだよ。あーさだよ。ぴよぴよ。
このスレは腐っておる
だなw
はあ?
はぁ・・・
10 :
デフォルトの名無しさん :2009/09/20(日) 13:20:41
デ、アルカ
ハァハァ
12 :
デフォルトの名無しさん :2009/09/21(月) 21:05:55
NetBeans重すぎ 軽くて高機能なものはないものか・・・
NetBeansは機能を減らす機能で軽くできるのだが
14 :
デフォルトの名無しさん :2009/09/21(月) 21:35:20
>>13 遅延時間を減らすとかじゃなくて?メモリを食いすぎなのをどうにかしたいんだが・・・
利用メモリ減らせってコミュニティにフィードバックすれば。 お前の貧弱な開発環境なんか知るか!って言われると思うけど。
プラグインへらせばいいじゃないのさ
IntelliJ IDEA
黙って4GB積めって言われるだけだろ。 独自にCに移植して軽量爆速にするのは止めないが。
Javaの本命コースってありますか? こういう順序でやっていけばいいみたいな 本でもネットでも・・・
学問に王道なしとはいうけれど
名著とか言われているのは、最初から読むのは無理だろ 入門書は選ぶまでが半分、読み切るまでが残り半分?
やっぱり質問取り消します
おれおれさん、今日はどんな仕様で?
だなw
ArrayIntListが沢山あるんだけど、やっぱりMapとかに格納したほうがいいのかな? Mapみたいなクラスを使うと、スピードが落ちそうで ArrayIntListを配列にして使ってみようかなとか思っているけど、邪道?
スピードが云々以前に、オブジェクトモデルとして どちらのデータ構造を持つのが良いか、と言う観点から検討してみたら?
33 :
31 :2009/09/30(水) 10:22:29
>>32 なるほどね、そういう考えもあるのか
悪いけど、もう一つのスレにも質問させてもらうよ
1.4で使えるpoiが欲しくてapacheのサイトをみても最新版しか 置いてないのですが、どこで入手できますでしょうか?
ありがとうございます。 そんなところにあるんですね。 ソースからbuldしなおそうにも1.5のソースは1.4に出来ないわで、途方に暮れてたところです ありがとうございます。
>>37 なにに使うのか知らんが
ぶっちゃけJavaでやるより.NetでWebサービスでも作って投げたほうがいいぜ。
なんで?
>>38 手持ちのちょいツールにDBからxlsにデータを落とす機能を追加
しようとしただけですが、,NETでWEBサーバを作るのが良いという
意味がわからないので、教えていただけますか?
悪魔召喚プログラムはJavaではやはり無理でしょうか
>>42 誰でも読めるような言語ではダメです。
APLを使いなさい。
悪魔の言葉を自動翻訳したり召喚の魔法陣を画面上に描画したり 召喚の呪文を再生したりするくらいなら可能じゃないかな
Javaでできるのそんなもんかよw
他に何が要るのか言ってくれ
Javaを使ってデーモン作ればいいじゃん
まずは魔族(Daemon Class)を定義しなければ何も始まらない
祈祷師にでも依頼したほうが手軽。
public static void main(String[] args) { System.out.println("召喚に失敗しました。"); } 完成。
悪魔召喚プログラムの話題はどの言語のスレでも定期的に出るね
そりゃプログラマならねぇ。
でもフロッピーに収まらないといけないんだぜ?
54 :
デフォルトの名無しさん :2009/10/12(月) 21:31:35
正規表現のPatternにて文字列(HELLO)を\w*?や.*?で検索すると groupで空文字の連続が返ってきます。 文字列が一文字ずつ検出されると思っていたので意外でした。 なぜ空文字が返ってくるのか仕組みがわかりません。 もしよろしければアドバイスよろしくお願いします。
0文字以上で最短に一致するのは0文字だからってことじゃねーの?
56 :
54 :2009/10/12(月) 21:49:52
>>55 早速のご返答ありがとうございます。
確かに0文字以上で最短なんですけどgroupの中にHELLOが一文字も
混ざらないのかがよくわかりません。
馬鹿な質問ですいません。
Hは1文字だろ 0文字以上で最短一致なら引っかかるはずがない
最低1文字以上ほしいんなら +? を使うべきでは? 0文字以上でなるべく短くと指定しておきながら、0文字という結果が返ってきて、何が不満なんだ
「以上」という単語の意味を明日小学校に登校したら先生に聞くんだぞ
60 :
54 :2009/10/12(月) 22:33:49
たくさんのご返答ありがとうございます。 "0文字以上"で最短でしたら確かに最初は必ず0文字ですよね。 アドバイス本当にありがとうございました!
シフトJISで「臼」は文字コード8950になります。 byte配列2バイトに、この8950を入れておきます。 この2バイト文字の1バイト目「89」を切り取り、new Stringをすると シフトJISで「89」のコードがないため、?に置き換わります。 これを?におきかえないで、Stringを作成することは不可能でしょうか? 文字コード「89」のStringを作りたいのです。
無理なのでSttringに直さないで下さい
>>62 ご回答ありがとうございます。
無理なんですか・・・。
勝手に?(3F)に変わるのが困っています。
せめてシフトJISの文字コードに存在するかをチェックする方法はないでしょうか。
?に変換されたら文字コードがないと判定したら、?が入力値としたら
NGとなってしまいます・・・。
何か良い方法はありますかね。
>>63 入力値が ? の場合だけ最初にチェックしておくんじゃだめなのか?
>>64 文字コードがないと必ず?(3F)に変換されるんだったらそれでいいのですが、
StringのJavaDocを見ても、?(3F)に変換されるって書いてないのです。
実際に試したら?(3F)になってるんですが。。
>>65 そこまで心配なら多少面倒になるけどCharsetDecoder使えばデコードエラーもハンドリングできる
バブー
jarのソースコード見てみたいのですが 解析することは不可能ですか?
69 :
デフォルトの名無しさん :2009/10/13(火) 12:48:04
>>68 jarは概ねZIPと圧縮アルゴリズム同じだが、見てどうすんの?
jarの(中にコンテンツを格納する)ソース? jarの(内からクラスをロードする)ソース? jarの(中のクラスの)ソース?
71 :
デフォルトの名無しさん :2009/10/13(火) 12:54:42
>>68 winRarで解いたあと、jadでデコパ掛ければソース見れるけど
jarからは無理でないw
jarを知らない低能がいるようだけど
>>69-70 zipに拡張子変更したら解凍できました。
ネットにjarファイルのゲームがあって
どんなプログラムが書かれているか興味があっただけです。
有難う御座いました
えっ,ぼ,ぼくのことですか
74 :
デフォルトの名無しさん :2009/10/13(火) 12:59:34
ほとんどZIPというかZIP形式なので Windowsのエクスプローラで中身も見れるし格納しているファイルも挿しかえれる
OracleからJDBCでデータを取得しているんですが、鰍ェ化けてしまいます。 OracleがEUCでページがSJISなんですがどうやったら表示できますか?
NLS_LANGをEUCに設定したらSQLPlusでは鰍ェ取れたな 問題はJDBCでNLS_LANGをどうやって設定できるかだ
79 :
デフォルトの名無しさん :2009/10/13(火) 13:56:36
>>78 JDBCはこの時点では関係ない
知ったか乙
80 :
デフォルトの名無しさん :2009/10/13(火) 13:58:10
こいつinsertはSQLplusだぞ
>>78 はモグりか適当こいて自分はできますってアピールしたいんだろうが
無能が露呈している
いや無知だけど環境があるから俺もがんばってるの! わかるなら教えてくれよ
82 :
デフォルトの名無しさん :2009/10/13(火) 14:17:48
jar にソースなんて入ってるもんなの? クラスファイルだけだと思ってた
85 :
デフォルトの名無しさん :2009/10/13(火) 14:34:59
>>83 通常はclassとMETAだけだな
>>71 の云う通りjad掛けてみるしかないな
>>66 Shift_JISのつもりでたとえば「FF40」の変換結果が1文字解釈か2文字解釈かは
JREの実装依存だったりするから気をつけろよ。
CharsetDecoderでもStringコンストラクタでも事情は同じ。
どう考えてもシーケンスエラー由来の代替文字+'@'の2文字にすべきだと思うんだが…
百歩譲って文字集合エラーとしてもだ、0x40は無罪だよな?
90 :
デフォルトの名無しさん :2009/10/13(火) 16:37:48
>>88 ZIPの圧縮率とか知らない低能だったか
極端にいえば同一に言っているほうが無能
>>69 のが表現としては正しいだろう
おまい大丈夫か? jarはただのzipだよ。
じゃーその証拠出せや
ぐぐれ
/* * @(#)JarOutputStream.java 1.23 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.util.jar; import java.util.zip.*; import java.io.*; /** * The <code>JarOutputStream</code> class is used to write the contents * of a JAR file to any output stream. It extends the class * <code>java.util.zip.ZipOutputStream</code> with support * for writing an optional <code>Manifest</code> entry. The * <code>Manifest</code> can be used to specify meta-information about * the JAR file and its entries. * * @author David Connelly * @version 1.23, 11/17/05 * @see Manifest * @see java.util.zip.ZipOutputStream * @since 1.2 */ public class JarOutputStream extends ZipOutputStream {
ソース見ればいいじゃん。 後は自分で調べてね。
96 :
デフォルトの名無しさん :2009/10/13(火) 19:51:10
>>92 解凍プログラムで拡張子zipにして試せばすぐわかるじゃねえか
下らん話で長引かせないように
ヘッダも見れない雑魚は黙ってたほうがいいよな
99 :
デフォルトの名無しさん :2009/10/13(火) 20:15:27
マニフェストが入ってるか入ってないかの違いでただのzipだよ
101 :
デフォルトの名無しさん :2009/10/13(火) 20:21:59
高圧縮ZIPはjarじゃ解凍できねーよ
なんで圧縮レベルの話になってるんだ
>>101 馬鹿なの?
誰もzipがjarとは言ってねーよ。
jarはzipだろーが。意味わかるか?
JDBCを使わずにODBCだけでデータベースを操作したいんだけど 参考になるページないかな? JDBC-ODBCはあるんだがODBCだけっていうのが・・・
>>104 いったい何がしたいのかわからない。
ここJavaのスレだよ?
いや、javaでMySQL使いたいんだけどさ JDBC使わずにできなかったっけ?
それってMySQL Connector/Jを自力で実装するのと労力大差なくね。 別にODBC関係ないし。
こういう英語の資料って普通にお前ら読めるの? 最新のアルゴリズム研究の論文とか何が書いてるのかサッパリで残念な俺
最新のアルゴリズム研究ってなると、 日本語で書いてあっても凡人にはなかなか理解できねーと思われ。 逆に、普通かちょっと難しいレベルの内容なら 英語かどうかはあまり問題にならない。特にコンピュータ関係であればなおさら。
興味ないこととか必要でもない英語は流石に読むの面倒だな ただ興味あることとか必要な知識やドキュメントを読める程度には英語読めなきゃダメだろ
JDBC-ODBCを避ける理由がよくわかんないけど、 なんかライセンスとか既知の回避困難な問題とかある? とりあえず俺は8000文字だか9000文字目だか忘れたけど、時々 データが化けるのに泣いたが
jarコマンドでDeflate64圧縮のzipを扱えないのは別に困らないけど、 java.util.zip パッケージでDeflate64が使えないのはちょっと困るね。
どいういう風に困るの?
Java入れる時に環境変数いじってて気づいたんですが %ProgramFiles%とExplorerのURLに入力すると、C:Program Filesにいきますよね? 作ったソフトウェアのインストール先を決める時も%ProgramFiles%の記述を使ったりすると思いますが マイコンピュータ→プロパティ→詳細設定→環境変数のところには%ProgramFiles%なんて記述は無いんです。 いったいこの環境変数はどこで定義されているんでしょう? 微妙にJavaとは離れた質問になってしまいましたが、お願いします。
116 :
デフォルトの名無しさん :2009/10/14(水) 10:29:39
>>115 まったくのスレ違い
微妙でもなんでもない
>>115 System.getenv()で
ProgramFiles=C:\Program Files は出てくる。
でもこいつがどこで定義されてるかどうかはわからんね。
118 :
デフォルトの名無しさん :2009/10/14(水) 10:59:21
>>117 OSレベルで落ちてんだよ
スレ違いうぜーよ
Unix系やってりゃ分る話なんだがな
OS/2ときいて
これ要するに、System.getenv()はどうゆう動作をしているか? ってことでしょ?
121 :
デフォルトの名無しさん :2009/10/14(水) 11:28:44
>>120 いや違う
winで言えばboot.iniにないって話でしょ
レジストリに書いてあるかもん %AppData%なんかはWinだとレジストリのHKCUに書いてあるよん
>>121 boot.iniに何の関係が?
煽りじゃなくて、俺に知識がないからって理由の単純な疑問ね。
124 :
デフォルトの名無しさん :2009/10/14(水) 11:36:27
>>122 それはOSレベルの話だろ
お前はバカだなぁ
125 :
デフォルトの名無しさん :2009/10/14(水) 11:39:38
>>123 通常 C:\boot.ini boot.bat
ってのがあるんだよ
環境変数setで動かすのが起動時に走るわけ
Unixやれよ、したらよく分かると思うよ
rootの環境変数と例えばbashだったらbash.rcってのが走って環境変数設定できるわけよ
boot.iniだけで環境変数設定されてると思ってんだ 馬鹿じゃねコイツ
127 :
デフォルトの名無しさん :2009/10/14(水) 11:47:46
>>126 湾曲性癖ありの池沼乙
Unixできねーくせに何言ってんだ?
>>125 Linuxは触ってて.bashrcやbash_profileなら編集したりするし、仕組みもある程度理解してるけど
winの環境変数も同じように設定されてるの?
boot.batってファイル見当たらないんだが。
JavaのSystem.getEnv()は
>>122 の言うとおり、実行環境がwinならレジストリから引っ張ってきてるってことなのか?
ソース見てから書き込めって話だねサーセン。
130 :
デフォルトの名無しさん :2009/10/14(水) 11:55:06
いつものage厨か。
>>131 返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
環境変数が定義されてる場所発見 ■場所 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SeCEdit\EnvironmentVariables ■内容 %AppData% %UserProfile% %AllUsersProfile% %ProgramFiles% %SystemRoot% %SystemDrive% %Temp% %Tmp% いつこいつらに値を入れてるのか知らんけど System.getenv()はここから環境変数一覧の一部を取得してるのかな。 getenv()のソースたどったけどよくわからん。
134 :
デフォルトの名無しさん :2009/10/14(水) 12:17:22
>>133 スレ違い
JavaがWinだけで動いているのならば分るが
スレタイも読めない低能はひっこんでていただきたい
さっきからスレ違いって単語がよく出るけど ここではOSに依存する話は一切無しなの? 理想はWrite once, run anywhereだけど・・・
Win用のVMはWinだけで動いてるけど。
だよなw
>>115 が言ってるのはWin版のVMの話でしょう?
Unixがどうとか言われる方が的外れじゃねえ。
犬厨は犬板から出てくんなよ
140 :
デフォルトの名無しさん :2009/10/14(水) 12:32:42
Winしかできねー池沼の集まりだな
WinのVMで環境変数どこから取ってるのと質問が出る ↓ Unixやってりゃ分かるとか言い出す ↓ いやWinの話… ↓ Unix!Unix! ↓ (´・ω・`)
ワロタ
下らないからこの話終わりな。
>>140 返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
146 :
115 :2009/10/14(水) 12:39:43
これがわからないとPGが作れないなどといったわけではなく 単に少し気になった程度なので、わからなければわからないで問題ないです。 何かとお手数おかけしました。
>>146 PGとはプログラマを示すんだよ
お前が言いたいのはプログラムだろ
それくら身につけておけカス
>>140 返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
ブーメラン♪ブーメラン♪
>>147 返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
お間ガってのが珍妙な響きでいいな。
>お間ガ オーマイガー?お前が?
何この流れ…
このスレではよくあること。
>>133 普通にCランタイムだかWin32 APIだかが返す値をそのまま使ってるだけでしょ
javaで環境変数を設定するにはどうすればいいですか?
156 :
デフォルトの名無しさん :2009/10/14(水) 13:06:01
チン毛剃れ
あるソフトの実行環境として Java SE 5以降 (JREまたはJDK) が要求されているんですが、何を入れたらいいのでしょうか? XPマシンでOpen-officeを入れたために Java(TM) 6 Update15 が入っているんですが、これでは足りないみたいです (他のJavaのソフトは動いているのですが) ちなみにOpen-Officeの使用感は劇重です なるべく軽いものをお願いします Java の使用経験は98のマシンで gcj で遊んでいた程度です
しらねーよw そのソフトの開発元に聞いてくれ
>>160 ソフトの開発元は
Java実行環境のインストールに関する問い合わせにはお答えできません。
とあるんですが。Javaの実行環境は自分で整えないといけないみたいなんですが
だったらソフト名くらい出せや もし金払っているなら聞く権利はあるだろ
Javaが入ってるけど動きません><ってソフトの開発元に聞けよ
どっちにしろこのスレの範疇じゃないだろ
ここはJavaでプログラムを作る人のためのスレっす Javaで作成されたプログラムを使いたい人のスレではありません PC初心者板かWin板ですかね 移動するとしたら
>>166 わかりました。
取り合えずPC初心者板で適当そうなスレを探してみます
ありがとうございました
JREまたはJDK なんだからSDK入れる必要なし
>>166 このくらいならいいじゃねーか
ちょっと見てみたけど面白そうなプロトコルだね
インターネット対応なのかLAN専用なのかその辺が良くわからんけど、使っている人に聞いてみたら?
>>170 とりあえず、アプレットの方は動かないし、Java Web Startの方は試してないけど、
そこから先はこのスレの範疇ではないだろ。
Winで動作確認しないなんて選民思想のキチガイだな
174 :
デフォルトの名無しさん :2009/10/14(水) 18:31:27
Solaris使えるって段階で低能じゃないけどwww
>>176 Macを使うという程度の意味なら低脳でも
つーかUnixUnixうるせーな。見てて恥ずかしいよ。 JavaやってりゃSolarisやらAIX触るのなんて普通のことだろ。
179 :
165 :2009/10/14(水) 19:33:58
>>171 >>172 私みたいにいい加減にインストールした者だけじゃなく、
きちんとインストールした方でも動かないのですか?
Winで動くかどうか質問してみることにします。
今、将棋のプログラムを作り始めているところなのですが
並列してやっていることが多くて、
この件は、質問してみることにします。
「○○使ってる」「××使ってない」だけで自慢していいのは中学2年生までだ
>>179 Expire Dateっていうダイアログが出てくるからちゃんと動いてると思うよ。
単にプログラム側で有効期限設定してて、それを過ぎてるだけじゃねーの?
>>181 済みません。メッセージを和訳してもみませんでした
期限が切れている可能性もあるわけですか
電子署名つきのアプレットやJava Web Startのアプリのようだけど、 電子署名の期限が切れてるか、テスト用の署名を付けてるかのどっちかじゃないかと。
署名の発行者が作者本人の俺様署名だった(笑 CN=Jxxxxx Txxxx, OU=Unknown, O=Unknown, L=Yokohama, ST=Kanagawa, C=JP
LDAPこあい
CN=test,CN=Users,DC=mycorp,DC=local というエントリがあった場合 VB.netでは Dim entry As New DirectoryEntry("LDAP://localhost/CN=test,CN=Users,DC=mycorp,DC=local") だけで取得できるのですが JNDIではどうやれば取れるでしょうか? とりあえず DirContextからフルサーチして取得してますがいまいちな気がしています。
187 :
デフォルトの名無しさん :2009/10/15(木) 10:33:37
JSPでhtmlの属性値の指定で下のようにできますか? eclipseだとエラーとマークされるのですが。 <link rel="stylesheet" href="${pageContext.request.contextPath}/css.css" type="text/css" /> 変数を使えば問題ないですが。 <c:set var="css" value="${pageContext.request.contextPath}/css.css" /> <link rel="stylesheet" href="${css}" type="text/css" />
書籍についての質問です。 入門書を読んだレベルですが、ここで『Effective Java』に挑むのはきついでしょうか?
>>189 そのレベルじゃきついだろうな
きついというより、理解している人が読むもんだと思う
入門書の内容によるだろうな、具体的に何を読んだ?
>>192 「よくわかるJava」。これは理解した。
あと結城デザインパターンを読んだが、理解はしていない
まだ何も知らないころ、1001のTipsとか言う本を読んだなw 基礎もないのに、今思えば無謀だったよ コンパイルのやり方する出ていないw
JAVA歴5年だがいまだにコンパイルがよくわからない
のーみそこねこね
二極化するんだよ。 お仕着せの開発環境のIDEの上でプロジェクト標準のビジネスロジックしか書けない奴と、 そういうPGがビジネスロジックだけに専念できるように色々準備する奴とに。
でっていう
お前らは俺がいないとプログラムが実行できないとわかっているのに 俺の理解できないJavaやCなんかで話しかけてきやがる 俺が理解できるのは唯一機械語のみだ 機械語じゃなきゃお前らが作ったプログラムも実行してやることができない 実行してほしいなら俺の理解できる機械語を勉強してプログラムするか 翻訳機を通してJavaやCを機械語に翻訳してもらうんだな
200 :
デフォルトの名無しさん :2009/10/15(木) 20:26:01
何日本語でしゃべってんの?しぬの?よみのくになの?
201 :
188 :2009/10/15(木) 20:33:27
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>タイトル</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css.css" type="text/css" />
</head>
<body>
</body>
</html>
で以下のエラーが検出されます。
javax.servlet.http cannot be resolved to a type
javax.servlet.jsp.PageContext cannot be resolved to a type
javax.servlet.ServletException cannot be resolved to a type
これの.javaに変換されたものを見る限りでは問題ないし、実際正常に動作します。
また、(アプリフォルダ)/WebContent/WEB-INF/libにはjstl.jarとstandard.jarを置いてます。
なぜeclipseでエラーと検出されているのでしょう?
202 :
デフォルトの名無しさん :2009/10/15(木) 23:07:12
Stringで一つお聞きしたいんですが、 String s = "Hello"; String s = new String("Hello"); の違いは理解してるんですが、 例えばsubstringやconcatなどメソッドを使用して 生成した文字列オブジェクトは全く新しく生成されるのか 既存のを使いまわす形になるのかがわかりません。 String s = "hello"; String s2 = "h"; String s3 = s2.concat("ello");←こういった場合。 アドバイスよろしくお願いします。
動的に生成されるものは一緒にはならない。 まとめる必要があるなら、intern()を呼ぶか自分で管理する。
204 :
202 :2009/10/15(木) 23:54:44
>>203 動的に生成されるものは全てnew String()の扱いになるんですね。
自分でも検証はしたんですが
確証を得たかったので質問させていただきました。
本当にありがとうございました!!
import java.util.Random; public class Kadai { public static void main(String[] args) { int[][] a = new int[5][3]; Random r = new Random(System.currentTimeMillis()); for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { a[i][j] = r.nextInt(10); if (j != 0) System.out.print(" "); System.out.print("a[" + i + "," + j + "] = " + a[i][j]); } System.out.println(); } } }
板間違えてもた。スマソ
Yahoo!プログラミング言語検索ランキング(今回2009/10/16、前回2009/10/12) 《一般カテゴリ》 . 1(. 1) HTML..... 約5,030,000,000件(約5,020,000,000件)+ . 2(. 2) PHP... 約2,980,000,000件(約3,000,000,000件)-- . 3(--) BASIC.. 約1,580,000,000件(....------------- )0 . 4(. 3) JAVA.. 約 822,000,000件(約 832,000,000件)-- . 5(--) CGI. 約 551,000,000件(....------------- )0 . 6(--) C言語(*1). 約 399,000,000件(....------------- )0 (*1)C/C++とC#の検索件数の合計 . 7(. 4) FORTH.. 約 323,000,000件(約 324,000,000件)- . 8(. 6) PERL.. 約 245,000,000件(約 245,000,000件)0 . 9(. 7) PYTHON.. 約 213,000,000件(約 209,000,000件)++ 10(. 8) PASCAL.. 約 168,000,000件(約 168,000,000件)0 11(. 9) DELPHI. 約 128,000,000件(約 128,000,000件)0 12(11) LISP 約. 26,000,000件(約. 26,600,000件)-- 13(12) FORTRAN. 約. 21,200,000件(約. 21,300,000件)- 14(13) COBOL..... 約. 16,800,000件(約. 17,100,000件)-- 15(--) PROLOG 約. 13,800,000件(....------------- )0 16(14) HSP 約. 12,300,000件(約. 12,400,000件)- 《BASIC言語カテゴリ》 . 1(--) VisualBasic... 約 120,000,000件(約 121,000,000件)- . 2(--) Hu-BASIC.. 約. 15,000,000件(....------------- )0 . 3(--) QBASIC.. 約 4,140,000件(約 4,160,000件)-- . 4(--) MSX-BASIC.....約 1,430,000件(....------------- )0 . 5(--) DarkBASIC . 約 1,310,000件(約 1,330,000件)-- . 6(--) CBM-BASIC. 約 944,000件(....------------- )0 . 7(--) BasicStudio 約 303,000件(約 302,000件)+ . 8(--) N88BASIC.. 約 219,000件(約 218,000件)+ . 9(--) X-BASIC... 約. 40,400件(....------------- )0 10(--) 99BASIC.... 約. 11,400件(約. 11,300件)+
JSP+Javaサーブレットという構成で、JSPから入力した内容をプリンタに印刷するというプログラムを作成しています。 仮想サーバはTomcatを、ブラウザはIEを使用しています。 下記コードは、Eclipse上だと正常に動作し、印刷ダイアログを表示してくれるのですが、Eclipseを介さず、プログラムをwarファイルにしてTomcatに配備した状態で実行した場合、★部分で処理が止まってしまい、印刷動作ができなくなってしまいます。 (ブラウザ上ではlocalhostへの接続待ちを行っているようで、ステータスバーが進捗しなくなります) こういった、開発ツール上では動作するが運用上では動作しないという症状の場合、どのようなことが原因と考えられるでしょうか?
下記、コードです。 import javax.servlet.*; import javax.servlet.http.*; import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.print.*; import javax.swing.*; public class Syoru_print extends HttpServlet{ public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ request.setCharacterEncoding("WINDOWS-31J"); HttpSession session = request.getSession(); //JSPから取得した値をセットする String syoru1 = request.getParameter("syoru1"); Syorui syoru31 = new Syorui(); syoru31.setSyorui1(syoru1); //印刷を行う syoru31.insatu(); } }
210 :
207 :2009/10/16(金) 09:31:32
続きです。 (以下、別ファイル) import javax.servlet.*; import javax.servlet.http.*; import java.applet.Applet; import java.awt.*; import java.awt.event.*; //import java.awt.image.*; import java.awt.geom.*; import java.awt.print.*; import javax.swing.*; public class Syorui{ private static String syorui1; public static void setSyorui1(String syorui1a){ public static void setSyorui1(String syorui1a){ syorui1 = syorui1a; public void insatu8() { PrinterJob pj=PrinterJob.getPrinterJob(); //ページの設定 PageFormat pf=pj.defaultPage(); Paper pp=new Paper(); pp.setSize(651,898); pp.setImageableArea(60,60,507,754); pf.setOrientation(PageFormat.PORTRAIT); pf.setPaper(pp); pj.setPrintable(new TestPrint(),pf); { try{ if (pj.printDialog()) { ★ pj.print(); } }
211 :
207 :2009/10/16(金) 09:32:29
下記で終了です。どうかよろしくお願いします。 //印刷用のクラス(内部クラス) class TestPrint extends Syorui implements Printable{ public int print(Graphics g, PageFormat fmt, int index) throws PrinterException { //ページインデックスが印刷範囲外なら戻る if(index!=0){ return NO_SUCH_PAGE;//印刷範囲外のページ } //上記セット関数でセットした値を描画する g.drawString(Syorui1) return PAGE_EXISTS; //範囲内のページで印刷処理を行った } } }
サーバ上にダイアログ立ち上げてどうすんの・・・
213 :
207 :2009/10/16(金) 10:16:07
>>212 さん
ユーザからは触れないサーバサイドにダイアログが出てしまって、そこで操作を待っているために処理が止まってしまったように見えている、ということでしょうか?
そうするとこの場合、JSPにて印刷動作を記述したほうがいいということですね。
ありがとうございます。
JSPもサーバーサイドだが・・・
215 :
207 :2009/10/16(金) 10:57:10
>>214 さん
とすると、JSPで印刷動作を書いたとしても同じ結果に終わりますね…。
ためしに、ダイアログの表示動作をコメント化し、印刷動作(pj.print(); )
のみにして実行してみましたが、やはりサーバサイドでなにか待っている様子です…。
こういった場合、クライアントサイドでダイアログ表示・印刷を行うためには、どのような手段を用いればいいのでしょう?
教えて君で申し訳ありません…
はっきり言うがお前には無理 まずはウェブアプリの仕組みとかゼロから勉強しなおせ
世の中そうそう無理なんてことは無いよ
>>218 大概の人間にはな。
ただし、ダメなやつはダメ。
>>219 すぐそうやって他人を見下す
だから友達もいないんだよ
無理は言いすぎかもしれんが基礎知識が圧倒的に不足
>>220 いや、
>>217 は本当のことを言っていると思うぞ
JSPはサーバサイドで印刷機能自体は持ち合わせていない
httpでやっているのならレスポンスは通常text,htmlになる
JSPとクライアントを同一に考えているほうがおかしい
みなさん初心者相手だろ生き生きするねw
×だろ ○だと
いちいち訂正せんでよろしw
この人並みに生き生きとすることを目指してる
125 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:39:38
>>123 通常 C:\boot.ini boot.bat
ってのがあるんだよ
環境変数setで動かすのが起動時に走るわけ
Unixやれよ、したらよく分かると思うよ
rootの環境変数と例えばbashだったらbash.rcってのが走って環境変数設定できるわけよ
127 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:47:46
>>126 湾曲性癖ありの池沼乙
Unixできねーくせに何言ってんだ?
130 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:55:06
>>126 池沼やべーwww
134 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:17:22
>>133 スレ違い
JavaがWinだけで動いているのならば分るが
スレタイも読めない低能はひっこんでていただきたい
140 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:32:42
Winしかできねー池沼の集まりだな
156 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 13:06:01
>>155 ハア違い
消えろ
まあjava使うならsolarisが鉄板。同じオラクル製だし。
あれ、もう買収されたんだっけ?
byte配列からStringを作るとき、引数に文字コードを指定できますが、 StringってJavaでは文字情報をUnicodeで保持していると思います。 この引数の文字コードをShift_JISとかに設定したら、どうなるのですか?
あなたの思っていることは逆です。
Shift_JISで格納されているbyte配列を元にしてUnicodeのStringが作られます
参照しまくるとあっという間にメモリ喰われるなw
(2chのスレを)参照しまくるとあっという間に(脳の)メモリ喰われるなw
235 :
デフォルトの名無しさん :2009/10/18(日) 03:03:31
卒業研究でオンライン就職システムを作ることになっているのですが javaの知識が未熟なため何かを参照しながら作れればと思っています 図書システムのように参照できるソースなどある場所をご存じの方がいらっしゃいましyたら教えていただけないでしょうか? よろしくお願いします
そもそもオンライン就職システムってどんなのを想定してるの?
>>236 簡易版のリクナビみたいのを作れればと思っています
学生や企業情報の登録機能、検索機能、ログイン機能などで図書システムみたいのを参照できればなぁと・・・
あんまり定型的なモデルじゃないからな。 図書システムほどあちこちで必要とするものでもないし。 普通にWebアプリの作り方勉強するのがいいんじゃね。 やることは特に変わらないよ。 全文検索もライブラリ入れるだけだし。
それは就職システムじゃなくて就職活動支援システムだろが 言葉はちゃんと使え
オンラインで就職できる機能もあるシステムなのかもよ フォームに必要事項を書けば面接なしで即決!
コンビニ派遣でそういうシステムはあるな
Java(クライアント)とCORBAでC(サーバ)やCOBOL(サーバ)のシステムと通信をするとします。 Javaから文字列を送信する場合、文字列はUnicodeになると思うのですが、 Shift_JISで送信する方法はあるのでしょうか。
そもそもUnicode送ることにはならんわ 適切な文字コードのバイナリで送るのでSfift_JISで送ればよい
Windows+Eclipseで開発しています。 WindowsでCVSサーバーを立てようと思ったのですが なかなかうまくいかずUbuntuで試してみたらすんなりできました。 CVSサーバーはUbuntuでもいいですか?
いいです
そうですか
>>244 CVSはカス
Subversionこそ至高である
一人開発ならMercurialでもいいんじゃね
一人開発でソース管理時代バカじゃな? それはバックアップというのだよ
>>249 おまえは手動で安定版と開発版のバックアップ分けた上にソースの差分を一々全部別途に手動コピーして前のバージョンに戻したいときはいちいちコピペしてんのか?
>>250 素人だな
本来diffに関しては複数人であるからこそはっきする機能であって
一人でやっているのに必要ないだろう
252 :
デフォルトの名無しさん :2009/10/19(月) 16:35:24
>>250 eclipseならhistory機能付いてるけどな
無知は怖いね
eclipseのHistory機能はバージョン管理には使えんだろ そもそもファイル単位で管理ってCVSの時代かよ
Ubuntu CVSサーバー + Windows Eclipse 最強伝説!
CVSはカスだが
>>247 はSVNを推奨しているな
SVNの何がCVSに勝っていると言うの?
258 :
デフォルトの名無しさん :2009/10/19(月) 17:26:33
CVSはバイナリに不具合がある お前apacheとかの脆弱性とかもチェックしていないんだろうな
全然してないです。
環境は環境の担当に任せまふ
頭悪いでから
バイナリに不具合があるとはどういうことなの?
>>262 特定のバイトコードで(NOT EOF)EOFとなり、データが壊れた状態となる
>>263 最悪じゃないですか!
なんですかそれは!
早く修正してください。
ごめんなさい
なんでバグを放置するんですか?
バグを直した(つもりになった)らコンパイル通りませんでした
発見されたのはCVS全盛期の3年ほど前だったしな
EclipseのHistoryがバージョン管理の替わりとか、新手のギャグですか?w
270 :
デフォルトの名無しさん :2009/10/19(月) 19:44:57
一人でやるなら十分って話なんじゃないの?
バージョン管理ツールは、普通1ファイルだけの履歴を管理するわけじゃなくて、 ある時点のプロジェクト構成ファイル全てにタグ打っておいて、 後で任意の時点のソースファイルをプロジェクトごと取り出したりして使うんだよ? ブランチ切って新規機能開発専用のソースツリーを作ってから、あとでマージしたりとか。 開発人数の問題ではないよ。
272 :
デフォルトの名無しさん :2009/10/19(月) 20:13:23
>>271 タグ打ちはリリース日で打つと思うが
もしや無職?
現場レベル10年にも満たないなら意見すべきでないよ
俺から見りゃただの若造の戯言
>>271 お前、残念ながら何も理解していないよ
ソース一つ云々って誰が言っているんだい?
そこしかだせない君はまだまだ素人であって
>>272 が言う通り意見する域ではないよ
むしろはずかしい
なにが気に入らないのか知らんが、 俺がリリース日でタグを打たないって書いてるように読めるなら相当頭悪いな。
ソース管理は一つだと思ってる(た)
>>272 ワロタ
知らないからこそ出てくる発想だよね
>>272 はブランチってなんだか分かってないんだろうな
あさとひるのあいだにたべるやつ
>>272 お前みたいのを老害っていうんだな。
理解した。
お前の部下が可哀想だから死ね。
またこの人か…何なんだコイツ
125 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:39:38
>>123 通常 C:\boot.ini boot.bat
ってのがあるんだよ
環境変数setで動かすのが起動時に走るわけ
Unixやれよ、したらよく分かると思うよ
rootの環境変数と例えばbashだったらbash.rcってのが走って環境変数設定できるわけよ
127 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:47:46
>>126 湾曲性癖ありの池沼乙
Unixできねーくせに何言ってんだ?
130 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 11:55:06
>>126 池沼やべーwww
134 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:17:22
>>133 スレ違い
JavaがWinだけで動いているのならば分るが
スレタイも読めない低能はひっこんでていただきたい
140 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 12:32:42
Winしかできねー池沼の集まりだな
156 名前:デフォルトの名無しさん[] 投稿日:2009/10/14(水) 13:06:01
>>155 ハア違い
消えろ
>>277 勘違い乙
せいぜい3年目程度の無能なんだろうな
一人かどうかを気にする人がいるけど、そこは問題じゃないと思うよ。 誤解を恐れず単純に言えば、ファイル数がいくつあるかが問題になる。 プロジェクトの構成ファイルが100個あったときに、 あるリリース時点のソースツリーが必要になったばあい、 Eclipseのヒストリ機能で本当にソースツリーをその時点まで戻せるのかどうかってこと。 ソースツリーは常に最新しか必要ないならバージョン管理そのものが不要だけど、 使い捨てのプログラムでないかぎり、そんなことはありえない。
283 :
デフォルトの名無しさん :2009/10/19(月) 20:24:51
>>283 返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
んで、具体的に俺の言ってることのどこが素人なんだよ? 後学のために聞かせてくれ。
>>272 返す言葉もなくその低能っぷりwww
レスなくてもお間ガの存在価値なんてないし社会のゴミだからレスするなよ
時々まともなんだけど それ以外の時は狂ってるよな 等質?
ビリーミリガンみたいな
おそらく一人で書いてると思われる彼のレス、 全体的にオモローだな。ギャグだとしたら才能ありすぎるw
コンパイルできません、助けてください //<applet code="PaintEx1.class" width="400" height="500"></applet> import javax.swing.JApplet; import java.awt.*; public class PaintEx1 extends JApplet { public void init() { setBackground(Color.WHITE); } public void paint(Graphics g) { g.setColor(Color.BLUE); g.draw3DRect(int 10, int 10, int 25, int 20, boolean true); g.setColor(Color.RED); g.drawArc(int 45, int 10, int 25, int 20, int 32, int 230); int[] x1 = {int 80, int 120, int 80}; int[] y1 = {int 30, int 5, int 30}; g.setColor(Color.GREEN); g.drawPolygon(x1, y1, int 3); } }
>>294 「int 10」→「10」
「boolean true」→「true」
に全部修正しる
>>295 一体全体どんな発想したらこんなコードを書こうと思うのか謎だわ……。
どこのサンプルみたらそうなるんだ?
助ける必要性を感じないソースコードだ
エラーメッセイジ読める様に勉強しろとしか。 ところで印刷アプリ作ろうと思うが、ウィンドウズ環境とか決めうちなら、印刷メニュー有効程度で、swingの描画をよしなに印刷してくれたりするのかな? それとも自分でビットマップに変換か、表示をキャプチャしてあげたりとか、自分でプリンタ言語で印刷データを生成してあげないと駄目? j2ee的に動かそうと思うと、weblogicとかwebsphereみたいな高額フレームワーク導入するぐらいが現実的? プレビューイメージも取得出来ると最高だけどそんな機能なんて無いよなあ。orz javaからole経由でワード動かしてデータ流し込んで印刷させたほうが楽な気がして来たw
Javaの基礎を勉強したのですが、 標準APIドキュメントを見ても良く分かりません。 Javaのクラスライブラリを説明している書籍など有りませんか?
悪いけどあれが読めるようになって 基礎を勉強したと”言えるかも知れない”レベル
読めるのならそのうち分かってくるから大丈夫
SVN試してみたけどこっちのがいいね
最初は慣れなかったけど、使うと分かるSVN
と思ったけどなんかあまりうまく動かないなぁ というわけでCVSで行くことにしました。
CVSにしたらファイルを作るときに気をつけないとな 後で被ったらアウト
どゆこと?
イミフワロタw
メインのJFrameから、ボタンを押すことにより 別のJFrame(JTableにJava DBのデータベーステーブルを表示)を 呼び出したいのですが下のようなエラーが出てしまいます。 Exception in thread "AWT-EventQueue-0" java.lang.Error: java.lang.reflect.InvocationTargetException Caused by: java.lang.reflect.InvocationTargetException Caused by: java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager Caused by: Exception [TOPLINK-8034] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException Exception Description: Error compiling the query [SELECT a FROM Attorney a]. Unknown abstract schema type [Attorney]. コード: @Action public void showSecondFrame() { SecondFrame sf = new SecondFrame(); sf.setLocationRelativeTo(getFrame()); MainApp.getApplication().show(sf); } いったいぜんたいどこがいけないのでしょうか?
まずTOPLINK-8034を調べてみたら
>>251 はつまり一人でやる場合はソース(ツリー)は一つでいいと言ってるのか?
>>293 個別の11人みたいに思想が同じ単独犯が複数湧いちゃったから複数犯に見えるみたいな個々のレスなんじゃないか?
Ubuntu再起動したらSVNの調子がよくなったので こっちを使います。
314 :
デフォルトの名無しさん :2009/10/20(火) 15:59:33
大変馬鹿な質問かと思いますが、プログラムを始めたばかりの私に 誰か教えていただけると助かります。 3の倍数、5の倍数、3と5の倍数の時に、「3です」とか出る プログラムを作りたいと思うのですが、2個目以降のifをelseにすると エラーが出てしまいます。それと、結果が1,2,3,3ですとそれぞれの 倍数の時にダブって出てしまいます。 それを直したいのですが誰かよろしくお願いします int a = 1; for (int i = 1; i <= 100 ; i++) { if ( a % 3 <= 0 && a % 5 <=0 ) { System.out.println("3と5です"); } if ( a % 3 <= 0 ) { System.out.println("3です"); } if ( a % 5 <= 0 ) { System.out.println("5です"); } System.out.println(a); a ++ ;
else if
316 :
314 :2009/10/20(火) 16:42:36
>>315 ありがとうございます。
良く考えればわかったことなのに申し訳ないです。
しかし、まだ結果が1,2,3,「3です」とダブるのが直せません。
最後のprintlnがifにもelseにも入ってなければそりゃダブる
>>316 出したくないならaをまずiに置き換えた上、○ですと出した後continueすればいいでしょ。
このままやるなら
System.out.println("5です");
} else {
System.out.println(a);
}
とすればおk
319 :
314 :2009/10/20(火) 17:20:03
>>317 >>318 ありがとうございます。
for (int i = 1; i <= 100 ; i++)
{
if ( a % 3 <= 0 && a % 5 <=0 )
{
System.out.println("3と5です");
}
else if ( a % 3 <= 0 )
{
System.out.println("3です");
}
else if ( a % 5 <= 0 )
{
System.out.println("5です");
}
else
System.out.println(a);
a ++;
これで一応思い通りに動いたのですが、aが3の時のelse ifで
a++;が無いのに4が表示されるのですがどこで+1されているのですか?
else System.out.println(a); a ++; これだろ お願いだからテキストでも1冊買って読んでくれる?
初心者以前は流石にカエレという気がする
322 :
314 :2009/10/20(火) 17:31:47
>>320 本当申し訳ないです。最後にします。
else if ( a % 3 <= 0 )
System.out.println("3です");
aが3の場合これが実行されますが、このあとループの最初に戻るのではなくて
最後のelseが必ず実行されるのでしょうか?
>>322 意味分からん
a == 3 の場合は System.out.println("3です"); が実行され
以降の else if/else はスルーして a++; が実行される
>>322 あなたは
else {
System.out.println(a);
a++;
}
のつもりかもしれないが、実際には
else {
System.out.println(a);
}
a++;
だ。
elseの効果は (ifもforも同様だが)、波括弧で括っていない限り、
直後の文ひとつ (この場合はprintln) だけにしか及ばない。
空白の有無は単に見た目の良さだけでしかない。
特に業務で使っている方に、ライブラリの選定について質問です。 例えば開発しているシステムでxmlを使うことになりました。 JAVAでxmlを扱うためのライブラリは複数あります。 その場合、そのいずれかを使うか、又は自力で実装するかを決める必要があります。 この場合にどのようなプロセスで決定を下すかを教えていただけますか? 業務にマッチしているか、使用の際に注意すべき点はあるのかなど、 どのような点を考慮しているのかなどお聞かせいただけますと幸いです。
ライセンスだけで95%決まる気がする
>>325 まずはクライアントのタイプだな。
銀行系とかだとライブラリ1つ入れるだけでいやな顔するんで使わないことも多い
逆に安く早く作れってならば、マイナーなライブラリでも後から承認してもらう程度で使う
また、フレームワークレベルになってくると流石に実績や開発経験、教育コストが重要。
最終的にはライブラリの選択肢と経験、加えてお金と時間があるか、それだけで決まるけどね。
>>325 アーキテクトの印象。
っていうのは嘘のような本当の話だけど、大体は326の言うようにライセンスやら金の問題が優先される。
<jsp-config> <jsp-property-group> <url-pattern>*.jspf</url-pattern> <url-pattern>*.jsp</url-pattern> <page-encoding>UTF-8</page-encoding> <include-prelude>/jspf/header.jspf</include-prelude> </jsp-property-group> <jsp-config> の様にurl-patternを複数書けますか? *.jspfと*jspで/jspf/header.jspfをヘッダとして加えたいのですが。
試したほうが早いような。 書式的にはurl-patternを複数書くのは問題ないはず。 ただjspf拡張子をパターンに指定して何がしたいのかは知らんが。 勘違いしてるんではないかな。
331 :
329 :2009/10/20(火) 22:41:23
>勘違いしてるんではないかな。 Strutsは昨日から勉強しだしまして勘違いというか理解不足なのだと思います。 実は <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %> <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %> の記述を全ての.jspのヘッダにしたいのですが、include前提のjspf(これも理解が間違ってますでしょうか?) にもtaglibの記述をしないとIDE(netbeans)の補完機能が働かず例えばhtml:form等が候補に挙がってきませ んでした。 その為に*.jspfにも上記ヘッダを付けたいと思ったわけです。 それとも他の方法で.jspfのテキストでコード補完機能が働くようにできますか?
もう一度いうが、勘違いしてるんではないかな。
初歩的な疑問ですいません AWTのAdapterクラスは、各種Listenerクラスのメソッドを定義しているだけで 抽象メソッドは1個も含まれていないのに、何故abstractを付けて抽象クラスにしているのでしょうか。 抽象メソッドが1個も含まれていなければ、抽象クラスにする意味は無さそうな気がするのですが、 普通のクラスにしていない理由を教えてください。
>>333 継承して使え、というXxxAdapter作成者の意思表示。
そのままインスタンス化しても使い道ないからだろう
かぶった
>>334-335 インスタンス化防止の為だったんですね。
納得しました。ありがとうございます。
>>326-328 有難うございます。
今課題でライブラリ選定に挑戦しております。
比較検討の材料として、実案件でのやり方をお伺いしたいと考えた次第です。
ライセンスについては全く思い至っておらず、また、企業の慣習も大きく影響するということを学ばせていただきました。
後はコストについて。制約が全く無いのなら「最強」になるのでしょうが、そんな訳にはいきませんよね。
貴重なご意見をありがとうございました。
339 :
デフォルトの名無しさん :2009/10/21(水) 20:28:04
これからGTK+を勉強しようと思っていますが、 JavaでGTK+を使えますか? 使えるとしても、何かデメリットがあるのでしょうか? あるいは、逆にメリットがあれば、それも教えてください。 Swingとかを使ったほうがいいんですかねぇ・・? GTK+を覚えれば、他の言語からも使えて便利かな、と。
JavaがやりたいのかGTKがやりたいのかAGEたいのかハッキリしろ
341 :
デフォルトの名無しさん :2009/10/21(水) 21:14:55
GTKがやりたいです。
JavaにおけるGUIの選択肢は、事実上、SwingとSWTしかない。
344 :
339 :2009/10/21(水) 21:52:07
>>340 さっきは間違って上げてしまいました。すみません。
JavaでGTK+を使えるか、また、使うことに問題があるかお尋ねしたかったんです。
Javaは既に勉強を進めています。
>>343 そうなんですか。
Swingを使うことにします。
ありがとうございました。
345 :
AWT :2009/10/21(水) 21:52:23
まだまだ若いモンには負けん。
346 :
デフォルトの名無しさん :2009/10/21(水) 22:04:40
JavaがやりたいならSwingだろ、FXでもいいかもしれんが GTK+やりたいってならJavaでやるメリットはないんじゃね
DOMParser xml = new DOMParser(); xml.parse(file.toString()); Document document = xml.getDocument() XMLを保存した後に、読み込む事に成功したわけですが この後って、クラスに変換するのが常識なんですかね どこで調べてもXMLの作成→保存→読み込みだけで終了している気がする
何がしたいのかが解らない
351 :
349 :2009/10/22(木) 20:48:16
>>350 ソフトの設定をXMLに保存して、必要な時に読み込むだけです
そして、終了する時に同じXMLファイルに保存しなおして終了
>>351 クラスってなに?設定クラスのことか?
最初からXML/Beanマッパー使った方が楽だと思うが・・・
353 :
349 :2009/10/22(木) 21:13:37
>>352 >設定クラスのことか?
ウインドウのサイズや他のコンピュータと通信するために必要な情報などを、XMLに保存します
XMLを読み込んだ後はどのような形で、データを保持しているのか?という下らない質問です
Java Bean/XMLとかいう便利そうなライブラリがあったのですか、知らなかった
Apache Xercesだけでどうにかしようと考えてで、救われました
GUIの設定にマッパー入れるのはでか過ぎないか? 読み込んで終わりも何も読み込んで値取ったら終わるのは当然だと思うんだが。
355 :
349 :2009/10/22(木) 21:57:00
>>354 >ウインドウのサイズ
えぇ〜と、ここはたとえ話なので無視してください
基本的には、他のコンピュータと通信するために必要な情報を保存するつもりです
具体的にはhttpのレスポンスヘッダ(Last-Modifiedとか)ですね
あとソフト自体(ユーザの設定)を保存する程度なので
XMLEncoder/XMLDecoderで十分
読み込みだけならSAX 書き込みもするならDOM
358 :
349 :2009/10/22(木) 22:15:16
>>356 いろいろXML関係ありますね
DOMとSAXだけじゃきついと思っていたのですが、意外にも色々あるのか
>>357 >具体的にはhttpのレスポンスヘッダ(Last-Modifiedとか)ですね
と書きましたが、このLast-Modifiedという値はほぼ100%の確率で書き換えるつもりです
だいたい、1つのXMLファイルが20行くらいです
360 :
349 :2009/10/23(金) 16:08:58
>>359 ランダムじゃなくて、絶対書き換えるという意味です
今日、プログラミングに詳しい人にどうやって、XML関係のクラスを実装しているか質問しました
その結果
XMLReader(スパークラス@XMLを読み込む)を作り、
*.xmlごとにXMLReaderを継承したクラスを作れと言われました
ひとまず、この方法で実装してみようかなと思っています
/** * strの説明 * @see strを使っているメソッド */ private String str = null; 他の人が書いたコードを読んでいたら、このようにJavadocを書いていました。 読みやすいなと感じたわけですが、フィールドに@seeを書くのは常識なのでしょうか?
>>361 特に常識ってわけでもない。
ルール次第なんだけど、書く現場と書かない現場が半々って印象。
書くと関連が増える度にメンテする必要があるから、結構面倒なのは確かだよ。
>>361 書けという常識ではなく、普通普通。
JDKについてくる src の java.lang とかで @see で grep してみ。
>>362 >書くと関連が増える度にメンテする必要があるから、結構面倒なのは確かだよ。
そうですね、ここはやっぱり重要だと思います
>>363 >>361 のjavadocはJDKのソースを読んでいて発見しました
下記処理を考えているのですが汎用性のあるいい案はありませんでしょうか? @Beanの各セッターに値をセット A上記でセットした値すべてに対してスペースの除去処理(スペースがあれば除去して再度セット)を行う Beanにセットされている値だけAをLOOPして行うなんてできるのでしょうか? ちなみに@の前に行うのは無理な仕様です。 @のセットのタイミングでスペース除去のメソッドを呼ぶ記述を各セッターに書くとかも考えたのですが Exceptionのキャッチを考えると、、+かっこわるいのでうーん、、って感じがしまして。。 ベタで全部ゲットしてスペース除去メソッド呼んでセットしてはさけたいです。
>>365 こんなのであってます?
private String str1;
private String str2;
public String getStr1() {
this.str1;
}
public String getStr2() {
this.str2;
}
public void setValue(String fieldName, Object value) throws Exception {
Field f = this.getClass().getField(fieldName);
if (value != null) {
if (value instanceof String) {
f.set(this, ((String)value).trim());
} else {
f.set(this., value);
}
}
}
>>365 String getXyz() {
return this.xyz == null ? null : this.xyz.trim();
}
369 :
365 :2009/10/24(土) 06:52:33
>>367 誰。。。
>>366 レスありがとうございます。
すいません、言葉足らずでした、セッターは各項目ごとにほしいです。
というのはstrutsを使用して画面の入力項目をstrutsのxmlにbeanとマッピングして定義通りsetする為です。
1つにまとめてしまうと難しい気がします。
なので自分の個人的な思いが2つあってどっちかできたらと思っているのですが
@beanの親クラス的なものがあって各セッターの中でセットする前に対象のメソッドを呼ぶとかできるか
Abeanのセットが終わったビーンをあるメソッド(スペース除去処理メソッドなど)にビーンごと引数で渡して、そのビーンに
入っている値をループして処理を行うことができたらなー
と思ってます。。こんなことできるのか。。というのはあります、、。
>>367 すいません、こちらも言葉足らずでした。
以降の処理でbeanで設定されている変数の値を直で使用する処理がある為、ゲッターを使わず値を取得する
ことがあります。その為、beanで対応しようとするとセッターでの対応になります。
>>369 あなたのいうBeanの定義は何?
データを一時的に保存するデータクラスのこと?
それともStrutsとかでフォーム値がはいってくるようなクラスのこと?
>beanの親クラス
サブクラスでの振る舞いをスーパークラスで定義するのは無理
できてもかなりイビツ
スペースが入ってくるのは解った
それ以降はスペースが不要なのか、必要なケースはあるのか?
不要ならばsetterで削ればいい、必要ならば「不要な場合に」削るユーティリティを使うべき
>以降の処理でbeanで設定されている変数の値を直で使用する処理がある為、ゲッターを使わず値を取得する
イミフ
あと元の値も欲しいならこうすべきかね String getXyz() { return this.xyz == null ? null : this.xyz.trim(); } String getRawXyz() { return this.xyz; }
素朴な疑問なのですが FileNotFoundExceptionが発生した場合、close()をする必要はあるのでしょうか
何をcloseしたいの?
>>373 FileInputStreamオブジェクトを作る時にFileNotFoundExceptionが発生するので
普通の使い方してるんであればいらない。 そもそもファイルをオープンできてないわけだから。 でもclose呼んでもかまわない。
Java 3Dの1.5.1 APIあるいは1.4.0_01 APIのインストール時に インストールフォルダを指定することは可能でしょうか? 1.3.1 APIは指定出来るのですが、上の2つはなぜか指定画面が出てこないんです。
>>374 まてまて、その場合はfinallyでcloseするんだからFileがないかどうかなんて普通はチェックしない
そもそも、まともなアプリなら先にファイルの有無くらい確認すべきだが
割り込みすいません。 表の形式で文字列を表示させたいのですが、 例えば、 AAAA B AA B A B と列の頭を揃える場合、簡単に実現できる方法はありませんか?
String#format
>>380 ありがとうございます。
書くのを忘れていましたが全角の場合はどうすればいいですか?
>>375 オブジェクトって生成されないよ?
どうやって呼ぶの?
javaを始めようかと思っています。 色々あってよく分かりません。 一通りのことを教えていただけないでしょうか?
>>385 初歩的なjavaのプログラミング程度のスタートアップを自分でやれないようなら止めといた方がいい
>>385 入門書1冊買えば一通りのことは載っている
Java1.4互換のクラスファイルを生成するJSR14を使ってプログラムをビルドしようとしたら、 ジェネリクスは使えましたが、enumは使えませんでした。 ビルド・パスが不完全であるため、プロジェクトはビルドされませんでした。 java.lang.Enum のクラス・ファイルが見つかりません。ビルド・パスを修正してから、このプロジェクトをビルドしてください EnumはJDK1.4には存在しないので、エラーになるのは当然ですが、どう解決すればいいでしょうか。 Javaの標準クラスライブラリのソースコードが入手できればいいんですが、何処にあるのかわかりません。
ねーよw 解決はenumをはじめ、5系に依存するコードを含めいようにすること
java.lang.StringBuilderはどんな感じで作られているのか気になったので、JDKのソースを読んでみた sb.append("str");は strをcharの配列に変換→フィールドのchar[]に変換したのをコピー sb.toString();は return new String(byte[] bytes, int offset, int length) ; StrinbBuilderはスレッドセーフじゃなくていいので、結構簡単に作れそう
勉強目的で作るならいいと思うが、そういう意味だよな?
専用クラスファイルの追加を気にしないなら、Retrotranslator使えば? こっちならJDK1.5以降のクラスも色々対応してくれている。
素朴な疑問なのですが、デザインパターンのシングルトンについて質問 シングルトンはオブジェクトが1つしかないことを保証するので、 staticなフィールド(static finalは除く)は一ミリも意味がなくないですかか?
かか
>>395 static なフィールドを使わないで、シングルトンから返す実体を保持する方法を
思いついたのならば問題なし。
public class Singleton { public static Singleton getSingleton() { return Singleton.getSingleton(); } }
スタックオーバーフローじゃね
400 :
395 :2009/10/25(日) 15:25:58
いまいちわかりませんが、適当に作ります
401 :
デフォルトの名無しさん :2009/10/25(日) 15:26:07
、
>>398 シングルトンになってるのってクラス名だけだよね。
そもそもここはデザパタスレだったのか
で?
JAVAを勉強し始めて間もないのですが… 画像をピクセル単位で表示位置を設定し、 クリックすると動作を行うプログラムを 作成したいのですが…。 現在はJButtonに画像を表示し、GridBagLayoutを 使用して配置しようとしてるのですが、 これですと、ボタンの細かい位置やサイズが指定できなくて 困っています。 そのようなクラスを使用すればいいのでしょうか?? もしよければ、サンプルプログラムなどもあるとうれしいです。。
>>405 >JAVAを勉強し始めて間もないのですが…
何の免罪符だよw
そう言えば同情してもらえるとでも思ってるの?
407 :
405 :2009/10/25(日) 23:09:03
>>406 早速のお返事ありがとうございます。
同情してもらおうと思ってるのではなく、
正直ここにいる人よりJAVAのレベルが
私は低いと思ったのでそう書かせていただきました。
import javax.swing.*; public class MainFrame { public static void main(String[] args) { JFrame f = new JFrame("Sample"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addPanels(f); f.setBounds(100, 100, 200, 100); f.setVisible(true); } private static void addPanels(JFrame f) { f.setLayout(null); JButton btn = new JButton("Button"); btn.setBounds(10, 10, 150, 15); f.add(btn); JPanel pan = new JPanel(); pan.setBorder(BorderFactory.createLineBorder(java.awt.Color.green, 5)); pan.setBounds(10, 30, 100, 30); f.add(pan); } }
>>407 ,409
カリカリイライラしちゃってかわいそう・・・
彼女にふられたとか?
411 :
405 :2009/10/25(日) 23:43:17
>>408 ありがとうございます!
すぐに理解はできなさそうですが…
これ見ながら頑張ってみます!
>>410 すまん。
質問の冒頭に
「JAVA初心者です。」とか「昨日からJAVAの勉強し始めました。」
みたいな前置きをつける奴みると無性に腹が立つんだよな。
知らないことは悪いことではないが、それを盾にするなと言いたい。
盾だと思っちゃうのは性格がひねくれてるからだぉ
単に自分のプロフィールを紹介する目的
>>415 ありがとう。
理解はできなさそうだが・・・
まあどこのコミュニティでも最初に「初心者なのですが」と書くやつは叩かれる
質問者のレベルによって回答の仕方も変わるからね。 「初心者です」を後出しされるよりいいと思う。
最初に自分が初心者レベルであることを書いてないなら書いてないで 「お前そんなことも知らないで今までよくやってこれたな」 と叩かれるだけで結局回答がこのスレでつくような質問は初心者には不可能となる
アナル初心者なんですけど、 お尻の中はどうやって洗えばいいんですか? ><
Tomcat+MySQLでWebアプリを開発しています。 EclipseからTomcatを起動した場合は正常に動作しますが、.war ファイルを作って Tomcat にデプロイし起動すると 最初のデータソースへのアクセスで Cannot create JDBC driver of class '' for connect URL 'null' と怒られます。 データソースの設定は Web アプリの META-INF/Context.xml に記述していますが、ドライバクラス名も URL も取得できていないようです。 ちなみにドライバは Tomcatフォルダ/lib にコピーしてあります。 .war ファイルにした場合は、Tomcat 自体の設定に何かを追加する必要があるのでしょうか?
public void actionPerformed(ActionEvent e) {}をオーバーライドして、 public void run()を匿名クラスとして定義したんだけど なんで、自分自身のインスタンスthisが使えないのよ? class Hoge extends JFrame{ public void actionPerformed(ActionEvent e) { SwingUtilities.invokeLater(new Runnable() { public void run() { Temp t = new Temp(this); ←ここで、IDEに怒られる }}}}
テンポラリとおもいきや添付ファイルだったり
愚民の皆さま、何か間違ってますか?
>>424 もしかして: Hoge.this
単に this と書くといちばん内側の匿名 Runnable を指す
429 :
デフォルトの名無しさん :2009/10/26(月) 13:21:07
初心者です。 JFrameクラスのSetResizable()をfalseにしたとき ウィンドウの内側に枠線のようなものが出るのですが これを消すことはできますでしょうか。
以前、JavaScriptでプログラムを書いていたので、上司からJavaをヤレと言われて、あわてています。 JavaScriptで書いてあるプログラムをJavaに持ってきても動作するのでしょうか?
JavaとJavaScriptは完全に別物です JavaScriptのことは忘れてイチからJavaを勉強する必要があります
>>431 そうですか。上司にあなたのレスを見せることにします。
>>432 ちげーだろ、これからはJavaといいたかったんじゃろ?
>>430 Java 上で JavaScript を動かすことは可能だけど一部動作しない。
435 :
430 :2009/10/26(月) 15:22:22
動作するんですか。よかった。過去自分が作った資産が使えそうです。
そりゃ動かせるけど、それはJavaをヤルってことにはならんのでは?
JavaScript を JSP に貼り付けるのか?
438 :
430 :2009/10/26(月) 17:03:55
>>436 やっぱりJAVAらしく1から作り直した方が後々、いいですかね?
ScriptEngineManagerなのか・・
本気で言っているならばまずはJavaの勉強を少ししてから流用できるか検討しろ
441 :
424 :2009/10/26(月) 19:10:02
442 :
デフォルトの名無しさん :2009/10/26(月) 21:12:52
上司古いな これからはむしろJavaScriptの時代なのに。 それかGWTでやれって事なのか?
実はクライアントアプリをサーバアプリにしろというヤバい案件なのかも
>>423 >>423 EclipseのプラグインからTomcatを起動してるときと、Tomcat単体で動かしてるときの違いを理解せよ。
<Tomcat>/conf/Catalina/localhost/<proj>.xml
XMLでソフトの設定ファイルを書こうかなと考えていました しかし、java.utils.Propertiesとかいうクラスを発見 XMLで実装するよりも、Propertiesの方が楽そうに印象を受ける お前らなら、XML or Propertiesのどっちにするの
Properties で XML 入出力
447 :
423 :2009/10/26(月) 23:32:39
>>444 ありがとうございます。
<Tomcat>/conf/Catalina/localhost に、.war ファイルから取り出した Context.xml を
Webアプリ名.xml としてコピーしたら、無事DBにアクセスできました。
ただ、この作業は必須なのでしょうか?
Tomcat6 では .war ファイルのみでデプロイ可能だと思っていたので、なんとなくすっきりしないような・・・
どうしてXMLに固執するのか分からん。 ソフト固有の設定情報でしかなく他のソフトや他のコンピュータとのやりとりを行うこともないものなのに… もちろんそういうことが必要な情報だというのならXMLも選択肢の一つだろうけど。
449 :
423 :2009/10/27(火) 00:29:37
済みません。しょうもないミスでした。。。 META-INF/Context.xml を context.xml にリネームして再度 .war ファイルをデプロイしたら Tomcat が .war ファイルを展開後 <Tomcat>/conf/Catalina/localhost に Webアプリ名.xml としてコピーしてくれました。 Windows なので大文字・小文字は関係無いと思い込んでいたようです。 お騒がせしました。
java超初心者です。会社のアプリがあって、それを元にいろいろ学習しようとおもったのよ。 6年くらい前のソースでborland.jbclってのが読み込めてなくてエラーでてんだけど、 borland.jbcl ていうパッケージ今ないのかな。JBuilderにはついてたみたいだけど、今のはないんだ。 昔の開発環境を用意しなくちゃならん?
>>451 とりあえず未経験の素人向け入門書でも手にとってから質問しろやカス
私女だけどJavaって難しいのね 優しく教えてくれてよろしくてよ?
age
上がってないぉ
クラスローダでバージョンがって話の記事は読んだけど 結局、クラスローダって何するの?
>>456 名前の通りなんだがな。
javaのクラスを使うために必要なもの。
Class.forName()とかみてみると少しは雰囲気つかめるかもしれない。
jarってどう使えばいいんでしょう?
それしか言えない低能乙
462 :
デフォルトの名無しさん :2009/10/27(火) 21:08:24
javaのファイルをコンパイルして起動する際、 javac(コンパイル)の場合は-classpathを設定しても 現在のディレクトリも探してくれるのに、 java(起動)は-classpathを設定したら 現在のディレクトリも探してくれないんでしょう? 仕様以外に何か理由があるんですか? すいませんがアドバイスよろしくお願いします。
仕様です
>>461 そうか、君はアレに教えてあげるのか。
優しいんだな。
それは俺が悪かったな。
Javaの列挙型はクラスなんですか? クラスということは、値型ではなく参照型ということになりますよね。
その認識で正しい
467 :
462 :2009/10/27(火) 21:32:04
>>463 やはり仕様なんですね。
アドバイスありがとうございました!
XML、設定ファイル、プレーンテキストの3種類を扱おうと考えています そのため、昨日までそれぞれに対応したクラスを作っていました 作っていて気がついたのですが、コンストラクタとpublic Object readFromXXXX(File file){} 2つしかメソッドがないクラスを3つも作ってしまいましたorz そこで、staticでpublic staic Object readFromXXX(File file){}というのを作って、 ReadUtilsみたいなクラスにまとめようかと考えています お前らならどう実装しますか?
>>468 全部同じメソッド名にして interface を作る
struts+hibernateでダイナミックフォームBeanを直接O/RマッピングのPOJOとして利用することはできますか?
そんなことはやめろ。
472 :
468 :2009/10/27(火) 22:15:35
>>469 返答ありがとうございます
インターフェイスを作るのは思いつきませんでした
でも、XML、設定ファイル、プレーンテキストの各種読み込みクラスは
これ以上メソッドの数が増えそうにないのですが....
それでも、
>>469 だったインターフェイスを選択しますか?
>>465 もしかしてC#の方で列挙型の質問している人かな。(マルチとは違う意味で)
Javaだと列挙型は後付けだし、プリミティブ型以外全てはクラスで作られてる。
C#の列挙型は列挙されていない整数値でもキャストして代入可能。(MSDNだと「できるけど、やるな!」と明記)
Javaでは整数値じゃないので代入(というよりキャスト)不可。
474 :
470 :2009/10/27(火) 22:31:58
>>471 すみません。理由を教えて頂けないでしょうか?
普通はFormBean→POJO→DAOの引数へという流れだと思いますが
FormBeanのフィールドとPOJOのものとがまるっきり同じ場合があるの
でFormBean→DAOの引数としても良いのではと思ったのですが。
DAOの再利用性が画面の制約を受けるようになっちゃうと思うけど。 Dynaなら何でもいいとなるとタイプセーフじゃなくなるって問題もあるし。 そういった点を認識して使う分にはかまわないのでは。 *肝心のhibernateでDynaActionForm使えるかどうかは知らない。
476 :
470 :2009/10/27(火) 23:18:37
>>475 jsp+servletは勉強し始めたばかりで圧倒的に知識が不足しています。
的外れなことを言っている可能性があるのでご容赦下さい。
DynaActionFormとstruts-config.xmlを使ってXXXFormが自動生成されると認識しています。
うまくO/Rマッピングの設定ができればXXXForm→DBのレコードとなるのでタイプセーフなのではと思います。
ただXXXFormをうまくマッピングできるのかわかってません。
DAOの再利用性で言うとフォームの入力フィールドに影響を受けるので、ご指摘通り問題ですね。
例えばユーザ名を扱うとして、フォームで一つのテキストエリアで行っていたものを、姓と名を分離して入力す
るように変更した場合などは対応できなくなってしまいます。
どうやら止めた方が良さそうですね。ありがとうございました。
>>472 なんとなくマジレスすると
この情報だけでinterfaceを導入するなんて考え方するやつは危険
別の責務を持つものを一つのクラスにまとめると
無意味な依存関係が出来上がる
Strutsを利用した初期のProjectではDynaActionFormを使うこともあったけど、 そういったプロジェクトについても、リファクタ作業の中で個別のForm実装に置き換えたケースがほとんど。 DynaActionFormはタイプセーフではないです。 Formの値を使うときはDynaActionForm型のインスタンスに対してget("String")のような 属性名を「文字列」として渡す必要があるため、型情報からはどんな属性が存在しているのか知ることはできません。 プロジェクトの規模が大きくなればなるほど、コードがタイプセーフに作られているかどうかが メンテナンス性を大きく左右する要因になってくると思います。 プレゼンテーションのモデル(Formや画面の表示/入力項目)と ドメイン層で扱うモデルは明確に分割することを意識しておくのが重要だと思います。 (実際にそのような設計をするかどうかはおいて)
>>472 誰がファイルの中身(XML、設定ファイル、プレーンテキスト)について知っている必要があって、
誰がどんな操作をしたいのかによって設計は変わるでしょ。
480 :
472 :2009/10/28(水) 08:06:42
>>477 インターフェイスの導入は検討してみます
>>479 XML、設定ファイル、プレーンテキストを読み込んだら後は
何にもしないと思います
481 :
デフォルトの名無しさん :2009/10/28(水) 13:54:27
すいません。質問させてください。 tomcat6.xでカンマの入った値をonmouseover=に指定すると以下のJSPコンパイルエラー が 出力されてしまいます。 Attribute value tip + "'" is quoted with " which must be escaped when used wit hin the value <% String name = "yamada"; %> <tt:mytag onmouseover="<%=name + "'"%>"/> カンマやダブルコートを含む文字列に対して、どのようなエスケープ処理を施せば解決 するのでしょうか? ご教授おねがいします!
482 :
デフォルトの名無しさん :2009/10/28(水) 16:51:37
質問させていただきます。 今度ネットワーク系の研究室に所属になりプロトコルをjavaで 作成しなければいけないのですが、プログラミングは苦手で困っています。 何か参考になるHPなどありましたら教えていただけませんでしょうか?
プロトコルはJavaでは作れません
医学系でプロトコールとかあるからよくわからんのぅ アプリケーションプロトコルならRFC読むかどっかの実装参考にしろ
>>481 String name = "yamada'";
じゃだめなの?
javaを学ぶためにラリーカーを走らせて得点を競うcoderallyを使っているんですが、 良い戦略が書いているサイトを知っていたら教えてください。 もし、過去にcoderallyをしたことがあって、こんないい戦略を練ったよって言う人がいれば、 その戦略を教えてほしいです。
class A { public static void main(String args[]) { int height = 160; int weight = 47; double rohrer1 = 10000000*weight/(height*height*height); double rohrer2 = weight/(height*height*height)*10000000; System.out.println("ローレル指数:" + rohrer1); System.out.println("ローレル指数:" + rohrer2); } } //結果 114.0 0.0 このコードを double rohrer1 = 10000000*(double)weight/(height*height*height); double rohrer2 = (double)weight/(height*height*height)*10000000; こう変えると結果が 114.74- 114.74-になるのはなぜですか? 小数点以下も表示したいので、キャスト演算子を使っただけなのですが、、、
Eclipseを使っていたので、NetBeansがやけに重く思える
Eclipse(笑)
フリーで使えるプライベートUDDIレジストリってありませんか? 昔はJWSDP1.6に含まれていたみたいだけど、 今ではダウンロード出来なくて困ってます。
Eclipseも最近は決して軽くないけどな 3.2くらいまでは確かに軽かったんだけど、3.4くらいから充分にメモリないと厳しい
495 :
481 :2009/10/28(水) 21:23:05
>>486 その方法で解決できました
ありがとうごさいます!
>>488 >double rohrer1 = 10000000*weight/(height*height*height);
>double rohrer2 = weight/(height*height*height)*10000000;
この書き方はintに丸められた(小数点以下切捨て)の結果を変数(double)に代入している。
>double rohrer1 = 10000000*(double)weight/(height*height*height);
>double rohrer2 = (double)weight/(height*height*height)*10000000;
一方、この書き方は式にdoubleのデータ型が出現するために、すべての計算結果がdoubleになっている。
下の書き方のほうが高い精度(double)で計算されるのは当然。
>>496 それは理解できるのですが、変更する前のコードではrohrer2の値が
0.0になるのです。それがなぜかわからない。
47/(160*160*160) は 0 だ 0 に何を掛けても 0 だろ
15.17 Multiplicative Operators The operators *, /, and % are called the multiplicative operators. They have the same precedence and are syntactically left-associative (they group left-to-right).
あーそうか int型だから47/(160*160*160)の部分は小数点以下切捨てで0になるのか。 ありがとう。
>>485 ありがとうございます。
自分は根性でがんばっていこうと思います
502 :
デフォルトの名無しさん :2009/10/29(木) 13:29:52
一桁のみ表示させるのと一桁目以外を表示させたいのですが、何を使えば 良いでしょうか? 1234と入力したら 一桁目、4 一桁目以外、123 のように表示させたいです。
10で割った商と余りを求めればおk
ストリームを閉じる時は、BufferedReaderとInputStremのどちらを最初に閉じればいいのですか?
IOUtils.closeQuietlyでなぜか「ぬるぽ」が発生 なんで、例外がはっせいするんですかね? Exception in thread "main" java.lang.NullPointerException at java.io.FilterInputStream.close(FilterInputStream.java:155) at sun.nio.cs.StreamDecoder.implClose(StreamDecoder.java:358) at sun.nio.cs.StreamDecoder.close(StreamDecoder.java:173) at java.io.InputStreamReader.close(InputStreamReader.java:182) at java.io.BufferedReader.close(BufferedReader.java:497) at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:142)
StrutsのActionForwardのexecuteでファイルのダウンロードを 行う処理を作ったんだけど、どう処理させるべきかわからない ところがあります。 JSP上にボタンを配置して、このボタンをクリックしJavascript のFunctionを実行。functionの中でformから上記のexecuteを 呼び出す(submitする)ようにした場合は、うまくファイルの ダウンロード画面が出てダウンロードができます。 そこでJavascriptのFunctionの中身と同じものをJSPの onLoadイベントで処理させると、「セキュリティ保護のため、 このサイトによる・・・」とポップアップが出てきます。 (IEを使っています)バーをクリックをして「ファイルのダウンロード」 を選択しても、なにもおきません。 (ファイルのダウンロード画面が出てダウンロードができることを 期待したのですが) 「ファイルのダウンロード」を押したら、ダウンロードを行ってほしい のですが、なにか設定が足りないのでしょうか。 ダウンロードの処理は、executeの引数のHttpServletResponseに Content-Type: application/octet-stream Content-Disposition: attachment; filename="ファイル名" Content-Length を設定し、getOutputStream()を使い出力するといった感じです。 streamをcloseすると、ポップアップが出るようなんだけど、 そこで出力がおわっているから「ファイルのダウンロード」を押し ても、なにもでないのだろうか。
大規模規制でこのスレもずいぶん過疎ったね〜
こんにちわ ディスプレイサイズって取得できるのでしょうか
解像度なら DisplayMode dm = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].getDisplayMode(); System.out.println("width:" + dm.getWidth() + ", height:" + dm.getHeight());
510 :
デフォルトの名無しさん :2009/11/01(日) 14:41:56
サーブレットの練習で簡単なうpろだを作ろうと思って、 アップロードしたファイルをnew File("hoge.hoge").createNewFile();ととりあえず試しに保存したら、 なぜか保存先がC:\tomcat\に・・・。 アプリケーションのルートパス(C:\tomcat\webapps\hogeapp\)を取得する方法はないんでしょうか? (もちろん、実運用上はアプリ内に保存とかでなくて全く別のディレクトリに保存するのが良いとは思っていますが)
Servlet APIを良く読め
長時間のFull GCを避けるために、一定感覚でFull GCを起こさせたいのですが、 どうすればよいのでしょうか?
文字を指定したバイト数で切る場合、全角文字を半分で切ってしまう場合があります。 全角文字を半分で切ってしまう場合はエラーとしたいのですが、 どうやってチェックするのが、一番効率的でしょうか。
>>512 java.lang.System#gc()
java.lang.Runtime#gc()
>>513 使ってるエンコーディングによるのでなんとも。
シフトJISだと面倒だな。
>>514 Windows-31Jを使っています。まぁ、シフトJISです。
全角を切ると?になってこまっています。
>>515 厳密にやりたいなら、どうにかして文字境界を確定させて、
確定した文字境界から一文字づつ全角/半角判定してって最後のバイトが全角の1バイト目か判定するしかない。
簡単に思いつくのは SJISの全角1バイト目にも全角2バイト目にも使われてない
0x00 〜 0x3F を発見すりゃ文字境界発見できるぐらいだな。
エンコード混在だったら・・・
Javaっていいの? 仕事が多いって聞いたけど。 興味あるけど、C++でマルチプラットフォームのアプリが作れるなら Javaやる必要ないかな?
C言語で作った計算ライブラリをJavaから使えるのでしょうか?それとも全面移植をしないといけないのでしょうか?
>>519 >C言語で作った計算ライブラリをJavaから
どうしてもそうする必要があるならJNIでもどうぞ。
いまどきdirectX叩いてパフォーマンス上がる分野なんて知れてる。 クロスプラットフォーム版JMFですらCPUごり押しでいける時代なのに。
directxのエンコーダ使ったほうが速くない?
JSmoothで出来たEXEから、逆コンパイラ等の様々なツールを使って 元のJavaソースを取り出すなんて事は不可能ですか?
/** ソフトをスターとする */ public void start() { Thread load = new Thread(new Runnable() { public void run() { try { /** 設定を読み込む処理 */ } catch(Exception e) { exception = e; } } }); load.start(); MainFrame frame = new MainFrame(); try { load.join(); } catch (InterruptedException ex) { /*ignore*/} frame.setMenuTree(new JTree(node)); frame.setVisible(true); }
526 :
525 :2009/11/03(火) 13:46:04
コードを見やすくするために、コードを成形していたら間違えてPOSTしてしまいました 設定の読み込みに失敗した場合は致命的なので、ソフトを強制終了していますが InterruptedExceptionを捕まえた場合も、ソフトを強制終了させようか迷っています エロい人教えてください!! Exception exception = null; /** ソフトを起動するために使う */ public void start() { Thread load = new Thread(new Runnable() { public void run() { try { /* 設定を読み込む処理 */ } catch(Exception e) { exception = e; } } }); load.start(); /* 読み込むデータが多いので、別のスレッドでウインドウを作成 */ MainFrame frame = new MainFrame(); try { load.join(); } catch (InterruptedException ex) { /* 無視 */} if(exception !=null) System.exit(0) /* 致命的なエラーの発生した為終了 */ frame.setMainView(new MainView(読み込んだ設定)); frame.setVisible(true); }
> try { > /* 設定を読み込む処理 */ > } catch(Exception e) { > exception = e; > } > if(exception !=null) System.exit(0) /* 致命的なエラーの発生した為終了 */ InterruptedException以前に例外処理からやり直せ。 これじゃあエラーコードでgotoするのと変わらん。
528 :
526 :2009/11/03(火) 15:50:18
>>527 /* 設定を読み込む処理 */と書いてはいますが、実際にはメインの画面に表示するデータを読み込んでいます。
読み込みに失敗した場合はかなり致命的で、同類のソフトも同じような処理をしています。
if(exception !=null) System.exit(0)とも書きましたが、実際にはエラーダイアログを表示してソフトを終了させています。
また、start()を実行するfile.exists()でファイルの確認をしているので、なかなかIOExceptionはでないハズです。
つまり、IOExceptionが出る確率は低い、読み込みに失敗したらソフトとしては何もできない事が無い
よって、無駄に起動させてもしょうがないからソフトを落とした方がいい
ということです。
キャッチしてもなにも処理できないならキャッチする意味ないんじゃね? データ取得をリトライするとか、データのクローズ処理とか、 あるいは失敗をユーザに警告してリトライ/終了を選択させるとかならいいが。
try-catchで掴んだ例外をチェーンするわけでもなく外に出すのは行儀わるいだろ。
一つのインスタンスのメモリ使用量とか生成時の負荷に、 非staticメソッドの数や内容は影響を与えますか? それともクラスサイズが増えるだけでしょうか? いろんな引数のパターンのコンストラクタや初期化メソッドをオーバーロードしたいのですが、 それがそのクラスのインスタンスの生成コストを増やしてしまうのではと気になったのでどうか教えて下さい。
532 :
526 :2009/11/03(火) 20:55:06
>>530 start()の前にfile.exists()をしているので、
IOExceptionは無視しちゃえってことですか?
ファクトリメソッドって何ですか? リフレクションみたいなものなんですか。
デザインパターンでFactoryパターンっていうのがありまして、 デザインパターンに関しては丁寧に解説してるサイトが結構あるから参考にしてみては。 主にコンストラクタを明示したくないときに使うモノだと思う。 (条件によって動的にコンストラクタを選択して呼び出したい時とか)
>>533 クラス生成の条件判断を別クラスに完全に切り離すことで
いろいろ都合がよくなることがあるんだ(直接には単体テストとかで分岐が減るとか)。
>>526 は
>>527 ,
>>529-530 が論点にしてるところを良くみろ。
try-catchの方法論としておかしいやり方な上に意味の無いことをしてると言われてるんだ。
あと
>start()を実行するfile.exists()でファイルの確認をしているので、なかなかIOExceptionはでないハズです。
これはプログラマから見て起こり得ない事だから例外を使うんではなく契約プログラミングを使う。
例外処理と契約の使い分けが出来てない。
537 :
526 :2009/11/03(火) 22:36:36
>>536 なるほど、わかりました
そこら辺を詳しく調べてみます
Class.forNameでクラスを動的にロードしたとします。 そのロードしたクラスは使われるかどうかわからないとします。 こういうクラスって、GCの対象になるのでしょうか?
なんで使われるか分からないものを動的ロードするのかと小一時間・・・。
540 :
デフォルトの名無しさん :2009/11/04(水) 02:23:33
Javaで既存のmp3ファイルにエフェクトしながら再生したいんですけど、何か手がかりを教えてください
>>540 JMFならプラグイン実装、Java Soundならリハーブコントロールかint配列直接いじる。
ありがてえです。やってみます
itextの質問はここでいいのでしょうか?
546 :
デフォルトの名無しさん :2009/11/04(水) 16:36:02
ヤッター
規制解除ダー
>>545 とりあえずまとめて投下すれば誰か答えるかも
俺は今さっきiText知ったばっかり
547 :
545 :2009/11/04(水) 17:12:08
じゃお言葉に甘えて イントラで図面の管理システムを作っております。 検索結果から選択した図面のPDFを読み込んで電子印・出力者情報を付加して 新ウインドウにて表示後ソレを印刷してもらうという流れになってます。 ここまではitextの解説サイトを参考に何とか作成したのですが… 電子印を半透明にして欲しいと要望されまして、 ちょっと弄ってみたのですがどうにもうまくいかない状態です 現状: スキャナーで読み込んだPDF=PdfWriter.GetDirectContentUnder()にaddtemplate 電子印=PdfWriter.GetDirectContent()にcircle,linetoをstroke + ClumnTextにて作成 読み込みデータを文字データより上に配置すると文字はまったく表示されず、 文字を半透明にするクラスも見つけられず… 「このクラス使えばいいよ」とかあれば教えていただきたく…
548 :
デフォルトの名無しさん :2009/11/04(水) 18:18:36
>>547 埋め込みの文字のフォントのColorで,アルファブレンド値設定してみたらどうだろ^p^
# 前面の絵と被ったら,電子印が擦れるけどいいのかな
# 実は灰色とか,(背景色+前景色)/2くらいとかじゃない?
NetBeansを使っているのですが、わざわざswingを手書きしています swingのコードがあまり綺麗に書けないわけですが、 swingのコードを綺麗に書くポインがある人は教えてください
JSmoothで出来たEXEから、逆コンパイラ等の様々なツールを使って 元のJavaソースを取り出す事は可能でしょうか?
551 :
デフォルトの名無しさん :2009/11/04(水) 20:42:35
>>550 様々なツールを使ったらなんでも出来そうな気がする
って前回答したとおもう
最近スレが変わるたびに一回は見る質問だな。
>>550 そんな具体性のない質問してる暇があったら自分で試せよ。
全く同じソースは無理だろうが同じ動作をするソースは取れるだろう。
>>551-552 レスどうもです。
JSmoothのEXEはjar を組み込んで実行させる形のようなので
要はjarをEXEから取り出せればよいという事ですよね?
jarファイルからソースを取り出す事は比較的容易に出来ると思うので・・・。
ググって見たんですが、JSmoothのEXEからjarを取り出す方法がよく分からなかったので
知っている方がいたら教えて下さい。
人の話も聞かず全部丸投げしてるのは喧嘩売ってるのか? exeにjarが埋め込まれてるならバイナリエディタでjarのヘッダ読んでjarの部分だけ切り出せばいいだろ。
半透明って言われてそのまま50%にするのはどうかな。 見栄えとか印刷具合も考えて調整したほうがいい。70%ぐらいは無いと透かしが綺麗に読めないと思うよ。 単なる言われた通りに動く実装者じゃなくて、社内の人間の本当に要求してるものを実現するのがSEで生き残る分かれ目。社内の人間からあいつ使えないなって言われてリストラされない様になw
思うだけじゃ話にならないので,実際にやってみないとな! って感じじゃねーの
お説教かよ( ・ω・)y─┛〜〜
何言ってんだこいつ
語りたい、お年頃なのさ 確かに現場の意見は大切だと思うよ? 言われた通り動く実装者云々と何の関連もないけど
少なくとも言われたとおりに動かないのはそもそも駄目だろ その上で何か提案するなら分かるが
25歳と見た
>>557 なにこの糞SEが言いそうなテンプレその1は。
PGの仕事じゃないし。
仕様にないコード書いたら火の付いた煙草を押し付けられるのが基本
過去にコメントアウトした行を全部消して、新しく書き直しさせてくださいよ。・゚・(ノД`)・゚・。
履歴管理に使ってるんだからダメだ
規制解除されてやっと書き込みが戻ってきた このスレ死んでるのかと思ったよ
569 :
545 :2009/11/05(木) 12:30:29
なんか呼ばれた気がする
>>548 アルファブレンド値ですね。
ちょっと調べてみてますが、現状まだうまくいって無いです
>>557 50%も何も現状は透明化できてないんですよ…
なにかいい案出してくれませんかね?
>単なる言われた通りに動く実装者じゃなくて、社内の人間の本当に要求してるものを実現するのがSEで生き残る分かれ目。
>社内の人間からあいつ使えないなって言われてリストラされない様になw
自称給料泥棒の俺に抜かりは無かった
最低q
571 :
デフォルトの名無しさん :2009/11/05(木) 13:02:58
下の式を実行するとokが表示せず、boの結果はfalseになるんですが、 理由がわかりません。 下のif文はまず、括弧のboにtrueが代入され、 次に&&と|ですが、 |が優先順位が高い為、先に実行。 最後はif(false && true){〜という形になり最終的にはfalse。 結果if内のokは表示されないが、 その下のboはtrueが出力と考えたんですが、 間違ってますでしょうか? すいませんがアドバイスよろしくお願いします。 boolean bo = false; if(false && (bo=true) | true ){System.out.println("ok");} System.out.println(bo);
よーわからんけど &&、||と&、|の違い &&、|| と&、|において演算子が意味するところは同じですが、 その振る舞いには明確な違いがあります。 & &と&は左オペランドと右オペランドのいずれもがtrueの場合trueを返します。 このことは左オペランドがfalseの場合は右オペランドがtrue、falseにかかわらずfalseを返すとも言えます。 &&は左オペランドがfalseの場合右オペランドを実行せずにfalseを返します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ &は左オペランドがfalseの場合右オペランドを実行した後、falseを返します。
>>549 私もそんなポインがある人とお知り合いになりたいです。
ぜひ紹介してください。お願いします。
ポインは〜 赤ちゃんが吸うためにあるんやでぇ〜
俺が吸うためにあるんだ!
ポインタは馬鹿には無理。 何か現場の人間に虐げられてる糞PG多そうだなw
質問させてください。 今JavaでのGUI開発について勉強するために計算機アプリケーションを 構築中なのですが、テキストフィールドにWindowsのデフォルトで 表示されるポップアップ(コンテキスト)メニューが表示されてしまい、 意図しない動作をさせることができるようになってしまっています。 そのテキストフィールドのポップアップメニューにnullを当ててしまうと 例外が発生してしまい、removeメソッドでポップアップメニューを消去しようとしても デフォルトのMenuComponentをどう指定していいのか解らず、 メニュー項目を定義していないポップアップメニューをテキストフィールドに設定しても RuntimeExceptionが発生してしまいます。 今回はGUI構築に初めて手を付けるということで、敢えてAWTのみで構築しています。 Swingで構築すればこの辺りは気にしなくても良い様なのですが・・・ AWTでポップアップメニューが表示されないようにすることはできないのでしょうか? 長文駄文失礼しました。
>>177 プレーンテキストでもダメだった…
そこでは無いみたい
誤爆乙
JFS+Faceletsで <my:getUrl urlVal="url" /> <h:outputLink value="#{url}">文字列</h:outputLink> のところ、urlが空の場合には<h:outputLink>をはずすような処理をするにはどうすればよいでしょうか? getUrlはカスタムタグハンドラでurlをセットする処理を行います。 普通はJSTLを使うのでしょうか?
583 :
582 :2009/11/06(金) 18:45:01
el式とh:outputLinkのdisabled属性を使いできました。すみません。
584 :
デフォルトの名無しさん :2009/11/06(金) 21:42:53
FLASHのおかげでJAVAを使う機会が大幅に減った
Flashって言語でないから習得むずかしそう
FlashにもActionSciptがあるジャマイカ
587 :
デフォルトの名無しさん :2009/11/06(金) 22:50:37
よく知らないんだけど、Actionscriptだけじゃ完結しないんじゃない それともFlashがRAD的位置づけになるの
Flashとjavaてどう被るんだ? アプレットの頃は激重になるってかなり嫌われてすぐに廃れたが。 flashてそのあとだろ。
test
フラッシュはなんか違う。後頻繁にバージョン上がるので後の手間もかかるよ。企業だとフラッシュ無効にしてる所も有る。 アプレットはブラウザの制約受けるからな。ちゃんとjavaアプリ配布した方が自由度高い。
jnlpですな
jwsだろ。どっちかというと
593 :
デフォルトの名無しさん :2009/11/07(土) 12:52:26
JAVAで結果を返して、Flashで表示がカコイイわぁ
com.sun.facelets.tag.TagHandler#applyでServletContext#getRealPath の様にファイルの絶対パスを取得するスマートな方法はなんですか? 海外のWEBページなどでは FacesContext fctx = ctx.getFacesContext(); ServletContext sctx = (ServletContext)fctx.getExternalContext().getContext(); String rpath = sctx.getRealPath(path); のようにやってますけど。
質問です javaプログラムを起動してから1日ぐらい放置して、急に付加が高い処理を始めると処理が急に遅くなるんですけど、 どういう原理でそうなるんでしょうか?
596 :
595 :2009/11/07(土) 14:58:02
解決しました。 詳しいことは書けませんがGCが悪さしているようです。
(;´∀`) おういえ
599 :
595 :2009/11/07(土) 15:00:13
しかし、GCの挙動を意図的に制御しようとするとコードが煩雑になりますねぇ・・・ JavaやめてC#で行くことにします;;
JVMの実装依存だけど 起動時のコマンドラインオプションでGCの処理をかえられます どれがいいとはいえないけど,試してみたら?
601 :
595 :2009/11/07(土) 15:06:55
>>600 検討済みです。
しかし、どれも適切ではありませんでした。
えっ検討してたのに再確認した・・の・・・? とりあえず打つ手が無いのならしかたがない
Cでも負荷高いのは変わらないと思うなw
1日放置後に発現する問題をどうやって20分足らずで解決したのかを知りたい
gc問題をこの短時間で解決し、さらにC#へ移植(?)をあっさり決断、スーパーPGすぐるwww
俺GC問題だったら原因究明に1週間〜3ヶ月の工数必要だわ
607 :
595 :2009/11/07(土) 18:31:36
1日放置って書きましたけど、実際には5分で起きました。
5分でパフォーマンス悪化する糞コード書いたのか。 一般的にJITが働けば最終的に速度は安定するんだが5分後から1日後でパフォーマンス変わらんとは・・・。
611 :
595 :2009/11/07(土) 18:57:09
ん・・・勘違いされてるけど面倒くさいからもういいですよ。 すでに解決したことだし、ここで質問して解決できる程度の問題でもなかったですし。 おそらく詳細を書けば分かる人もいるかもしれないけど、急いでいるのでそこまでしません。 質問してごめんなさい。
ソースの先頭のライセンス表記を編集したいのですが、一括で自動編集してくれるようなものはないでしょうか?
プログラマならそんなもん作れよw
作らんでもgrepで一発だろw
1ヶ月もありゃ余裕で作れるだろう
悪いがWindowsなんでgrepなんぞ使えない
正規表現でやっちゃうとか不安じゃないですか? まぁそれなら作ることにします。 失礼しました。
EJBの質問です。 session beanをtransfer objectに積んで ネットワーク越に他のEJBサーバに転送しても大丈夫ですかね? remote・local・statefull・statelessによって違う場合は そのへんもよろしくお願いします
面倒なことをすれば大丈夫です
普通やらないってことだな
EJBは糞
あの、質問なんですけど、grepでどうやって置換するんですか?
grepじゃ無理だろ
>>614 の勘違いだろ
edやsedやawkとかならできそう
windows用もネットに転がってる
grepして置換するテキストエディタなんて五万とあるだろ
説教くさいおっさんに聞こえるかもしれんが まじに後方参照程度までの正規表現は使えるようになっておいたほうがいいぞ。 そういったテクニックに救われる場面が必ず出てくる。
grepして置換する機能を持ったテキストエディタのことを、普通grepとは呼ばない。
628 :
デフォルトの名無しさん :2009/11/08(日) 01:00:40
シンボルを見つけられませんというエラーが出ます 助けてください // <applet code="RotateEx.class" width="900" height="600"></applet> import java.awt.*; import java.io.*; import javax.swing.JApplet; import javax.imageio.ImageIO; public class RotateEx extends JApplet {Image kin, fu, sky; public void init() {try { kin = ImageIO.read(new File("images/kin.gif")); fu = ImageIO.read(new File("images/fu.gif")); sky = ImageIO.read(new File("images/sky.jpeg")); } catch (IOException e) {throw new RuntimeException(e);}} public void paint(Graphics g) {int x =270, y = 123; Graphics2D g2 = (Graphics2D)g; g2.drawImage(sky, 0, 0, 900, 600, this); for (int i = 0; i < 4; i++) {g2.drawImage(kin, x-20, y, this); g2.rotate(Math.PI/4, x, y);}}}
何度コンパイルしても Graphics2D g2 = (Graphics2D)g のところでシンボルが見つけられません というエラーが出るんです・・・
import java.awt.Graphics2D; のように*使わず書いてみれ それでダメならまずはJavaのバージョンを書け
ちょっとJavaファイルをコンパイルするときに ちゃんと「書き直したJavaファイル」をコンパイルしているか確認してみなよ
5秒以上前に作ったjavaクラスファイルは実行せずにエラーになるランチャをjavaで作ればいいんじゃねw
どれも確認しましたがコンパイルできませんでした バージョンは大学のPCなので新しいと思います (今年入れ替えたばかりのPCです)
悩んでないでeclipseダウンロードしとけw
新しいpcなら動作実績無いからウマく逝かなくて当然だなw
>>628 それ以前に、swingでpublic void paint(){}をオーバーライドしちゃダメな気がするんですけど
正確にはオーバーライドしたら super.paint(g) だっけ。
>>638 swingはpaint()をオーバーライドするんじゃなくて、
paintcomponent()するべきだと思うんだけど
HTMLに独自のタグを追加して表示したいのですが、何かいい方法はありませんか? ひとまず、JEditorPaneを使ってパースしようとしましたが遅くて遅くて 今は、javax.swing.text.Document辺りを調べています
なにそのw3cに真っ向から対決する姿勢 cssでやりなさいよ
643 :
628 :2009/11/08(日) 14:01:58
すみません、解決しました どうやら同じディレクトリに Graphics.java Graphics.class というファイルがあったのが原因のようです
644 :
628 :2009/11/08(日) 14:03:49
訂正 Graphics→Graphics2D
>>643 開発環境使ってない人にはよくある間違い(ファイル名≠ファイルパス が理解できない)だから
もし周りにも同じような人いたら注意してあげなよ・・・
俺の耳の裏、オマンコのにおいがする
>setFocusCycleRoot(boolean focusCycleRoot) >このコンテナがフォーカストラバーサルサイクルのルートであるかどうかを設定します。 java.awt.Containerのjavadocを読んでいて、この様な説明が書いてあったのですが フォーカストラバサールサイクルとは何の事なのでしょうか まったく意味がわかりません。教えてエロい人!!
TAB キーでフォーカスが移動するコンポーネントツリーのルート 例えば JDesktopPane を使った MDI なアプリケーションで、 JInternalFrame の中のコンポーネントにフォーカスがある場合、 TAB キーを押すとその JInternalFrame 内の別のコンポーネントにはフォーカスが移るけど、 別の JInternalFrame にまでフォーカスが移ったら不自然だろ その場合 JInternalFrame がフォーカストラバーサルサイクルのルートになると、 TAB キーをいくら押してもそこから外へはフォーカスが出ない
英語分からんのか?
分からん人もいるだろう 辞書を引く努力すら放棄してる人が大半のような気はするけどな
651 :
647 :2009/11/08(日) 20:31:26
>>648 なるほど、わかりました。ありがとうございます
>>649-650 一応、辞書を引きながら調べては居るものの、根本的に文法がわからないので
まったく意味が理解できず
これは文法関係ないぞ。 技術英語なんざカタカナ英語に訳してそのまま繋げれば読める
読むのと理解するのは違うけどなっ フォーカストラバーサルサイクルなんて繋いで呼んだだけだ^p^;
Even English speakers won't understand jargon without proper background knowledge.
質問です。 Double-Checked LockingはJavaではちゃんと動かない、という話は理解しているのですが、 例えば、以下のようなコードならば意図どおりに動作するでしょうか? class X { private Y instance = null; void method() { if (this.instance == null) { synchronized (this) { Y __instance = Y.getSingleton(); // インスタンス化されてるけど初期化されてないインスタンス if (this.instance == null) { __instance.init(); // Y固有の初期化処理 this.instance = _instance; } } } } }
EJBに関して質問です リモートセッションビーンを呼び出したいのですが、lookupでこけてしまいます。 jndi-viewからセッションビーンを確認できないので、JNDIのどこかが誤っている と思います。 JBoss4.2(EJB3.0)なので、ejb-jar.xmlやjboss.xmlは不可欠でないと思うのですが、 それは正しいでしょうか?
>>655 いいえ
__instance.init(); が this.instance = _instance; よりも後に実行されると
(メモリアクセスは様々な要因で勝手に並び替えられる)、
他のスレッドから未初期化のインスタンスが見えてしまう
JavaのStringは内部的にUnicodeでエンコードされていると聞いたのですが、 内部的にUTF-16になるのでしょうか?
はい
>>658 Unicodeであってるよ。
全ての文字を16ビット値で表現可能とするために、
UTF-16と呼ばれるエンコーディング形式を定義しているだけ。
UTF-16では0x0000〜0xffffの間の値は直接Unicode文字に対応してる。
>>657 なるほど。
あと、もう一点伺いたいのですが、__instance.init(); を init(__instance); にしたり、
instanceフィールドをvolatileで宣言した場合でも同様になるでしょうか?
instanceがvolatileなら大丈夫 volatileには同期効果がある
>>662 私の理解では、volatileは「各スレッドから常にその変数の最新の値が見えるように強制する」もの
なのですが、最適化時に順序の入れ替えを禁止する効果もあるのでしょうか。
はい
えーと・・・・・・ここかな
http://java.sun.com/docs/books/jls/third_edition/html/memory.html#17.4.4 抜粋で
> Synchronization actions induce the synchronized-with relation on actions, defined as follows:
> ・A write to a volatile variable (§8.3.1.4) v synchronizes-with all subsequent reads of v
> by any thread (where subsequent is defined according to the synchronization order).
> If we have two actions x and y, we write hb(x, y) to indicate that x happens-before y.
> ・If x and y are actions of the same thread and x comes before y in program order, then hb(x, y).
> ・If an action x synchronizes-with a following action y, then we also have hb(x, y).
あるスレッド内でvolatileへの書き込みより前に起きることは、
別のスレッド内でそれを読み出した後に起きることよりも前に起きる
Webアプリを作っていて、JSFと普通のサーブレットを使っています。 /faces以下にアクセスしたらFacesServletで、それ以外にアクセスしたら自前のサーブレットで処理したいと思っているんですが、 それぞれのサーブレットのURLパターンを /faces/* と /* にしたところ、すべてのリクエストが自前のサーブレットに回ってきて、 /faces/index.jspのようなリクエストでもFacesServletで処理されなくなります。 どのようにすればこれを正しくわけることができるのでしょうか。
0〜30の数字の中からランダムに5つ重複なしで選びたいんですが どうやったらいいでしょうか? もしそういう関数があれば教えてください
配列に0〜30まで数字を入れる 乱数でかき混ぜる 前から取り出す ( ^ω^)おっ おっ おっ
宿題か何かかよ
そうです宿題です すいません宿題スレっていうのがあるんですね そちらに行きます ありがとうございました
668で解決じゃないの
宿題は2ちゃんねらにやらせる時代
import java.util.Vector; import java.util.Map; import java.util.HashMap; public class Main { public static final int MAX = 999;//初期値 public static final int SIZE = 5;//頂点の数 public static int path[][] =//隣接行列 { {MAX, 50, 80, MAX, MAX}, {MAX, MAX, 20, 15, MAX}, {MAX, MAX, MAX, 10, 15}, {MAX, MAX, MAX, MAX, 30}, {MAX, MAX, MAX, MAX, MAX}, }; public static void dijkstra(int start, int end, Vector<Integer> allNode) { Map<Integer, Integer> root = new HashMap<Integer, Integer>(); int[] distance = new int[SIZE]; boolean[] kakutei = new boolean[SIZE]; for (int i = 0; i < SIZE; i++) { distance[i] = MAX; kakutei[i] = false; } kakutei[start] = true; distance[start] = 0; for (int i = 0; i < allNode.size(); i++)
{ root.put(i, start); if (kakutei[i] == true) continue; if (path[start][i] != MAX) distance[i] = path[start][i]; } while (kakutei[end] == false) { int kakuteiIndex = -1; for (int i = 0; i < allNode.size(); i++) { if (kakutei[i] == true) continue; if (kakuteiIndex == -1) kakuteiIndex = i; else if (distance[i] < distance[kakuteiIndex]) kakuteiIndex = i; } kakutei[kakuteiIndex] = true; for (int i = 0; i < allNode.size(); i++) { if (kakutei[i] == true) continue; if (distance[kakuteiIndex] + path[kakuteiIndex][i] < distance[i]) { distance[i] = distance[kakuteiIndex] + path[kakuteiIndex][i]; root.put(i, kakuteiIndex); } } }
なんなんですか
for (int i = 0; i < distance.length; i++) { System.out.println(i + " までの最短距離は " + distance[i]); } int r = root.get(end); StringBuffer sb = new StringBuffer(); sb.append(end); while (true) { sb.append(r); if (r == 0) break; r = root.get(r); } sb.reverse(); System.out.print(start + " から " + end + " までの最短ルートは"); for (int i = 0; i < sb.length(); i++) { System.out.print(" ==> " + sb.charAt(i)); } } public static void main(String[] args) { Vector<Integer> allNode = new Vector<Integer>(); for (int i = 0; i < SIZE; i++) { allNode.add(i); } dijkstra(0, allNode.size() - 1, allNode); } }
やっていることをコメントアウトで解説してくれませんか?
よく見てないけどダイクストラ法か何か?
679 :
673 :2009/11/09(月) 17:32:23
はい、ダイクストラ法です
質問です。 ArrayList listに list.add(new Integer(10))と追加してあるんですけど このlistから元の数字の10を取り出すにはどうすればいいでしょうか? (int)list.get(0)みたいなことをやりたいんですがキャストできませんと言われました。
Integerにキャストすればおk
>>681 The method Integer(Object) is undefined for the type ○○○(自分で作ったクラスの名前)
と言われました・・・
list.get(0).intValue()
あごめんなさい キャストじゃなくてInteger(list.get(0))で新しく作ろうとしてました キャストならできました! ありがとうございます
((Integer) list.get(0)).intValue()
import java.awt.*; import java.awt.event.*; import javax.swing.*;; public class renshu3 extends JApplet { private JLabel lb; private JPanel pn; private JRadioButton rb1,rb2,tmp; private ButtonGroup bg; public void init() { lb=new JLabel("いらっしゃいませ。"); pn=new JPanel(); rb1=new JRadioButton("白", true); rb2=new JRadioButton("黒", false); bg=new ButtonGroup(); bg.add(rb1); bg.add(rb2); pn.add(rb1); pn.add(rb2); add(lb, BorderLayout.NORTH); add(pn, BorderLayout.SOUTH); rb1.addActionListener(new SampleActionListener()); rb2.addActionListener(new SampleActionListener()); }
class SampleActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { tmp=(JRadioButton) e.getSource(); lb.setText(tmp.getText() + "を選びました。"); if(){ lb.setForeground(Color.white); } else{ lb.setForeground(Color.black); } } } 質問です。ラジオボタンが2つあって、それぞれ押すと色が変わるようにしたいんですが ifの括弧に何を入れればいいんでしょうか。
689 :
デフォルトの名無しさん :2009/11/09(月) 22:10:53
trueかfalseになる様な式を入れればいいんじゃないでしょうか
>>688 解らないならばAcionLisnerを2種類用意しろ
「〜を選びました」って出せるのにif文の内容が判らないとは、これいかに?
その文は最初からありましたので
ここはプログラミングの板であってソフト板じゃない
695 :
687 :2009/11/09(月) 23:14:32
質問なのですが三つの座標が一直線に並んでいるか判定するにはどうすればよいでしょうか
面倒なら目視すればいいんじゃないんでしょうか?
>>696 点A,B,Cとして、二点間A-B,A-Cの傾斜を求めて一致するか判定。なお正負には注意。
>>695 >>690 に書いてある通り、クラスを2つ作ればいいだけの話だと思うんだけど
IDEを使わないで書いたコードなので、たぶんタイプミスがあると思う↓
rb1.addActionListener(new RB1ActionListener());
rb2.addActionListener(new RB2ActionListener());
private class RB1ActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
/* 白の時したい処理を書く */
}}
private class RB2ActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
/* 黒の時したい処理を書く */
}}
教えていただいてて申し訳ないですが、さっぱり分からないのでtrueのまま提出することにします。
>>700 trueのかわりに「rb1.isSelected()」って書いとけ!
あきらめろ
理屈が分からなくても動きさえすれば無問題 そんなふうに考えていた時期が俺にもありました
JEditorPaneにHTMLを読み込んだ後に、HTMLを追加できないですかね? <html><body> <!-- HogeHogeな内容 --> <!-- ここに新しく追加 --> </body></html>
Faceltesのタグファイルについてです。 // タグファイル <ui:composition><f:convertDateTime timeZone="JST"/></ui:composition> // 使用側 ... <my:convertDateTime dateStyle="full" /> ... のように元のタグ(f:convertDateTime)を利用してカスタムタグ(my:convertDateTime)を作る場合、カスタムタグ の属性値を委譲先のタグの属性に渡すにはどうやると良いでしょうか? 上の例ですと <ui:composition><f:convertDateTime dateStyle=#{dateStyle} timeZone="JST"/></ui:composition> とすれば可能ですが#{dateStyle}が空の場合に問題となります。
707 :
705 :2009/11/10(火) 19:03:34
自分で解決してしまいました HTMLEditorKitの使い方を間違えていたようですorz
コレクションワークフレームについて質問です。
現在「Javaの道」で勉強中なのですが、
ttp://www.javaroad.jp/java_collection2.htm 上記URLの例1の中で下記1.のような記述があります。
これは下記2.と同じ意味なのでしょうか。
2.でもエラーはでませんでした。
addメソッドの中に new ** というように記述するのを初めてみたもので。
メモリ確保やニュアンスがちがうのでしょうか。
1.(Javaの道 記載コード
void addhead(List exList) {
for (int i = 0; i < 10000; i++) {
exList.add(0, new Integer(i));
}
}
2.(自分で書き換えたコード
void addhead(List exList) {
for (int i = 0; i < 10000; i++) {
Integer it = new Integer(i);
exList.add(0, it);
}
}
一緒です System.out.println(123 + 456); と int x = 123 + 456; System.out.println(x); が一緒なのと同じ理屈
>>708 一旦変数に参照させてから使わないといけない、という決まりは無い。
String s = new SimpleDateFormat("yyyy/MM/dd").format(new Date());
こういうのもあり。
ダブルバッファリングのことについて質問です 「Swing ではJRootPaneとそのコンテンツペインそれからJPanelクラスがダブルバッファリングを有効にしています」 というような記述を見つけたのですが、JPanel上に描画を行うならダブルバッファリングを行う必要はないのでしょうか 一般公開されてるソースを参考にJAVAでゲーム作成の勉強をしているのですが、 JPanelを使っているのにダブルバッファリングを使っていてちょっと混乱しています。
そのソースとやらがアクティブレンダリングやってるなら必要。やってないなら不要。
自分で図形が動いていくプログラムを書いて、表示が乱れるかどうかやってみりゃいいんじゃね。
C++ 使いです、C++ では、コンストラクタで例外を投げないというのがセオリーなのですが java も同様に考えていいでしょうか?
716 :
712 :2009/11/12(木) 20:04:39
>>713 返答ありがとうございます。
アクティブレンダリング(自前の描画メソッド?)が必須なときがいまいち分かってないのですが、もう少し調べてみます。
>>714 返答ありがとうございます。
自分でも色々実験して検証してみます。
そもそもリークするからとか言い出すC++厨が頭沸いてる。 コンストラクタで引っかかるようなモン、処理継続させたって無駄じゃね?
>>715 です
>>717 郷に入らずんば、郷に従え として、例外を投げても後始末してくれるという具合に考えます。
>>718 あまりにも思考が短絡的ですね。
ふーん、 ・コンストラクタに置くしかなくて、 ・でもエラーが起きても処理を継続させないといけない って状況って何?
好きにしろよ 同意を求める為だけに質問するフリをするな
質問じゃねーよ、当てこすってるんだよ。 C++のローカル神話持ち込んできた癖に、そっちこそ好きにしろやww
分かると思って安価入れなかったんだけど、勘違い君に噛み付かれてるなあ 721は719向けね
相手が何でも察すると思うな。 きちんとドキュメントにしたまえ。
725 :
708 :2009/11/12(木) 23:55:00
どこかのコンストラクタでエラーが起きただけでプログラム停止できれば楽だろうねぇ。
止めたくなければ上位のメソッドでキャッチすりゃいいだけだよ どこまで頭悪いんだ
むしろなんでC++はコンストラクタで例外投げないの? コレクションからコレクション作るときnull許可しないなら普通に投げないか?
C++ コンストラクタ 例外でググるとそんなのは迷信だってサイトが大量に出てきて笑えるよ 時代遅れの妄言だな
>>725 え゛? 複雑? あー、でもJavaじゃメソッドチェインはあんまやらないから、見慣れない人がいるのもしゃーないのか。
ライブラリが「void返すくらいならthis返せ」って思想だったらよかったのに。
>>727 たぶん、new した所が普通に上位のメソッドだという考えになっていないんだろうね。
C++ だとローカル変数を置くだけでオブジェクトが生成されちゃうこともあって。
733 :
質問者 :2009/11/13(金) 08:48:30
1. Java1.6の、型を限定したListの作り方を教えてください。 2. inport java.util.List;として、他の場所ではList型が使えているのに、 new List(); が、「型Listのインスタンスを生成できません。」とコンパイルエラーになります。 理由に心当たりがありましたらご教授ください。
Listは実装じゃなくてインタフェースだから List型の変数は宣言できても実体は作れない 実体はLinkedList<T>やArrayList<T>や自分で作った実装のあるクラスでないといけない List<?> list = new ArrayList<?>(); とか
735 :
733 :2009/11/13(金) 09:50:48
エラーでてるのに処理続けてもなあ。 エラー出ない様に対処してから再試行するべき。
勘違い君は、
>>727 だけでなく
>>732 もなのか。
>>726 では「キャッチしなくていいなら楽だ」って意味なのに、
>>727 で「キャッチすりゃいい」なんてレス
入れるのは勘違いも甚だしい。
また、
>>718 >>720 の脈絡からすれば「コンストラクタでエラーならプロセス停止するべき」って言ってる
に等しい。
リークが問題になるのはプロセスを継続する場合なんだからな。
「処理」って「エラーになったクラスの処理」だったなんて寝ぼけたこと言うのかもしれんが。
578 名前: デフォルトの名無しさん [sage] 投稿日: 2009/11/13(金) 12:00:40 HTTPは無理しすぎだからな。 本来は閲覧専用のプロトコルだったはずだ。 いつの間にか書き込みができるようになったり、 個人識別ができるようになったり、 pushもできるようになったり。
739 :
732 :2009/11/13(金) 12:22:46
アンカー付けようねってことだねwww
Javaで正規表現を使うにはどうしたらいいでしょうか? また、Javaの文字(char)のユニコード値を得る(int)コードはどうしたらいいでしょうか?
742 :
デフォルトの名無しさん :2009/11/13(金) 13:33:50
間違えてsageてしまったのでageます
正規表現はPatternクラス charはキャストすればintに入る
間違えた 「キャストしなくても」
745 :
デフォルトの名無しさん :2009/11/13(金) 13:44:32
Hibernateについて質問させてください。 複数クラスとテーブルのマッピングSQLを作成するにあたり、 以下の方法では取得できています。 @itより抜粋 Query sqlQuery = session.createSQLQuery( " select {mem.*},{wg.*} from member {mem} join workgroup {wg} “ + “ on {mem}.groupno = {wg}.groupno", new String[] { "mem","wg"}, new Class[] {Member.class,WorkGroup.class}); List list =sqlQuery.list(); for (int i = 0; i < list.size(); i++) { Object[] items = (Object[]) list.get(i); Member member = (Member)items[0]; WorkGroup group = (WorkGroup)items[1]; System.out.println( member.getNo() + ":" + member.getName() + ";group:" + group.getGroupname() ); } session.close(); 質問に入りますが、全列を使用するわけではないので、取得列名を絞り込むこと は可能でしょうか。絞込みによる性能向上を期待しています。 どなたかお分かりになる方の助言をお待ちしています。 よろしくお願いいたします。
質問します。 java で、ファイルに書き込まれている内容の比較をしたいのですが、そのようなメッソッドは無いでしょうか?
Javaでやる必要があんのけ?
javaでやれといわれたので。
そのようなメッソッドはありません 普通にファイルを読み込んでから普通に内容を比較してください
黒魔法メッソッド!!!
>>747 MappedByteBuffer#equals()でも使うのがお手軽じゃない?
使ったこと無いけど。
>>754 combo.setRenderer(new JLabel());
になってないか?
>>754 JavaDocではこうなっている。
void setRenderer(ListCellRenderer aRenderer)
間違えた。すまん
758 :
754 :2009/11/14(土) 01:16:20
>>755-756 いえ、非常にありがたいです。
他にも何かお気づきの点があれば、よろしくお願いします。
class ComboLabelにtextとicon保存 public Component getListCellRendererComponent内で上で保存したtextとiconをJLabelにセットしなければならないから、 class ComboLabel{ にtext追加。 public Component getListCellRendererComponent( にsetText追加。 すればいいんじゃないかと……
>>754 これで普通に画像の切り替えできてるよ。
変数が見えてなかったりLabelが表示されてなかったりしたのも直したけど。
MyCellRenderer renderer = new MyCellRenderer();
combo.setRenderer(renderer);
combo.addItemListener(renderer);//追加
class MyCellRenderer extends JLabel implements ItemListener, /*追加*/ ListCellRenderer {
..... //省略
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon());
}
}
761 :
754 :2009/11/14(土) 02:39:10
>>761 こっちに変えてみな。
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
ComboLabel lbl = (ComboLabel)((JComboBox)e.getSource()).getSelectedItem();
lb.setIcon(lbl.getIcon());
//lb.setText(lbl.getText()); Textが必要ならComboLabelにgetText()を追加する
}
}
あと以下の2行を修正 public class Combobox extends JFrame{ private JLabel lb; //追加 //JLabel lb = new JLabel(("ここに画像が表示されます")); この行コメントアウトして下のように変更 lb = new JLabel(("ここに画像が表示されます"));;
764 :
754 :2009/11/14(土) 03:01:24
迅速なお返事をどうもありがとうございます。 教えていただいたことを元に、もう少し自分で考えてみようと思います。 こんなに遅い時間まで、本当にどうもありがとうございました。
766 :
754 :2009/11/14(土) 03:12:17
わざわざソースまで! 自分の求めていたとおりに動かすことができました。 本当にありがとうございます。 自分ももっと勉強します。
MyCellRenderer extends JLabel implements ListCellRenderer よりも MyCellRenderer extends DefaultListCellRenderer にするといいよ。 getListCellRendererComponent() の最初で super.getListCellRendererComponent(); を呼んで、 アイコンをセットして、 最後に return this; とすればいい。
java でC/C++ でいうところの、関数ポインタのような振る舞いをさせるには どのようなデザインパターンを用いればいいでしょうか? 2つのboolean 値があって、その値の内容の組み合わせパターン(2^2)によって、呼び出すメソッドを変えたいのですが if 〜else if 構文や、switch 文はかっこ悪いので使いたくありません、よろしくお願いします。
769 :
732 :2009/11/14(土) 08:59:26
>>768 Java では関数ボインタを変数に持ったり、関数ポインタを使って多相化することはない。
そういうことをしたい時は、オブジェクトを変数に持って、パターンによって、
共通のインタフェースを実装した異なるオブジェクトを呼ぶことになる。
関数テーブルの代わりにはオブジェクトテーブルということになるが、
オブジェクトテーブル以外にも、4つのパターンを表現した enum クラスを作って、
各 enum 定数の中に実装を書くなどの作戦もある。
>>769 それ、なんてStrategyパターン?
772 :
768 :2009/11/14(土) 09:41:43
>>771 外していたらごめんなさい、多分State パターンではないでしょうか?
773 :
デフォルトの名無しさん :2009/11/14(土) 14:23:46
総称型の配列が作れません。 以下のような場合どうすればいいのでしょうか? public T[] getSpecifiedElements(T[] allElements) { //allElementの一部要素をT配列で返したい。 } ArrayList<T> temp = new ArrayList<T>(); に必要な分をつめこんで、 temp.toArray(new T[temp.size()]); ってしたいのですが無理なようです。 (T) temp.toArray(); もクラスキャストエクセプションになってしまいした。。。
>>772 お前がやりたいのは、ちょっとした計算ロジックを切りかえたい
ということに見えるが、それだとしたらStrategyパターンであってる
>>773 無理。
代替案としては Class<T> を引数で指定してもらうか、
配列使わずList<T>で受け渡しするか。
<T> T[] getSpecifiedElements (T[] allElements, Class<T> clazz) {
List<T> temp = new ArrayList<T>();
//tempに必要な要素をつめる。
return temp.toArray((T[])Array.newInstance(clazz, temp.size()));
}
List<T> getSpecifiedElements (List<T> allElements) {
List<T> temp = new ArrayList<T>();
//tempに必要な要素をつめる。
return temp;
}
>>773 総称型の配列をnewすることは、Javaの言語仕様上できない。
多少強引だがこれでOK。
@SuppressWarnings("unchecked")
T[] subElements = (T[]) java.lang.reflect.Array.newInstance(
allElements.getClass().getComponentType(), temp.size());
return temp.toArray(subElements);
つーか、そもそも配列使うのやめればいいだけなんだけどな。
777 :
デフォルトの名無しさん :2009/11/14(土) 15:25:04
>>775 >>776 引数でクラス指定すると総称型の意味がないし、
ワーニング潰すのも気持ち悪いので、
諦めてList<T>を返すことにしました。
しかし勉強になりました。ありがとうございます。
ストラッツの質問はここでも大丈夫でしょうか?jsp にアクセス(リロード)した際、自動的にActionクラスを実行するプログラムを組みたいのですが、どうすれば良いでしょうか?
>>776 jdk7だと[]とListの区別がなくなるのかも。
"Can't use the sessionkey or the iv with the algorithm" って書いてあるけど?
782 :
780 :2009/11/14(土) 17:33:11
>>781 まぁ,そのエラーメッセージの意味は分かるのだけど,解決策が分からない….
参考URLではプログラム解説のためにDESアルゴリズムを用いているけどできればAESを使いたいので.
>>781 いや,ごめん.意味も分かってないかも.
アルゴリズムのあるセッション鍵かIVを使用できません.
という文章的な意味は分かるのだけど,そのトラブルシューティングが分からない
>>778 jspがAction経由で表示されたなら、リロードしてもActionが再実行されると思うけど。
>>783 その訳はたぶん
そのセッション鍵またはそのIVをそのアルゴリズムと共に使うことはできません
ではないか?
ちょっと調べたらAESはブロックサイズが128ビットらしいので、IVのサイズをそれに合わせて長くしてみるとか
ジャバってランタイムがないと動かないの? RPGツクールみたいなもん? 単体で動くexeとか作れないの?
POJOって一体何なの? どういう風に便利なのかとか、どうすれば使えるのかとかがよく分からない。
そうです 強引な方法も無くはないが 素人には10年早い
788さん、それボク786に対する答えですか。
>>786 うん
でもC++とかでもランタイム必要なものもあるよ
OS だってランタイムだ、という考え方をすれば、単に OS 標準でどこまで付いて来るかという問題でしか無いとも言えるな。
790さんありがとうございます とりあえずいろいろいれずにWindowsでexeをクリックするだけで起動する感じが理想なので 別の言語あたってみます
アジャイル手法とかに詳しい人がいたら、ご意見をいただけないでしょうか。 最近、私が関わっているプロジェクトで、 「カバレッジ100%を達成するためにホワイトボックスな単体テストを書きまくった結果、 逆に、テストを書き直すコストが増大して大きなリファクタリングができなくなりつつある」 という本末転倒っぽい状態に陥りつつあるのですが、何か良い方法なり指針はないものでしょうか。
端的に言えばカバレッジ最優先なポリシはバランスが悪い。 リファクタリング前と後で、極端なまでにテスト再利用性が存在しないのは、 そもそも変化が許容される内容(つまりはリファクタリングによって改善した内部構造そのもの) に対して過剰なテストが行われていることを意味している。 極端に言ってしまえば、テストは所詮バグが存在しないことの証明にはならないのだから、 あまり内部詳細に踏み込みすぎず、外部インタフェース越しに一般的なシナリオをテストするに 留めておくぐらいがちょうど良いと個人的には思う。
>>793 一律にテスト書かないで変更が多そうな部分と変更が少なそうな部分にわけて
変更が少なそうな部分を重点的にテストするとか
javamail-1.4.2 を使い、メール送信機能を付与した、プログラムを作成しました 送信テストも終わり、このプログラムを他人に配布したいのですが 通常のjava のアプリケーションが動くJava(TM) SE Runtime Environment (build 1.6.0_17-b04) の環境であれば、別途に必要なランタイムやライブラリィはありませんか?
797 :
796 :2009/11/15(日) 09:52:09
自己解決です
ttp://oshiete1.goo.ne.jp/qa1919395.html 同じ方がいました、他人に配布するのは、ライセンス的には問題なさそうですが、
バッチでmail.jar を入れるとか、面倒な感じですね、実行するにも長たらしいコマンドを入れなければならないし
C で書いたDLL があるので、こいつを使った方が解決が早そうです。
java のインストローラが作れればいいんだが・・・・
izpackかは? コマンドって、実行時のクラスパス指定のこと? それならManifestに記述すればいいし最悪バッチファイルなりなんなり書けばいいし、他にもexeにラップしちゃうって手もあるし、あんまり問題にはならなくないかい?
799 :
796 :2009/11/15(日) 10:45:00
>>798 ありがとうございます、java は最近はじめたばっかりなので詳しくく質問させてもらいました
Manifest とか、exe にラップする方法があるのですね知りませんでした、調べてみます。
>>785 ありがとうございました!
IVを128bitにしたら無事通りました!
801 :
793 :2009/11/15(日) 13:50:12
>>794 なるほど。。
インタフェースごしのブラックボックステストと、ホワイトボックステストを分けるのも手かもしれませんね。
URLClassLoader#loadClass(null)で呼び出したクラスは、 このクラスローダがGCされると綺麗にメモリ上から消えますか? public static void run(URL jarFile, String className) throws Exception { Class clazz = new URLClassLoader(new URL[]{jarFile}).loadClass(className); MyInterface obj = (MyInterface) clazz.newInstance(); obj.run(); }
>>802 一緒にGCされると思うけど、仕様によって保証はされない。
あと、java.lang.Class や java.lang.reflect.Method なんかの
リフレクション用のオブジェクト握りっぱなしにしてると、
そもそもクラスローダがGCされない
JNIでCを呼び出すとき、System.loadLibraryでネイティブライブラリをロードしますが、 System.loadLibraryを書くのはコンストラクタがよいのか、staticイニシャライザが良いのかわかりません。 どちらの方がよいのでしょうか?
インスタンスをnewするまでstaticなネイティブメソッドが呼べないよ
携帯でMP3再生したい オープンアプリでいっちょやってみるか ハフマン符号???? File decode(File mp3File) { // 誰かサンプル書いてみて return decodeFile; }
807 :
806 :2009/11/15(日) 18:24:48
だめだ メモリ足りなくなりそうなので いちいち展開なんてしてられん・・・ void playMp3(File mp3File) { //一時停止機能とかいらないから誰かサンプル書いて }
808 :
デフォルトの名無しさん :2009/11/15(日) 19:28:40
別スレッドがSystem.out.print..などで、標準出力にメッセージを出すようになっていて、 それをInputStreamなどで拾いたいのだけど、どうしたら良いですか?
java mediaとかかな 特許がらみが多い分野だからほとんどの形式がクローズドだけど。
>>808 System.setOutで出力先をPipedOutputStreamか何かに変え、PipedInputStreamか何かで読み出す
どうしてクラスローダが1つのVMに複数あるのでしょうか?
URLから取ってくるクラスローダとか色々あるから。で回答としてはいいのかな?
たとえば同一の外部ライブラリで複数バージョンを使い分けたい場合などがあったとする。 唯一のクラスローダしか存在しない場合、FQNが同一のクラスは、一つしか存在することができない。
まて、FQNが同一のクラスが同時に複数存在できたりするのか? ウィザードじゃないから知らないだけかもしれないけど、static変数とか矛盾 してしまうと思うんだが。
できる。そもそも同じFQNであれ、ロードされているクラスローダが違えば同じクラスと扱われない。 J2EEやっていれば同一のコンテナ(単一JavaVM)に複数のWebアプリケーションをデプロイして、 それぞれのWebアプリが独自のライブラリ(WEB-INF/lib)を利用する状況を考えて欲しい。 たとえばAアプリはlog4j1.2で、Bアプリはlog4j1.1というのは普通に可能。 それらはThreadに割りつくContextClassLoaderが入れ替わることで(実装者が意識しないかたちで)実現されている。
>>815 できるよ
異なるクラスローダがロードしたクラスは、同じFQNであっても別々
static変数も別々
Classオブジェクトを比較しても一致しない
あとたしかinstanceofもキャストも失敗するっけか あらゆる意味で異なるクラス扱いだったはず
Seasarという有名な国産DIコンテナがあって、 それはsmart deployという仕組みで、開発時にhot deployが可能なんだけど、 そのやり方は結構単純で、クラスローダをRequestを受け取るごとに生成・廃棄して、 新規にコンパイルされたClassを都度読み込みさせている。 そのようなやり方をすれば、一度読み込まれたClassでも即時反映が実現できる。
821 :
デフォルトの名無しさん :2009/11/16(月) 00:06:47
複雑な管理処理を行うベースウェアにはGUIや集中管理する画面って必須かな? それとも管理するためのAPIだけを提供すれば皆安心?
せめて参考GUI実装をソースつきで。凝る必要は一切無し。 あれば使ってもらえるし、出来が気に入らなかったら改造するだろうし。 ソース無くてもjadで見ちゃうけど。
なるほどruby的なのか そりゃそうか
824 :
デフォルトの名無しさん :2009/11/16(月) 02:05:38
初めましてm(_ _)m JAVA初心者なのですが JAVA2のSEとMEをインストールしようと思い一通りダウンロードしたんですが、 java_ee_sdk-5_08-jdk-6u17-windows-ml.exe これ以外はインストール出来ませんでした。 EEに当たるようなんですが、サイトを見直すとSEに該当しているようにもみえます。 しかし次にMEをインストールしようとすると「SEがインストールされていない」とでてMEがインストールされません。 MEがSE1.4?のみに対応している可能性もあるのでダウンロードしようとしたんですが見当たりません。 ですがそれ以前から教則本の付録でついてたj2sdk1.4.1_01(ランタイム?)を使用してます。 パソコンは2000年発売VAIOのXPです。SPをインストールしていません。 (すでにSP1がダウンロード不可のため) どなたかアドバイス下さい。よろしくお願いします。m(_ _)m
826 :
デフォルトの名無しさん :2009/11/16(月) 02:55:54
>>825 解答ありがとうございます。後日、ダウンロード試みてみます。
SaxParser#parse(File, dh)は内部でファイルのロック取ってるんでしょうかね? プロセス間のは(共有ロック)取ってくれてると思って使ってるけど。 スレッド間の排他はユーザがやる必要があるのでしょうか?
基本的な質問ですいません。 C言語ソースの移植作業しているのですが・・・。 int a(short b) { return b+5; } を a(50);のように定数を引数にしてコンパイルすると 「a(short) は (int) に適用できません」 とエラーが出てしまいます。 a(50);をa((short)50);のようにキャストすればエラーは無くなりますが、 定数をいちいちキャストするのが面倒です。 キャスト以外に良い方法は無いでしょうか?
int型の引数を受け取れる同名のメソッドを作ればよい int a(int b) { return a((short)b); } みたいな
EJBってどうなの?業務で使ってる?
test
業務意外じゃEJBを使っているのみたことないな
なんか業務でもあえてEJB避けてきたんで... メッセージングとか一部機能のつまみ食い程度しか使ったことないから、 3.0はいい感じなのか実際に採用してる人たちの実感を聞きたいなと。
業務システムでも短納期・低コストが求められているのだから、わざわざEJBでコストをあげる必要はないだろ
EJBなんて学者のオナニーだから使わないほうがいい
837 :
デフォルトの名無しさん :2009/11/17(火) 15:47:43
単純なキーボード入力を出力するプログラムを作成したのですが、特定の文字列を入れると文字化けして出力されてしまいます。 この問題の原因、または解決方法をご存知の方みえましたら教えていただけないでしょうか。 実行環境:windows vista / Eclipse 3.5.1 Galileo Windows 32bit ベース / Pleiades All in One 3.5.1.20090930 コード: public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { System.out.println(br.readLine()); } catch (IOException e1) { // TODO 自動生成された catch ブロック e1.printStackTrace(); } } 入力: む 出力: �?
>>837 キーボードが日本語106キーで認識されて無いのかな。
「む」「ろ」「BackSpace」キー等には気をつけて。
解決策は・・・ドライバがどうなっているかくらいか・・・わかんね。
見当違いかもしれんが参考に。
>>838 おお!ありがとうございます。
ドライバ確認してみます。
将来的にはEJBが(実質的な意味で)本命のような気がするんだよね。 現状はまだ様子見しつつって感じのようですね。
現状で既に活用できるってばさ。 Apache+Tomcatの時代なんて今は昔。 まあ私の周りの話だから他は知らんけど。
EJB なんて 10 年前の流行キーワード。今も今後も誰も注目しねぇって。 使えるところで淡々と使われるだけ。
うちの周りはTomcat(というかサーブレットコンテナメイン)ばかり。 分散+フェイルオーバーで高可用構成とかでも 業務フレームワーク作りこみで対応してるケースが多い。 EJB3.0はコンフィグ地獄じゃなくてよさそうなんだよね。 軽量コンテナとの境界もあいまいになってるわけで、 そうなると標準化プロセスを経ているEJBのメリットが生きてくるような気がする。
スタンダードに載っとかないと保守で首を絞める。 HibernateよりJPAやiBatisを選択するのがいい。
だよね。保守はともかく、いまさら新規でHibernateはありえない。 JPAは意識してるけど、使いやすさとパフォーマンスの点でS2JDBCに浮気してたりして。
質問させてください 配列名を引数で与えるにはどうしたらいいのでしょうか。 static int[] mkArr(String arrName, int itemNum){ int[] arrName = new int[itemNum]; //このあとはarrName[0]〜[itemNum-1]の値をキーボードから //入力させます } この段階で 重複ローカル変数 arrName, と警告がでます(Eclipse使用です)。 型が String だとまずいのかもしれないかとも思いますが、見当もつきません。 ※このメソッドはメインクラスに書く予定です。 レベルが低すぎて申し訳ありませんがよろしくご教示ください。 お願いいたします。
引数でString arrNameを宣言してるのに 最初のステートメントでint[] arrNameを宣言してるやん。 質問のわかりにくさからして始めたばかりなんだろうけど。
848 :
846 :2009/11/17(火) 23:54:30
>>847 お答えありがとうございます。
お察しのとおり始めたばかりです。
↓こんな感じで呼び出すと
mkArr("arr1",3)
int[] arr1 = new int[3];
となって配列arr1が生成されるのかと思っているのですが
違うんですよね。。
ずっと考えてるのですがわかりません。
ここ読んどけっていうところがあったら、教えていただければ助かります。
よろしくおねがいします。
酷すぎる
宿題スレをおすすめする。 まず何をするプログラムなのかが分からない。
851 :
846 :2009/11/18(水) 00:06:42
>>849-850 スレ汚しすみませんでした。
宿題ではないので、もう少し考えてみます。
申し訳ありませんでした。
お前ら厳しいなw
プログラムの素人であるのは構わない。そういうスレだ。 だが質問の素人であってはいけない。
分かりやすく伝えるって結構高度だと思うが
>>846 自分も初心者なんですが、
static int[] mkArr(int itemNum){
int[] arr = new int[itemNum];
//入力
return arr;
}
メソッドをこんな感じにして
int[] arrName = mkArr(itemNum);
呼び出し側で、受け取ればいいのでは?
arrNameは受け取りたい配列名で。
たとえば、
String str = "arr";
int[] str = new int[5];
とやっても、arrという名前のint型の配列は
出来ないかとw
ああ、呼び出し方がおかしいですね。 すいません。
>>846 なかなか独創的なコードだけど、以前はどの言語をやってたの?
858 :
デフォルトの名無しさん :2009/11/18(水) 01:27:56
識別子に表情以上の物を求めるのが素人 識別子に_だけでプログラムするのが変態 識別子にg,o,t,oしか使わないでコーディングするのも変態
識別子に$とか付けるのは宗教
>>845 が「新規でHibernateはありえない」って言ってるけど、なんで?
JPAやiBatisと比べてどの辺がありえないの?
標準技術じゃないわりに複雑だからだろ。 JPAとの対比で語ってるからNativeAPIやらHQLでの話なんだろうけど。
>>848 Javaとか初心者とか言って質問する前に、変数と関数というプログラムの基礎概念を勉強してこい
JWebPaneっていつから使えるようになるんだろう
JPAは当然ながらORM標準であることが利点。 ORMの業務適用要件は2.0の悲観的ロックサポートで満たしたと言ってよい。 iBatisはSQLをガリガリかけて、かつマッピングも楽ちんだから、 Java屋ではない外様がORMのメリットをすぐに享受できるところが良い。 本格的なORMは真の習得に三ヶ月かかると言われてるから、 標準 or 即効性の保守要件にHibernateは引っかからない。
JSFを勉強し始めて半年ぐらいの若造です。 ■.jspの記述 <h:dataTable var="list" value="#{bean.dataModel}"> <h:column> <h:inputText value="#{list.text}"/> </h:column> ・・・ </h:dataTable> みたいなテーブルを表示して入力部を設け、ボタンを押したら値をテーブルの型式で取得したいのです。 bean.dataModelはListDataModelを返します。 beanのスコープはrequestです。 どのように値を取得するのが賢いのか教えて下さい。
866 :
デフォルトの名無しさん :2009/11/19(木) 09:59:11
JAXBでのバインディングって、setとget以外のメソッドが混ざっている JavaBeans形式以外のオブジェクトでは出来ないのでしょうか?
getter と聞くと、手がドリルの青い合体ロボットを想像してしまう僕は異常でしょうか?
配列([])の中身を調べる文字知りませんか? 例えばstring[1]だとしたら1と読み取ってくれるやつです
ねぇよ
文字ってなんだよ >string[1]だとしたら1 も曖昧で分からん。
>>866 @XmlTransientでOK
@XmlAccessorType(XmlAccessType.FIELD)なら
マーシャリングしたくないフィールド(メンバ変数)を
transientにしとけばOK
872 :
デフォルトの名無しさん :2009/11/19(木) 19:08:06
というか、JAVAで配列使うな
874 :
デフォルトの名無しさん :2009/11/19(木) 20:11:04
List使った方がいろいろ操作出来る
875 :
806 :2009/11/19(木) 20:13:27
806のことも思い出してあげてください
>>873 javaには優秀なコレクションフレームワークが標準で装備されているので、配列ではなくそっち使おうぜ。
>>872 はそういいたいのだと思う。
配列で十分だと思ったら、何でもかんでもコレクション使うことは推奨しない。
配列は使うな云々って本があったなぁ
配列を使うメリットはあまりない
878 :
806 :2009/11/19(木) 20:19:30
配列を使うメリットは、高速かつメモリ消費が最小であること。 ローカルなメソッドの内部処理に用いる場合は、配列もありだと俺は思う。 おさらいだけど 配列:速度良 メモリ小 操作ミス多 コレクション:速度どうかな メモリ最小とはいかない 操作簡単安全
速度とかメモリとかにこだわる層はわざわざそういうこと言われなくてもわかってるはずだから、 とりあえず「ArrayList使っとけ」でおk
質問です。 HttpURLConnectionを使ってhttp通信を行います。 yahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ましたが、 問題のサイトに接続したところjava.io.FileNotFoundExceptionで弾かれてしまいました。 該当URLはブラウザでアクセスしたところ問題なく表示出来ます。 (パスワードやログインを要求するようなサイトではありません) 恐らくサーバー側で何かを見ているのではないかと思うのですが、 サーバーがチェックしてそうな項目を教えては頂けないでしょうか。 現在設定しているRequestPropertyは Host、User-Agent、Accept、Accept-Language、 Accept-Encoding、Accept-Charset、Keep-Alive、Connection で、値はブラウザで該当URLの確認ができた時と同じ値をセットしています。
LinkedListのメリットがよく分からない。 リストの半ばの挿入削除が速いって理屈は分かるが、 その場所に辿り付くまでは結局イテレートしてるわけで。
404 や 503 じゃないのならプログラム上のミスで、相手サーバーじゃないんだろうな。
>>881 メリットはあんたが言ってる通りじゃねーかw
ポインタ辿るだけだしなぁ。System.arraycopyで後ろ詰めるよりは速い。 でもgetFirstなどからして、stackとかqueueに特化した使い道が一番。
LinkedListは参照の数珠繋ぎだから、要素の最初から最後まで順番にアクセスするなら ArrayListよりも速いはず。逆に、要素の〜番目みたいなアクセスは破滅的に遅いと思う。 ランダムアクセスしない&削除と挿入が頻繁、ならむしろLinkeListの方が良いと思います。 ところで質問なのですが、 Javaで参照カウンタみたいな仕組みを実現したいのですが、なにか良い方法はないでしょうか。
さっきから「メモリ効率」「速いだろう」「思います」とかばっかりだけど、それじゃいつまでも上達しないだろうな。
>>886 staticな変数を持って、
コンストラクタ内でインクリメント
ファイナライズ内でデクリメント
いい方法ではないが、これしか思いつかなかった。
>>882 404や503にはならないのですが
そのサイトではRequestPropertyを全て外すと403になります
またyahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ました
>>886 でも実際試してみると ArrayList は LinkedList より結構速い
ArrayDequeueやConcurrentLinkedQueueがあるから尚更使い道が少なくなってきた。
うお。なんだ。 Java1.4時代に迷い込んじまったw
メ…メモリ効率だってよっwww
Dequeueは6から、Queueは5からなんだが。
>>894 おかしいと思う理由を書けよw
荒らしか?
メモリ効率とか無駄のないアルゴリズムを考えられない奴っているんだよ。 コーディングする楽しみなんてないんだろうな。
てかオブジェクト指向ってそういうもんだから構わんよ。 パフォーマンスの80%はソースコードの20%に依存するって奴だ。 裏を返せばソースコードの80%は保守性のが大事ってこと。
899 :
886 :2009/11/19(木) 21:43:11
>>888 レスありがとうございます。
その方法だと、そのクラスのインスタンスがいくつ存在するか、
ということがわかりますね。参照カウンタと近い気がするので参考にさせていただきます。
メモリ効率を考えてコード書いて 数ヵ月後に、俺なんでこんなややこしいコード書いてんだ? もっとeasyでいいやんって書き直している途中で そういうコード書いてた理由を思い出す revert
901 :
デフォルトの名無しさん :2009/11/19(木) 21:54:04
複雑なモデルを複雑なコードで実装してるうちは素人
早く仕上げてボトルネックをテストしようぜ
904 :
806 :2009/11/19(木) 22:51:41
>>886 何するのかわからないけど、ウィークリファレンス(弱参照)とかの機能もあるんだぜ。
俺の質問って場違いなの?()涙
JLayerMEでも使ったら>MP3
俺も興味あるな。Javaで参照カウンタが必要ってどんな処理?
おまえらって普通のプログラミングはちょっとはわかってるっぽいけどdrawLineとかdrawOvalはわかるか?
910 :
886 :2009/11/20(金) 00:06:24
>>906 長い上に上手く説明できませんが、
あるサイトを参考に、IDなどを通じてグローバルに参照できるオブジェクト群を管理するクラスを作ろうとしています。
このクラスは、外部からの要求に応じてオブジェクトを生成し譲渡するのですが、その生成したオブジェクトは自身のフィールドに保持します。
そして次に同じ要求があった場合は、新たに生成せずに保持していた同じオブジェクトを渡します。
一つのオブジェクトを不特定多数の外部で共有するためです。
問題は、保持しているオブジェクトが管理クラス以外のどこからも参照されなくなった時は、それを削除せねばなりません。
そのタイミングを知るために参照カウンタが必要なのです。
>>904 弱参照は使ったことないのですが、上記のような場合でもGCしてくれるものなのでしょうか。
Reference関連は勉強不足で何もわかりません。その辺も調べてみます。
911 :
デフォルトの名無しさん :2009/11/20(金) 00:15:02
ある書籍のwait/notifyのメカニズムの問題で 正解が下記のようになってるんですが、 consumerメソッドでwaitの下の isFlag=falseがどうしても理解できません。 ここでfalseを代入してしまうと 上のproduceでisFlag=trueでnotifyを呼びだし waitを呼び起こしてもすぐにまたfalseになり いつまで経ってもwhileから抜け出せないと思うんですが・・・ 私の見解が間違っているんでしょうか? class MySync{ boolean isFlag = false; public synchronized void produce(){ isFlag = true; notify(); } public synchronized void consumer(){ while(!isFlag){ try{ wait(); isFlag = false; }catch(Exception e){} } } }
>>910 昔、そういうの使ったことあるよ。
FacesContext.getCurrentInstace().getExternalContext()
の下にあるメソッドだったと思う。任意のクラスに対する、別クラスからのバインディングを取り扱う道具があるはず。
>>910 なるほど・・・
シングルトンを強制しつつも、参照されなくなったらGCに回収させるのですね。
915 :
デフォルトの名無しさん :2009/11/20(金) 00:25:57
ウィークもいいけど、参照カウンタなんかCOMっぽくていいかもw ほっといた方がよさそうだww
いちいちaddRefとかもういやだお
>>916 もしc/c++でもjvmでも、gcとかautoリソース解法とかの概念を使えるならそれをデストラクタに入れとくといいよw
項目と値があるTableをjavaで扱う時、 CollectionInterfaceか配列どのような方法を使うのがいいのでしょうか? Tableからの情報を使って、別のTableの中から同じ文字列を持つものを検索したいと考えています。 ArrayListの二次元配列で作っていたのですが、 うまくピンポイントの情報が取得できません。 Array.get(int )はObjectのため、ArrayListのように指定しての取得ができないように思われます。 まだまだ勉強不足で見当違いの事を書いているのかもしれませんが、 それも含めてご指摘ご意見頂ければと思います。 よろしくお願いします。
なにこのデジャブ
>>911 お前が正しい
そんな本は窓から投げ捨てろ
922 :
デフォルトの名無しさん :2009/11/20(金) 14:09:16
なんか、Javaの技術で面白ものってないですか? 面白いサイトとか本とか教えてくれるとありがたいっす。 今、経理やってるんだけど、2年くらいJavaやってました。 久しぶりにJavaやりたくなったんです。 よろしく><;
iTextとかおすすめ PDF作れる WebならApache
924 :
922 :2009/11/20(金) 14:21:01
>>923 ありがとう。もう両方やったんです><;
J2EEの青い分厚い本でも今からかってこよっと・・あれなら、新しいEJBとか載ってそうだ。
Web系ならWicketとか
926 :
886 :2009/11/20(金) 20:01:26
>>914 リンク先参考になりました。
有難うございます。
>>922 JOGLかProcessingはいかがでしょうか。
ゲームやプログラミングアートに興味があれば是非。
927 :
デフォルトの名無しさん :2009/11/20(金) 20:06:54
Javaの長所と短所を教えてください。
長所:Write Once, Run Anyware. 短所:リッチクライアント周りでは↑が嘘になる
Anywhere.だた。恥ずかし−
長所 ともかく色々なプラットフォームで動く マニアックでない素直なOO言語 強い型付け 短所 玉虫色器用貧乏GUI、SWTなんてネイティブ移植しなけりゃ動かないし 強い型付け
Map<String, ? extends MyInterface> map = new HashMap<String, ? extends MyInterface>(); これには閉口する。 var map = new HashMap<String, ? extends MyInterface>(); ってならんかな。提案レベルならすでにJSRにあるんだとは思うが。
そんなあなたに、はいScala
>>931 逆はjdk7からできるようになる予定だよ。
Map<String, ? extends MyInterface> map = new HashMap<>();
>>933 なるほど。IDEとの連携を考えてもそっちのが柔軟か。
935 :
806 :2009/11/20(金) 22:06:28
>>905 ソースさっくりみたけど DLLたたいてるね。
携帯でMP3って意外と敷居高いな・・・
936 :
デフォルトの名無しさん :2009/11/20(金) 22:12:47
最新のJAVA2EEをインストールして暫くしたらパソコン起動するたびにコマンドプロンプトが起動しSUNのフォルダのdomain01内にログを作り出します。 サーバー?なのか不明なんですが、これ止めるには何処をどうしたら良いでしょうか。 よろしくお願いします。
937 :
806 :2009/11/20(金) 22:13:08
>>886 RMIとか使ってプロセス間通信でもしてるわけじゃないのかな?
単独の仮想マシン上で動いてる場合、参照されなくなったらGC対象になるのはご承知だろうし。
弱参照しているばあい、他の参照がないとGC対象になるってだけなので、今回の件には使うところはないかも。
ちょっと違うことを想定してしまったので、わすれてOK(弱参照
938 :
806 :2009/11/20(金) 22:26:26
長所と短所の話は 俺の好きな話題だったので・・・ 長所 メモリ開放処理が自動なので簡単である。 そのためソースコードはCなどと比べると、とてもシンプルになり可読性がよい。 java専用高性能エディタが存在するため、生産性は高い(キリ 標準のライブラリがこれでもかってくらいそろってる。 短所 メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。 イージーミスでメモリリークが発生する。 javaSE javaEE と javaMEは別物過ぎる、携帯電話などの端末でもSEで書いたものが動くことを期待する。
JLayerMEがDLL叩く? そんなもん叩いてないがMMAPIのフルセットが実装されてないとJLayerMEは動かないからMIDPベースでは無理。
>>938 >>短所
>>メモリ開放処理は自動だが、オブジェクトの開放契機などに注意を払わなくなるため。
>>イージーミスでメモリリークが発生する。
あんまり見たことないけどね・・・
どんなの?
独自に配列スタックを作ろうとして、popされた時にnullで掃除しない場合とかか? しかしArrayDequeueとか適切なクラスがあるしなぁ。
942 :
918 :2009/11/20(金) 23:24:26
>>919 ありがとうございます。
ArrayListにHashMapを格納することで、解決できました。
>>941 うん。そういう教科書とかに載ってそうなのはわかるんだが、
実装レベルのイージーミスで起こるメモリリークってどんなの?
944 :
デフォルトの名無しさん :2009/11/21(土) 01:17:22
ライブラリにポインタ渡す時はライブラリを信頼しきってるから あとでしっぺ返しされると超こまる
>>943 staticな変数にデカいコレクション突っ込んだまま放置してメモリを馬鹿食いするとか?
メモリリークというのは正しくないけど、症状はメモリリークに近いな。
Tomcatのコネクタか何かがログをそんな感じでほったらかしにしてたってのがあったな
947 :
806 :2009/11/21(土) 14:30:28
イージーミスの話だけど コレクションにぶち込みっぱなしで放置とか、そんなレベルの実装ね。 現実あったはなしだから、ソースレビューとかちゃんとやろうね
JTableがクリックされた時に、選択されている行の情報を取得するにはどうすればいいのでしょうか?
すみません、コンパイルできるんですが何も表示されません、助けてください 見にくいかと思いますが、お願いします //<applet code="SnakeProg2.class" width="300" height="300"></applet> import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SnakeProg2 extends JApplet implements KeyListener { int actiontype = 0, count = 0; int x[] = new int[99]; int y[] = new int[99]; public void init() this.addKeyListener(this); this.setFocusable(true); } public void paint(Graphics g) { super.paint(g); x[count] = 0; y[count] = 0; for (count = 1; count <= x.length; count++) { switch (actiontype) { case 0: count--; break; case 1: x[count] = x[count-1] + 10; g.drawPolyline(x, y, count); break; case 2: y[count] = y[count-1] + 10; g.drawPolyline(x, y, count); break; case 3: x[count] = x[count-1] - 10; g.drawPolyline(x, y, count); break; case 4: y[count] = y[count-1] - 10; g.drawPolyline(x, y, count); break; } } } public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); if(keyCode == KeyEvent.VK_RIGHT) { if(x[count] == 300 || count == 100) { actiontype = 0; } else {actiontype = 1;} } else if(keyCode == KeyEvent.VK_DOWN) { if(y[count] == 300 || count == 100) { actiontype = 0; } else { actiontype = 2; } } else if(keyCode == KeyEvent.VK_LEFT) { if(x[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 3; } else if(keyCode == KeyEvent.VK_UP) { if(y[count] == 0 || count == 100) { actiontype = 0; } else { actiontype = 4; } } repaint(); } public void keyTyped(KeyEvent e) { public void keyReleased(KeyEvent e) { }}
>>948 public void mouseClicked(MouseEvent e) {
int idx = tbl.rowAtPoint(e.getPoint());
}
あとはお好きに。
>>949 不味い点が多すぎて。
とりあえず初期状態でpaint()が動くと、countでのforループの中でcount--して無限ループ。
ん、踏んだか。次立ててくるね。スレ立てるのひさびさだな。
乙
乙
誰か2chにソース貼るとき整形するツール作れよ
言いだしっぺの法則というものがありまして
そんなものは存在せんわ戯けが
言いだしっぺの法則 の検索結果 約 16,300 件中 1 - 100 件目 (0.58 秒)
> "言いだしっぺの法則" の検索結果 約 11,600 件 > (中略 > 最も的確な結果を表示するために、上の679件と似たページは除外されています。 括って約11,600件、重複除外で679件 これだけでればまあ十分だな。
とりあえず仕様を考えてみた。
Eclipseで再フォーマットすりゃいいんだから、バイト数減らすために改行と
トークン区切り以外の空白も除去、1レスに埋め込める最大行・バイト数に収まる
ようにトークンで改行。
http://pc12.2ch.net/tech/SETTING.TXT より プログラム技術@2ch掲示板 は
BBS_LINE_NUMBER=16
BBS_MESSAGE_COUNT=2048
で、最大行数32行、2048バイト。
あ、行コメントは一行換算しないとならんか。
しかし、こんなん貼ったら邪悪なコード選手権の控え室みたいで嫌w
そんなややこしい話じゃなくて、
単にインデントをつけてほしいって
>>959 は言いたかったんじゃないのか?
あーだこーだですね
ディープコピーとシャローコピーについて混乱してしまっているのですが 配列の場合 1 イコールで結ぶ → シャロー 2 System.arraycopyを使う → シャロー 3 中身をひとつひとつコピーする → ディープ コレクションの場合 1 イコールで結ぶ → シャロー 2 cloneを使う → シャロー 3 中身をひとつひとつコピーする → ディープ 4 new ArrayList(list)などと書く → ディープ でよろしいでしょうか? またこれ以外にもディープコピーする方法はあるのでしょうか?
>>967 配列の場合
1 イコールで結ぶ → シャロー
2 System.arraycopyを使う → でぃーぷ
3 中身をひとつひとつコピーする → ディープ
コレクションの場合
1 イコールで結ぶ → シャロー
2 cloneを使う → コレクションの実装依存,シャロー
3 中身をひとつひとつコピーする → ディープ
4 new ArrayList(list)などと書く → Listの実装依存,ディープ
CopyOnWriteっつーやり方もあるので,シャローかディープかは実装みながらでないとこわい
対象のクラスのフィールドがオブジェクトである場合、 そのオブジェクトが不変クラスであるか否かでシャローかディープかも変わる。
>>968 それ間違ってね?
厳密な意味でディープコピーができてるのって
3か4で(直接・間接的に)内包する全ての参照のインスタンスを
同じくディープコピーした(できた)場合だけじゃね?
>>967 実業務で厳密なディープコピーが要求されるシーンはそれほど多くないが、
シリアライズ・デシリアライズで代用することもある。(むしろWeb系だとこっち)
ごめん。 3か4で(直接・間接的に)内包する全ての参照のインスタンスを ↓訂正 2か3で。。。
>>967 配列もコレクションも 1って代入演算子の左辺と右辺が同じ参照さすのでコピーになってないような。
コレクションの new ArrayList(list) は list が ArrayList のインスタンスでない場合に
コピーと称するのはどうなんだろうな、という気がしなくもない。
974 :
デフォルトの名無しさん :2009/11/22(日) 21:16:41
シリアライズで質問です。 class clss { int[] arry clss(int[] a){ arry=a; } } みたいなクラスを int[] a= {0,1}; int i=0; while(true) { a[0]=i++; clss c= new clss(a) writeObject(c); if(i<100)break; } というようにループで書き出してそのファイルをデシリアライズすると 全ての取り出したインスタンスが a={0,1} になっているようなのですがこれは解決可能なのでしょうか?
readObjectしたarrayの中身が全部そうなら、多分バグ。
よく見たらバグってるのは i<100の方だな。死ねよ
あえて言おう javaは貧弱であると
DIO乙
javaの文法が嫌いですVBの文法はもーっと嫌いです
そうですか、Rubyでもやってください
>>970 それがあるからcloneは仕様上シャローで実際に使う際は実装にしたがってね。
ってことになってるんじゃね?
実際のところ直接のオブジェクトがコピーされていれば、そっから先は問題にならない場合が多い。 そもそもディープかシャローかをなるべく意識しなくて済むようなデザインをするべき。
>>976 書き間違えました。i>100です。
色々やってみたところ配列をディープコピーして
コンストラクタに渡せば値が変わるようになりました。
しかしそうすると63Mほど書き出した時点でout of memory errorで落ちてしまいます。
シリアライズでは巨大なファイルは取り扱えないのでしょうか?
それオブジェクトどこに書き出そうとしてんの? 普通に無限ループしてんだろ。 プログラムにバグがない状況でOutOfMemoryを解消する場合は -Xmx???m オプションをJVMに渡す。???はJVMが最大で使えるヒープサイズ
deepcloneじゃなくてref渡しだと、readObjectすると全部が{0,1}ってことでしょ。 local varriableがfinalじゃないからクロージャ扱いって分けでもないのに、 なってなんかすごいね。javaのバクって感じだけど。
>>984 c:\hoge\test.datというような外部のファイルです。
画面キャプチャをRobotでint[]として取って書き出すという
プログラムなので条件満たすまで無限ループという仕様です。
ヒープサイズをキャプチャが終わるまで落ちないような値まで大きくする
以外ないのでしょうか。
不要なint[]をずっと保持し続けてんじゃないの? Objectをファイルに吐き出したら、そのint[]は捨てられるはずだから、 無限にキャプチャし続けてもメモリがあふれることはないはず。(もちろんディスクはあふれるけど)
int[] ary= getDeepCopy(a); clss c= new clss(ary) writeObject(c); ary=null; c=null; と後片付けはしているつもりです。 これにgc();やflush();を加えてみてもやっぱり63M書き出したところで out of memory errorで落ちてしまいます。
JavaよりSEXについて教えてもらおうか
-agentlib:hprofつけてプロファイラで確認してみそ。 java -agentlib:hprof -Xmx512m foo.bar.Hoge java.hprof.txtがクラスルートに出来てるから読むか貼ってみ。 それか -agentlib:hprof=format=bにしてJhat使ってもいい
ああ、64mで死ぬってことはJDK1.4かな? だったら-Xrunhprofね
>>974 writeObjectに同じインスタンスを複数回与えたら、
readObjectもその回数だけ同じインスタンスを返す仕様
同じインスタンスが異なる値を持つことは出来ないから、そのような結果になる
writeObjectのそのような振る舞いを実装するために、
ObjectOutputStreamは一度書き込んだオブジェクトを全部覚えていて、
同じインスタンスは二度書き込まず前回書き込んだインスタンスの参照だけを書き込むようになっている
readObjectも最初と同じインスタンスを返すために、一度読み込んだインスタンスは全部覚えている
ObjectOutputStream#writeUnsharedとかObjectInputStream#readUnsharedを使ってみたらどうかな
>>990 SITES BEGIN (ordered by live bytes) Sun Nov 22 23:38:58 2009
percent live alloc'ed stack class
rank self accum bytes objs bytes objs trace name
1 94.41% 94.41% 109190144 448 109190144 448 306708 int[]
2 1.90% 96.31% 2193552 9 142093424 583 306647 int[]
3 1.12% 97.42% 1291760 32294 276012080 6900302 306707 java.awt.Color
4 0.30% 97.73% 349256 5020 349256 5020 300000 char[]
でした。
この100M近くいっているint[]は書き出すループのあるメソッドで確保しているようでした。
>>992 やってみましたが全てa={0,1}のままでした。
じゃあループ1回ごとにObjectOutputStream/ObjectInputStreamをnewし直す
ちょっと
>>794 試した
writeObject(c) ってのが中身どうなってるのかわからねーが適当に作ったら
同じ現象発生
なんでだ?
c:\WINDOWS>java -version
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
>>995 ごめん
>>974 ObjectIn/OutputStreamってストリームに接続したときに何かネゴシエーション処理してたんだが
もしやそれのせいかの
>>994 FileOutputStream flOtptStrm = new FileOutputStream(flNm, true);
ObjectOutputStream objctOtptStrm = new ObjectOutputStream(flOtptStrm);
をループごとに呼び出して書き出したところ、読み出しの
objctInptStrm.readObject();
で
java.io.StreamCorruptedException: invalid type code: AC
が発生しました。
ループ2回目で発生しているのでうまくオブジェクトの追記ができないみたいです。
上記の問題ですが、
www.yukun.info/blog/2008/05/out-of-memory-error.html
まさにこれみたいで、ストリームをreset();すると64Mを超えても落ちなくなりました。
質問に答えてくださった方、本当にありがとうございました。
お手数をおかけしてすみません。
998 :
デフォルトの名無しさん :2009/11/23(月) 15:54:26
ume
999 :
デフォルトの名無しさん :2009/11/23(月) 15:56:09
ume
1000 :
デフォルトの名無しさん :2009/11/23(月) 15:57:07
ume
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。