1 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 01:02:31 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 ttp://pc11.2ch.net/hp/ Webプログラミング ttp://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド133★★ ttp://pc12.2ch.net/test/read.cgi/tech/1251630161/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
435 名前:430 mailto:sage [2009/10/26(月) 15:22:22 ] 動作するんですか。よかった。過去自分が作った資産が使えそうです。
436 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:26:48 ] そりゃ動かせるけど、それはJavaをヤルってことにはならんのでは?
437 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:31:48 ] JavaScript を JSP に貼り付けるのか?
438 名前:430 mailto:sage [2009/10/26(月) 17:03:55 ] >>436 やっぱりJAVAらしく1から作り直した方が後々、いいですかね?
439 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:13:56 ] ScriptEngineManagerなのか・・
440 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:35:04 ] 本気で言っているならばまずはJavaの勉強を少ししてから流用できるか検討しろ
441 名前:424 mailto:sage [2009/10/26(月) 19:10:02 ] >>428 わかりました。ありがとうございます
442 名前:デフォルトの名無しさん [2009/10/26(月) 21:12:52 ] 上司古いな これからはむしろJavaScriptの時代なのに。 それかGWTでやれって事なのか?
443 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:26:03 ] 実はクライアントアプリをサーバアプリにしろというヤバい案件なのかも
444 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 22:03:14 ] >>423 >>423 EclipseのプラグインからTomcatを起動してるときと、Tomcat単体で動かしてるときの違いを理解せよ。 <Tomcat>/conf/Catalina/localhost/<proj>.xml
445 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:12:30 ] XMLでソフトの設定ファイルを書こうかなと考えていました しかし、java.utils.Propertiesとかいうクラスを発見 XMLで実装するよりも、Propertiesの方が楽そうに印象を受ける お前らなら、XML or Propertiesのどっちにするの
446 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:14:33 ] Properties で XML 入出力
447 名前:423 mailto:sage [2009/10/26(月) 23:32:39 ] >>444 ありがとうございます。 <Tomcat>/conf/Catalina/localhost に、.war ファイルから取り出した Context.xml を Webアプリ名.xml としてコピーしたら、無事DBにアクセスできました。 ただ、この作業は必須なのでしょうか? Tomcat6 では .war ファイルのみでデプロイ可能だと思っていたので、なんとなくすっきりしないような・・・
448 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 00:15:19 ] どうしてXMLに固執するのか分からん。 ソフト固有の設定情報でしかなく他のソフトや他のコンピュータとのやりとりを行うこともないものなのに… もちろんそういうことが必要な情報だというのならXMLも選択肢の一つだろうけど。
449 名前:423 mailto:sage [2009/10/27(火) 00:29:37 ] 済みません。しょうもないミスでした。。。 META-INF/Context.xml を context.xml にリネームして再度 .war ファイルをデプロイしたら Tomcat が .war ファイルを展開後 <Tomcat>/conf/Catalina/localhost に Webアプリ名.xml としてコピーしてくれました。 Windows なので大文字・小文字は関係無いと思い込んでいたようです。 お騒がせしました。
450 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 01:11:32 ] >>434 あっそ∞∞
451 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 13:38:55 ] java超初心者です。会社のアプリがあって、それを元にいろいろ学習しようとおもったのよ。 6年くらい前のソースでborland.jbclってのが読み込めてなくてエラーでてんだけど、 borland.jbcl ていうパッケージ今ないのかな。JBuilderにはついてたみたいだけど、今のはないんだ。 昔の開発環境を用意しなくちゃならん?
452 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 14:03:33 ] >>451 とりあえず未経験の素人向け入門書でも手にとってから質問しろやカス
453 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 14:48:24 ] 私女だけどJavaって難しいのね 優しく教えてくれてよろしくてよ?
454 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 15:26:54 ] age
455 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 19:20:21 ] 上がってないぉ
456 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 19:35:09 ] クラスローダでバージョンがって話の記事は読んだけど 結局、クラスローダって何するの?
457 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:19:30 ] >>456 名前の通りなんだがな。 javaのクラスを使うために必要なもの。 Class.forName()とかみてみると少しは雰囲気つかめるかもしれない。
458 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:20:25 ] jarってどう使えばいいんでしょう?
459 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:22:13 ] >>457 わかりました。ありがとう
460 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:46:23 ] >>458 ググれカス
461 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 20:51:22 ] それしか言えない低能乙
462 名前:デフォルトの名無しさん [2009/10/27(火) 21:08:24 ] javaのファイルをコンパイルして起動する際、 javac(コンパイル)の場合は-classpathを設定しても 現在のディレクトリも探してくれるのに、 java(起動)は-classpathを設定したら 現在のディレクトリも探してくれないんでしょう? 仕様以外に何か理由があるんですか? すいませんがアドバイスよろしくお願いします。
463 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:10:11 ] 仕様です
464 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:17:54 ] >>461 そうか、君はアレに教えてあげるのか。 優しいんだな。 それは俺が悪かったな。
465 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:20:14 ] Javaの列挙型はクラスなんですか? クラスということは、値型ではなく参照型ということになりますよね。
466 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:27:10 ] その認識で正しい
467 名前:462 mailto:sage [2009/10/27(火) 21:32:04 ] >>463 やはり仕様なんですね。 アドバイスありがとうございました!
468 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:54:00 ] XML、設定ファイル、プレーンテキストの3種類を扱おうと考えています そのため、昨日までそれぞれに対応したクラスを作っていました 作っていて気がついたのですが、コンストラクタとpublic Object readFromXXXX(File file){} 2つしかメソッドがないクラスを3つも作ってしまいましたorz そこで、staticでpublic staic Object readFromXXX(File file){}というのを作って、 ReadUtilsみたいなクラスにまとめようかと考えています お前らならどう実装しますか?
469 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 21:57:42 ] >>468 全部同じメソッド名にして interface を作る
470 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:04:18 ] struts+hibernateでダイナミックフォームBeanを直接O/RマッピングのPOJOとして利用することはできますか?
471 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:05:02 ] そんなことはやめろ。
472 名前:468 mailto:sage [2009/10/27(火) 22:15:35 ] >>469 返答ありがとうございます インターフェイスを作るのは思いつきませんでした でも、XML、設定ファイル、プレーンテキストの各種読み込みクラスは これ以上メソッドの数が増えそうにないのですが.... それでも、>>469 だったインターフェイスを選択しますか?
473 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:15:45 ] >>465 もしかしてC#の方で列挙型の質問している人かな。(マルチとは違う意味で) Javaだと列挙型は後付けだし、プリミティブ型以外全てはクラスで作られてる。 C#の列挙型は列挙されていない整数値でもキャストして代入可能。(MSDNだと「できるけど、やるな!」と明記) Javaでは整数値じゃないので代入(というよりキャスト)不可。
474 名前:470 mailto:sage [2009/10/27(火) 22:31:58 ] >>471 すみません。理由を教えて頂けないでしょうか? 普通はFormBean→POJO→DAOの引数へという流れだと思いますが FormBeanのフィールドとPOJOのものとがまるっきり同じ場合があるの でFormBean→DAOの引数としても良いのではと思ったのですが。
475 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 22:55:09 ] DAOの再利用性が画面の制約を受けるようになっちゃうと思うけど。 Dynaなら何でもいいとなるとタイプセーフじゃなくなるって問題もあるし。 そういった点を認識して使う分にはかまわないのでは。 *肝心のhibernateでDynaActionForm使えるかどうかは知らない。
476 名前:470 mailto:sage [2009/10/27(火) 23:18:37 ] >>475 jsp+servletは勉強し始めたばかりで圧倒的に知識が不足しています。 的外れなことを言っている可能性があるのでご容赦下さい。 DynaActionFormとstruts-config.xmlを使ってXXXFormが自動生成されると認識しています。 うまくO/Rマッピングの設定ができればXXXForm→DBのレコードとなるのでタイプセーフなのではと思います。 ただXXXFormをうまくマッピングできるのかわかってません。 DAOの再利用性で言うとフォームの入力フィールドに影響を受けるので、ご指摘通り問題ですね。 例えばユーザ名を扱うとして、フォームで一つのテキストエリアで行っていたものを、姓と名を分離して入力す るように変更した場合などは対応できなくなってしまいます。 どうやら止めた方が良さそうですね。ありがとうございました。
477 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:34:57 ] >>472 なんとなくマジレスすると この情報だけでinterfaceを導入するなんて考え方するやつは危険 別の責務を持つものを一つのクラスにまとめると 無意味な依存関係が出来上がる
478 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:45:18 ] Strutsを利用した初期のProjectではDynaActionFormを使うこともあったけど、 そういったプロジェクトについても、リファクタ作業の中で個別のForm実装に置き換えたケースがほとんど。 DynaActionFormはタイプセーフではないです。 Formの値を使うときはDynaActionForm型のインスタンスに対してget("String")のような 属性名を「文字列」として渡す必要があるため、型情報からはどんな属性が存在しているのか知ることはできません。 プロジェクトの規模が大きくなればなるほど、コードがタイプセーフに作られているかどうかが メンテナンス性を大きく左右する要因になってくると思います。 プレゼンテーションのモデル(Formや画面の表示/入力項目)と ドメイン層で扱うモデルは明確に分割することを意識しておくのが重要だと思います。 (実際にそのような設計をするかどうかはおいて)
479 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 23:48:56 ] >>472 誰がファイルの中身(XML、設定ファイル、プレーンテキスト)について知っている必要があって、 誰がどんな操作をしたいのかによって設計は変わるでしょ。
480 名前:472 mailto:sage [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などありましたら教えていただけませんでしょうか?
483 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 17:41:24 ] プロトコルはJavaでは作れません
484 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 17:43:47 ] 医学系でプロトコールとかあるからよくわからんのぅ アプリケーションプロトコルならRFC読むかどっかの実装参考にしろ
485 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 18:39:01 ] >>482 プログラミングが苦手で研究室所属している人たちの HP です。参考になれば。 ameblo.jp/setuna119/theme-10000221002.html psyschaka.dtiblog.com/blog-entry-253.html myhome.cururu.jp/pohher0906/blog/article/40003262183 基本は、他人に振るか、根性で頑張るか、進路を変えるかのようです。
486 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 19:34:49 ] >>481 String name = "yamada'"; じゃだめなの?
487 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 19:53:21 ] javaを学ぶためにラリーカーを走らせて得点を競うcoderallyを使っているんですが、 良い戦略が書いているサイトを知っていたら教えてください。 もし、過去にcoderallyをしたことがあって、こんないい戦略を練ったよって言う人がいれば、 その戦略を教えてほしいです。
488 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 20:19:12 ] 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-になるのはなぜですか? 小数点以下も表示したいので、キャスト演算子を使っただけなのですが、、、
489 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 20:36:05 ] Eclipseを使っていたので、NetBeansがやけに重く思える
490 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 20:36:40 ] Eclipse(笑)
491 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 20:56:06 ] フリーで使えるプライベートUDDIレジストリってありませんか? 昔はJWSDP1.6に含まれていたみたいだけど、 今ではダウンロード出来なくて困ってます。
492 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:05:41 ] Eclipseも最近は決して軽くないけどな 3.2くらいまでは確かに軽かったんだけど、3.4くらいから充分にメモリないと厳しい
493 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:07:14 ] >>488 素直にすべてdoubleにすれば?
494 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:13:04 ] >>491 鯖立てたいってことだよね? ググッただけだけど、こんなんあったよ。 OpenUDDI Server uddi.xml.org/product/openuddi-server UDDI server in java. sourceforge.jp/projects/sfnet_soapuddi/ Novell Nsure UDDI Server developer.novell.com/wiki/index.php/Novell_Nsure_UDDI_Server
495 名前:481 mailto:sage [2009/10/28(水) 21:23:05 ] >>486 その方法で解決できました ありがとうごさいます!
496 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:26:35 ] >>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)で計算されるのは当然。
497 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:33:52 ] >>496 それは理解できるのですが、変更する前のコードではrohrer2の値が 0.0になるのです。それがなぜかわからない。
498 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:39:46 ] 47/(160*160*160) は 0 だ 0 に何を掛けても 0 だろ
499 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:44:40 ] 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).
500 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 21:45:14 ] あーそうか int型だから47/(160*160*160)の部分は小数点以下切捨てで0になるのか。 ありがとう。
501 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 23:25:14 ] >>485 ありがとうございます。 自分は根性でがんばっていこうと思います
502 名前:デフォルトの名無しさん [2009/10/29(木) 13:29:52 ] 一桁のみ表示させるのと一桁目以外を表示させたいのですが、何を使えば 良いでしょうか? 1234と入力したら 一桁目、4 一桁目以外、123 のように表示させたいです。
503 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 14:03:31 ] 10で割った商と余りを求めればおk
504 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 19:40:41 ] ストリームを閉じる時は、BufferedReaderとInputStremのどちらを最初に閉じればいいのですか?
505 名前:デフォルトの名無しさん mailto:sage [2009/10/29(木) 22:43:08 ] 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)
506 名前:デフォルトの名無しさん mailto:sage [2009/10/30(金) 00:05:54 ] 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すると、ポップアップが出るようなんだけど、 そこで出力がおわっているから「ファイルのダウンロード」を押し ても、なにもでないのだろうか。
507 名前:デフォルトの名無しさん mailto:sage [2009/10/31(土) 14:00:10 ] 大規模規制でこのスレもずいぶん過疎ったね〜
508 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 13:23:25 ] こんにちわ ディスプレイサイズって取得できるのでしょうか
509 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 14:39:57 ] 解像度なら 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\)を取得する方法はないんでしょうか? (もちろん、実運用上はアプリ内に保存とかでなくて全く別のディレクトリに保存するのが良いとは思っていますが)
511 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 15:47:55 ] Servlet APIを良く読め
512 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:00:00 ] 長時間のFull GCを避けるために、一定感覚でFull GCを起こさせたいのですが、 どうすればよいのでしょうか?
513 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:04:51 ] 文字を指定したバイト数で切る場合、全角文字を半分で切ってしまう場合があります。 全角文字を半分で切ってしまう場合はエラーとしたいのですが、 どうやってチェックするのが、一番効率的でしょうか。
514 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:18:05 ] >>512 java.lang.System#gc() java.lang.Runtime#gc() >>513 使ってるエンコーディングによるのでなんとも。 シフトJISだと面倒だな。
515 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:20:46 ] >>514 Windows-31Jを使っています。まぁ、シフトJISです。 全角を切ると?になってこまっています。
516 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 23:30:56 ] >>515 厳密にやりたいなら、どうにかして文字境界を確定させて、 確定した文字境界から一文字づつ全角/半角判定してって最後のバイトが全角の1バイト目か判定するしかない。 簡単に思いつくのは SJISの全角1バイト目にも全角2バイト目にも使われてない 0x00 〜 0x3F を発見すりゃ文字境界発見できるぐらいだな。
517 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 00:53:34 ] エンコード混在だったら・・・
518 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 01:17:26 ] Javaっていいの? 仕事が多いって聞いたけど。 興味あるけど、C++でマルチプラットフォームのアプリが作れるなら Javaやる必要ないかな?
519 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 01:35:57 ] C言語で作った計算ライブラリをJavaから使えるのでしょうか?それとも全面移植をしないといけないのでしょうか?
520 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 01:45:39 ] >>519 >C言語で作った計算ライブラリをJavaから どうしてもそうする必要があるならJNIでもどうぞ。
521 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 02:10:39 ] pc12.2ch.net/test/read.cgi/tech/1033795664/ ★お前らJavaはJNIで組もうぜ★ ウィンドウズ側のdirectxを叩いたりしてパフォーマンス上げるのによく使われてる。
522 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 20:20:57 ] いまどきdirectX叩いてパフォーマンス上がる分野なんて知れてる。 クロスプラットフォーム版JMFですらCPUごり押しでいける時代なのに。
523 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 23:32:17 ] directxのエンコーダ使ったほうが速くない?
524 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 00:45:21 ] JSmoothで出来たEXEから、逆コンパイラ等の様々なツールを使って 元のJavaソースを取り出すなんて事は不可能ですか?
525 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 13:32:39 ] /** ソフトをスターとする */ 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 mailto:sage [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); }
527 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 15:09:50 ] > try { > /* 設定を読み込む処理 */ > } catch(Exception e) { > exception = e; > } > if(exception !=null) System.exit(0) /* 致命的なエラーの発生した為終了 */ InterruptedException以前に例外処理からやり直せ。 これじゃあエラーコードでgotoするのと変わらん。
528 名前:526 mailto:sage [2009/11/03(火) 15:50:18 ] >>527 /* 設定を読み込む処理 */と書いてはいますが、実際にはメインの画面に表示するデータを読み込んでいます。 読み込みに失敗した場合はかなり致命的で、同類のソフトも同じような処理をしています。 if(exception !=null) System.exit(0)とも書きましたが、実際にはエラーダイアログを表示してソフトを終了させています。 また、start()を実行するfile.exists()でファイルの確認をしているので、なかなかIOExceptionはでないハズです。 つまり、IOExceptionが出る確率は低い、読み込みに失敗したらソフトとしては何もできない事が無い よって、無駄に起動させてもしょうがないからソフトを落とした方がいい ということです。
529 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 16:56:40 ] キャッチしてもなにも処理できないならキャッチする意味ないんじゃね? データ取得をリトライするとか、データのクローズ処理とか、 あるいは失敗をユーザに警告してリトライ/終了を選択させるとかならいいが。
530 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 20:11:41 ] try-catchで掴んだ例外をチェーンするわけでもなく外に出すのは行儀わるいだろ。
531 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 20:34:06 ] 一つのインスタンスのメモリ使用量とか生成時の負荷に、 非staticメソッドの数や内容は影響を与えますか? それともクラスサイズが増えるだけでしょうか? いろんな引数のパターンのコンストラクタや初期化メソッドをオーバーロードしたいのですが、 それがそのクラスのインスタンスの生成コストを増やしてしまうのではと気になったのでどうか教えて下さい。
532 名前:526 mailto:sage [2009/11/03(火) 20:55:06 ] >>530 start()の前にfile.exists()をしているので、 IOExceptionは無視しちゃえってことですか?
533 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 21:06:59 ] ファクトリメソッドって何ですか? リフレクションみたいなものなんですか。
534 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 21:17:47 ] デザインパターンでFactoryパターンっていうのがありまして、 デザインパターンに関しては丁寧に解説してるサイトが結構あるから参考にしてみては。 主にコンストラクタを明示したくないときに使うモノだと思う。 (条件によって動的にコンストラクタを選択して呼び出したい時とか)
535 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 21:36:35 ] >>533 クラス生成の条件判断を別クラスに完全に切り離すことで いろいろ都合がよくなることがあるんだ(直接には単体テストとかで分岐が減るとか)。