JAVAならおれに聞け!
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001ビル・ジョブス
2005/12/27(火) 07:00:03実際クソみたいな言語仕様だが改良に改良を重ねた1.5はチト使える。
よって、まともな言語としての扱いを受けるスタートラインにやっと立ったと言える。
JDK依存した質問はバージョン明記するように。
0002デフォルトの名無しさん
2005/12/27(火) 07:10:29なぜ、JAVA言語にはリテラル文字列のコンパイル時連結機能が無いの?
’+’がとってもウザイのだが・・。
0003デフォルトの名無しさん
2005/12/27(火) 07:22:000004ビル・ジョブス
2005/12/27(火) 07:27:05高速化したいならstatic final Stringで、プラス隠蔽したいならメソッド内で
final Stringで高速かつエレガント。逆に言うとstaticメソッド以外なら、
メソッド内ではリテラルにfinal付けなきゃ駄目って事。
で、リテラル文字列同士の+演算子って処理速いから気にするな。間違ってもconcat()や
append()使って書くなよ。見難いし醜いから。
リテラル文字列の連結機能うんぬんについては、言語仕様的に考えるとJAVAが正しいかもしれない。
なぜならC系のリテラルは+無しで連結できて変数は連結できないというのも少し引っかかる。
まぁ+がウザイのはJAVAだからって事で許してやれ。
0005デフォルトの名無しさん
2005/12/27(火) 11:00:480006デフォルトの名無しさん
2005/12/27(火) 21:59:44for(unsigned int i = 10; i >= 0; i--) {
}
とかアフォなコードを書く奴対策らしいぞ。
0007デフォルトの名無しさん
2005/12/28(水) 03:10:070008ビル・ジョブス
2005/12/28(水) 04:41:420009デフォルトの名無しさん
2005/12/28(水) 08:47:190010デフォルトの名無しさん
2005/12/29(木) 12:20:52”改良に改良を・・”ってところがフリー(=無責任)のJAVAらしくていいね。
0011デフォルトの名無しさん
2005/12/29(木) 19:14:020012デフォルトの名無しさん
2005/12/29(木) 19:50:32256MBとか簡単に使っているのですが、どう考えても尋常じゃないです。
0013デフォルトの名無しさん
2005/12/29(木) 20:08:410014ビル・ジョブス
2005/12/29(木) 20:19:01素直にC#使えって事です。
0015デフォルトの名無しさん
2005/12/29(木) 20:35:05どうせwindowsなのに、あえてJAVA使ったら逆にCPUパワーロスしているようなもんだよ。
linuxなんて一生使わない人かなり多いと思うし。
0016デフォルトの名無しさん
2005/12/29(木) 23:40:30動的コンパイルで、疲労困憊!
動的クラスローディングで、ロードホイールディング最高!
結局CPUが蛇場バイトコードを直接実行出来る日が来るまでダメ
0017JAVAの強みは
2005/12/29(木) 23:50:190018デフォルトの名無しさん
2005/12/30(金) 01:23:47Javaの強みを良く考えてからスレ立てしれ。
コノアフォドモガ
0019デフォルトの名無しさん
2005/12/30(金) 05:30:290020デフォルトの名無しさん
2005/12/30(金) 06:20:350021デフォルトの名無しさん
2005/12/30(金) 12:09:52「ばあちゃん?おれおれ。
事故ったから30万な。
ナ メ た マ ネ す ん な よ。
ごめんね。よろしくね」
0022デフォルトの名無しさん
2005/12/30(金) 22:03:10どこがJavaの強みなのか、まずはあなたが説明してください。
0023デフォルトの名無しさん
2005/12/30(金) 22:04:42ひたすら重いこと。w
0025デフォルトの名無しさん
2005/12/31(土) 00:48:50つprivate final String a;
つpublic set(final int x){
//(ry
}
0026デフォルトの名無しさん
2005/12/31(土) 10:23:470027デフォルトの名無しさん
2005/12/31(土) 11:41:19void method() const { }
この const が欲しいよう欲しいよう
このメソッドを使っても、インスタンスの中身は変化しないという安心感!!(゚д゚)シメジ!!
あーそしたら今度は mutable が欲しいとか言い出したりして。。。
つ Immutable パターン
0028デフォルトの名無しさん
2005/12/31(土) 18:54:420029デフォルトの名無しさん
2005/12/31(土) 19:28:110030デフォルトの名無しさん
2005/12/31(土) 20:37:44近未来、フリーウェアが中国にとって最大の武器になるよ。
きっとSUNのJVMを超えるVM作ってくるよ。さっさとソースは隠蔽しないと・・。
もう日本人はダメだ、そういうCreativeな精神が無いし、他力本願、
真っ先に”批判(非難)”する事から物事考え始めるから。
0031デフォルトの名無しさん
2005/12/31(土) 21:45:09> 真っ先に”批判(非難)”する事から物事考え始めるから。
最近は、日本人もCreativeだし自力でやりだしてるし、そういうことの成果が見え始めてるといわれてるわけだが。
ダメだったりCreativeな精神がなかったり、他力本願だったり真っ先に”批判(非難)”する事から物事考え始めてるのはお前だろ。
日本人の性質にしないでくれ。
0032デフォルトの名無しさん
2005/12/31(土) 22:18:29信頼性が高いっつーのは事実な。
OS作ってるひげぽんが、slashdotに巣くってる奴らから叩かれているのは
ひげぽんとその周囲の人間が、多大な時間を無駄にしているからだ。
決して「2ch憎し」で叩いてるんじゃないんだよ。
0033デフォルトの名無しさん
2005/12/31(土) 23:22:52まあ、中間管理職には権限ないし、上のほうはソモソモ興味ないからな。
ITITいいながら実は全然興味ない馬鹿幹部ばっかり。
0034デフォルトの名無しさん
2006/01/01(日) 01:34:49JNI
0035デフォルトの名無しさん
2006/01/01(日) 10:24:570036デフォルトの名無しさん
2006/01/01(日) 13:09:10>最近は、日本人もCreativeだし自力でやりだしてるし、そういうことの成果が見え始めてるといわれてるわけだが。
どこが?詳しく教えてくれ。自画自賛だったりして。
おれも日本人だが海外に住んでいる、日本人にはそういう力は無いと断言する。
国民の90%以上がまともに英語すら喋れない島国根性丸出しの国で、世界に通用するフレームワークの1つでも作れるのか?
WEB系のIDEだってみんなECLIPSE(チト改)を偉そうに製品化しているよな?
日本国民は素晴らしいとか、世界第二位の経済大国とか、鼻で笑っちゃうような自慢するなよ。諸外国は日本と言う国に対して
そんな印象は持っていないぞ。確かに車やSONY以外の家電の信頼性は高い。
しかし日本人は「仕事するために生きている民族で、生きるために仕事をしているわけではない」つまり、人間ではないと思われている。
良い製品を作ってくれる、単なる物的製造国家ありがとう。ってな感じ。
日本人に対しての敬意や尊敬など全くと言っていいほどこの世には存在しない。
英語くらい話せるようになってから、能書きたれろ。そして勘違いもいい加減にしろ。
0037デフォルトの名無しさん
2006/01/01(日) 15:13:00禿
0038デフォルトの名無しさん
2006/01/01(日) 17:22:28まあまあ同意。他国からすれば、東の果てにある工場、なんでしょうな。
しかし、読みづらいよ。もうちょっと短くまとめるか、改行はさんでてくれるとありがたかった。
0039仕様書無しさん
2006/01/01(日) 18:23:07密林でみたかぎりはどうも古い年代のしかないようです。
0040デフォルトの名無しさん
2006/01/01(日) 22:27:10そりゃそうでしょう。今ごろJDBCを直接使うことなんてありませんから。
0041仕様書無しさん
2006/01/01(日) 23:33:08JAVAにはあるということですか?
0042デフォルトの名無しさん
2006/01/02(月) 01:27:58面倒くさがりが多すぎるんでO/Rマッパが流行ってる
0043デフォルトの名無しさん
2006/01/02(月) 03:23:03SQLって言語仕様として取り入れるべきなんだよな。
表情報なんかもコンパイラがDBに取りに行くべきなんですよ。
0044デフォルトの名無しさん
2006/01/02(月) 03:34:140045デフォルトの名無しさん
2006/01/02(月) 05:55:50まぁ、そうだけど、どのみち、複雑なSQL文はマッパじゃ無理じゃねぇ。
つか、マッパまでいかないにしても、JDBCのデータセット??レコードセット??
って更新されたレコードを元に自動的にSQL文って組み立ててくれんのか??
.NETならデータセットとデータアダプターが自動的にSQL文組み立てて発行してくれるが、
それだけでも、とりあえずは十分なんだが。
0046デフォルトの名無しさん
2006/01/02(月) 06:59:27既存システムからの移行なら複雑なSQLもあるかもしれないけど。
新規なら、O/RマッパやコンテナのCMP/CMRの機能に合わせて、DB設計しちゃう。
ようするに、オブジェクトの永続化に問題なければいいわけだから。
0047デフォルトの名無しさん
2006/01/02(月) 09:17:010048デフォルトの名無しさん
2006/01/02(月) 10:19:27惜しい98点。
ResultSet rs = stmt.sql.from(hoge).select(pugya, agya).where(papa).equals(mama).orderBy(agya);
少し複雑なタイプのsqlの場合は、
rs = stmt.sql.from(family).select(son, papa, mama).startWith(papa)sqlEquals(hage).connectByPrior(son).sqlEquals(papa).sibilingsBy(son);
こんな感じでいけるよな?from()を先に持ってきているのは、select(でインテリ利かすため。
だれか作ってくれ。でも多重継承しないと難しいかも。
それか、sql文字列文を作るクラスでもいいと思うが・・鬱
そうだ!各DBベンダに頼めばいいんだお!
0049デフォルトの名無しさん
2006/01/02(月) 11:30:07あまり本格的にするつもりなかったから、DB構造のオブジェクト化まではしなかったけど、
そんなに工数はかからなかった。
>>48の最初の例くらいなら、すぐに作れるでしょ。
0050デフォルトの名無しさん
2006/01/02(月) 11:31:30PS2程度の性能で十分なのでjavaで色々と出来ないかなと考えてます。
0051デフォルトの名無しさん
2006/01/02(月) 11:35:23う〜ん、どっちかって言うと、おれはドットでフィールド一覧出てきて欲しい。
テーブル名毎回入力するのだけはカンベン。修飾すればいいのか・・。
0052デフォルトの名無しさん
2006/01/02(月) 11:40:34SQL Serverまで無償配布かよMS!
こりゃ、2006はMSの天下決定だな。
0053デフォルトの名無しさん
2006/01/02(月) 12:41:58ありますよ。てか、JavaやるならSunのサイトぐらいチェックしなさいよ。
つttp://java.sun.com/products/java-media/3D/index.jsp
0054デフォルトの名無しさん
2006/01/02(月) 15:58:36これは正直MSの名前替え戦略の勝利だな。
0055デフォルトの名無しさん
2006/01/02(月) 19:05:120056デフォルトの名無しさん
2006/01/03(火) 12:44:370057デフォルトの名無しさん
2006/01/03(火) 17:12:230058デフォルトの名無しさん
2006/01/03(火) 17:32:07Java 3D API
0059デフォルトの名無しさん
2006/01/03(火) 17:36:14バイト先で差、先陣の学生アルバイトが作って就職して去っていった
ときに残ったソースコードに、独自のクエリ構築クラスを
作ってるのがあったが、確かにある程度までは使いやすかったが、
fromの前の句、from句、where句それぞれのクラスを作っていたが
どうも中途半端で。それらから内部で文字列連結をするものだったが、
max()やasなど細かいことがやりづらいのが難点だった。副問い合わせもinもjoinもunionも
中途半端。
ほかにも、メソッド引数にいちいち型変数を渡すとか二度手間が多いこと、などには代わりなかったよ。
率直にHibernate使って欲しかったな、と思った。
0060デフォルトの名無しさん
2006/01/03(火) 17:39:10Oracleだって無償版あるけど。
SQLServerよりもOracleのほうが信頼と実績があって高機能だし。
オープンソースのPostgreSQL8.1もなめちゃいけないよ。
あれも高性能高機能。恐るべしというところか。
そのSQLServer無償配布というのがVS.NET Expressのように一年間限定でなければいいけど。
0061java
2006/01/06(金) 02:25:08MouseEventでjavaアプレットを起動しているのですが
そのアプレット内にあるActionEventが実行されません。
何が原因なのでしょうか?
ActionEventのみで作ったプログラムは動きます。
よろしくおねがいします。
0062デフォルトの名無しさん
2006/01/06(金) 03:45:10これ、使ってみたけど、何か処理が遅すぎるんだよね。なんか、遅くなるよう細工してるのかな?
>オープンソースのPostgreSQL8.1もなめちゃいけないよ。
>あれも高性能高機能。恐るべしというところか
そうなんだけど、なぜ、世の中はMySQLなんだ??
PostgreSQLは日本で一番はやっていると聞いたが。
>Visual Studio C#/C++/J# Expressだけならまだしも、
>SQL Serverまで無償配布かよMS!
>こりゃ、2006はMSの天下決定だな。
まぁ、これは消費者のせいだな。Officeから何でもMicrosoftの製品
買うから、独占がどんどん強くなって、高価格と言う弊害が出る。
俺を含めた消費者の自業自得
0063デフォルトの名無しさん
2006/01/06(金) 08:38:07マルチ乙
0064デフォルトの名無しさん
2006/01/06(金) 08:40:46時代がまだ一太郎+123だった頃の独禁法違反は無視ですかそうですか
0065デフォルトの名無しさん
2006/01/06(金) 09:12:12MySQLは速度重視という絶対的なポジションがあったからね
ただ色気づいて機能追加していった時に今まで通り速いのかは知らね
0066デフォルトの名無しさん
2006/01/06(金) 10:03:36呼んでも特に影響はないでしょうか?
0067デフォルトの名無しさん
2006/01/06(金) 10:22:05MySQLは機能追加して速くなくなったものと今まで通り速いものをテーブルごとに切り替えられる。
PostgreSQLは普及期にWindows対応してなかったのが痛い。
日本の場合トランザクションにこだわるのでPostgreSQLが広まったけど。
0068デフォルトの名無しさん
2006/01/06(金) 10:22:44Integer.parseIntとか、普通に呼び出すだろ。
0069デフォルトの名無しさん
2006/01/06(金) 12:00:52この難問を解ける方いませんか?
0070デフォルトの名無しさん
2006/01/06(金) 12:20:33Integer.parseIntがstaticですかそうですか
0071デフォルトの名無しさん
2006/01/06(金) 12:46:20何か疑問でも?
0072デフォルトの名無しさん
2006/01/06(金) 13:04:05小数点以下の桁数が多い演算で困っています。
BigDecimalクラスのメソッドを使って計算しているのですが、
例えば、0.00000000001 + 0.00000000001 の計算結果が
2E-11 と常用対数(?)で表示されてしまいます。
この計算を 0.00000000002 と表示させる方法はあるのでしょうか?
v5.0ではString.format()メソッドを使えばよさそうなんですが、
v1.4.2_10でできる方法があれば、どなたか教えて頂けないでしょうか?
よろしくお願いいたします。
0073デフォルトの名無しさん
2006/01/06(金) 13:18:231.4.2だと普通に0.00000000002にならないか?
import java.math.BigDecimal;
public class BigDecimalTest {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.00000000001");
BigDecimal b2 = b1.add(b1);
System.out.println(b2);
}
}
参考
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/math/BigDecimal.html#toPlainString()
007472
2006/01/06(金) 13:32:022E-11
と表示されてしまいました・・・。
0075デフォルトの名無しさん
2006/01/06(金) 13:35:341.5で実行してない?
007672
2006/01/06(金) 13:58:40大変お騒がせいたしました・・・。
0077デフォルトの名無しさん
2006/01/06(金) 21:11:57JAVAから別のJAVAを実行させるにはどうすればいいのでしょうか?
0078デフォルトの名無しさん
2006/01/07(土) 05:22:18解決しました
0079デフォルトの名無しさん
2006/01/07(土) 16:35:24は私じゃないです
勝手に解決されるとこまります
まだなので教えてください
0080プログラマーの卵
2006/01/09(月) 15:28:52あの〜、JSPサーブレットとかアプレットできないとJavaの仕事としてなりたたないものですか?
あと就職が近いのにうまくプログラムが組めないんでいるんですが、就職したらどうにかなりますか?
0081デフォルトの名無しさん
2006/01/09(月) 15:35:10そういう作業を続けてたら、そのうちどうにかなる。
0082デフォルトの名無しさん
2006/01/10(火) 11:03:00これは普通に継承しているからという仕組みなのでしょうか。
0083デフォルトの名無しさん
2006/01/10(火) 15:03:53public Hoge(){
super();
}
というコンストラクタが定義される。
0084デフォルトの名無しさん
2006/01/10(火) 22:49:39おまえみたいな香具師がバグだらけのプログラム書いて周りに迷惑掛けるんだよ
こっちの世界にくんな
0085デフォルトの名無しさん
2006/01/11(水) 14:14:15・JSPサーブレットなどは存在しない。JSPとサーブレットは分けなさい。
・勉強途中で断念するくらいなら別の道に進みなさい。
・勉強は死ぬまで、少なくとも退職するまで続くものと思いなさい。
・就職しただけではどうにもならない。
・世の中のシステムはJavaだけで構成されるものではない。
・そもそもプログラミングだけでは食べていけない。企画立案・要件定義・設計・運用も考えなさい。
以上がいやならこっちにこないでください。お互い、不幸になるだけです。
0086異端 A
2006/01/11(水) 23:31:09JAVAがはじめてのプログラミングでそれで最初のプログラムがゲームだなんて
無謀かと思いましたが、案外何とかなりそうです。
初めて組んだプログラムが動き出した時はとても感動しました。
そこで質問なんですが、もしこの業界でプログラムをやっていく場合
これからもずっとその感動というものは味わえるのでしょうか?
プログラマーは苦労に対して喜びが小さいとよく聞くので心配です。
0087デフォルトの名無しさん
2006/01/11(水) 23:53:08まとめ売りの内のひとりになると、言われた作業をこなすだけになるから楽しくない。
言われた作業自体が見当違いってことも多いしな。
突出した力を持ち続けれれば、プログラムはいつまでもずっと楽しい。
0088デフォルトの名無しさん
2006/01/12(木) 00:50:40業務系の全てがそうだとは言い切れないけど、少なくともうちとこではコーディング
してる時間は思いの他短い。
一日中キーボードを叩き、日々プログラミングを学び続けるという姿を想像してるの
だとしたら、現実はそれとは大きく違う。
1日の半分くらいはミーティングとドキュメンテーションを行ってて、残りの時間でコ
ーディングしてるといった感じ。
ミーティングは数人規模でのスタンディングミーティングが主で、これが面子を変え
ながら方々で繰り返し行われる。
ドキュメンテーションは技術的なものを想像すると思うけど、実際は社外折衝や社
内調整なんかの伝達事項も多く、一般にイメージされるプログラマの仕事とはかな
り毛色が違って見えると思う。
プログラミングに関しては、必要な所を必要な時に必要なだけしか学ばない。それ
はまるで、某自動車メーカーの在庫管理の様w
だから、特定分野に関しては非常に詳しいが、そこから外れると驚くほど何も知ら
ないという穴の空いた知識になりがち。
まぁ、会社ってのは意外と色んな仕事があるもんで、プログラマだからってプログ
ラミングだけやってるわけじゃないってこと。
てか、プログラミングしかできない様だと、35歳定年説とかが笑い話にならなくなる。
0089異端 A
2006/01/12(木) 01:19:38>>88
なるほど とても参考になりました。ありがとうございます。
プログラムだけで食っていく事は難しいんですね。感動も少ない。
いろんなそれに通ずる技術も身につけることにします。
0090デフォルトの名無しさん
2006/01/12(木) 12:26:33既に>>88さんが述べているけど、重要なのは対人折衝能力。これが苦手分野だと、イバラの道。
対人折衝能力があるなら、たいていの職業はこなせそうな気もするけど。
自分は苦手じゃなかったのにメンヘル板に出入りするようになってしまった負け組です。
0091デフォルトの名無しさん
2006/01/13(金) 00:45:27自分は大体こんな感覚だけど。
設計:コーディング:単体テスト=5:1:4
0092デフォルトの名無しさん
2006/01/13(金) 16:09:310093デフォルトの名無しさん
2006/01/13(金) 23:32:59ビルゲイツぐらいのスーパーハッカーが01の集まりでプログラム組んで
やっと取れるかどうかってぐらいの難しいもんだぞ。
0094デフォルトの名無しさん
2006/01/14(土) 00:23:07OSネイティブなやつなら、ピュアJavaでは無理。
JNI経由でシステムコールを呼べば取得可能。
009592
2006/01/14(土) 00:47:040096デフォルトの名無しさん
2006/01/14(土) 05:30:170097デフォルトの名無しさん
2006/01/15(日) 14:23:520098ビル・ジョブス
2006/01/16(月) 14:55:27「JAVA言語について語る」ただそれだけ。
0099デフォルトの名無しさん
2006/01/16(月) 15:51:06そもそも、昨今のCPUはインタプリタ向けには作られていない。
それにJAVAもOSコードを利用する仕組みから動作のオーバーヘッドが大きすぎる。
さらにはGCそのものもJAVA−VMの仕事だが実際はOSに負荷をかけまくり。
なぜならJAVA−VMからも物理アドレスは見えないから。
JAVA−VMがコンパイルしたコード資産も仮想マシンの終了と共に消滅する。
よって、いくら高速なCPUを使用していてもJAVAを使う限り無駄があると言える。
0100デフォルトの名無しさん
2006/01/16(月) 16:27:15じゃあJava専用CPU作れば?
0101デフォルトの名無しさん
2006/01/16(月) 21:26:55どうやるんでしょうか?
全くの初心者なので質問も大雑把ですいません。
0102異端 A
2006/01/17(火) 22:00:59MacOS9 にJAVACをいれる方法を教えてください。
もう本家ではサポートされていないんですか?
0103デフォルトの名無しさん
2006/01/18(水) 12:06:00私はLinuxでJavaを使っています。
速いとは言えませんが、十分使用に耐えるスピードです。
あとSWTですが、スピードに関してSWINGを遥かに凌ぐというのは風説であり、根拠がないと考えています。
遥かにという部分が間違いであり、若干速くなったというのが正確かと思います。
0104デフォルトの名無しさん
2006/01/18(水) 12:52:34SPARC互換にすればよかったんじゃないかなー
って、時々思う。
0105デフォルトの名無しさん
2006/01/18(水) 16:28:15JPopupMenuが消えないようにする方法を教えてください
0106デフォルトの名無しさん
2006/01/19(木) 05:16:560107デフォルトの名無しさん
2006/01/19(木) 11:23:310108デフォルトの名無しさん
2006/01/19(木) 17:34:29JPopupMenu内にJComboBoxを組み込むという発想そのものが間違いなのではないか?
JMenu を add して階層構造にすればいいのではないか?
0109デフォルトの名無しさん
2006/01/20(金) 14:39:03解答ありがとうございます
JPopupMenuが消えても機能的には問題ないんですが少し気になったもんで
複数のポップアップを同時に表示できればできそうなもんなんですが・・・
0110デフォルトの名無しさん
2006/02/02(木) 13:37:05普通そういうのはサブメニューにしちゃうよね。
わざわざJComboBoxってことは、エントリ数がとてもとても多いってこと?
0111デフォルトの名無しさん
2006/02/02(木) 16:09:21new Date("2005/10/10")としたのですが、使用すべきではありませんといわれました。
どうすればよろしいでしょうか。
0112デフォルトの名無しさん
2006/02/02(木) 19:42:21FileReaderにはread()しかみあたりません。
0113デフォルトの名無しさん
2006/02/02(木) 22:31:05SimpleDateFormat を見よ。
>>112
BufferedReader を見よ。
0114デフォルトの名無しさん
2006/02/03(金) 10:00:46同じPropertiesインスタンスを持っているスレッドが複数有り、
同時にsetPropertyやstoreなどを呼び出しても問題ないでしょうか。
0115デフォルトの名無しさん
2006/02/03(金) 12:39:51Propertiesの親はHashtableだから最低限の同期は取るんじゃないですかね。
しかしそういう使い方はPropertiesというクラスに似合わない気がする。
0116デフォルトの名無しさん
2006/02/07(火) 15:53:381日後、1日前がわかりません。
0117デフォルトの名無しさん
2006/02/07(火) 15:58:550118デフォルトの名無しさん
2006/02/10(金) 16:24:27ありがとうございます。
遅くなりまして申し訳ございません。
日付情報から日付を生成しようと思っているのですが、
new Date("2005/10/10");をコンパイルすると
使用すべきではありませんと表示されます。
どうすればよろしいでしょうか。
0119デフォルトの名無しさん
2006/02/10(金) 20:52:03数レス前も読めんのかこのノータリン
0120デフォルトの名無しさん
2006/02/13(月) 15:50:20小数点切捨ては、 8/3
四捨五入は、Math.round(8.0/3)、
切り上げはどうすればよいでしょうか
0121デフォルトの名無しさん
2006/02/13(月) 21:30:550122デフォルトの名無しさん
2006/02/14(火) 11:57:18ありがとうございます。
通常、2/3だと答えがint型になって桁が切り捨てられますが、
小数点で結果を取得したい場合は、
2.0/3とすればよろしいでしょうか。
0123デフォルトの名無しさん
2006/02/14(火) 17:33:06そう。但しその値を代入する場合は型が double か float でないと保持できない。
0124デフォルトの名無しさん
2006/02/15(水) 09:46:15ありがとうございます。
Integer = Integer - int をしたい場合は
new Integer( Integer#intValue() - int ) でできましたが、
もっと簡単な方法はあるでしょうか。
0125デフォルトの名無しさん
2006/02/15(水) 11:10:35Java SE 5 を使う
0126デフォルトの名無しさん
2006/02/15(水) 11:32:57すいません。1.48を厳守されているので。
1.5だとそんなに簡単にできるのでしょうか?
0127デフォルトの名無しさん
2006/02/15(水) 13:10:28ちなみに1.5でのことはttp://java.sun.com/j2se/1.5.0/ja/docs/ja/relnotes/features.htmlの
オートボクシング・アンボクシングでみてみるといいよ
0128デフォルトの名無しさん
2006/02/16(木) 01:33:18Retroweaverを使う
0129デフォルトの名無しさん
2006/02/16(木) 19:46:45どうすればよろしいでしょうか。
0130デフォルトの名無しさん
2006/02/16(木) 19:51:21自己レスです。
Calendar#rollがなんか使えそうです。
ただ、100日後はできそうですが、xxxx/xx/xxまではできないようです。
むずかしい・・・
0131デフォルトの名無しさん
2006/02/17(金) 00:07:400132デフォルトの名無しさん
2006/02/17(金) 12:54:39オブジェクトは秒(もしくはミリ秒)で管理して、取り出すときだけDateにする。
0133デフォルトの名無しさん
2006/02/17(金) 13:15:28ArrayList al = new ArrayList();
Date d = new Date();
long t = d.getTime();
for (int i = 0; i < 100; i++, t += 60 * 60 * 24L)
al.add(new Date(t));
// 2つのCalendarインスタンス c1, c2 に開始、終了日時がセットされている場合。
ArrayList al = new ArrayList();
long t1 = c1.getTimeInMillis();
long t2 = c2.getTimeInMillis();
for (long t = t1; t <= t2; t += 60 * 60 * 24L)
al.add(new Date(t));
0134デフォルトの名無しさん
2006/02/17(金) 13:16:330135デフォルトの名無しさん
2006/02/17(金) 13:42:04見る人が見れば分かるから放置することにする。
初心者は自分で考えな。
0136デフォルトの名無しさん
2006/02/23(木) 21:55:34Dateインスタンスを取得したいのですが
どうすればよいでしょうか?
0137デフォルトの名無しさん
2006/02/23(木) 22:05:00SimpleDateFormat でも使えば。
0138デフォルトの名無しさん
2006/02/23(木) 22:24:49SimpleDateFormat.getDateInstance().parse("2005/10/10 10:10:10")でエラーになってしまいました。
何がだめなのでしょうか?
0139デフォルトの名無しさん
2006/02/24(金) 08:38:55なんでgetDateInstanceすんだよ・・・
0140デフォルトの名無しさん
2006/02/24(金) 09:49:51すみません。よくわからずに使ってしまいました。
基本的な使い方がわかりません。
0141デフォルトの名無しさん
2006/02/24(金) 16:59:01でけた。
new SimpleDateFormat("yyyy-MM-dd").parse("2006-01-01")
0142デフォルトの名無しさん
2006/02/24(金) 19:12:42かんぺき
0143デフォルトの名無しさん
2006/03/01(水) 16:32:17hashcodeの値が同じでも、クラスの型が違う場合は、値を取得できないのでしょうか。
実際やってみましたが取れませんでした。
コード
Map map = new HashMap();
map.put("a", "aaa");
System.out.println(map.get(new Integer(97)));
System.out.println("a".hashCode());
System.out.println(new Integer(97).hashCode());
結果
null
97
97
0144デフォルトの名無しさん
2006/03/01(水) 23:38:220145デフォルトの名無しさん
2006/03/02(木) 14:20:11ハッシュ値は必ず重複することが分かっているので
ハッシュ値だけでデータを特定するなどということは
普通はしない。
0146デフォルトの名無しさん
2006/03/02(木) 14:36:04ありがとうございます。
ということは、ハッシュコードとクラスの型で判断しているということでしょうか?
0147デフォルトの名無しさん
2006/03/02(木) 16:42:39同一ハッシュで複数あったら equals() で全部比較しているのでは?
ソース読んだことないけど。
0148デフォルトの名無しさん
2006/03/05(日) 09:51:520149デフォルトの名無しさん
2006/03/05(日) 13:56:170150デフォルトの名無しさん
2006/03/05(日) 15:27:300151デフォルトの名無しさん
2006/03/07(火) 16:39:07private static Properties prop = null;
static{
try {
prop = new Properties();
prop.load(new FileInputStream("javahello.properties"));
}catch (Exception e) {
e.printStackTrace();
}
}
public static final String DATA = prop.getProperty("javahello.message");
0152デフォルトの名無しさん
2006/03/07(火) 20:36:31JAVAってVisualVasicみたいに、ボタンを貼り付けて、それに動きを
与える様な事って出来るんですか?
書店の参考書とか見ても、DOSの画面での実行結果とかしか載ってないので...
どなたか教えてください。
0153デフォルトの名無しさん
2006/03/07(火) 21:40:16できる。java 入門 GUI awt swingとかキーワードを適当に組み合わせて
検索してみて。
頑張ればこんな事もできるかも?
ttp://www.itmedia.co.jp/enterprise/articles/0407/01/news012.html
ttp://pcweb.mycom.co.jp/articles/2004/11/02/lg3d/
0154デフォルトの名無しさん
2006/03/07(火) 22:17:35できるけど、その機能は言語そのものの機能ではない。
GUIソフトを作り易くするための補助的なツールだ。
0155デフォルトの名無しさん
2006/03/07(火) 22:22:26この本でも読んでな。
http://www.amazon.co.jp/exec/obidos/ASIN/4839914826/
0156デフォルトの名無しさん
2006/03/08(水) 10:02:01StringTokenizerはちょっと違うような気がして。
0157デフォルトの名無しさん
2006/03/08(水) 11:28:36そういうクラスはないと思うなあ。あったかなあ?
まあ、簡単だから自作したら?
0158デフォルトの名無しさん
2006/03/08(水) 21:14:070159デフォルトの名無しさん
2006/03/08(水) 21:24:560160デフォルトの名無しさん
2006/03/09(木) 09:49:06ありがとうございます。
ということは、ArrayList#addは、追加されるたびに内部で配列を生成しなおしているのでしょうか?
0161デフォルトの名無しさん
2006/03/09(木) 10:33:31for文でまわして、手動でやるしかないのでしょうか?
0162デフォルトの名無しさん
2006/03/09(木) 12:08:47まあ「おれに聞け!」ってスレだから、しかたないけど。毎回2chで聞くわけにもいかないでしょ?
と、じじいの説教。
>>160
追加されるたびではなく、内部配列の容量を超えたとき、さらに追加されることも考慮して、ある程度の
余裕を持って拡大した配列を生成している。
>>161
System#arraycopyとか、配列をListにしてjava.util.Collections#copyとか、いろいろできる。
0163デフォルトの名無しさん
2006/03/09(木) 19:37:53resource.xxx();
}
の場合、他のメソッドで
resource = yyy;
とすると、書込みはロックされないのでしょうか。
synchronized (resource) {
resource = yyy;
}
にするべきでしょうか。
0164デフォルトの名無しさん
2006/03/09(木) 21:34:58他のメソッドというか、他のスレッドからそういうことをすればロックは掛からない。
というかロックはインスタンスに対して掛かっている。変数名に対して掛かっている
のではない。
0165デフォルトの名無しさん
2006/03/10(金) 09:53:24ということは、メソッドをsynchronizedにしても、ロックの掛かり方は同じでしょうか?
また、インスタンスにロックということは、同じクラスにsynchronizedメソッドが2つあった場合、
その2つのロックは独立性はなく影響しあうということでしょうか。
0166デフォルトの名無しさん
2006/03/10(金) 18:14:22> ということは、メソッドをsynchronizedにしても、
> ロックの掛かり方は同じでしょうか?
意味がわからん。何を聞いているんだ?
> また、インスタンスにロックということは、同じ
> クラスにsynchronizedメソッドが2つあった場合、
> その2つのロックは独立性はなく影響しあうという
> ことでしょうか。
synchronized メソッドというのは synchronized (this) {...}
のブロックの中に全処理が書かれたメソッドと同じだ。this が
同じならロックが掛かる。違えば関係がなくなる。
0167デフォルトの名無しさん
2006/03/11(土) 10:07:33正規表現クラス使えばいいじゃん
0168デフォルトの名無しさん
2006/03/11(土) 15:47:52CSVがうまく処理できるような正規表現おしえてくれないか?
0169デフォルトの名無しさん
2006/03/11(土) 20:51:130170デフォルトの名無しさん
2006/03/14(火) 01:10:29仕事でサーバソケットデーモン機能を引き継ぎました。ちょうど製造の8合目辺りです。
受信したソケットの内容によってそれに対応するタスクが立ち上がるという機能で
タスクは1タスク1クラスで10本程。(+部品いくつか)
コードをちょっと眺めてなんだか難しいな、と思ったんですが。
タスクを一つ追加する事になり、なぜ難しいと感じたのかが分かりました。
タスク同士が継承し合っていたんですね。最深で8階層。こんな感じです。
<<�@>>
ATask1
|
ATask2
|_______________
| |
ATask3 BTask1
|
BTask2
|
BTask3
|
0171デフォルトの名無しさん
2006/03/14(火) 01:20:230172デフォルトの名無しさん
2006/03/14(火) 01:21:000173デフォルトの名無しさん
2006/03/14(火) 01:31:50それぞれ同じレベル。
横並び(ピラミッド)型が自然では、
と思うんです。こんな感じに
Task
|
----------
| |
ATask BTask
| |
-------- ---------
| | | | | |
ATask1A…2A…3 B…1 B…2 B…3
0174170
2006/03/14(火) 01:33:25�@はただ継承してるだけでなく、インスタンス変数が多く、激しくオーバーライドしています。
結果ぱっと見ではソースがまったく追えず、複雑極まりない構造になっています。
今回新たにBTask3に処理追加するために、�@のATask1に記述追加しなければならなくなったんですが
100ステップ程のメソッドにたった1行追加するのにも、わざわざオーバーライドして同じような
メソッド100ステップを記述しなければいけなくなったり。今後更に機能拡張があると、五月雨式に
ソースが膨れ上がりそうで非常にデンジャラスな気配です。
日にちはあまりないのですが�Aの様に改めてリファクタリングすべきでしょうか
それとも構造は�@のままで、他に何か対策を練るべきでしょうか。
0175デフォルトの名無しさん
2006/03/14(火) 07:53:420176デフォルトの名無しさん
2006/03/14(火) 12:42:11このプログラムを1.4で実行してるのですが、エラーが消えません。
どうしたらいいでしょうか。
0177デフォルトの名無しさん
2006/03/15(水) 00:21:36どうすれば表示できるのでしょうか。
0178デフォルトの名無しさん
2006/03/15(水) 00:42:48JApplet使うか自作
0179デフォルトの名無しさん
2006/03/15(水) 00:53:24void foo( ) {
class C { // (1)
void bar( ) { }
};
class D {
class C{} // (2)
void zot( ){
new C( ).bar( ); // ERROR
}
}
}
}
--
//ERROR とついてるところで(2)のCではなく(1)のCを使いたいのですが、
どう書けばいいんでしょう?
0180デフォルトの名無しさん
2006/03/15(水) 00:58:47その前に…fooメソッド内にクラス定義はできないんじゃないか?
0181デフォルトの名無しさん
2006/03/15(水) 05:04:26(´・ω・`)これこれ寝言を言うたらあかんがな
0182デフォルトの名無しさん
2006/03/15(水) 15:32:030183デフォルトの名無しさん
2006/03/15(水) 22:18:480184デフォルトの名無しさん
2006/03/15(水) 22:22:500185デフォルトの名無しさん
2006/03/15(水) 22:40:38ダブルクリックでjarが起動しません。
jarファイルの中にフォルダが三つ、
フォルダ "AAA" には aaa.class (mainがあるクラス)
フォルダ "BBB" には bbb.class
フォルダ "META-INF" には MANIFEST.MF
MANIFEST.MF にはmainをどう記述したらよいでしょうか?
へんてこな質問ですみません( T∀T)
0186デフォルトの名無しさん
2006/03/15(水) 22:50:24クラス教えてけれ
0187デフォルトの名無しさん
2006/03/15(水) 22:53:560188デフォルトの名無しさん
2006/03/15(水) 22:55:03自力で探せ
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index-files/index-7.html
0189デフォルトの名無しさん
2006/03/15(水) 22:55:29NetBeansのスレできけばよかろうに。
manifest.mfには、mainは勝手に設定されるから記述するなと書かれてるはず。
うろおぼえだけど、プロジェクトのプロパティの「実行」のところを見れば解決するかも。
0190デフォルトの名無しさん
2006/03/15(水) 22:59:530191デフォルトの名無しさん
2006/03/15(水) 23:43:09「JAVAならおれに聞け!」w
0192デフォルトの名無しさん
2006/03/16(木) 01:46:41NetBeans プロジェクトのプロパティ-(実行)を開いたら
主クラスの項目がありました。閉じて、構築で、
jar動きました。
本当に、ご親切にありがとうございます。
わあい\(^▽^\)(/^▽^)/わあいっ
0193デフォルトの名無しさん
2006/03/16(木) 13:33:24Javaでプログラミングレベルでパケットを適当に指定した割合でロスさせるような
プログラムは可能でしょうか?
プロクシのテスト用に使いたいのですが。
0194デフォルトの名無しさん
2006/03/16(木) 15:34:30何の串? http?
もしそうなら tcp だからいくらパケットロスさせてもあまり意味ないのでは?
0195デフォルトの名無しさん
2006/03/16(木) 23:29:06パケットをロスさせることによって、
通信速度を調節させるとか、そういう話です。
0196デフォルトの名無しさん
2006/03/17(金) 14:37:39また、split(",,,",",")すると、データが一切取れません。
",,"も空文字、またはnullとして取得したいのですが、方法はあるでしょうか?
0197デフォルトの名無しさん
2006/03/17(金) 15:58:43引数を2つ取る split() の方を使え。
負の値を指定するとよい。
0198デフォルトの名無しさん
2006/03/17(金) 16:00:01でもパケットロスってリピータハブに2台のマシンを繋げないと中々実現できないと思うよ。
今ではスイッチングハブが当り前になっちゃったから、まずはハブを探す所からやらないと
駄目だな。
0199デフォルトの名無しさん
2006/03/17(金) 22:37:35内部のadd_abc関数で警告が出てしまいます、どうしましょう。
「警告: [unchecked] raw 型 java.util.Vector のメンバとしての
add(E) への無検査呼び出しです。」
public class abcVector extends Vector {
…(省略)
public void add_abc( ABC abc_dat ){
add( abc_dat );
}
…(省略)
}
0200デフォルトの名無しさん
2006/03/17(金) 23:35:12回答ありがとう。
プログラミングのコードレベルでロスさせるのは不可能でしょうか?
Java以外でもいいのですが、、ってスレ違いでスマソ。
0201デフォルトの名無しさん
2006/03/18(土) 02:02:30豆腐屋の親父にたのまれて、ロット別の資材管理を
JAVAで作ろうかなとかんがえてるんよ。
0202デフォルトの名無しさん
2006/03/18(土) 02:12:55rhinoでJavaScriptを動かすときとか。
0203デフォルトの名無しさん
2006/03/18(土) 02:25:36早速ありがとうよ
ま、インタープリターでも10年前のBASICの速度で十分なんだが
こんな屁みたい、システムでも業者に頼むと100万以上かかるらしい
表計算では大変だし、操作性の面からプログラムを作った方が早い。
0204デフォルトの名無しさん
2006/03/18(土) 02:35:330205デフォルトの名無しさん
2006/03/18(土) 02:40:58甘くは見ないけど、JAVAを勉強しながらやる事になるけど
昔汎用機でアセンブラとCOBOLの経験あるから
少しは覚えているでしょう。
0206デフォルトの名無しさん
2006/03/18(土) 02:51:18100万っていったら1ヶ月かからない程度だしね。
最後のツメでの細かい注文に、おやじのことを嫌いにならんようにな。
0207デフォルトの名無しさん
2006/03/18(土) 04:28:32俺が23万5000円で作ってやるよ
0208デフォルトの名無しさん
2006/03/18(土) 04:30:590209デフォルトの名無しさん
2006/03/18(土) 04:34:580210デフォルトの名無しさん
2006/03/18(土) 07:24:06VM上で動いているものは全部。
0211デフォルトの名無しさん
2006/03/18(土) 18:28:44そういうのはインタプリタとは言わない
0212デフォルトの名無しさん
2006/03/18(土) 18:33:31どこからどう見てもインタプリタだよ。入門書から勉強し直せ。
0213http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 18:44:02もしくは64bitにネイティブ対応した置換ソフトないですか?
0214デフォルトの名無しさん
2006/03/25(土) 05:12:21これなんだろ?
0215デフォルトの名無しさん
2006/03/25(土) 06:28:03StringのListのListだろ。
0216デフォルトの名無しさん
2006/03/25(土) 12:05:240217デフォルトの名無しさん
2006/03/25(土) 16:39:060218デフォルトの名無しさん
2006/03/25(土) 16:50:360219デフォルトの名無しさん
2006/03/25(土) 17:30:180220メモ蔵
2006/03/25(土) 19:17:28試算することは可能なのでしょうか?
なにか計算式みたいなものあるのかな?
0221デフォルトの名無しさん
2006/03/25(土) 21:07:110222デフォルトの名無しさん
2006/03/25(土) 22:34:26かなり単純なアプリで、一回使ったら落とすようなもの以外は無理
0223デフォルトの名無しさん
2006/03/25(土) 23:11:59import javax.servlet.*;
import javax.servlet.http.*;
ここらへんでエラーが出ちゃいます
助けてください
0224デフォルトの名無しさん
2006/03/25(土) 23:44:35つ コンパイル時のクラスパス
今日から始めたのなら、いきなりServletではなく、もちっと基本的なところから始めれ。
【初心者】Java質問・相談スレッド83【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1142309999/
0225223
2006/03/25(土) 23:50:27�dクス
0226デフォルトの名無しさん
2006/03/26(日) 07:07:12http://news19.2ch.net/test/read.cgi/newsplus/1143317790/
0227デフォルトの名無しさん
2006/03/26(日) 14:47:48今年って何か面白い技術ネタ何が流行りそうなの?
0228デフォルトの名無しさん
2006/03/26(日) 16:19:13JavaEEは、DI/AOP/ORMが標準になりましたよってだけだし。
0229デフォルトの名無しさん
2006/03/26(日) 16:34:50今年は、これらの技術の成熟期・普及期かな。
現場でようやく使われ始めそう。
0230デフォルトの名無しさん
2006/03/27(月) 19:05:59Genericsについてぐぐれ
0231デフォルトの名無しさん
2006/03/27(月) 19:08:27Ruby on Rails.
Ajax
Javaの世界ではNetBeansが本格的に流行る。
そしてSwing GUIの復活。Java Web Startと連携して復活と予測。
ついでにJava Studio Creator2も普及。
あれはMacromedia Dreamweaver並みに高機能。
それからアノテーション。
JUnit4が登場。
0232デフォルトの名無しさん
2006/04/12(水) 23:12:130233デフォルトの名無しさん
2006/04/13(木) 09:34:28さあなあ。とりあえず split で行単位に分割してみたらどうだ?
0234デフォルトの名無しさん
2006/04/13(木) 20:15:210235デフォルトの名無しさん
2006/04/13(木) 22:01:30Enter 押されて次の行の先頭にカーソルがある時に上の行の先頭の空白をコピーするか、
またはタブに置き換えて挿入する。
0236デフォルトの名無しさん
2006/04/13(木) 22:30:090237デフォルトの名無しさん
2006/04/14(金) 03:41:040238デフォルトの名無しさん
2006/04/14(金) 05:36:400239デフォルトの名無しさん
2006/04/17(月) 19:49:080240デフォルトの名無しさん
2006/04/17(月) 20:33:44まず、 java.lang.Runtime のドキュメントを読め。
0241デフォルトの名無しさん
2006/04/17(月) 21:14:18センキュー!
0242デフォルトの名無しさん
2006/04/18(火) 19:37:56今weblogicを使用してWEBアプリを作成していますが、
再デプロイしなくても、クラスファイルを更新して上書きすれば
クラスの再ロードが掛かるといわれて、上書きしたのですが更新されませんでした。
再デプロイすると更新されるので、アップロード方法が間違っていることはなさそうです。
そこで聞きたいのですが、クラスの再ロードは、javaエンジンの作業なのでしょうか。
それともクラスローダ?というものでしょうか。
クラスの再ロードをWEBアプリ側から明示的に行うことはできるのでしょうか。
そもそも、クラスを更新しただけではだめなのでしょうか?
0243デフォルトの名無しさん
2006/04/18(火) 20:30:28weblogicは開発モードとプロダクションモードがあって、前者ではクラスファイルが更新されれば
再ロードしてくれるが、後者はしてくれなかったはず。
起動スクリプトをチェックしてみてくださいな
0244デフォルトの名無しさん
2006/04/18(火) 21:31:38CLSとか使えないですが
もしかしてCのsystem()より能力低い?
0245デフォルトの名無しさん
2006/04/18(火) 21:34:07ありがとうございます。
ちなみにプロダクションモードだった場合に、自力で再ロードさせることなんてできるのでしょうか?
0246デフォルトの名無しさん
2006/04/18(火) 22:26:53サーバ再起動になるかと。
プロダクションモードって実稼動環境ということで、そういう変更は想定していないはず。
(むしろ積極的に排除している)
0247デフォルトの名無しさん
2006/04/18(火) 22:37:01は? 君はどういう環境で何をしようとしているの?
0248デフォルトの名無しさん
2006/04/18(火) 22:46:05JSPとサーブレットはプロダクションモードと開発モードに関係なく
別の設定(なんとか更新間隔とか)でリロードするよ。
その他(WEB-INF/lib,WEB-INF/class)などはリロードしなかったかも。
そっちリロードさせたいなら再デプロイするのが確実かな。
0249デフォルトの名無しさん
2006/04/18(火) 23:49:39Windowsなら、command.exe経由で呼び出さなけりゃだめっつうだけじゃねぇの?
0250デフォルトの名無しさん
2006/04/19(水) 20:18:45実行する方法はあるでしょうか?
0251デフォルトの名無しさん
2006/04/19(水) 21:39:010252デフォルトの名無しさん
2006/04/19(水) 22:17:36>>240
0253デフォルトの名無しさん
2006/04/20(木) 13:54:43ありがとうございます。見つけました。
Runtime.getRuntime().exec("xxx");
webアプリで、コマンドを起動したく、servletの中で実行しようと考えているのですが、
何か注意点とかありますでしょうか?
0254デフォルトの名無しさん
2006/04/20(木) 16:50:35まさかフォームから受けた文字列を実行するんじゃないよね。実行コマンドが固定か数パターンとして。
・毎回外部コマンドを実行することによるパフォーマンスの低下
・スレッド間の衝突
・DoS
くらいがぱっと思いつくところ。もっとあるだろうけど、コマンドにもよるから。
0255デフォルトの名無しさん
2006/04/21(金) 16:14:38System#getEnvだと、あらかじめ取得したい名前を知っておかないといけないらしいので。
0256デフォルトの名無しさん
2006/04/24(月) 19:39:01すいません。なぞの現象に悩まされています。
下記のコードを実行したところ、execで実行したjavaのバッチプロセスが例外をmainまでスローして終了したときに、
呼び出し側のbr.readLine()でブロックされてしまい、処理が戻ってきません。
何か対処が抜けているでしょうか?
process = Runtime.getRuntime().exec(xxx);
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
buffer = new StringBuffer();
String line;
boolean ignoreOutput = command.isIgnoreOutput();
while ((line = br.readLine()) != null) {
System.out.println(line);
}
0257デフォルトの名無しさん
2006/04/24(月) 21:27:20processはバグってるから使っちゃだめ。
標準出力読み込み中に、エラーが発生すると、エラー出力を取らないといけないので。
でもunixじゃないんで、javaでは無理。javaでバッチはあきらめるべし。
0258デフォルトの名無しさん
2006/04/25(火) 13:24:03unixで言うところの、selectシステムコールみたいなのはないんですかね。
複数のストリームから一発でデータを取得することは・・・
0259デフォルトの名無しさん
2006/04/25(火) 13:27:04WEB-INF/lib,WEB-INF/class以外で、weblogicが監視してくれる場所は、
xxx.ear/xxx.jar/以下でしょうか
0260248
2006/04/25(火) 14:44:32earとかejbの話?
earに含まれるwebアプリケーションは上に書いた通りだけど
他はどうだろう? ごめん、マニュアル見るか試してください。
0261デフォルトの名無しさん
2006/04/25(火) 20:12:02System.out.println( Pattern.compile(".*b.*f.*", Pattern.MULTILINE).matcher("abcd\r\nefgh").matches() );
上記をマッチさせる方法はあるでしょうか。
説明が下手で申し訳ございません。
0262デフォルトの名無しさん
2006/04/25(火) 20:55:03よくわからないけど、\r\n じゃなくて \n だけだとどうなる?
0263デフォルトの名無しさん
2006/04/25(火) 21:03:16分かった。それは Pattern.MULTILINE じゃなくて Pattern.DOTALL だ。
MULTILINE の方は ^ と $ が何にマッチするかの指定だが、 DOTALL は
. が何にマッチするかの指定だ。 . を全てにマッチさせるのが DOTALL。
0264デフォルトの名無しさん
2006/04/26(水) 09:48:48ありがとうございます。
できました。
ちなみにいろいろ調べてみたのですが、Perl5Util#match() 見たいな、perlチックなクラスもありました。
結構使い勝手がよかったです。ただ、Pattern.DOTALLと同等の機能はないらしいのですが。
0265デフォルトの名無しさん
2006/04/26(水) 18:31:37うまく更新されたり、されなかったり、どうも動きが一定にならないです。
1つ確認したいのですが、xxx.earはアーカイブではなく、展開してディレクトリ構造になっています。
そのxxx.ear/xxx.jar/以下にクラスをコピーしました。
this.getClass().getClassLoader().getResource("クラスパス").getPath() でも、jar以下のクラスファイルを見ています。
0266デフォルトの名無しさん
2006/04/26(水) 20:52:09JSPやサーブレットは設定により動的にリロードしますよとマニュアルに書いてある。
展開ディレクトリ形式でもwarでも関係ない。
EJBの場合は知らん。
マニュアル参照してそれでわからなければ
サポートに聞いてみればいいと思います。
そこで何日も悩むのってもったいないと思う。
0267デフォルトの名無しさん
2006/04/27(木) 19:26:53ちょっとした疑問がわきました、
たとえばshellからJVMにシグナルがとんだ場合に
プログラムはそれを検知/対応できるんでしょうか?
0268267
2006/04/27(木) 20:02:50Runtime#addShutdownHook(Thread hook)
あってるよね?
0269デフォルトの名無しさん
2006/04/28(金) 20:54:48ちなみにJVMがハンドルするシグナルの表がマニュアルにあったと思う。
0270デフォルトの名無しさん
2006/05/15(月) 17:46:32セキュリティーマネージャとは何でしょうか。
今までの案件で、セキュリティーマネージャを設定してあることはなかったのですが、
セキュリティーマネージャの存在を意識した(制限など)コーディングをしたほうがよいのでしょうか?
0271デフォルトの名無しさん
2006/05/19(金) 14:10:15これに答えられるほどjavaに精通してるやつはいないのかえ!?
0272デフォルトの名無しさん
2006/05/19(金) 14:23:14セキュリティマネージャは、使えるクラスを制限するものだが。
アプレットでも作らん限りは不要じゃねぇの?
0273わからーん
2006/05/19(金) 20:22:06サンプルプログラムみたいなものがあったりすれば幸いなのですが案を出してもらえないでしょうか?
0274デフォルトの名無しさん
2006/05/19(金) 21:59:05セキュリティマネージャはサンドボックスがらみでなかったっけ?
0275デフォルトの名無しさん
2006/05/20(土) 01:47:19EJB3.0ってホントに実務で有効?
0276デフォルトの名無しさん
2006/05/20(土) 05:12:32サンドボックスとかキーワードは関係しますが、
別にアプレットに限った話でもない。
起動するときに、その起動形態によって与えられるアプリに与えられる権限が変わるということ。
例として、リモートにあるコードを実行する時は、基本的にローカルマシン上にある
リソースへのアクセス(ファイル読んだり、書いたり)とかコードがある
マシン以外へのアクセスを禁じたりしている。
これを回避するためには、ローカルのセキュリティポリシーを変えたりする必要がある。
で、リフレクションだが、これもクラスの中をこじ開けてアクセスするような
機能があるため、それを実行するのに権限を要求される
で、恐らく>>270 は、まぁセキュリティマネージャを意識したプログラムとかコーディングではなく
実行するときに適切にポリシーが設定されるかどうかを気にするべき。
実行環境によって、ポリシー変更が可能か、どうかとか、ポリシーの配布方法
jarへのサインなど、考えることは色ある。
何より、こんな場所で語り尽くせる話じゃないので適切な解説を見つけて熟読すること。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/spec/security-specTOC.fm.html
日本語でもあるから。
0277デフォルトの名無しさん
2006/05/20(土) 15:11:28超有効
0278JAVA
2006/05/20(土) 21:13:09どのようにしたらいいのでしょうか?本をよんでみたりしましたが、
よくわかりません。ちなみにエクリプスの中で開発中です。
何かのコードに変換するようなのですが、、よろしくご教授お願いします。
0279デフォルトの名無しさん
2006/05/20(土) 22:39:00おめでたい連中だwwwwwww
0280デフォルトの名無しさん
2006/05/21(日) 09:40:220281デフォルトの名無しさん
2006/05/21(日) 09:59:56業界内にあるから、そのことを指しているんだろう。
なぜアホと思うのか、おめでたいと思うのか、俺には全く理解不能だが。
0282デフォルトの名無しさん
2006/05/22(月) 14:09:18仕様だけは最初からオープンでは?
0283デフォルトの名無しさん
2006/05/22(月) 15:20:250284デフォルトの名無しさん
2006/05/22(月) 15:34:49で、正式リリースされている最新のバージョン5をインストール。
ベータ入れて文句いうな。
0285デフォルトの名無しさん
2006/05/22(月) 16:55:42ブラウザにHello worldと表示させる
簡単なプログラムをJAVAで設計しました。
で、実際にhtmlを作り読み込んでみたわけですが
灰色の画面だけで何も表示されません。
描画に時間がかかるのかと思い、しばらく待ってみましたが
やはりそういった雰囲気はなさそうです。
どうすればいいのでしょうか?
0286デフォルトの名無しさん
2006/05/22(月) 17:18:23<body>
<h3>hellow warld</h3>
</body>
</html>
これじゃぁいかんの?
0287デフォルトの名無しさん
2006/05/22(月) 17:19:42教えてください
0288デフォルトの名無しさん
2006/05/22(月) 18:41:23ちょっとそれどこかの無料ホームページ借りて公開しろ。
で、そのURLをここに書け。
0289デフォルトの名無しさん
2006/05/22(月) 22:45:42Pattern.matches("ab", "abcde")
がfalseになるんですが・・・
Pattern.matches("ab.*", "abcde")
だとtrueになります。
もしかして部分一致じゃなく完全一致なんでしょうか?
0290デフォルトの名無しさん
2006/05/22(月) 23:00:57プリファレンスの方が新しいけどレジスタいじくるとか?
0291デフォルトの名無しさん
2006/05/23(火) 01:28:42ちょうど見てたところなので投下。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/regex/Matcher.html#find()
0292デフォルトの名無しさん
2006/05/23(火) 17:47:07↑のデバッグがどうしてもできないのですが。
そもそも、eclipseとかではなくjavaのデバッグで、
現在の止めているスレッドに例外をスローさせる方法なんてあるの?
0293JAVA
2006/05/23(火) 19:36:16ACTIONでその値がうまくとれませんん、、文字化けしてします、、
どうしたらいいでしょうか。。よろしくご教授ください。
0294デフォルトの名無しさん
2006/05/23(火) 21:58:50ありがとうございます。
なるほど。Perl型はfindで全体一致がmatchesみたいですね。
0295デフォルトの名無しさん
2006/05/24(水) 01:16:46とりあえずエンコーディングを指定する箇所を洗い出して
全部同じになっているか確認してみれば?
jspのcharsetとserver.xmlのconnectorとか
0296デフォルトの名無しさん
2006/05/24(水) 16:53:08継承っていいね。
0297デフォルトの名無しさん
2006/05/25(木) 13:22:080298デフォルトの名無しさん
2006/05/25(木) 13:41:570299デフォルトの名無しさん
2006/05/25(木) 16:03:17OSの制限によってアクセス不能かも知れない。
0300デフォルトの名無しさん
2006/05/25(木) 21:08:24これは、unixでいえば/tmp何ですかね?
0301デフォルトの名無しさん
2006/05/25(木) 21:39:38できれば、環境依存しない形式で書きたいと思っています
"jar:file:C:/sample/lib/ibatis-sqlmap-2.jar!/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd"
0302デフォルトの名無しさん
2006/05/26(金) 13:48:20それか、もしくはLinuxなら/var/tmpかもね。もちろん環境変数優先。
WindowsはTEMPかTMP環境変数でしょう。
…と、確認せずにレスする。しようと思えばすぐにもできるんだが。
0303デフォルトの名無しさん
2006/05/28(日) 08:20:31ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/File.html#createTempFile(java.lang.String,%20java.lang.String)
じゃだめなの?
下手に使うと、このAPIでファイル作ろうとしたときぶつかる可能性があると思うが・・・
ああ、でもどうなんだろ作ろうとしたファイルがすでにあるかのチェックくらいはしてるかな?IOExceptionになるのかも・・・
わかんね、・・・
0304デフォルトの名無しさん
2006/05/29(月) 14:25:05デザインパターンのProxyでいいような気がするけど・・・
0305デフォルトの名無しさん
2006/05/29(月) 14:28:32排他はかけているけど重複チェックはしてなかったよ。
ファイル有り無しに関係なく、new File()していた。
0306デフォルトの名無しさん
2006/05/29(月) 14:32:43手出せねーや。
openStreamをオーバーライドして独自のクラス作ろうとしたんだけど。
コンストラクタでstreamを引数に取るやつは簡単にデータの内容変更できるけど、
URLではきれいにいかないなぁ。
ダミーFileをnewしてURL作成がいいところか。
つくったふぁいるのdelete処理のタイミングが難しい・・・
0307デフォルトの名無しさん
2006/05/29(月) 14:40:32最終的には、ストリームもしくはリーダークラスを使用しているのでしょうか?
0308デフォルトの名無しさん
2006/05/29(月) 17:47:550309デフォルトの名無しさん
2006/05/30(火) 13:18:31superのsuperなんてできるのか?
0310デフォルトの名無しさん
2006/06/06(火) 17:57:440311デフォルトの名無しさん
2006/06/06(火) 22:22:03byte[] bs;
char[] cs = new char[bs.length];
for(int i = 0; i < bs.length; ++i) cs[i] = bs[i];
0312デフォルトの名無しさん
2006/06/07(水) 01:17:14どういう意図かわからんけど中間にStringをはさめば解決しない?
0313デフォルトの名無しさん
2006/06/07(水) 01:24:23byte[] bs;
char[] cs = new char[bs.length];
for(int i = 0; i < cs.length; ++i) cs[i] = (char)bs[i];
0314デフォルトの名無しさん
2006/06/08(木) 17:35:59InstantiationExceptionがスローされるのでしょうか?
どこかに、コンパイラによってデフォルトコンストラクタは勝手に作られるとあったのですが、
勝手に作られるのに、ないそと怒られるのはなぜでしょうか?
0315デフォルトの名無しさん
2006/06/08(木) 17:42:39プログラムでコンパイルして、それを実行することなんてできるのでしょうか?
サーブレットコンテナがjspをそうしているように。
0316デフォルトの名無しさん
2006/06/08(木) 18:36:23ソースコード中にコンストラクタが一切無い場合に限り、コンパイラによってデフォルトコンストラクタが暗黙的に生成される。
0317デフォルトの名無しさん
2006/06/08(木) 18:36:53できます。
サーブレットコンテナがjspをそうしているように。
0318デフォルトの名無しさん
2006/06/08(木) 19:44:46ありがとうございます。
原因がわかりました。
0319デフォルトの名無しさん
2006/06/08(木) 19:46:09ありがとうございます。
この機能を実装しろといわれていますが、
コンパイルをし、ロードし、実行することは、かなりの規模になるでしょうか?
0320デフォルトの名無しさん
2006/06/08(木) 23:29:25給料上げてくれるならやると言え。
規模は大きくないけど、そんな質問してるレベルで、仕事として組めるとは思えない。
趣味なら勉強になるからやればいいんだけど。
0321デフォルトの名無しさん
2006/06/09(金) 10:07:26本当に無理な要求で・・・
仕様が頻繁に変わり、反映した後にサーバーの再デプロイをものすごく拒否られて、
その代わりに、自分で更新機能を作れなどとで、話が舞い込んできました。
HP-Unixでweblogicを使用していますが、クラス再ロード機能をオンにしてクラスを更新しても無反応なので。。。
0322デフォルトの名無しさん
2006/06/09(金) 13:10:510323デフォルトの名無しさん
2006/06/09(金) 16:35:460324デフォルトの名無しさん
2006/06/09(金) 16:43:19自分で解決できました。
0325デフォルトの名無しさん
2006/06/09(金) 16:53:40リモート接続して、JDK中のクラスにデバックポイントを張ったらエラーになりました。
0326デフォルトの名無しさん
2006/06/09(金) 16:54:07コンパイル時のオプション次第
0327デフォルトの名無しさん
2006/06/09(金) 17:10:26デフォルトのweblogicは C:\bea\JROCKI~1\jre\lib\rt.jar を使用していて、
リモートデバッグはできませんでした。
eclipseで使用している C:\j2sdk1.4.2_08\jre\lib\rt.jar はデバッグできたので、
C:\j2sdk1.4.2_08\jre\lib\rt.jar を C:\bea\JROCKI~1\jre\lib\rt.jar に上書きして再度デバックしましたが
行番号情報がないとのことで、同じくデバッグできませんでした。
原因としてほかに何が考えられるでしょうか?
0328デフォルトの名無しさん
2006/06/09(金) 17:22:23だから、コンパイル時のオプションだって言ってるだろ。
そのものズバリの答えをもらっているにも関わらず
そう考えない思考方法をどうにかしない限り、
おまえさんには解決はムリだ。
0329デフォルトの名無しさん
2006/06/09(金) 17:29:37いやだから
> eclipseで使用している C:\j2sdk1.4.2_08\jre\lib\rt.jar はデバッグできたので、
> C:\j2sdk1.4.2_08\jre\lib\rt.jar を C:\bea\JROCKI~1\jre\lib\rt.jar に上書きして再度デバックしましたが
だから、C:\j2sdk1.4.2_08\jre\lib\rt.jar は行番号情報ありってことでしょ。じゃなきゃeclipse上でデバッグができないはず。
そいつを上書きコピーしたから、できるはずでしょ。たぶん。
0330デフォルトの名無しさん
2006/06/09(金) 17:33:31>だから、C:\j2sdk1.4.2_08\jre\lib\rt.jar は行番号情報ありってことでしょ。
この前提が間違い。Eclipseがコンパイルするときにデバッグ情報を付加するオプションつけてコンパイルしてんだよ。
わかんない奴だな。
0331デフォルトの名無しさん
2006/06/09(金) 17:34:34思いこみ激しすぎ&勘違い&頭悪すぎ
0332デフォルトの名無しさん
2006/06/09(金) 17:37:06こたえになってない。
うまくいかない要素を書いたつもりはないし、勘違いしているんだったら指摘してよ。
なぜeclipseはうまくいくの?実行時のランタイム指定しているんだよ。
見ているものは間違いなく同じrt.jarじゃん。
0333デフォルトの名無しさん
2006/06/09(金) 17:44:19これが勘違い&思いこみ。アドヴァイスもらってるのにここから思考が動かない。頭悪すぎ。
コンパイル時のオプションだって言ってるのに。
0334デフォルトの名無しさん
2006/06/09(金) 17:48:53eclipseはC:\j2sdk1.4.2_08\jre\lib\rt.jarを見て、行番号があるといっている。とさっき書いたが
0335デフォルトの名無しさん
2006/06/09(金) 17:53:09本当に頭悪いな。
どの rt.jar を使っても
コンパイル時のオプション次第でデバッグ情報ありにもなしにもなるんだよ。
デバッグ情報の有無はランタイムじゃなくて、コンパイル時のオプションで変わるんだよ。
何度言わせるんだ。
0336デフォルトの名無しさん
2006/06/09(金) 17:56:550337デフォルトの名無しさん
2006/06/09(金) 17:58:28352で、俺はそのランタイムのデバッグをすると書いたが。
> リモート接続して、JDK中のクラスにデバックポイントを張ったらエラーになりました。
独自のクラスでなく、そのweblogicがファイルを読込むFileクラスで処理を止めたいの。
だから、対象はrt.jarのランタイムが行番号つきかどうかが問題。
0338デフォルトの名無しさん
2006/06/09(金) 20:20:46サポートに問い合わせてみれ。
0339デフォルトの名無しさん
2006/06/09(金) 21:13:290340デフォルトの名無しさん
2006/06/09(金) 21:16:16無駄なこと・無意味なことが好きな方ですね。
JVMのデバッグモードって知ってますか?
答えてくれる人に対してこういう態度を取っている限り
適切な回答は得られないということは覚えておいた方がいいですよ。
社会性を身につけましょう。
0341デフォルトの名無しさん
2006/06/09(金) 21:18:040342デフォルトの名無しさん
2006/06/09(金) 21:20:290343デフォルトの名無しさん
2006/06/10(土) 01:25:34JVM スレで聞いてみれば?
0344338
2006/06/10(土) 01:34:32Sunのrt.jarでも試してみれば?
普通はデバッグオプション付きでコンパイルしてないのかな?
0345デフォルトの名無しさん
2006/06/12(月) 00:14:37具体的には、コンボボックスに対して入力もできるし一度入力したテキストは
オートコンプリート機能を働かせたい・・というものです。
JComboBoxにはsetKeySelectionManagerというメソッドがあり、JComboBox.KeySelectionManagerを
実装したクラスを渡すと、入力に応じて行を自動で選択する実装ができるようですが、
この機能では、setEditable(false) の時にしか働かないようです。
なので、この場合新たな入力が行えなくなってしまいます。
入力可能で且つオートコンプリート機能を追加する場合はどのようにすればよいでしょうか?
0346デフォルトの名無しさん
2006/06/13(火) 14:24:06デバッグという書き方が紛らわしかったですが、
フレームワークがあるファイルをアクセスしていて、ソースを追うより実行してすぐ知りたいと思い
JVMのFileクラスにブレイクポイントを設定して、目的のファイル名だったら止まる条件を追加しようと考えてました。
確かにしびれを切らして口調が荒くなりましたが、
誤解した人がけなすこと言って批判の対象外になっているのも悲しいです。
0347デフォルトの名無しさん
2006/06/14(水) 10:51:23OSがXPの場合、ログファイルはどこにできるのでしょうか。
0348デフォルトの名無しさん
2006/06/21(水) 13:15:421行単位でなく、1文字単位で読み込みする必要が出てきたので。
0349デフォルトの名無しさん
2006/06/21(水) 21:59:350350デフォルトの名無しさん
2006/06/23(金) 13:56:16って言うか、呼ばれているんだけど・・・
0351デフォルトの名無しさん
2006/06/23(金) 14:15:57スーパークラスのコンストラクタは当然呼ばれる。
0352デフォルトの名無しさん
2006/06/23(金) 16:16:17public xxx() {
super();
}
と
public xxx() {
}
でも、親のデフォルトコンストラクターは呼ばれるってことですか。
0353デフォルトの名無しさん
2006/06/23(金) 16:18:04呼ばれる
ってか、コンストラクタ勉強しなおせ。
0354デフォルトの名無しさん
2006/06/23(金) 16:46:14すると親クラスではprotected以上が必須になり、private宣言すると、実質final classになっちゃう。
だから、明示・暗黙のいずれであっても、親のコンストラクタのどれかは呼ばれないといけないのです。
0355デフォルトの名無しさん
2006/06/23(金) 18:44:35すごく納得できました。
ありがとうございます。
0356デフォルトの名無しさん
2006/06/26(月) 11:11:48その機能は過去の遺物らしい。
どっかの英語圏サイトに書いてあったような・・・
0357デフォルトの名無しさん
2006/06/26(月) 11:20:37InputStream localIn;
OutputStream localOut;
InputStream serverIn;
OutputStream serverOut;
Socket serverSocket = new ServerSocket(1000).accept();
serverIn = serverSocket.getInputStream();
serverOut = serverSocket.getOutputStream();
Socket localSocket = new Socket("xxx.xxx.xxx.xxx", 23);
localIn = localSocket.getInputStream();
localOut = localSocket.getOutputStream();
byte[] data;
while (true) {
try {
if (serverIn.available() > 0) {
data = new byte[serverIn.available() + 1];
serverIn.read(data, 0, serverIn.available());
localOut.write(data);
} else if (localIn.available() > 0) {
data = new byte[localIn.available() + 1];
localIn.read(data, 0, localIn.available());
serverOut.write(data);
} else {
Thread.sleep(10);
}
} catch (IOException e) {
e.printStackTrace();
break;
}
}
0358デフォルトの名無しさん
2006/06/26(月) 18:32:50自己解決
data = new byte[serverIn.available() + 1]
↓
data = new byte[serverIn.available()]
0359デフォルトの名無しさん
2006/06/30(金) 05:01:55受信したメールの本文にテキストを付加した上で再送信したいのですが、
その際に元のメールの構造を保ったままで再送信するためにはどうすればいいか分かる方いますか?
0360デフォルトの名無しさん
2006/07/01(土) 23:48:45オートリロード対応するならば、みなさんならどんな実装にしますか?
ぱっと思いついたのは
・設定ファイルが更新されていないかスレッドで監視
・ロードした設定情報(キャッシュ)に有効期限を決めておき(10秒とか)、
キャッシュへアクセスするたびに期限切れか判定(期限切れならロードしなおす)
・Commons Configurationを使う
出来るのかまだ調べていませんが、「設定ファイルなら何でもこい」と
言っているので出来るのかな〜と勝手に思ってます
という感じです。
個人的な現状の状況は、環境はj2sdk1.4.x+J2EE1.4で、テストのために使おうと
考えています。
(なのでそれほどパフォーマンスは考慮しようとは考えていません)
他に何かよい方法があればアドバイスください。
0361デフォルトの名無しさん
2006/07/04(火) 21:12:56場所 所沢(池袋・高田馬場から直通)
i−want−to−study−java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
よろしくおねがいします
0362デフォルトの名無しさん
2006/07/05(水) 03:28:040363361
2006/07/17(月) 21:21:51専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
0364デフォルトの名無しさん
2006/08/06(日) 22:43:58ってのを落としたんだけど、これどうするのん?
0365デフォルトの名無しさん
2006/08/06(日) 22:45:54実行する
0366デフォルトの名無しさん
2006/08/06(日) 22:47:07どうやって?
0367デフォルトの名無しさん
2006/08/06(日) 22:51:330368デフォルトの名無しさん
2006/08/12(土) 13:47:21setter、getterが存在するのはなぜでしょうか?
セキュリティの問題だとかいろいろあると思いますが、実際実務で
有効に利用できたことってあるんでしょうか?
仕様変更のたびに、変数名とセットで、メソッド名も変更となるため
かなり面倒な感じがするのですが。
どうなんでしょうか。
0369デフォルトの名無しさん
2006/08/12(土) 13:56:49本来はカプセル化のためだし、
getterやsetterにいろいろ仕込む手法もあったのだけど、
最近の流れはそうではないよね。
でも当初の思想がそうだったために、各種開発ツールや
ライブラリやカスタムタグがgetter/setterありきで設計されている。
ってとこが現実かな。
変数名とメソッド名を合わせて変更は、IDEが対応しているでしょ。
データを保持するだけの単純なJavaBeanは手書きするもんじゃないよ。
0370デフォルトの名無しさん
2006/08/12(土) 14:01:41ああ、なるほど〜もともとはそういう理由で作られていて、
現在はそういう利用がないってことなんですね。
久しぶりにしっかりとした意見が聞けてすっきりしました。
IDEが古くて対応していないプロジェクトなもので、
全部手書きでやっていて・・・。
ありがとうございました。
0371デフォルトの名無しさん
2006/08/23(水) 14:53:43作ってるのって酷い無駄だと思う。
いっそのこと構造体にしてくれって感じ。
0372デフォルトの名無しさん
2006/08/31(木) 15:28:30認証まではうまくいくんですがPASVモードでの
dataSocket = new Socket(serverIP.replace(',','.'),動的なPORT);
でタイムアウトが発生し接続できません。
windowsでは問題なく実行できます。
環境は
+−−−−−−+ +−−−−−−+
LINUX−−−−| | | |
| ルータ- |−−−−−| モデム |−−−−−インターネット
WIN−−−−−−| | | |
+−−−−−−+ +−−−−−−+
ちなみにlinuxのFTPコマンドではファイル転送も問題なくできます。
原因がさっぱりわかりません。
0373デフォルトの名無しさん
2006/09/05(火) 02:42:52アイロボットみたいだな
株ロボもいつか夢を見るようになるのかなぁ
0374デフォルトの名無しさん
2006/09/11(月) 15:38:59/**
*
*こんちゃーす
*
*/
class koncha{
public static void main(String[] args){
//標準出力でこんにちは
System.out.println(\""こんにちは""\);
}
}
誰か教えてくれ
0375デフォルトの名無しさん
2006/09/11(月) 16:00:27System.out.println("\"こんにちは\"");
0376デフォルトの名無しさん
2006/09/12(火) 20:00:19釣りですか。
0377デフォルトの名無しさん
2006/09/12(火) 21:51:08、C++の参照渡しになるとのことですがC++でいうconst参照を渡す
にはどうやればいいのですか?
0378デフォルトの名無しさん
2006/09/25(月) 07:08:41気合いで
0379デフォルトの名無しさん
2006/09/26(火) 09:38:38JAVAとJavaScriptは同じものなのでしょうか?
入門書などを見るとimport java.applet.*と記述すれば
JAVAでアプレットを使えるとありますが、これがJAVAスクリプトなのでしょうか?
あともし別物だったとしてJAVAと比べてJAVAスクリプトは勉強するの簡単でしょうか?
0380デフォルトの名無しさん
2006/09/26(火) 11:10:50javaとjavascriptは全くの別物。 多少構文が似ている部分もある。 「多少」ね。
当時マーケティングの都合でjavaに似てるイメージを持たせたかったのでjavascriptという名前になっただけ。
勉強するなら、完全に無関係だと思ったほうがいい。
で、javascriptは、簡単な事しかやらないなら簡単。 凝ったことをやるとjavaより面倒。
好みの問題だが。
0381デフォルトの名無しさん
2006/09/26(火) 21:20:32レス有難うございます。
御蔭でかなりスッキリしました。
0382デフォルトの名無しさん
2006/09/27(水) 15:52:22javaならツールを簡単に作れますが、友達に提供しようと思っても
javaをインストールしたくないということで動かせなくて困っています。
0383デフォルトの名無しさん
2006/09/27(水) 23:20:24つ http://www.google.co.jp/search?hl=ja&q=jar%E3%80%80exe%E3%80%80%E5%A4%89%E6%8F%9B&lr=
0384デフォルトの名無しさん
2006/09/28(木) 02:23:33まずは、インストールしてもらおうよ
exeにしてもいい事ないし
どうせ、昔の情報で「Javaおせーしなー」とか言ってるだけでしょ?
入れないなら自分で作れよ、って言う、と。
どうしてもってんなら gcj で。
exewrapとか、JSmoothやlaunch4jはjava入れなきゃダメだから注意な。
有料でよければJETとかもある・・・がコレは俺使った事ない
0385デフォルトの名無しさん
2006/09/28(木) 18:09:28JFormattedTextFieldを使って、HH:mmの形で入力された時刻の差(日数などは考慮に入れない)を求める勤怠時間計算ソフトを作っています。
例えば、2つのJFormattedTextFieldに9:30と20:30の時刻入力があった場合に、3つ目のフィールドに、労働時間"11:00"を出力するというものです。
この場合、文字位置を判定してStringを取得、intに変換して計算するという方法以外に何か良い方法はないものでしょうか?
また、":"の入力を省けるようにMaskFormatter("##:##")としているのですが、SetText(null)とすると、次にフォーカスを得て失うまで":"が現れません。
時刻入力部分だけをnullとして、":"を残しておく方法は無いものでしょうか。
よろしくお願いします。
0386デフォルトの名無しさん
2006/09/28(木) 22:49:05http://pc8.2ch.net/test/read.cgi/tech/1158332683/l50
こちらで聞くことにしました。申し訳ありません。
0387デフォルトの名無しさん
2006/09/29(金) 22:38:15で、javaアプリで日本語入力しようとし漢字変換し、漢字候補の画面でクローズボタンを実行すると、javaが吹っ飛びました。同じような現象を経験した方います?
0388java初心者
2006/09/30(土) 18:23:53コマンドプロンプトでコマンドを入力するような機能をつけたいのですが、
何かいい方法はありませんでしょうか?
自分でも調べてみたのですが、
Runtime.getRuntime().exec()で実現しようとすると、
Eclipseに「処理されない例外の型」と注意されてしまいます。
何か設定があるのでしょうか?
0389デフォルトの名無しさん
2006/09/30(土) 20:16:170390デフォルトの名無しさん
2006/10/02(月) 10:01:17最低限、例外処理ぐらいは勉強してからプログラム書け。
ここで聞くよりググったほうが回答が多い。 ググれカス。
0391デフォルトの名無しさん
2006/10/02(月) 15:59:24|∀・)・・・・・・・・・・・・・・・・・・・・・・ とかね
0392デフォルトの名無しさん
2006/10/03(火) 07:51:460393デフォルトの名無しさん
2006/10/05(木) 19:56:28先ず外部クラスのインスタンス名を生成してから、そのインスタンス名でもって
<インスタンス名>.new としないと内部クラスをインスタンスを生成できない事が分か
った。
これは、内部クラスを利用する上で重要な事だと思うけど、私の本に詳しく書いていな
いし、Internetで検索しても余り出てこない。
*印の単なる配列の宣言は、インスタンス名を参照しなくてもいいみたい。
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000994.html
public class H03Dijkstra {
class DijkEdge {int weight; int dest; };
class Vertex {
DijkEdge[] conne;
int nmCn;
};
void dijkstra(Vertex[] graph,int iNmNode,int source) {・・}
public static void main(String args[]) {
H03Dijkstra dij=new H03Dijkstra();
Vertex[] SW2006Sp = new Vertex[5];// H03Dijkstra.Vertex[]でも可←*
for(int i0=0;i0<5;i0++){SW2006Sp[i0]=dij.new Vertex(); }
SW2006Sp[0].nmCn=2;
SW2006Sp[0].conne = new DijkEdge[2];
for(int i0=0;i0<2;i0++){SW2006Sp[0].conne[i0]=dij.new DijkEdge(); }
SW2006Sp[0].conne[0].dest=1; // B
SW2006Sp[0].conne[0].weight=10;
SW2006Sp[0].conne[1].dest=2; // C
SW2006Sp[0].conne[1].weight=3;
・・略・・
dij.dijkstra(SW2006Sp,5,0);
}
}
0394デフォルトの名無しさん
2006/10/07(土) 05:56:398.1.3 Inner Classes and Enclosing Instances
8.5 Member Type Declarations
15.9 Class Instance Creation Expressions
0395デフォルトの名無しさん
2006/10/07(土) 23:07:13org.eclipse.swt.browserで表示したwebの
formにsubmit(psot)したいのだが良い方法ない?
VBとかだとこんな感じ
ieobj.document.forms(0).Submit
ちなみに↓だと、エラーは出ないけど反応無し。
browser.execute("document.formname.Submit")
0396デフォルトの名無しさん
2006/10/15(日) 14:49:35Jakarta OROを使えばPerl5互換正規表現を
Javaでも使うことができるぞ
0397395
2006/10/15(日) 18:11:22一応報告。
browser.executeでフォーカスをinputタグにあわせて
awt.robotでエンターキーを叩かせるという力技で何とかしました。
始めはorg.eclipse.swt.browser自体を改造していましたが
OLE操作がいまいち分からずあきらめました・・・。
0398デフォルトの名無しさん
2006/10/16(月) 10:30:06との命令を受けた者です。
かなりの初心者で、正直途方に暮れています。
母体(アプレット版)にあまり手を加えずに変換する事は可能なんでしょうか。
物によると思いますが、一般的な手法等について教えてください。
0399デフォルトの名無しさん
2006/10/16(月) 22:39:080400デフォルトの名無しさん
2006/10/17(火) 09:31:42ちゃんと知ってて言ってるんなら、元のアプレットをwebアプリにしたいんだろう。
この場合、アプレットのロジックとUIを切り離して、UIはJSPなりで表示。
UIはアプレットとhtmlじゃ出来ることが全く違うから、同じにするには物凄い工数がかかる。
ある程度割り切って実装する事も必要かと。
核心のロジックはそのまま使える。 元のアプレットがまともに書いてあったらだけど。
何も知らないオヤジがなんとなく言ってるだけなら、そんな簡単な話じゃないって事を厳しく教育しとけ。
理由も付けて。
0401デフォルトの名無しさん
2006/10/31(火) 09:42:030402デフォルトの名無しさん
2006/10/31(火) 14:32:08できるよ
java.awt.datatransfer.Clipboard
について調べてみればおk
0403デフォルトの名無しさん
2006/11/06(月) 16:53:21できました。
ありがとうございます。
クリップボードの監視とかはできるのでしょうか?
C-cしてクリップボードに値が入った場合に、したい処理があるのですが。
0404デフォルトの名無しさん
2006/11/08(水) 14:26:320405デフォルトの名無しさん
2006/11/08(水) 15:59:120406デフォルトの名無しさん
2006/11/08(水) 18:15:38これで移動できるのですか?
0407デフォルトの名無しさん
2006/11/08(水) 18:30:03できるわけねーじゃん。
javaにはカレントディレクトリの移動の概念がないよ。
0408デフォルトの名無しさん
2006/11/08(水) 20:57:54カレントディレクトリの管理は自分でするしかない。
Fileオブジェクトに持たせておいて、新しくFileを作るときはそれをベースにしてconstruct
0409デフォルトの名無しさん
2006/11/10(金) 13:31:04たぶんコピーしてオーナーにならないとだめかも。
毎回コピーしなおさないといけないのが難点。
0410デフォルトの名無しさん
2006/11/11(土) 16:41:32テーブルデータみたいのって自分で編集できる?
機種依存文字とかのマッピングを自分で追記したいんだけど。
0411デフォルトの名無しさん
2006/11/11(土) 17:08:11くらいしか思いつかない
0412デフォルトの名無しさん
2006/11/11(土) 17:11:470413デフォルトの名無しさん
2006/11/12(日) 08:02:05java.nio.charset.spi.CharsetProvider
jarファイルでライブラリ作って、META-INF/servicesに記述書いておけば
オリジナルのcharsetを作れるはず
0414デフォルトの名無しさん
2006/11/12(日) 16:36:17javaで3mpタグの読み込み&編集を行いたいのですが
どうすればいいのかまったく分かりません。
まだjavaを初めて間もない初心者ですが
何か参考になるものがあれば教えていただけないでしょうか?
0415mm3
2006/11/12(日) 17:53:05J2SE1.5.0_09をダウンロードしました。
import java.uti.ArrayList;
class Sample{
public static void main(String[] args){
ArrayList list = new ArrayList;
list.add("moji");
System.out.println(get(0));
}
}
という、簡単なプログラムなのですが、
list.add("moji");が、「無検査呼び出し」というエラーで、
コンパイルが通りません。
J2SE1.5.0_08では、通ります。
1.5.0_09で通すには、どのようにすればよいのでしょうか??
0416デフォルトの名無しさん
2006/11/12(日) 20:15:25ここで質問させてください。
XMLの勉強を始めたばかりの初心者なのですが
私が作成したXMLファイルのエラーをチェックするために
コマンドプロンプトから
java dom.Counter (XMLファイル)
という風にやっているのですが、次のようなエラーが出てしまいます。
[Fatal Error] :-1:-1: Premature end of file.
開始タグと閉じタグが一致してないのが原因なのかとソースを何回も
チェックしましたが、そのような記述ミスはありません。
他に原因として考えられること、またはこのエラーの指す意味が
お分かりでしたら教えていただけませんか?
よろしくお願いします。
0417岐山面
2006/11/12(日) 22:04:26import java.uti.ArrayList;
class Sample{
public static void main(String[] args){
ArrayList<String> list = new <String> ArrayList();
list.add("moji");
System.out.println(get(0));
}
}
0418デフォルトの名無しさん
2006/11/12(日) 23:32:37なんかいいのないか?
Strutsも古いから次。
0419デフォルトの名無しさん
2006/11/13(月) 00:52:43それで不満があるならWicketかClick
0420デフォルトの名無しさん
2006/11/13(月) 23:37:00ただのWebアプリからWin32APIにアクセスできますか?
(^_^;
0421デフォルトの名無しさん
2006/11/14(火) 13:42:29真面目な質問ではなさそうなので、軽く釣られてやったぞ。
0422デフォルトの名無しさん
2006/11/14(火) 21:11:29ActiveX使おうぜ!
と、おいしそうな餌だったので
0423デフォルトの名無しさん
2006/11/15(水) 22:01:57アプレットでJNIって使える?
0424デフォルトの名無しさん
2006/11/16(木) 05:01:53やらんけど。
0425デフォルトの名無しさん
2006/11/16(木) 21:26:3110のString型フィールドをもつBean、
後者のほうが10+Bean自身でコストがかかるっていう考え方はおかしい?
0426デフォルトの名無しさん
2006/11/17(金) 01:09:37コストというのはメモリ?
フィールドは名前が付いている分、配列の要素に比べてリッチだろうな
0427デフォルトの名無しさん
2006/11/17(金) 20:07:46キーボードから「test」を入力した状態にすることは可能でしょうか?
ユーザーが入力する際、親切にデータを書き込んで、目的のものじゃなければ<BS>で文字を消してもらおうと考えているのですが。
0428デフォルトの名無しさん
2006/11/17(金) 23:15:150429デフォルトの名無しさん
2006/11/18(土) 02:19:18RobotってCUIでも使えたの?
俺もRobotかと思ったけどGUI用かと思ってて
0430デフォルトの名無しさん
2006/11/18(土) 10:56:580431デフォルトの名無しさん
2006/11/18(土) 13:28:230432デフォルトの名無しさん
2006/11/18(土) 15:06:39ありがとうございます。
入力文字を受け取って、大文字に変換してそれを入力したように見せようと思い
for (int i=0; i<input.length(); i++) {
robot.keyPress( input.toCharArray()[i] );
}
とやったのですが、キーコードが不正でエラーになってしまいました。
何が問題なのでしょか。
0433デフォルトの名無しさん
2006/11/18(土) 21:24:460434デフォルトの名無しさん
2006/11/18(土) 23:18:35スローアブル?
スローエイブル?
0435デフォルトの名無しさん
2006/11/19(日) 06:04:46APIドキュメントを読まないか読めないやつだな。
keyPressの引数はキーコードであってUNICODE文字ではない。
キーコードはKeyEventの説明を参照汁。
大文字を打ちたいなら当然シフトキーも押す必要がある。
自分がキーボードを扱う時と同じことをRobotにやらせないといけない。
あと、標準入力への入力待ちをしていると、
WindowsのコマンドプロンプトではkeyPressだけでうまくいくみたいだが、
linuxではkeyReleaseしないと最後にkeyPressしたキーが押されっぱなしになって、
キーリピートしてしまう環境があった。押したキーは放したほうがいい。
0436デフォルトの名無しさん
2006/11/19(日) 13:39:57ありがとうございます。
もうひとつお聞きしたいのですが、
DBから取り出したデータを
1行1Beanで全行をListに格納と
1列ごとにString配列、列数分配列を用意するのではどちらがメモリ、速度面で有利なのでしょうか。
0437デフォルトの名無しさん
2006/11/19(日) 13:44:190438デフォルトの名無しさん
2006/11/19(日) 22:10:27うるさい、市ね。
0439436
2006/11/19(日) 23:09:24メモリ使用量を測れるプラグインとか入れてためしてみます。
0440デフォルトの名無しさん
2006/11/20(月) 09:59:18すいません。javadocに書いてました。
キーコードとユニコードの変換は自作するしかないでしょうか?
今入力補填機能を作成していまして、<tab>を押して補填済み文字列をキーボード入力しています。
場合によって、ユーザーが<Left>や<BS>で補填の一部を変えたいらしいので、キーボード入力しています。
標準出力じゃ<bs>で文字を消せないので。unixのshell見たいな物を作ろうとしています
0441デフォルトの名無しさん
2006/11/20(月) 15:37:300442デフォルトの名無しさん
2006/11/20(月) 16:23:47もしくは
"あ".getBytes("UTF-16BE")
0443デフォルトの名無しさん
2006/11/24(金) 18:07:21removeするとエラーになります。
0444デフォルトの名無しさん
2006/11/24(金) 23:55:08asListが返すのはあくまでもListインタフェースを実装するクラスというだけ。
その実装の詳細に立ち入るプログラムは行儀があまりよくない。
もし、ArrayListが必要なら、asListで得られたインスタンスからさらにArrayListで再構築。
0445デフォルトの名無しさん
2006/11/25(土) 16:56:03そしてどこにありますか?
教えてください。
0446デフォルトの名無しさん
2006/11/25(土) 17:17:04なかなか難しい。
0447デフォルトの名無しさん
2006/11/25(土) 18:04:58数値計算用のライブラリはいくつもあるけど、いろいろ詰め込まれた大規模ライブラリなんで、
線形連立方程式を解くことだけに限定するなら、
ガウス法でもガウス・ジョルダン法でもその他の解法にしても
大したコーディングにはならないから自分で書いてもいいんではないかい?
0448デフォルトの名無しさん
2006/11/25(土) 18:14:30コンピュータの数値独特のテクニックとかがあることを考えると
認められてるライブラリを使うのがいいかなと考えたのです。
0449デフォルトの名無しさん
2006/11/25(土) 18:37:21んじゃ、javaと数値計算で検索すれば商用、非商用いろいろ見つかるよ。
他にも非JavaライブラリをJNIで呼び出すとか。
0450デフォルトの名無しさん
2006/11/26(日) 03:33:18参照渡しできないですよね。
でもメソッドのなかで代入したい場合ってどうするんでしょう?
int a[] = new int[1];
って宣言してわざわざa[0]でアクセスするってことにしてみたんですけど、
これって変ですよね。
0451デフォルトの名無しさん
2006/11/26(日) 04:00:28呼び出された側で代入したいのなら別に変じゃないと思う。
1個のintに代入したいだけならメソッドの返値として返して呼び出し側で代入する手も。
あとは、intをラップしたmutableオブジェクトなクラスを定義してそれでやりとりするとか。
0452デフォルトの名無しさん
2006/11/26(日) 04:05:040453デフォルトの名無しさん
2006/11/26(日) 04:13:05Integerはimmutableなんで引数として渡されたIntegerオブジェクトに
メソッド内で新たな値を代入することはできないと思う。
0454デフォルトの名無しさん
2006/11/26(日) 04:24:40じゃあ
class IntCupsel{
public IntCupsel(int i){ value=i; }
public int value;
}
で。
0455デフォルトの名無しさん
2006/11/26(日) 04:34:45public class MutableInteger {
private int i;
public MutableInteger(int i) {
this.i = i;
}
public void set(int i) {
this.i = i;
}
public int get() {
return i;
}
public String toString() {
return Integer.toString(i);
}
}
public class bar {
public static void main(String[] args) {
MutableInteger n = new MutableInteger(1);
foo(n);
System.out.println(n);
}
public static void foo(MutableInteger i) {
i.set(i.get()+1); // i=i+1
}
}
0456デフォルトの名無しさん
2006/11/26(日) 04:40:26454のようにアクセスを簡単にするためにラップしたものをpublicにしてもいいね。
あとはマルチスレッドでmutableなものを使うときは注意が必要なくらいか。
0457デフォルトの名無しさん
2006/11/26(日) 04:42:48サンクス>>455-456
人の話を聞かなくなってたオレには丁度良い薬だった
0458デフォルトの名無しさん
2006/11/28(火) 12:03:01何でファイルはユニコードじゃないものでも、java内で日本語表示できるのですか?
そもそも、プロパティファイルじゃなくてもいいような気がするのですが?
素人でその辺が良くわかりません。
0459デフォルトの名無しさん
2006/11/28(火) 14:28:49プロパティファイルじゃなくてもいいというのが
何のことだかさっぱりだが、
たぶんプロパティファイルでなくてもいいぞ。
取りあえずJavaの前に自分の状況を日本語で表現する勉強だ。
0460デフォルトの名無しさん
2006/11/28(火) 14:54:09ありがとうございます。
java内と言うのは、エンジンのことですか。それともAPI?
Propertiesのソースを見てみたら、unicodeの変換処理がありました。
それのことですかね。
変換機能は他の用途にも使えそうなので、JDKのAPIにすればいいのにとふと思いました。
0461デフォルトの名無しさん
2006/11/28(火) 15:22:00で、Stringで指定したCharsetでの変換が機能する。
逆向きは、
String.getBytes(String)
参考:
java.nio.charset.Charset
0462デフォルトの名無しさん
2006/11/29(水) 10:35:14どうすればよいでしょうか?
0463たすけてください
2006/11/29(水) 12:09:12多いのですが留年がかかっています。助けてくださいお願いします。12月6日が期限です。
46. クラスを定義して、三角形の2つの角と爽辺をN組読み込んで、三角形の面積、角度および三辺の長さを出力するプログラムを作成しなさい。
72. ニュートン・ラプソン法で、c o s x = xの根を求める13. 角度(x度y分z秒)をラジアンに変換するプログラムを作成し、角度変換表を作成し、プログラムを作成しなさい。
37. nを1から50まで変化させて、各nに対してs 3 = 1 3 + 2 3 + … + n 3= n 3 ( n + 1 ) 2 / 4の値を求めて、数表を作るプログラムを作成しなさい。
86. 次の真理値表を作るプログラムを作成しなさい。(X •Y) + {Z • (X + Y)}
0464デフォルトの名無しさん
2006/11/29(水) 13:09:0712/6までならまだ余裕あるな。ちょっとまじめにやってみようか。
まず問題文をコンピュータ関係なしに数学として理解しているかだ。
もし、そこ以前だったら、・・・船の安全を考えて頼むから留年してくれ。
問題文を数学として理解しているのなら
まず、その求め方を日本語/数式で書いてみよう話はそこからだ。
0465デフォルトの名無しさん
2006/11/29(水) 13:48:14大学名は晒さない方が良いと思うよ・・・
0466デフォルトの名無しさん
2006/11/29(水) 14:26:290467デフォルトの名無しさん
2006/11/29(水) 14:41:44俺の学生時代も、レポートのdiff取って一発留年晒し挙げがあったなあ。
アクセス記録によれば、UNIXサーバの他人のディレクトリからかっぱらったらしい。
パーミッション切っておかないのが上手いよな。w
0468デフォルトの名無しさん
2006/11/29(水) 15:08:19Swingでこれを使うとSHIFTなら17,CTRLなら18,ALTなら24が帰ってきて,
SHIFT_MASK,CTRL_MASK等のマスクを使った処理がちゃんとできるのですが,アプレットでこの
メソッドを使うと,SHIFTでは64,CTRLでは128,ALTでは512が帰ってきて
マスクが使えません.
どうなってるのでしょうか?
0469デフォルトの名無しさん
2006/11/29(水) 15:53:29普通に上書きすればできっぺよ。
0470デフォルトの名無しさん
2006/11/29(水) 15:57:50一様参考書買って勉強してるんですが・・・なんだか物足りないので誰かご存知の方が居ましたら情報plz つw;
0471デフォルトの名無しさん
2006/11/29(水) 19:18:10運用時は自動ロード(開発モード)をOFFにしてるんじゃね?
0472デフォルトの名無しさん
2006/11/29(水) 19:19:01グーグル先生にお願いしなさい。
0473デフォルトの名無しさん
2006/11/29(水) 20:13:10tomcatの設定はいじれないので、アプリ側で再ロードはできますか?
あるservletを用意して(管理者IDでない場合は404のエラーを返す)、
textで入力されたクラスファイルの名前を取得し、再ロード(クラスの張替え)する。
こんなことできますか?サーバーの再起動は夜中しか許されないので、
これができると日中でもバンバン修正適用ができるのですが。
エラーになって文句言われたときは自己責任で何とかします。
0474デフォルトの名無しさん
2006/11/29(水) 21:25:24クラックされて変なクラスファイル置かれてもいいの?
0475デフォルトの名無しさん
2006/11/29(水) 21:44:09自分でクラスローダー実装するしかないだろう。
どちらにしてもTomcatいじる事になるかな・・・
もしくは、古いやり方だがRMIサーバー立てて、クラス修正が頻繁に起こる奴はここに保持とかな・・・
0476デフォルトの名無しさん
2006/11/29(水) 21:55:17そっか。デフォルトのクラスローダーは何もしないから、
tomcatは自力で実装しなおして、再ロード可能なクラスローダーを使用しているんだ。
ということは、tomcatのクラスローダーをパクればOK!?
そんな簡単ではないか・・・・
0477デフォルトの名無しさん
2006/11/29(水) 22:05:10つhttp://www.google.com/codesearch
0478たすけてください
2006/11/30(木) 12:13:570479デフォルトの名無しさん
2006/11/30(木) 12:40:28public class Lituus extends Applet {
public void paint (Graphics g) {
g.setColor(Color.red);
int centerx = getWidth()/2;
int centery = getHeight()/2;
g.drawLine(0,centery,centerx*2,centery);
g.drawLine(centerx,0,centerx,centery*2);
g.setColor(Color.blue);
int n=360;
double zoomx=10,zoomy=10;
double delta =Math.PI*2/n;
int radius = (centerx<centery)? centerx*3/4:centery*3/4;
double c =Math.sqrt(2*Math.PI)*(radius);
double t = 0.001;
double r =Math.sqrt(ここ);
int lastx = (int)(r*Math.cos(t))+centerx;
int lasty = -(int)(r*Math.sin(t))+centery;
for (int i=1;i<=n;i++){
t+=delta;
r=Math.sqrt(ここ);
int x = (int)(r*Math.cos(t*zoomx))+centerx;
int y = -(int)(r*Math.sin(t*zoomy))+centery;
g.drawLine(lastx,lasty,x,y);
lastx=x;
lasty=y;
}
}
}
ここってかいたとこができればできるらしいのですが、わかりますか?おしえてください
0480デフォルトの名無しさん
2006/11/30(木) 15:29:42でも、数学は聞くな
tが、ラジアン角度
rは、その角度、での中心点からの距離
Wikipediaによると
r = a/ √θ らしい、
今、θを0.001から2π/360のステップで刻もうとしている。
つまり、1周分。
あとは何とかしてやってくれ。
0481デフォルトの名無しさん
2006/11/30(木) 15:38:40↑のプログラムでは、定数はaではなくc
0482デフォルトの名無しさん
2006/11/30(木) 17:03:23import javax.swing.*;
public class s12 {public static void main(String[] ar) {
// JFrameクラスのインスタンスを作成
JFrame frame = new JFrame(
"ボタンをのせたアプリケーション");
// JButtonクラスのインスタンスを作成
JButton button = new JButton("わたしはボタン");
// フレームにボタンを追加
frame.add(button);
// フレーム(ウィンドウ)が閉じる際の処理を定義
frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
// Look & Feelの設定
try {
// WindowsスタイルのLook&Feelに設定
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
// 設定を反映させる
SwingUtilities.updateComponentTreeUI(frame);
// エラー処理ブロック
} catch (Exception e) {e.printStackTrace();
}
// フレームのサイズを設定して表示
frame.setSize(250, 100);
frame.setVisible(true);
}
}
0483デフォルトの名無しさん
2006/11/30(木) 17:13:10実行になるとエラーが出ます;
0484デフォルトの名無しさん
2006/11/30(木) 17:25:16またこれかよ。 javaの前に、質問の仕方を勉強しろ。
「エラーが出ます」じゃなくて、その出た例外をそのまま貼れ。
お前は、泥棒に入られたら警察行って「困っています」とか言うのか?
とりあえず勘でエスパーしてやるが、
frame.add(button);
を
frame.getContentPane().add(button);
に変えてみろ。
0485デフォルトの名無しさん
2006/11/30(木) 17:27:230486デフォルトの名無しさん
2006/11/30(木) 17:32:210487名無し
2006/11/30(木) 17:37:51多分あとfunction judgeのif文の関数の入れ方だけだと思うんですけど。。
var n=0;var image=new Array(4);function Setimage0(){for(i=0 ; i<4 ; i++){image[i]=new Image(200,150);image[i].src="image"+i+".jpg";}}
var m=0;var image=new Array(4);function Setimage1(){for(i=0 ; i<4 ; i++){image[i]=new Image(200,150);image[i].src="image"+i+".jpg";}}
var l=0;var image=new Array(4);function Setimage2(){for(i=0 ; i<4 ; i++){image[i]=new Image(200,150);image[i].src="image"+i+".jpg";}}
function Scroll0(){time0=setTimeout("Scroll0()",500);document.photo0.src=image[n].src;n++;if(n>=4)n=0;}
function Scroll1(){time1=setTimeout("Scroll1()",500);document.photo1.src=image[m].src;m++;if(m>=4)m=0;}
function Scroll2(){time2=setTimeout("Scroll2()",500);document.photo2.src=image[l].src;l++;if(l>=4)l=0;}
function Stop0(){clearTimeout(time0);}
function Stop1(){clearTimeout(time1);}
function Stop2(){clearTimeout(time2);}
function Judge()
{if(( == ) && ( == )){alert("当たり!");}}
0488デフォルトの名無しさん
2006/11/30(木) 20:26:11Tigerか、MustangでContentPaneを取らなくてもイイ改修が入ったはず
0489デフォルトの名無しさん
2006/11/30(木) 23:44:47Javaだと文字コード体系が違うので変換がめんどくさいです
0490デフォルトの名無しさん
2006/12/01(金) 00:34:23Tigerだったはず
0491デフォルトの名無しさん
2006/12/02(土) 03:59:46JavaScriptはスレ違い。
JavaとJavaScriptは全く別の言語だぞ。
更に言えば動的Webサイトの作成に使う
ブラウザ上のJavaScriptなら
WebProg板の方が良いかも知れん。
ECMAScript デス 2
http://pc8.2ch.net/test/read.cgi/tech/1088298991/
JavaScript 等の ECMAScript 系言語の
ブラウザ上に限定しない話を扱うム板のスレ
WebProg
http://pc8.2ch.net/php/
動的なWebサイト作成でのプログラミング
例えばCGI等のサーバプログラミング
0492デフォルトの名無しさん
2006/12/02(土) 04:35:40このページのJDK 5.0 Update 10をDLしたいんですが、
「ダウンロード」っていうボタンをクリックしても、DLできないんですが・・・
この症状は自分だけでしょうか?
0493デフォルトの名無しさん
2006/12/02(土) 04:59:11のようにオブジェクトの配列を宣言したとき、
これは参照の配列だと思います。
実体も生成されているのでしょうか?
0494デフォルトの名無しさん
2006/12/02(土) 05:03:030495デフォルトの名無しさん
2006/12/02(土) 05:03:52実体も生成されているとしても、
明示的にメンバを初期化したい場合は
結局別々にコンストラクタを呼び出せば良い。
この考えでいいでしょうか?
0496デフォルトの名無しさん
2006/12/02(土) 05:20:31public static void main(String[] args) {
MyClass[] a1=new MyClass[3];
MyClass[] a2=new MyClass[]{new MyClass(), new MyClass(), new MyClass()};
}
}
class MyClass{public MyClass(){ System.out.println("MyClass "+this.hashCode()+" Created");}}
0497デフォルトの名無しさん
2006/12/02(土) 06:33:11コンストラクタは呼ばれないけど、
インスタンスのためのメモリは確保されていると…。
0498デフォルトの名無しさん
2006/12/02(土) 06:37:09> インスタンスのためのメモリ
> インスタンスのためのメモリ
> インスタンスのためのメモリ
> インスタンスのためのメモリ
(゚д゚)m9 なんだその「わかってます」風な発言は?!
0499デフォルトの名無しさん
2006/12/02(土) 07:14:12初期化されていないインスタンスが作られる?
0500デフォルトの名無しさん
2006/12/02(土) 07:17:070501デフォルトの名無しさん
2006/12/02(土) 09:20:18にはなりました。次に、webappsディレクトリの下にentryというディレクトリを自分なりに
つくり、その下にWEB-INFディレクトリを作りました。そして、ブラウザから、localhost:8080/entry/
とやると、HTTPステータス404のエラー画面になってしまいます。どうしてでしょうか?
環境変数はCATALINA_HOMEでPATHは;%CATALINA_HOME%binとしました。
コンソールでもset pahコマンドでpathの確認もしました。
なにか間違ってるのですかね?
エラー画面は、
Type: ステータスレポート メッセージ:/entry/ 説明 :The requested resource (/entry/) is not available.
と出てきています。
0502デフォルトの名無しさん
2006/12/02(土) 10:27:46マルチしね。
0503デフォルトの名無しさん
2006/12/04(月) 02:17:22そのメソッドの中で変更できないことに気づいて驚いています。
混乱…参照渡し???
0504デフォルトの名無しさん
2006/12/04(月) 02:19:58ひどい勘違い…。
0505デフォルトの名無しさん
2006/12/04(月) 03:19:55それを受けた仮引数に格納された参照をメソッドの中で変更しても、
呼び出した側の実引数に反映されるわけではないからね。
やるなら、
メソッドが変更後のオブジェクトを引数でなく戻り値で返すようにするか、
変更したいオブジェクトを内部に持つ別のオブジェクトを渡して、
メソッド内で変更するようにするか。
0506デフォルトの名無しさん
2006/12/04(月) 03:29:38かつ、必要な内部状態をそのオブジェクトが変更できるのなら、
メソッド内でオブジェクトの内部状態を変更してやれば、呼び出し元で実引数に渡したオブジェクトを変更したことになる。
0507デフォルトの名無しさん
2006/12/04(月) 11:10:50メソッド内の特定の処理だけを負荷がかからない方法はあるでしょうか。
ちなみに、サーバー内でjavaアプリだけが稼動している場合(telnetとかのデーモン形をのぞく。さらに負荷がかかって以内を仮定)、
常にCPUが80%を越えないようにする方法はあるでしょうか。
0508デフォルトの名無しさん
2006/12/04(月) 11:31:12サーバ全体だったら、これはOSの話だ。
そのjavaプロセスの優先度を下げておけ。
これでも80%超えるだろうが、他プロセスが優先されれば問題無いんだろ。
0509デフォルトの名無しさん
2006/12/04(月) 14:47:05セッション破棄のリスナーを登録し、
あらかじめ決めておいたセッションの破棄だったら処理をするってな感じにしないとだめでしょうか?
ウェブアプリ内で保持している情報を使用したいので、別起動のバッチ処理はなしなんですが・・・
0510デフォルトの名無しさん
2006/12/04(月) 15:06:35最初のイベント処理でスレッド作って、ウェブコンテナが終了するまでループしていればいいんじゃないの?
あれ、リスナーイベントやサーブレット内でスレッド作れたっけ。作れればそれでいいんじゃないの
0511デフォルトの名無しさん
2006/12/05(火) 09:41:14commonsのなにかのライブラリか、java1.4のAPIのどれかにそんなことができるものがあったと思うんですが思い出せなくて。
"a,b,c"が"a", ",", "b", ",", "c" の配列になるものです。
Stringのsplitはではできませんでした。
そんなのありましたっけ?
0512デフォルトの名無しさん
2006/12/05(火) 14:31:400513デフォルトの名無しさん
2006/12/05(火) 16:22:590514デフォルトの名無しさん
2006/12/05(火) 17:58:11こんなにかわいいString#splitが女の子のわけないだろ!
"a,b,c".split("(?=,)|(?<=,)")
,が先頭のときは最初の要素は空文字列になったり、
,が連続したとき空文字列が間に入るわけではなかったり、
一貫していない気まぐれも魅力。
0515デフォルトの名無しさん
2006/12/06(水) 09:26:470516デフォルトの名無しさん
2006/12/06(水) 15:37:221つずつ"ア"なら"ア"に変更と地道にやるしかないでしょうか?
0517デフォルトの名無しさん
2006/12/06(水) 20:00:230518デフォルトの名無しさん
2006/12/06(水) 20:49:56String 女の子 = "a,b,c";
String[] 少女 = 女の子.split(",");
String[] 大人の女 = new String[少女.length*2]
for(int i=0;i<少女.length;i++;){
大人の女[i*2] = 少女[i];
大人の女[i*2+1] = ",";
}
結局配列の偶数番目に、","が入ってるだけだって。
0519518
2006/12/06(水) 20:50:51って、何に使うんだろこんなの。
0520デフォルトの名無しさん
2006/12/06(水) 23:54:37計算ではできないからそうするしかないね。
0521デフォルトの名無しさん
2006/12/07(木) 02:40:16たかだか数十種類の文字の変換なんだから変換テーブルを用意してやれば簡単だと思う
0522デフォルトの名無しさん
2006/12/07(木) 15:54:420523デフォルトの名無しさん
2006/12/07(木) 15:57:38String.toUpperCase.matchesで大文字としてチェックするで対応しているのですが。これしかないでしょうか?
0524デフォルトの名無しさん
2006/12/07(木) 17:07:59真面目にやるならこうかな?
Pattern.compile(正規表現, Pattern.CASE_INSENSITIVE).matcher(文字列).matches()
0525デフォルトの名無しさん
2006/12/07(木) 23:11:33> instance.set("新しい名前");
これって instance.setName("新しい名前"); の間違いなのではないでしょうか?
0526デフォルトの名無しさん
2006/12/08(金) 01:31:13なんだこの記事?
たとえばも何もjavaしか説明して無いじゃんー
0527デフォルトの名無しさん
2006/12/08(金) 01:33:28wikipediaの議論はwikipediaで
そのための仕組みもある
0529デフォルトの名無しさん
2006/12/08(金) 03:32:16直ってるね。単純な間違いっぽい。
wikipediaは基本的に誰でも編集できるから、
単純ミスはここへ報告するくらいなら自分で直してあげた方が親切だよ。
>>526
まあ「例えば」だしJavaしか無くても仕方ないかも。
インスタンスの説明として、その例えが妥当かどうかは別として。
0530デフォルトの名無しさん
2006/12/08(金) 10:41:33インスタンスのアドレス?を使用したいのですが、
hashcode()toString()を親クラスがオーバーライドしていて取得できません。
インスタンスのアドレスを取得する方法はあるでしょうか。
0531デフォルトの名無しさん
2006/12/08(金) 10:57:42ObjectクラスのtoString()実装を見りゃわかるが、
return getClass().getName() + "@" + Integer.toHexString(hashCode());
System.identityHashCode(obj) って方法もあるけどな。
つか、何に使うんだ?
0532デフォルトの名無しさん
2006/12/08(金) 12:08:53ありがとうございます。
インスタンスごとにユニークなIDを返さないといけない要求がありまして・・・
助かりました。
0533デフォルトの名無しさん
2006/12/08(金) 16:37:57System#identityHashCode(obj)が返すデフォルトのObject#hashcode()の値は、
異なるオブジェクトについては「できるかぎり」異なる整数値を返すことになっている。
異なる整数値にならなくてもかまわないので真にユニークであるとは保証されていない。
等価とみなされるインスタンスは必ず同じ結果を返さないといけないが、逆は成り立たないので注意。
0534デフォルトの名無しさん
2006/12/08(金) 16:41:030535デフォルトの名無しさん
2006/12/08(金) 16:44:200536デフォルトの名無しさん
2006/12/08(金) 16:53:18俺もそう思う。
ユニークなIDを持たせたいクラスでIDの生成、管理をする方が確実だと思う。
0537デフォルトの名無しさん
2006/12/08(金) 22:26:270538デフォルトの名無しさん
2006/12/08(金) 23:20:26ワイルドカードというのは正規表現の一表記法だと思うが。
もし、0文字以上の任意の文字にマッチするものを*、
任意の1文字にマッチするものを?と書くワイルドカードのことを言っているのだとすれば、
それはJavaの正規表現では、*は.*、?は.と書く。
1文字以上の任意の文字にマッチさせたければ.+と書く。
もしかするとワイルドカードでは*は1文字以上の任意の文字だったかもしれないが。
0539518
2006/12/09(土) 01:08:240540デフォルトの名無しさん
2006/12/09(土) 01:25:32POSIXの拡張正規表現どころかUNIXの伝統的な正規表現もカバーできない正規表現っぽい表記法というべきだろ
0541デフォルトの名無しさん
2006/12/11(月) 17:58:59以前にもお聞きしましたが、weblogicを開発モードに変更してクラスファイルを更新しても反映してくれません。
あくまで開発中のみの対応として、クラスロードーを自作して自力でアンロード・ロードをさせたいと思っています。
サーブレットを1つ用意して、パラメータで取得したクラスを再ロードする感じです。
loadClassをオーバーライドして、
findLoadedClass(String) を呼び出して、クラスがすでにロードされたかどうかを確認する
いきなりfindClassを呼び出せばいいのでしょうか?
クラスをアンロード?するようなメソッドが見当たらなかったので・・・
0542デフォルトの名無しさん
2006/12/11(月) 22:33:47どうしたら良いのでしょうか?
EOFっても-1返さないし。。。
>541
明示的にアンロードする方法は無かったような。
クラスローダがGC対象になったらそのクラスローダから
ロードされたクラスもGC対象になる、だったと記憶している。
# もちろんインスタンスがあるうちはそのクラスはGC対象にできないし、
# クラスがあればそのクラスのクラスローダがGC対象にならないのは言うまでも無い。
0543デフォルトの名無しさん
2006/12/12(火) 08:52:49作りたいのですが、JBOSSのみで実現するほうほうが解かりません。
0544デフォルトの名無しさん
2006/12/12(火) 15:14:18webコンテナが、一デプロイ用の大元クラス(webアプリとしてみたときの一番トップのクラス?)を作るとき、
新しいクラスローダーを生成して、そのクラスローダーのloadClassでその大元クラスをロードしているのでしょうか?
基本的なことがわかっていなく、説明が下手ですいませんが、教えていただけないでしょうか?
どうしてもweblogicの開発でクラスの即時変更を実現したくて・・・
0545デフォルトの名無しさん
2006/12/13(水) 22:00:50Seasarのhotdeploy技術でも調べてみなよ。
あれは本当すごい技術だから、使ってみるべき。
0546デフォルトの名無しさん
2006/12/13(水) 22:59:04そのクラス(機能)だけ使えるのかしら?
0547デフォルトの名無しさん
2006/12/14(木) 11:24:42AクラスがBクラスをnewする場合、B.class.GetClassLoader()の戻り値はAのそれと同じになるのでしょうか?
ということは、サーブレットのpost処理移行のクラスでインスタンスを作る場合、
サーブレットをnewするときに、リロード可能ClassLoaderのloadClass()でサーブレットインスタンスを作る必要があるのでしょうか?
0548デフォルトの名無しさん
2006/12/14(木) 18:08:34このコンテキスト内では HotdeployClassLoader がスレッドのコンテキストクラスローダーに設定され・・
こんなことできるのかな?
0549デフォルトの名無しさん
2006/12/14(木) 22:15:25> AクラスがBクラスをnewする場合、B.class.GetClassLoader()の戻り値はAのそれと同じになるのでしょうか?
なぜ試さない?
public class Foo {
// A=Foo, B=Integer
public static void main( String args[] ) {
System.err.println( Foo.class.getClassLoader( ).equals( new Integer(0).getClass( ).getClassLoader( )));
}
}
0550デフォルトの名無しさん
2006/12/14(木) 22:19:06アホがつれたwwwwww
0552デフォルトの名無しさん
2006/12/14(木) 22:44:470554デフォルトの名無しさん
2006/12/15(金) 09:49:29AクラスがBクラスをnewする場合、B.class.GetClassLoader()の戻り値はAのそれと同じになるのでしょうか?
↑日本語間違えました。これは確認していました。すいません。
ということは、サーブレットのpost処理移行のクラスでインスタンスを作る場合、
サーブレットをnewするときに、リロード可能ClassLoaderのloadClass()でサーブレットインスタンスを作る必要があるのでしょうか?
↑サーブレットクラスを作るのはWEBコンテナですよね。
やっぱりWEBコンテナが実装してくれないとだめなんですかね。
strutsを使っているのですが、ActionServletのデコレーターをつくり、そのクラスのコンストラクタで
loadClass()でActionServletを作ったのですが、
Actionクラスないのクラス変更即時更新ができませんでした。
発想が間違っているでしょうか?
0555デフォルトの名無しさん
2006/12/15(金) 09:54:52なんでないの?
0556デフォルトの名無しさん
2006/12/15(金) 13:10:040557デフォルトの名無しさん
2006/12/15(金) 13:22:200558デフォルトの名無しさん
2006/12/15(金) 13:38:50それよりJava SE 6 Mustangがリリースされたのに
このスレでは誰も注目しないんだな
0559デフォルトの名無しさん
2006/12/15(金) 18:50:06>>556
JDK6入れてSystemTrayとかTrayIconとかから調べてみな
0560デフォルトの名無しさん
2006/12/18(月) 10:15:32ロック情報で、インクリメントでロック、デクリメントでアンロック。
ロック: lock++;
アンロック:lock--;
これは違うクラスのメソッド内でも変数にアクセスできれば1メソッド内でなくても、ロックアンロックできます。
javaの場合は、synchronized { }ブロック内でしかできないので、1クラス内でしかロックアンロックできないと認識していますが、
何か別な方法はあるでしょうか
0561デフォルトの名無しさん
2006/12/18(月) 10:36:41DBのインデックスみたいなものでしょうか?
WEBのページ訪問追跡機能を考えていて、
まず最初に全20000ページをHashMapに登録(map.put(url.hashcode(), url)。
htmlを表示するごとに、filterでリストに追加(visit.add(url.hashcode()))。
訪問履歴を表示する処理で、リストからハッシュコードを取り出して、HashMapからURLを取得使用と考えているのですが。
20000この中からhashcodeで検索するのって効率がいいのでしょうか?
PCで試したのですが、処理は結構早かったのですが、比較対照がわからなかったので。
またマシンの性能もあるし、HashMapの使用仕方の妥当性から考えたほうが良いかなと思いました。
0562デフォルトの名無しさん
2006/12/18(月) 13:38:19同じ事がしたければ、同じようにjavaでセマフォを使えばいいだけなんじゃ?
synchronizedブロックが、1クラス内でしか排他処理できないという認識は間違い。
ロックオブジェクトを使って排他制御するから、そのロックオブジェクトが見える場所ならどこからでも排他可能。
>>561
その実装ってどうなのよって件は別にして、DBのハッシュインデックスと同じ特性だと思っていい。
件数が増えても、キーがバラバラなら同じコストで検索できる。 キーに重なりがあると正しく動作しないかも。
データ構造と検索コストの関係をググれ。
0563デフォルトの名無しさん
2006/12/18(月) 17:05:10ありがとうございます。
javaでセマフォを使うとは、javaでも直接セマフォと使用できるのでしょうか?
0564デフォルトの名無しさん
2006/12/18(月) 17:30:39JDK 5.0以降ならSemaphoreクラスがある。
古いバージョンしか使えない場合は、自分でセマフォクラスなり変数を用意して
最大値と最小値(普通は0か)をセットして、++と--なりする処理を書けばいい。
0565デフォルトの名無しさん
2006/12/18(月) 17:58:30すごい。1.5はセマフォがあるんですね。ただ1.4.0.8なので自作しかないですね。
方法がわからないのですが、synchronized { ・・・・ }で「{」がロック、「}」がアンロックだと思うのですが、
Class {
lock() {
・・・
}
unlock() {
・・・
}
・・・をどうすればいいのでしょうか。synchronized{・・・}しか知らないので、ロックの状態でメソッドを抜ける方法がわかりません。
0566デフォルトの名無しさん
2006/12/18(月) 18:17:31javaの配列計算時に1からxまでの値を計算して、一定の数値のみを出力するプログラムで、xをある一定の値になると
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
となって計算結果が出なくなりますが、解決法を教えてください
出来れば、一部の数値を残して他の計算結果を消すメモリ節約法があればいいのですが。
0567デフォルトの名無しさん
2006/12/19(火) 10:43:19インクリメントは置いといて、ロッククラスを作ってみました。
排他制御が難しくて抜けがあるような気がしますが・・lock・unLockメソッドで排他を掛けています。
public class Lock {
private Stack stack = new Stack();
public void lock() throws InterruptedException {
synchronized (stack) {
stack.push( Thread.currentThread().getName() );
if (stack.size() == 1) {
return;
}
}
wait();
}
public void unLock() throws InterruptedException {
synchronized (stack) {
if (stack.isEmpty() == false && stack.get(0).equals( Thread.currentThread().getName() )) {
stack.remove(0);
notify();
}
}
}
}
0568デフォルトの名無しさん
2006/12/19(火) 18:19:56そのxの大きさと実行環境のメモリサイズにもよるけれど、
もしJVMが使うヒープサイズを拡大するオプションを使っていないのなら、
とりあえず-Xmxでヒープサイズを増やしてみるというのは?
0569デフォルトの名無しさん
2006/12/19(火) 20:09:35試したら呼ばれませんでした。
これは仕様でしょうか?
0570デフォルトの名無しさん
2006/12/19(火) 20:26:530571デフォルトの名無しさん
2006/12/19(火) 20:46:38たぶん誤解していて、それが仕様だったと勝手に思い込んでいたみたいです。
gc()は呼べますが、gcを実行するかのタイミングの保証はないので、
main終了のときに、あるインスタンスのfinalizeを呼ばすことはできないでしょうか。
0572デフォルトの名無しさん
2006/12/20(水) 00:13:25うむー。finalize()の呼び出しタイミングもVM依存だしね。
後処理が必要な場合はfinalize()に実装せずに、
後処理メソッドを別に作っておいて、
明示的にそれを呼び出すようにした方がいいんじゃないかな。
0573デフォルトの名無しさん
2006/12/20(水) 09:37:41そうですね。危険な橋渡りはやめておきます。
ありがとうございました。
0574デフォルトの名無しさん
2006/12/20(水) 09:47:48古くなり捨てるべきものを捨てるのではなく、シリアライズしてメモリを圧迫させないような実装のMAPって
どこかのプロジェクトにありますかね?
commonsのcollectionにはないですね。
0575デフォルトの名無しさん
2006/12/20(水) 12:08:08方法としては、シリアライズしてファイルのサイズを調べること意外できないでしょうか?
ただ、シリアライズできないものはアウトですが・・・
0576デフォルトの名無しさん
2006/12/21(木) 00:12:07メソッド激増してしまってるんだけど、DAOの外でHibernateのCriteria
使うとなんのためにDAO使ってるのかわからないし、こういう場合って
特定のO/RマッパーやDBに依存しない汎用のCriteriaを作るべきなんでしょうか?
0577デフォルトの名無しさん
2006/12/21(木) 11:09:17そのコマンドが標準出力にメーセージを吐き出すもので、
コマンドの終了をアプリで待ちたくないので、
終了しないうちに、javaアプリを終了させていますが、コマンドの起動・終了し方として問題ないでしょうか。
ちなみに、コマンドは問題なく動いています。環境はXPです。
0578デフォルトの名無しさん
2006/12/21(木) 12:58:37JDK1.4以下とかの縛りが無ければ、ProcessBuilderでググってみると良い。
0579デフォルトの名無しさん
2006/12/21(木) 13:18:20すいません。
その1.4でした・・・。ProcessBuilderのりダイレクト、ホントのいいですねぃ・・・うらやましい
0580デフォルトの名無しさん
2006/12/21(木) 13:39:35public static void main(String[] args) throws Exception {
Process process = Runtime.getRuntime().exec("sleep 10");
System.out.println("end");
}
を実行して、「end」は出ますが、eclipseのデバックコンソールではまだ実行中(停止ボタンの「■」が押せる状態)でした。
勝手に実行させて、そのコマンドの終了を待たずにアプリの終了はだめそうですね・・・。
ただ、WEBアプリ(サーブレット)内でしたいので、1リクエスト中に終わらなくてもスレッドはずっと残るので、
実行したプロセスはほっとけばいい、ほっといてそのうち終わっている、でよいなと勝手に思ってますがどうでしょうか?
0581デフォルトの名無しさん
2006/12/21(木) 14:14:550582デフォルトの名無しさん
2006/12/21(木) 14:27:16誰か教えてください><
0583デフォルトの名無しさん
2006/12/21(木) 14:33:20すいません。それだとプロセスが強制終了してしまうので。
WEBでコマンドの実行をして、「実行中です」を表示させて、バックグラウンドでプロセスが走っているようにしたいのですが。
Runtime.getRuntime().exec("sleep 6")って、新しいスレッドで実行していると思ったのですが、
eclipseのデバッグウィンドウで見るとスレッドは生成されていないです。
なのに、カレントスレッドはプロセスとは別に進んでいるなんて・・・
unixのfork()みたいなものなんですかね。子プロセスだった場合Runtimeが子プロセスの面倒を見ているのでしょうか・・・
0584デフォルトの名無しさん
2006/12/21(木) 14:56:15できるようなら適当なクラスを教えてもらいたいです。
0585デフォルトの名無しさん
2006/12/21(木) 15:13:59ほっといて確実に終わればいいけど、もし終わらないままだとずっとスレッド残っちゃうぜ。
ある程度の時間でタイムアウトしたら、強制でdestroy()した方が安全。
0586デフォルトの名無しさん
2006/12/21(木) 16:25:31ありがとうございます。
リクエストスレッドではほっといて、ProcessインスタンスはどっかのMapにしまっておいて、
アプリケーション終了処理のサーブレット終了処理で、プロセスが終了していなかったらdestroyっという感じで処理してみます。
0587デフォルトの名無しさん
2006/12/21(木) 21:02:04MouseManagerクラス
0588デフォルトの名無しさん
2006/12/22(金) 04:32:43ウィンドウの外に現れる枠を表示する方法を教えて下さい。
0589デフォルトの名無しさん
2006/12/22(金) 04:51:02いったいどこの住民だ?
環境とか書かないと面倒だぜ?
0590デフォルトの名無しさん
2006/12/22(金) 04:54:02環境はWindowsです。
0591デフォルトの名無しさん
2006/12/22(金) 10:51:05いい悪いは別にして、コールしても良いのでしょうか?
0592デフォルトの名無しさん
2006/12/22(金) 14:38:47構わないよ。
javaアプリケーションの最初に呼ばれるメソッドというだけで、
別に特別なメソッドってわけではない。
0593デフォルトの名無しさん
2006/12/22(金) 15:00:32class A {
public static void main(String[] args) {
if (args.length == 0) return;
System.out.println(args[args.length - 1]);
String[] newargs = new String[args.length - 1];
System.arraycopy(args, 0, newargs, 0, args.length - 1);
B.main(newargs);
}
}
class B {
public static void main(String[] args) {
if (args.length == 0) return;
System.out.println(args[0]);
String[] newargs = new String[args.length - 1];
System.arraycopy(args, 1, newargs, 0, args.length - 1);
A.main(newargs);
}
}
もちろん単純に再帰しても(例えばクラスAのmainの中で自身のmainを呼び出しても)構わない
0594デフォルトの名無しさん
2006/12/22(金) 15:23:16シフトジスの文字コードの取得の仕方を教えてださい
0595デフォルトの名無しさん
2006/12/22(金) 15:39:26Threadのdestoryをjavadocを見たら、自分で実装しろと書いてあったのですが
強制終了するにはどうすればいいでしょうか?
stop()しても、interrupt()してもとまらないです。
0596デフォルトの名無しさん
2006/12/22(金) 16:34:50ここを見て愕然としました。
デッドロックのことはわかるけど、実質的に強制終了ができないなんて・・・
tp://www.ep.u-tokai.ac.jp/~nakazato/API/1.4.0/docs/ja/guide/misc/threadPrimitiveDeprecation.html
0597デフォルトの名無しさん
2006/12/25(月) 11:26:14でもweblogicではweblogicをstopコマンドで終了させた場合、スレッドも一緒に強制終了しましたよ。
しかも割り込み冷害は発生している様子はなく・・・
どうやって止めているのだろうか。
0598長くてごめんなさい
2006/12/25(月) 16:52:20Win2000 JDK1.3 から Win2003 JDK1.5に(当然マシンも)VUPしたら
4350÷1000=4.35 だったのが 4350÷1000=4.3500000000000005に。
import java.math.BigDecimal;
public class DoubleTest {
public static void main(String[] args) {
double exDouble = 0;
Double exDouble1 = new Double((String)args[0]);
System.out.println("�@bitで表すと" + Double.doubleToLongBits(exDouble1.doubleValue()));
exDouble = exDouble1.doubleValue() / 1000.0;
System.out.println("�Adoubleで演算 " + args[0] + " / 1000 = " + Double.toString(exDouble));
System.out.println(" LongBitで表示 " + Double.doubleToLongBits(exDouble));
Double exDouble2 = new Double(args[0]);
BigDecimal exDec = new BigDecimal(exDouble2.doubleValue());
exDec = exDec.movePointLeft(3);
exDouble = exDec.doubleValue();
System.out.println("�BDecimalで演算 " + args[0] + " / 1000 = " + Double.toString(exDouble));
System.out.println(" LongBitで表示 " + Double.doubleToLongBits(exDouble));
}
結果
�@bitで表すと4661504890281918464
�Adoubleで演算 4350 / 1000 = 4.3500000000000005
LongBitで表示 4616583683022153319
�BDecimalで演算 4350 / 1000 = 4.35
LongBitで表示 4616583683022153318
でも別のWinXPマシンだと
�@bitで表すと4661504890281918464
�Adoubleで演算 4350 / 1000 = 4.35
LongBitで表示 4616583683022153318
�BDecimalで演算 4350 / 1000 = 4.35
LongBitで表示 4616583683022153318
この1bit差はどうして起きるの?
0599デフォルトの名無しさん
2006/12/26(火) 11:57:55ある程度、同じ形式のxmlファイルを比較したいのですが、単純にdiffすると、
書き方だけが異なるものまで引っかかってしまうので、
前処理として、正規化(?)したいのです。
一旦、xpath形式に変換できれば、比較しやすくなるのではと考えています。
0600デフォルトの名無しさん
2006/12/26(火) 13:07:11無理。xpathは逆の用途だから。そんなものはない
0601デフォルトの名無しさん
2006/12/26(火) 19:59:23xpathじゃなくてxmlファイルをフォーマットすりゃいいんじゃないの?
0602デフォルトの名無しさん
2006/12/26(火) 20:11:45ん?そんなクラスあったけかな?
0603デフォルトの名無しさん
2006/12/27(水) 00:07:370604デフォルトの名無しさん
2006/12/27(水) 09:40:07XMLConfigurationで完璧にできるよ
0605sage
2007/01/15(月) 00:39:350606デフォルトの名無しさん
2007/01/15(月) 08:51:570607デフォルトの名無しさん
2007/01/15(月) 11:28:170608デフォルトの名無しさん
2007/01/16(火) 01:25:010609デフォルトの名無しさん
2007/01/16(火) 03:06:04for( i = 0 ; i < 3 ; i++ ){
yy = i * card + margin;
for( j = 0 ; j < 4 ; j++ ){
x[k] = j * cardWidth + margin ;
y[k] = yy;
k = k + 1;
}
}
3行目の * でエラーがでます。
どう直せばいいものか、もしわかる人がいるならば教えてください。
0610デフォルトの名無しさん
2007/01/16(火) 03:26:12メッセージには何と書いてあった?
catdとmargin, yyは定義されているのか?
それでも解らなければ
エラーメッセージの内容をここにペーストせい。
0611デフォルトの名無しさん
2007/01/16(火) 03:33:51yy = i * card + margin;
^
vegetarian.java:52: 互換性のない型
検出値 : <nulltype>
期待値 : int
yy = i * card + margin;
^
これです。どうでしょうか・・
0612デフォルトの名無しさん
2007/01/16(火) 04:36:470613デフォルトの名無しさん
2007/01/16(火) 04:38:50つうかcardじゃなくてcard[i]だったりしてな。そんな予感がする。
intとint[]型との違いくらいわかるよな
0614デフォルトの名無しさん
2007/01/16(火) 21:03:03配列変数、小学生でも理解できるから大丈夫だろ
0615デフォルトの名無しさん
2007/01/19(金) 12:57:48for(i=0;i<MAX;i++){
button = new JButton();
}
みたいなメモリ確保しっぱなしのコードが出てて脱糞しかけたんですが
こういうのは全部ガベージコレクタ頼りで明示的に解放しないのが普通なんでしょうか?
だとすればガベージコレクタがメモリを回収するタイミングとかは規格で明示されているんでしょうか?
0616デフォルトの名無しさん
2007/01/19(金) 13:04:01規格で明示されている
0617デフォルトの名無しさん
2007/01/19(金) 16:58:32回収タイミングは予測できません。
0619デフォルトの名無しさん
2007/01/19(金) 17:24:47回収タイミングをプログラマに任せないからこそ
JVM側でチューニングの余地もあるわけだ。
JVMでGCをまとめてバッチ的にやるから、全体として
メモリ破棄のパフォーマンスを良くできる。
まあ、バッチが動いている間のパフォーマンスダウンはあるわけだが。
このGC発生タイミングや、GC方法などはある程度チューニング可能。
GCについてはこの辺り参照
http://sdc.sun.co.jp/java/private/hotspot/gc1.4.2/index.html
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html
※日本語資料はちょっと古くて、登録が必要。
0620デフォルトの名無しさん
2007/01/19(金) 22:13:22Cでやるにしても、GCライブラリ使うな。
0621デフォルトの名無しさん
2007/02/01(木) 14:16:480622デフォルトの名無しさん
2007/02/01(木) 14:42:330623デフォルトの名無しさん
2007/02/01(木) 17:39:12すまん、本当に良書か? 原書じゃなくて翻訳本も良書なのか?
「柴田芳樹」って調べると、チャンピオンコミックスの漫画家って出るんだが…。
0624デフォルトの名無しさん
2007/02/01(木) 18:47:200625デフォルトの名無しさん
2007/02/01(木) 18:53:57http://www.amazon.co.jp/exec/obidos/search-handle-url/index=books-jp%26field-author=%E6%9F%B4%E7%94%B0%20%E8%8A%B3%E6%A8%B9%26results-process=default%26dispatch=search/ref=pd_sl_aw_tops-5_books-jp_18464543_1&results-process=default?tag2=jp-ja-google-22
れっどまん?
なんじゃそりゃ
とにかく、Java Puzzlerは良書。Effective Javaと合わせて読むとお勧め。
とりあえず中身検索がAmazonにあるから読んでみるべき。
非常に良書。
「Javaの鉄則」「Javaの落とし穴」「Java謎+落とし穴徹底解明」「Javaの格言」
なんかの時代遅れ本と比べたら全然良書でためになるからよむべし。
「Java 謎 落とし穴」は著者がJavaの時代遅れな悪口書いてるだけでなく
IDEやEclipseプラグインなどでどうにかなるものを愚痴ばかり零して
ジジイみたいにあほなこと言ってるのが笑えるがあてにならん。
Java 5からGenericsやアノテーションが出てからどうでもよくなった項目が
実に多いが、Effective Javaは超おすすめ。
Javaの鉄則も良い本だが、時代遅れな点が多い。Javaの格言はもっと時代遅れ。
Java謎+落とし穴徹底解明はさらに時代遅れだがw
0626デフォルトの名無しさん
2007/02/01(木) 19:01:50http://ww36.tiki.ne.jp/~kishiyo22/index.htm
プロフィールをみると技術書の翻訳などやってないようだ。
2004年にフリーターになったと書いてある。
恐らく同姓同名の別人だな
0627デフォルトの名無しさん
2007/02/01(木) 19:03:14柴田芳樹
http://d.hatena.ne.jp/keyword/%BC%C6%C5%C4%CB%A7%BC%F9
このキーワードはまだ登録されていません。
と表示されている
0628デフォルトの名無しさん
2007/02/01(木) 20:00:110629デフォルトの名無しさん
2007/02/01(木) 20:03:39しかし、6年も前に出た本が良書とは…。Javaの世界とはなにか速度が違うな。
0630デフォルトの名無しさん
2007/02/01(木) 20:17:26まあいいものは長くイイ。そういうことでしょう
0631デフォルトの名無しさん
2007/02/02(金) 17:25:44理論と経験に基づく「やっていいこと・悪いこと」が書いてあるノウハウ本が結果的には良書なのですよ。
0632デフォルトの名無しさん
2007/02/02(金) 18:11:20日付をよく見ろ、まだ6年も経っていない。
5年前だ。
Java5からJava Genericsが登場したため。
Genericsに対応したEffective Javaを出して欲しいという
要請がある。
あの本、Genericsが出る前のものだったから
TypeSafe Enumクラスの作り方まで丁寧に乗せている。
そういうところは確かに古い。
それからJava Puzzlerはまだ新しいぞ。まだ1年くらいしか経っていない。
Java One Tokyo2005のときに宣伝されていたからな
0633デフォルトの名無しさん
2007/02/03(土) 12:40:08enumがなかったからTypeSafe Enumの作り方を丁寧に解説してるというか、あの本のTypeSafe Enumがenum型として取り込まれたという感じだよな。
0634デフォルトの名無しさん
2007/02/05(月) 01:08:47「Java Concurrency in Practice」
翻訳の語彙が気にならないのなら->「Java並行処理プログラミング」
0635デフォルトの名無しさん
2007/02/07(水) 11:38:04私はC上がりなので、selectシステムコールの形がすきなのですが
javaはリスンしてからスレッド生成で、みんなで待ちって感じが普通ですかね・・・
0636デフォルトの名無しさん
2007/02/07(水) 17:06:56getClass()の出力で見ると配列かどうかで違うのですが。
0637デフォルトの名無しさん
2007/02/09(金) 10:08:53main終了後に自動的にflushされていましたが、
javaではcloseしないでmainを終了すると、データが書き込まれていませんでした。
もちろんwriteしてからexitしてます。
これは仕様でしょうか?
0638デフォルトの名無しさん
2007/02/09(金) 11:52:28バッファがあっても無くても、flushしなかった場合の結果は保証されない
0639デフォルトの名無しさん
2007/02/09(金) 13:27:52ありがとうございます。
すっきりしました。
0640デフォルトの名無しさん
2007/02/09(金) 17:20:380641デフォルトの名無しさん
2007/02/09(金) 19:17:140642デフォルトの名無しさん
2007/02/10(土) 23:56:09チャネルを使うことで非同期処理により、高速化が期待できるのだよ。
0643デフォルトの名無しさん
2007/02/10(土) 23:57:45ある。Arrayという型はまた別の型。リフレクション用。
ObjectはObject型、StringはString型だが、Object[]やString[]は配列型
配列型はObjectクラスを継承していると見なされる参照型でもある。
0644デフォルトの名無しさん
2007/02/10(土) 23:58:31そういう使用。
エラーで終了しても確実な処理をさせたければ、
finallyでclose()するように。
0645デフォルトの名無しさん
2007/02/10(土) 23:59:24マルチポストするなウザイぞ。
なぜウザイか、おまえにわかるか?
で、やり方は解ったんだな?
マウスリスナーについて、いい加減に理解したか?
0646デフォルトの名無しさん
2007/02/13(火) 05:05:29いや、普通に、selectに対応するSelectorがあるよ
ただし1.4以降の機能で使いこなせてるひとも少ない
Linuxでは、JDK5_10以降において実装でepollを使えるようになった
これで利用する人も増える・・・かもしれない
0647デフォルトの名無しさん
2007/02/13(火) 10:49:39ありがとうございます。
0648デフォルトの名無しさん
2007/02/13(火) 11:39:15デッドロックにはならないでしょうか?
String a = "a";
synchronized (a) {
synchronized (a) {
System.out.println("aaa");
}
}
0649デフォルトの名無しさん
2007/02/13(火) 15:34:48ttp://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.19
0650デフォルトの名無しさん
2007/02/13(火) 16:28:55マルチスレッド環境ではデッドロックですか・・・
0651デフォルトの名無しさん
2007/02/13(火) 19:35:00を見てみよう。
0652デフォルトの名無しさん
2007/02/14(水) 19:33:28どこを読んだら そーゆー解釈になるんだか……
0653デフォルトの名無しさん
2007/02/14(水) 21:04:28HTMLのフォームから入力したデータをクッキーに焼くにはどうすれば…??
0654デフォルトの名無しさん
2007/02/15(木) 11:21:14英語難しいですね・・・。
日本語のjava言語仕様はwebにはないのでしょうか?
本屋ではありましたが、高くて・・・
0655デフォルトの名無しさん
2007/02/15(木) 12:04:29プログラミング言語Java
っていう本を読め
0656デフォルトの名無しさん
2007/02/15(木) 17:31:54古い版のJLSは日本語訳がweb上にあるよ。でも最新版は見たことない。もしあったら教えて。
0657デフォルトの名無しさん
2007/02/21(水) 15:27:31そんなものあるでしょうか?
jakartaのcommonsというツール?にあったのですが、
なにか正式リリースではないようなので他にないかと。
0658デフォルトの名無しさん
2007/02/21(水) 16:33:120659デフォルトの名無しさん
2007/02/22(木) 07:37:59よく分からんけど認証鯖がないP2Pな暗号路を作りたいなら、
鍵交換はDH法でやって、交換された鍵を使ってRCなんかで暗号化するんじゃ無いのか?
このアタリは確実にどこかの誰かがやってて、しかも大きいライブラリがあるから調べるといい
0660デフォルトの名無しさん
2007/02/22(木) 13:28:05>公開鍵暗号化方式でネットワーク通信
HttpsURLConnection
0661デフォルトの名無しさん
2007/03/07(水) 18:57:290662デフォルトの名無しさん
2007/03/07(水) 19:03:52現在エンターを押さないとreadがリターンされません。
0663デフォルトの名無しさん
2007/03/07(水) 19:35:10↓はだめでした。
BufferedInputStream b = (BufferedInputStream)System.in;
Field f = BufferedInputStream.class.getDeclaredField("buf");
AccessibleObject.setAccessible(new AccessibleObject[]{f}, true);
f.set(b, new byte[1]);
byte[] a = new byte[1];
System.in.read(a);
System.out.println(a);
0664デフォルトの名無しさん
2007/03/07(水) 19:39:350665デフォルトの名無しさん
2007/03/07(水) 19:41:40コンソールアプリケーションにそんな概念が無いので、JNI使えって風にみえる
0666デフォルトの名無しさん
2007/03/08(木) 10:55:15ありがとうございます。
難しいですけどなんとなくわかりました。
イベントってやつを使わないとだめなんですか・・・
0667デフォルトの名無しさん
2007/03/08(木) 11:07:31まず使ってみてから結論付けしようね
0668デフォルトの名無しさん
2007/03/29(木) 13:55:43もっといいますと、サーブレットの中で、その時点で有効なクラスパスの一覧を取得したいのですが。
System.getSystemProperty("java.class.path")では、java起動時のパスしか取れなくて、他の手段がわかりません。
ClassLoaderクラスのpublicメソッドにも取れそうなものがありませんでした。
java1.4です。
0669デフォルトの名無しさん
2007/03/30(金) 10:47:28javaのクラスで、似たような機能を持つクラスはありますでしょうか。
【unixコマンド】
# file cvs.tar
cvs.tar: POSIX tar archive
0670デフォルトの名無しさん
2007/03/30(金) 15:49:18あるっちゃあるけど。
javax.swing.filechooser.FileSystemView#getSystemTypeDescription(File)
現状では Windowsでは「関連付け」の情報を返してくれるけど
*nix ではファイル/ディレクトリの区別ぐらいしかしない。
javax.activation.FileTypeMap#getContentType(File)
現状では デフォルトで登録されてるファイルタイプの種類が少ない。
0671デフォルトの名無しさん
2007/04/02(月) 11:29:24WEB-INF/classesいかに同じパッケージ名+同じクラス名でclassファイルを置いて、
自作のクラスパスが優先される設定にして、
強制的に入れ替える方法は邪道でしょうか?
0672デフォルトの名無しさん
2007/04/02(月) 14:34:060673デフォルトの名無しさん
2007/04/02(月) 16:18:21ありがとうございます。
strutsなどはapacheライセンスというのでしょうか、そのjarを再構築するのはライセンス違反ですか?
0674デフォルトの名無しさん
2007/04/02(月) 17:02:470675デフォルトの名無しさん
2007/04/02(月) 17:09:55ありがとうございます。
その方向で修正します。
0676デフォルトの名無しさん
2007/04/03(火) 11:13:06リストに要素を追加するとエラーになってしまいます。
どうもそのような仕様らしいですが、ループ中に追加してもエラーにならない方法はあるでしょうか。
0677デフォルトの名無しさん
2007/04/03(火) 12:05:31仕様違反な、エラーにならない List を自作すれば良いのでは?
0678デフォルトの名無しさん
2007/04/03(火) 13:17:19ListIterator
0679デフォルトの名無しさん
2007/04/23(月) 00:22:450680デフォルトの名無しさん
2007/04/23(月) 15:50:41プリーズヘルプミー
class JPanelset extends JPanel
{
JPanelset()
{
JRadioButton jr_a = new JRadioButton("A", true);
JRadioButton jr_b = new JRadioButton("B", true);
jr_a.getForeground(Color.red);
}
}
getForeground() (java.awt.Component 内) を (java.awt.Color) に適用できません。
jr_a.getForeground(Color.red);
^
↑こんなエラーメッセージが出ます・・・orz
0681デフォルトの名無しさん
2007/04/23(月) 21:00:03色を取得したいのか設定したいのかによるけど
jr_a.setForeground(Color.red);
にするか
Color color = jr_a.getForeground();
にするかで解決と思われ。
0682デフォルトの名無しさん
2007/04/24(火) 05:31:12助かります。
ありがとうございました^^
0683デフォルトの名無しさん
2007/04/28(土) 21:15:59Integer Literalsで符号の定義が見当たらんのだかどこに書いてあるの?
0684デフォルトの名無しさん
2007/04/28(土) 22:34:45単項演算子
0685デフォルトの名無しさん
2007/04/29(日) 01:59:10CGIに組み込むと動きませんでした。
単体では動作するので、何か変態な仕様なのかと思いました。
一般的なものに校正していただけませんでしょうか?
よろしくお願いします。
<!--HPB_SCRIPT_CODE_40
function _HpbShowObj(lId)
{
var ob;ob=new Array;
var appVer=parseInt(navigator.appVersion);
var isNC=false,isN6=false,isIE=false;
if (document.all && appVer >= 4) isIE=true; else
if (document.getElementById && appVer > 4) isN6=true; else
if (document.layers && appVer >= 4) isNC=true;
if (isNC)
{
w_str = "document." + lId;ob[lId] = eval(w_str);
if (!ob[lId]) ob[lId] = _HpbFindHiddenObj(document, lId);
if (ob[lId]) ob[lId].visibility = "show";
}
0686685
2007/04/29(日) 01:59:40{
ob[lId] = document.getElementById(lId);
ob[lId].style.visibility = "visible";
}
if (isIE)
{
w_str = "document.all.item(\"" + lId + "\").style";ob[lId] = eval(w_str);
ob[lId].visibility = "visible";
}
}
function _HpbFindHiddenObj(doc, lId)
{
for (var i=0; i < doc.layers.length; i++)
{
var w_str = "doc.layers[i].document." + lId;
var obj;obj=new Array;
obj[lId] = eval(w_str);
if (!obj[lId]) obj[lId] = _HpbFindHiddenObj(doc.layers[i], lId);
if (obj[lId]) return obj[lId];
}
return null;
}
//-->
0687デフォルトの名無しさん
2007/04/29(日) 02:01:180688685
2007/04/29(日) 02:10:400689デフォルトの名無しさん
2007/04/29(日) 20:49:21ありがとうム板さようならム板
0690デフォルトの名無しさん
2007/05/01(火) 10:29:450691デフォルトの名無しさん
2007/05/02(水) 10:24:57これってProxyしなくて、デコレートすればよくない?って思ったのですが、あえてProxyを使うメリットはあるのでしょうか?
0692デフォルトの名無しさん
2007/05/02(水) 21:00:39csvファイルに変換したいのだが・・・。
どうしてもcsv変換後は前と(セルの中身)配置が違う。
どうしたらいいんだ〜!誰か・・
エレガントなロジックをおしえてくれぇぇ!!
なお、読み込みにはPOIを使用してます
0693デフォルトの名無しさん
2007/05/02(水) 21:23:22エレガントも何も・・・。
何がどう「配置が違う。」のか分からない。
もう一度質問を読み直してみろ。
0694デフォルトの名無しさん
2007/05/02(水) 21:37:340695デフォルトの名無しさん
2007/05/03(木) 05:55:43デコレートは、オブジェクトを作る時点ですでにそのクラスになっていないといけないから、できてしまったStatementオブジェクトに機能を追加するならProxyではないだろうか?
オブジェクト生成がコントロールできるならデコレートが使えるけど、オブジェクト生成はコントロールできないから。
デコレートだと登場オブジェクトはひとつで、Proxyだと登場オブジェクトは元オブジェクトとProxyオブジェクトの2つになる。
0696デフォルトの名無しさん
2007/05/04(金) 23:06:40どうすれば・・・
0697デフォルトの名無しさん
2007/05/06(日) 01:38:55actionPerformed、keyPressed、keyTypedでは半角文字の入力しか検出できなくて・・・
0698697
2007/05/06(日) 01:51:52自己解決しました・・・
普通にkeyTypedで検出できますね。
keyTyped時に行ってる処理の影響で検出できないようになってましたorz
0699デフォルトの名無しさん
2007/05/06(日) 02:34:35ひとつのクラスに処理を詰め込みすぎている可能性があります。
まずはクラス設計を見直しましょう。
0700デフォルトの名無しさん
2007/05/06(日) 03:16:35長い処理の間は、画面の更新されない。
適当にrepaintかなんかよびだす
0701デフォルトの名無しさん
2007/05/06(日) 19:41:23>>700
ありがとうございます。
あとSwingWorkerというものを使う手もありました。
0702デフォルトの名無しさん
2007/05/07(月) 22:56:08標準バンドルのSwingWorkerは、JavaSE6以降なので一応気をつけて・・・
でも、コンストラクタに処理を詰めすぎなのはProgressバーの進捗と関係なく
やっぱちょっとコード見直した方がいいと思うよ。
0703701
2007/05/07(月) 23:27:37最近SE6になったのを知って早速いれました。
やっぱつめすぎはだめなんですね。
自分も作ってるとき少し感じてたんですが・・・
見直してみます。
0704デフォルトの名無しさん
2007/05/08(火) 11:23:15ではさっそく質問します。
最近PCを購入したのでそれでJavaを始めたいとおもいます。
どうすればいいですか?
0705デフォルトの名無しさん
2007/05/08(火) 18:04:320706デフォルトの名無しさん
2007/05/08(火) 18:11:090から覚えるの大変そうなので書いてて悪寒がした。
まずJDKだけインストして、他は色々落ち着いたらで。
0707デフォルトの名無しさん
2007/05/08(火) 18:32:12いやいや、始めに色々列挙したけど最後ぶった切りすぎだろw
eclipceは入れておいた方が便利すぎる
0708デフォルトの名無しさん
2007/05/08(火) 19:24:370709704
2007/05/09(水) 11:55:16まずはJdkだけをインストとのことですが、
それはどうやればいいんでしょうか?
0710デフォルトの名無しさん
2007/05/09(水) 12:04:51終わったら 環境変数 java でググれ
0711704
2007/05/09(水) 14:28:41JDK1.3.1というのをDLできました。
0712デフォルトの名無しさん
2007/05/09(水) 19:19:16釣りか?釣りなのか?敢えて釣られてやる。
せめてJDK 6u1にしてくれい(よりによって1.3.1…)
あと「Java SE 6 ドキュメント」もあわせてDLしておいたほうがいいぞ
0713デフォルトの名無しさん
2007/05/09(水) 21:02:360714デフォルトの名無しさん
2007/05/09(水) 21:03:470715デフォルトの名無しさん
2007/05/09(水) 22:15:29初心者です。JDK1.3.1というのをダウンロードする方法を教えてください。
0716デフォルトの名無しさん
2007/05/09(水) 22:19:100717デフォルトの名無しさん
2007/05/09(水) 22:20:11っていうか普通の落とせ
0718デフォルトの名無しさん
2007/05/10(木) 05:41:08たどっていけばダウソできる。
余程の事が無い限り落としてくるな。何故かというと落とした後のサポートレスがダルイからだ。
普通ならJavaSE6、事情があってもJDK5までにしろ。
1.4以前は知っている奴(というかのっぴきならない事情のあるやつ)のみ使え。
0720デフォルトの名無しさん
2007/05/11(金) 13:08:00ハッシュコードでユニークになるということは、復元できるのかなと思うのですが。
ただ復元メソッド的なものは無いので・・・
0722デフォルトの名無しさん
2007/05/11(金) 13:28:16できない。
そもそも、String#hashCode() の戻り値が完全にユニークである事は保証されてない。
0723デフォルトの名無しさん
2007/05/11(金) 14:09:10System.out.println("A`".hashCode());
System.out.println("BA".hashCode());
結果は両方 2111
0724デフォルトの名無しさん
2007/05/11(金) 15:24:16ええええええええええええええええええええ!そうなんですか。
じゃはすべてのハッシュマップへのキーを今から見直さないと・・・
0725デフォルトの名無しさん
2007/05/11(金) 20:03:13もしかして、万一
「HashMap にキー "A`" のエントリとキー "BA" のエントリの両方は格納できないのでは?」
と心配しているのでしたら、
内部の 2111 にあたる欄に2つのエントリとも格納されるだけなので、
気にする必要はありません。
0726デフォルトの名無しさん
2007/05/11(金) 23:36:51どうもありがとうございます。
先走りました。
0727デフォルトの名無しさん
2007/05/12(土) 00:06:55等しくないものに対するハッシュ値が同じになっても構わない。
できるだけ違った値になった方が少し効率がよくなるだけ。
0728デフォルトの名無しさん
2007/05/15(火) 12:00:35長さに制限が無いStringを、固定の文字長でユニークにすることはできないと思っていますが、
MessageDigestを使えばできる的な事がどこかで紹介されていました(理屈は書いてませんでしたが)。
確かにパスワードなどでよく使用しますが、MessageDigestで上記が実現できるのでしょうか?
0729デフォルトの名無しさん
2007/05/15(火) 17:11:41無理。
・Stringに必要なメモリ > MessageDigest に必要なメモリが複数あれば、
別々の String に対してMessageDigestが衝突する可能性がある。
・MessageDigest に必要なメモリ > String に必要なメモリであれば、
MessageDigestを使うと逆に必要なメモリが増える。
・そもそも、MessageDigest からは String を復元できない。
0730デフォルトの名無しさん
2007/05/16(水) 05:12:03そういうことをやりたいならハッシュやダイジェストがキーワードではない。
普通に可逆圧縮しろ。
圧縮後のデータを管理するときに、さらにハッシュを使うというのはありだけど、
それもメモリ容量の節約にはならない。
ハッシュはメモリを余分に使うことで時間を節約する技法。
ハッシュが事実上一方向関数であるということを認識すべき。
特にMessageDigestのようなものは多対一の写像なので元に戻すのは不可能。
自分で可逆圧縮の実装をするのが面倒ならDeflaterとInflaterがある。
メモリ節約を考えるほどだから、それなりに長い文字列を扱おうとしているんだろうけど、
もし短いようなら、この圧縮方法は向いていないので注意。
使い方のサンプルがDeflaterの説明にある。
0731デフォルトの名無しさん
2007/05/16(水) 10:52:05ありがとうございます。
調べてみます。
ちょっと話がずれますがMessageDigestも多対一ということは、
パスワード認証で、入力→ダイジェスト→DBのダイジェストされた値と比較 の流れで実装していますが、
誤認証の可能性もあるということでしょうか。
現在パスワードのマックスは100バイト(全角も可)になっています。
0732デフォルトの名無しさん
2007/05/16(水) 12:27:19ダイジェストを得るのに使用しているハッシュ関数が優秀であれば、
誤認証(異なるパスワードで同じダイジェストを生成)の可能性は、
入れるパスワードの数(長さではない)にのみ依存する。
例えば、ハッシュ値長160ビットでダイジェストするとし、
入力された2^10=1024個のパスワードで同じダイジェストになる確率は、
1/2^70程度となる(ttp://burtleburtle.net/bob/hash/hashfaq.html#unique)。
ということで、管理するパスワードの数にもよるけれど衝突する可能性は結構低い。
でも、衝突しないという保証は決してできない。
0733デフォルトの名無しさん
2007/05/16(水) 12:33:48○ パスワードで同じダイジェストになる確率は、
× パスワードの中で同じダイジェストになるものが存在する確率は、
0734デフォルトの名無しさん
2007/05/17(木) 11:43:16こんな感じに ttp://www.hellohiro.com/rmi.htm
0735デフォルトの名無しさん
2007/05/17(木) 12:03:47ありがとうございます。
Deflaterのjdocを見ましたがサンプルらしきものがなかったです。
0736デフォルトの名無しさん
2007/05/17(木) 12:29:14君の目は節穴だな。
DeflaterにもInflaterにもサンプルコードがあるというのに。
0737デフォルトの名無しさん
2007/05/17(木) 13:05:38すいません。1.4見てました。
0738デフォルトの名無しさん
2007/05/19(土) 15:13:080739デフォルトの名無しさん
2007/05/19(土) 15:17:24linux環境で、WEBコンテナ実行中(デバッグモード)中に、修正したclassを使用してコードを置き換えることはできないでしょうか。
たとえば下のようなコマンドがあるとか。
ホットコードリプレイスができるコマンド 修正クラス
0740デフォルトの名無しさん
2007/05/19(土) 15:25:39seasar2使え
0741デフォルトの名無しさん
2007/05/19(土) 16:08:11rt.jarをjar xfv rt.jarで解凍した後、java.io.File.classを独自なものに置き換えて、jarcfv rt.tar rtってやったけど
圧縮サイズは元のものとぜんぜん違うし、javaを実行すると、java.lang.Object.classが見つかりませんってなります。
どこがいけないのでしょうか?
0742デフォルトの名無しさん
2007/05/19(土) 16:38:17無茶するなぁ
動作保証されてる提供クラスを俺様クラスに置き換えって…
悪いことは言わん、元に戻してFileクラス拡張することを考えろ。
0743デフォルトの名無しさん
2007/05/19(土) 16:41:06そういうときの為のOOPだと思うんだけど…
0744デフォルトの名無しさん
2007/05/19(土) 17:03:22利用許諾違反になっちまわないか?
0745デフォルトの名無しさん
2007/05/19(土) 17:24:13OOPってのは、想定外の用途に対応できるような万能ツールじゃないからな。
> 744
OpenJDKを待てってことだな。
ということでOpenJDK使ってソースからビルドしなおすほうが安全かもね。
0746デフォルトの名無しさん
2007/05/19(土) 17:30:48OOはともかくとして、普通は java.io.File を改変するよりも改変せずに済ませる方法考えるけど。
配布とか保守とかの手間考えるとコスト高いし。
ってか、なんで >>741 は java.io.File 改変したかったんだろ?
0747デフォルトの名無しさん
2007/05/19(土) 19:51:38APIが返してくるオブジェクトにその機能が欲しかったとか。
欲しいフィールドがprivateだったとか。
まあ、privateメンバにアクセスするならリフレクション使えば問題ないが。
あとは、デフォルトコンストラクタが欲しいとかかな。
JAXBみたいに、スーパークラスにデフォルトコンストラクタがなかったら使えないようなライブラリがあるから、継承して拡張とかは意味なかったりするし。
0748デフォルトの名無しさん
2007/05/19(土) 20:17:58こーゆー感覚も怖いけどな。
> あとは、デフォルトコンストラクタが欲しいとかかな。
これはフレームワークが対応してりゃ 1.6で追加された
java.beans.ConstructorProperties が設定されたコンストラクタがあれば必要なくなってくかも。
まぁ、無視される可能性も高いけど。
0749デフォルトの名無しさん
2007/05/19(土) 20:32:36標準APIでネイティブ関連の情報を持っていたり、フレームワークに関する重要な情報があったりすると、はっきりいってそれしか選択肢はないしな。
ConstructorPropertiesって、複合型のプロパティ指定するやつだから、デフォルトコンストラクタがないことの解決にはならんような。
5.0対応のライブラリもようやく出揃ったくらいなのに、6の機能使ったライブラリなんか皆無だな。
0750デフォルトの名無しさん
2007/05/19(土) 21:17:29private で持ってる値を見なくても良い方法を考えた方が……
> ConstructorPropertiesって、複合型のプロパティ指定するやつだから
プロパティに初期値与えられるようにするもの。
デフォルトコンストラクタ + setter/getter だけだったものが
@ConstructorProperties 付きコンストラクタ + getter でも表現できるようになるわけで。
0751デフォルトの名無しさん
2007/05/19(土) 21:53:050752デフォルトの名無しさん
2007/05/19(土) 22:30:11ソース添付してFileのコンストラクタで条件付ブレイクを張れば簡単にできるけど、
しょっちゅう呼ばれるクラスに条件付ブレークを設定するとものすごく遅くなるので、Fileのコンストラクタで
設定ファイルからファイル名を取り出して、そのファイル名でコンストラクタを呼んだときにブレイクさせたかっただけ。
0753デフォルトの名無しさん
2007/05/19(土) 22:44:05privateで持ってる値に興味があって、普通には見れないときには、ほとんどの場合ほかに手はないよ。
0754デフォルトの名無しさん
2007/05/19(土) 23:17:41private になってるって事は他人が見てはいけない/見なくてもいいはずのもの。
見ないで済む方法を考えるのが先っしょ。
0755デフォルトの名無しさん
2007/05/19(土) 23:25:39低レベルに近かったり、フレームワークに近かったりするほど、そういうことは多々ある。
きれいごとじゃプログラム組めないよ。
0756デフォルトの名無しさん
2007/05/19(土) 23:27:010757デフォルトの名無しさん
2007/05/19(土) 23:35:28> だから、見ないで済む方法がないときに
だから、>>747 はそれを確かめずにリフレクションの話してるから怖いって言ってるのさ。
0758デフォルトの名無しさん
2007/05/20(日) 00:14:35フレームワークの機能拡張する場合には、そういう場面に遭遇することがある。
フレームワーク作者は、フレームワークを単純に利用することだけ考えがちで拡張についてはあまり考えが至らないことがあるからな。
privateになってるってことは、privateって書いたやつが「見てはいけない/見なくていいはず」と思ったというだけであって、そうではないこともある。
特に、privateのフィールドまでたどりついたときには、他に手がないことがほとんど。
0759デフォルトの名無しさん
2007/05/20(日) 00:43:11まずはフレームワークの修正が本筋で、
どうしようもない時は回避策として利用してもいいかもしれないが
でも、リフレクションとか使った拡張はあくまで回避策と認識しておくのがよいな。
0760デフォルトの名無しさん
2007/05/20(日) 00:49:120761デフォルトの名無しさん
2007/05/20(日) 01:06:55逆に言うと、それまで 2〜3個レスがあるのに断り書きすら出てこないわけじゃん。
怖いよなぁ、やっぱり。
> そうではないこともある。
読む方が そう思わなかったというだけであって…… と言い返されたら水掛け論。
あんまし自分の能力を過信しない方が良いと思うよ。
>>760
ReflectionPermission "suppressAccessChecks" が許可されてないと、
AccessibleObject#setAccessible が SecurityException 食らう。
0762デフォルトの名無しさん
2007/05/20(日) 01:07:550763デフォルトの名無しさん
2007/05/20(日) 02:11:51個人的には、privateアクセスやfinalクラスは好きではない。
本人がそうしたくても、他人から見たらそこに有意義なコードがあれば再利用したいし、
拡張の発想なんてたくさんの人が多岐に持っていると思う。
privateやfinalにしないで、コメントで注意してね見たいなjdocタグがあればいいと思う
0764デフォルトの名無しさん
2007/05/20(日) 02:16:28たしかに!Stringやラッパークラスがfinalがゆるせない。
0765デフォルトの名無しさん
2007/05/20(日) 02:21:360766デフォルトの名無しさん
2007/05/20(日) 02:28:29おれはこの3年間必死にJAVAを勉強してきた。
実際クソみたいな言語仕様だが改良に改良を重ねた1.5はチト使える。
よって、まともな言語としての扱いを受けるスタートラインにやっと立ったと言える。
ってあるけど、javaよりいけてる言語は?
0767デフォルトの名無しさん
2007/05/20(日) 03:28:20□JAVA ☑3年間必死に勉強してきたJAVA ☑Java □java □その他( )
0768デフォルトの名無しさん
2007/05/20(日) 04:12:340769デフォルトの名無しさん
2007/05/20(日) 13:12:55Stringとかラッパークラスは、実装上しかたない部分もあるんだよ。
0770デフォルトの名無しさん
2007/05/20(日) 13:13:470771デフォルトの名無しさん
2007/05/20(日) 13:17:36レス先に書いてあることを無視して話すすめられたら、やりとりにならんわけで。
ひとりで怖い怖い言ってればいいよ。
0772デフォルトの名無しさん
2007/05/20(日) 13:30:04代入、参照の先勝ち、後勝ちがどうでもいい場合でも、ロックをして同期をしなければならない?
スピードアップが求められる処理なので、なるべくロックはしたくないなと。
もっというと、javaの場合、複数ロックしたとき開放される順番がロックを書けた順番ど通りになることが保障されないから
ロックかけたくないんだよね。今回順番が大事だから。
読み込みスレッド
multiReferenceInstance = overrideInstance;
使用スレッド
operationInstance = multiReferenceInstance;
operationInstance.xxx();
Cの場合だと、確か代入でアドレス書き込み中にでも、その変数アドレスの読み込みが走って
アドレスがおかしくなるからだめだったような。
0773デフォルトの名無しさん
2007/05/20(日) 13:47:02保証できるロックがあったと思う
http://www-06.ibm.com/jp/developerworks/java/041112/j_j-jtp10264.html
0774デフォルトの名無しさん
2007/05/21(月) 15:33:25-Xbootclasspath/p:でいけました。
0775デフォルトの名無しさん
2007/05/21(月) 15:58:50影響があるのは、setAccessible(true);かけたインスタンスだけですか?
0776デフォルトの名無しさん
2007/05/21(月) 16:54:180777デフォルトの名無しさん
2007/05/21(月) 17:08:210778デフォルトの名無しさん
2007/05/21(月) 17:08:30//cが記号ならtrueを返す処理を、776のプログラムでの記号の定義に従って書く
return c == '-';
}
void hoge(String str){
char c = str.charAt(0);
if(is記号(c)) throw new Exception("記号のエラー");
//続きの処理
}
0779778
2007/05/21(月) 17:11:18if("-+/*・・・(記号の羅列)・・・".indexOf("-0000".charAt(0)) >= 0) throw new Error("記号っす");
0780デフォルトの名無しさん
2007/05/23(水) 11:17:11> 半角で-0000と入力した場合,1文字目が記号のためエラーとなる
という方法は知っていても
> 処理を行いたいのですがどうすればいいでしょうか?
という処理の行わせ方がわからないんだろう
つまり>>776はJavaを見たことはあるけどやったことがない新人と捉える
最適なアドバイスは「プログラムを書いてパソコンに処理を行わせればいいよ」と言うことだ
0781デフォルトの名無しさん
2007/05/23(水) 11:33:53プロにまかせろ!
ってことか。
0782デフォルトの名無しさん
2007/05/23(水) 15:28:43この場合、Stringクラスの適当なコンストラクターが呼ばれるのでしょうか?
0783デフォルトの名無しさん
2007/05/23(水) 15:30:57すいません。乗ってました。
String str = "abc";
は、次と同じです。
char data[] = {'a', 'b', 'c'};
String str = new String(data);
0784デフォルトの名無しさん
2007/05/23(水) 15:48:39上のように書いてありましたが、new String(char[]);にデバッグを張ってもとまりません。
new String(new char[]{'c', 'c'}); は止まりますが、
"bb";は止まりません。なぜでしょうか。
0785デフォルトの名無しさん
2007/05/23(水) 18:12:59止まるわけないよ。
だってString str = "abc";はnew String(char[])を呼んでないんだから。
コンスタントプールから"abc"のエントリーを取り出しているだけ。
"abc"のインスタンスが無いときにどう生成するかはVMの実装次第。
Stringをnewして<init>をinvokespecialするString str = new String(data);と違って、
String str = "abc";はldcしているだけ。
0786デフォルトの名無しさん
2007/05/23(水) 18:42:05ありがとうございます。
コンスタントプールはJDKにはなかったですが、標準クラスではないのでしょうか?
あとldcってなんですか?
0787デフォルトの名無しさん
2007/05/23(水) 19:15:28コンスタントプールってのは、クラスファイルとかVMの方の用語だ。
ldc は定数をロードする JVM のインストラクション。LoaD Constant かな?
0788デフォルトの名無しさん
2007/05/23(水) 20:02:13インスタンス使い回しをした方が効率いいから使い回せるもんは使い回してる、と。
0789デフォルトの名無しさん
2007/05/23(水) 20:09:54詳しくはJava VM仕様を。
でも、仕様文書そのものよりも、それを解説しているものがあれば、その方が理解しやすいとは思う。
String str = "abc";とかString str = new String(data);が、どうコンパイルされたかは、
クラスファイル名がHoge.classならjavap -c Hogeとやれば生成されたバイトコードが見られるから、
シンプルなプログラムを書いてみて、バイトコードを比較してみれば違いが分かる。
0790デフォルトの名無しさん
2007/05/24(木) 10:14:01確かにnewと""ではコードが違いました。""の時クラスファイル内部ではnewしていなかったので、
VMが何らかの方法でStringを生成して、ldcでプッシュしているって感じですかね。
リテラルからのStringクラス生成は、VMレベルなので、ブートストラップを変更しても制御できそうにもないですね
っと、とりあえず自分で考えた結論ですがあっているでしょうか。
0791デフォルトの名無しさん
2007/05/25(金) 13:46:26そんな認識でいいんじゃない。
0792デフォルトの名無しさん
2007/05/25(金) 15:39:50javaのxml処理について調べました。おかしい点があれば指摘していただけないでしょうか。
・読み込み向けはsax、更新する場合はdomと、jdkでは2つのインターフェースを定義している。
・sax、domを実装したモジュールが各ベンダーから配られている。
基本、すべてのベンダーはsax、domを実装している。
・jakartaなどのxml関連ライブラリも、sax、domAIPを利用(拡張実装もあり)している。
・なので、ブートストラップでNodeクラスを変更したクラスにパスを通し、値をセットするときのコードを変更し、
xxだったらトレースをダンプするコードを書けば、
目的の要素をどこのクラスから読み込んでいるかを追うことが出来る。
0793デフォルトの名無しさん
2007/05/25(金) 15:54:53要素を取得したタイミングをいうより、
ある要素を処理するタイミングという訳ね。
静的な解析手法でなくてよいのだったら、
eclipseなんかのデバッガで、DOM,SAMの実装クラスの要素処理のコードの所で
ブレイクポイント置いてそこで止めてみては?
0794デフォルトの名無しさん
2007/05/25(金) 16:38:50jdbやeclipseのデバッグ、その他なんでもかまいませんが、
あるインスタンスを参照している箇所(ソースの行数またはクラス名のみでも可)をリストアップすることはできるでしょうか?
0795デフォルトの名無しさん
2007/05/25(金) 17:14:280796デフォルトの名無しさん
2007/05/25(金) 17:35:48String hoge = "hoge";
bean1.setString(hoge);
bean2.setString(hoge);
bean3.setString(hoge);
としたときに、
このローカル変数のhogeの参照サーチってやると、
bean1、bean2、bean3って出てくることを望んでます。
そんなことできましたっけ?
0797デフォルトの名無しさん
2007/05/25(金) 18:46:55読み込み・書き込みの違いじゃなくて、saxは1タグ・1属性ごとのコールバック処理、domは全部一気に取得してDOMツリーを扱う、という違いです。
実装てきには、DOMはSAXを使って読み込みをしたXMLツリーの全体をDOMオブジェクトとして返すという感じです。
そのため、DOMの場合はすべてのタグが対応したちゃんとした形のものしか読めません。不完全なXMLファイルを読み込んで正常部分だけは処理したいなどという場合にはDOMは使えません。
あるタグを読み込んだ時点で処理を行うということはできません。
一方SAXはコールバック形式でプログラムを組むので、複雑なプログラムを書く必要があります。
で、その欠点を補ったStAXというライブラリがJavaSE6から追加されています。
StAXは逐次読み込み/書き込みを行うライブラリですが、プログラムが組みやすい形式になっています。
対応ライブラリを使えばJava2SE5.0以前でも使えます。
ということで、今回の件ではStAXをオススメします。
他に、JavaにはJavaBeansとXMLの相互変換を行うJAXBというライブラリもあります。
XMLファイルの中身にあまりこだわらず、データとしてJavaに取り込みたいという場合には非常に楽です。
0798デフォルトの名無しさん
2007/05/27(日) 11:40:09プロファイラー使ったことないけど、プロファイラーならトレースが出ると思うし追えるんじゃん
プロファイラー自体がどのような技術で実現しているのかわからないけど
メソッドをトレースするからjavaエンジンレベルで何かしているのだろうね。
0799デフォルトの名無しさん
2007/05/28(月) 15:50:06これって、seasarのクラスローダーを使うではなく、seaser自体使えってことですよね。
HotdeployClassLoaderを見ましたがNamingConventionみたいな物を使っていて・・・
結局javaはクラスを明示的にアンロードする仕組みがないから、
再ロードしやすくなる規約を作らないとできないってことですかね。
ここにいろいろ書いてありましたが。
ttp://www.nminoru.jp/~nminoru/java/class_unloading.html
0800デフォルトの名無しさん
2007/06/01(金) 10:55:13ローカル変数みたいに値を代入したりしても問題ないですよね?
xx(String str) {
str = str.toUpper();
.
.
}
0801デフォルトの名無しさん
2007/06/01(金) 11:03:380802デフォルトの名無しさん
2007/06/01(金) 14:58:11言語仕様的には問題ないけど、
たまにコーディングルールで禁止とか非推奨な場合もあるから気をつけた方が良いかも。
0803デフォルトの名無しさん
2007/06/05(火) 01:12:03どの程度が理想的なんでしょうか?
根拠はないけれど10分くらい?
0804デフォルトの名無しさん
2007/06/05(火) 01:17:160805デフォルトの名無しさん
2007/06/05(火) 10:26:12そのため、eclipseのjadエディターでブレイクポイントを指定しても、同期が正しくない状態で止まります。
行数が元のソースと同じ状態で出コンパイルすることはできないでしょうか。
またはメソッドを定義している行数だけでも知る方法はないでしょか?
0806デフォルトの名無しさん
2007/06/05(火) 11:15:34finalのフィールドを変更することはできないでしょうか。
0807デフォルトの名無しさん
2007/06/05(火) 11:29:17むり
0808デフォルトの名無しさん
2007/06/05(火) 15:55:27new URL("mem://xxx");
よくフレームワークで、リソースをストリームではなくURLのみで受け付けるものがあり、
ByteArrayOutputStreamの場合、一度ファイルに書き込まなければならないので
そこを何とかしたいです。
0809デフォルトの名無しさん
2007/06/05(火) 16:26:56無理。
ファイル作りたくないだけなら、FTPサーバかHTTPサーバになりすまして
そのURL渡す方法もあるけど、ファイル作るよりよほど手間かかるぞ。
0810デフォルトの名無しさん
2007/06/05(火) 16:36:01finalはコンパイル時に実値に置き換えられるから、無理
たとえば
class A{
public static final int a = 5;
}
があるとき
class B{
void a(){ System.out.println(A.a); }
}
は
class B{
void a(){ System.out.println(5); }
}
としてコンパイルされる。
その後a=10としてclass Aだけをコンパイルすると、class Bではa=5の値が使われ続ける。
0811デフォルトの名無しさん
2007/06/05(火) 18:49:52ここはム板だ。無ければ作ればいい。
URLで指定して読み込みたいんだから、そのURLを開いて得られるストリームは、
ByteArrayOutputStreamでなくてByteArrayInputStreamでいいんだよね?
必要ならByteArrayOutputStreamをパイプ入力ストリームに繋げばいいし。
class MemURLStreamHandlerFactory implements URLStreamHandlerFactory {
public URLStreamHandler createURLStreamHandler(String protocol) {
if (protocol.equals("mem")) return new MemURLStreamHandler();
else return null;
}
}
みたいなファクトリを作ってURL#setURLStreamHandlerFactoryでセット。
URLStreamHandlerを継承したMemURLStreamHandler内でopenConnection(URL)を実装して、
URLConnectionを継承したMemURLConnectionを返すようにする。
MemURLConnectionのgetInputStream()で該当するByteArrayInputStreamを返してやるように実装する。
おおまかにはこれで、
InputStream in = new URL("mem:").openStream();
みたいにしてデータを読み込めるようになるので、
URLとしてnew URL("mem:")を、そのフレームワークに渡してやればいい。
まあ、どのストリームを返すかをURL表記でどう表現するかとか、
それを解釈して実際のストリームにどう関連付けるかとか、細かな実装はがんばってみてくれ。
決まったByteArrayInputStreamを返すURLならプロトコルの"mem:"だけでいいし実装も簡単だ。
0812デフォルトの名無しさん
2007/06/05(火) 19:12:420813デフォルトの名無しさん
2007/06/06(水) 15:46:46できました。
ありがとうございます。
URLがfinalだったので、これはどうしようもないと思っていたのですが、
こんな機構が用意されていたのですね。
0814デフォルトの名無しさん
2007/06/07(木) 15:46:47"xxx".replaceAll("xxx","yyy");
}
この場合、無駄に正規表現のコンパイル処理が走るので、
コンパイルしたMatcherでreplaceしたほうが、処理が早くなるでしょうか?
実際試しましたが、ほとんどかわりはなかったですが・・・
0815デフォルトの名無しさん
2007/06/07(木) 16:08:421000回くらいでは差があまり見えないのでは?
int i = 100000;
long a = System.currentTimeMillis();
while (--i > 0) {
"xxx".replaceAll("xxx","yyy");
}
System.out.println(System.currentTimeMillis() - a);
と
int i = 100000;
long a = System.currentTimeMillis();
java.util.regex.Pattern p = java.util.regex.Pattern.compile("xxx");
while (--i > 0) {
p.matcher("xxx").replaceAll("yyy");
}
System.out.println(System.currentTimeMillis() - a);
と
int i = 100000;
long a = System.currentTimeMillis();
java.util.regex.Matcher m = java.util.regex.Pattern.compile("xxx").matcher("");
while (--i > 0) {
m.reset("xxx").replaceAll("yyy");
}
System.out.println(System.currentTimeMillis() - a);
だと、1番目は2,3番目より時間かかるね。2,3番目はあまり違わない。わずかに3番目が速いか?
コンパイラやVMでの最適化の関係もあって正確な測定ではないけれど。
実際に扱うデータ量で測定してみてあまり変わらないのであれば、記述の分かりやすさを選べばいいと思う。
0816デフォルトの名無しさん
2007/06/08(金) 15:43:28ありがとうございます。
100000回くらいで差が出てくるほどでした。
Pattern#flags()でフラグのセットが返りますが、Pattern.DOTALLが含まれているかの確認はどうすればよいのでしょうか。
Cでビット演算はしたことがあったのですが、忘れてしまいました。
0817デフォルトの名無しさん
2007/06/08(金) 15:57:460818デフォルトの名無しさん
2007/06/12(火) 07:34:39気にするほど遅いならばそのメソッド自体が提供されていないと思う。
0819デフォルトの名無しさん
2007/06/17(日) 14:34:08具体的には、文字列からintへの変換で、"0xffffffff"は
OKだけど、"0x7ffffffff"はNGって扱いたいんです。
resultが前の桁を適用した結果、
digitが今回の桁の値だとして、
Cみたいに符号無しの比較が出来れば
unsigned value = (result * radix) + digit;
if (value <= result) {
// オーバーフロー
}
こう書けるんだけど。
先に右シフトして桁を落としてやる以外に思いつかない・・・。
if ((((result >>> 16) * radix) + digit) >= (1 << 16)) {
// オーバーフロー
}
0820デフォルトの名無しさん
2007/06/17(日) 16:32:16要件がよくわからんけど、こんなのじゃ駄目?
String str = "0x7FFFFFFFF";
int value = 0;
try {
value = Integer.decode(str).intValue();
} catch (NumberFormatException nfe) {
//オーバーフローやフォーマット不正
}
0821デフォルトの名無しさん
2007/06/17(日) 17:42:59桁読み込んだ後に、result の更新と判定の順番変えて
digit = .....; //一桁読み込み
if (0xFFFFFFF < result) {
// オーバーフロー
}
result = (result * radix) + digit;
0822819
2007/06/18(月) 07:53:06glibcのソースやら何やら眺めてたら、
基数毎にこれ以上桁増やしたら必ずオーバーフローする
限界値を計算しておいて確認する以外は無理っぽいです。
>>820
decode()じゃ結局parseInt()と同じなので、
0x80000000以降がオーバーフローしちゃうんです。
よくよく考えてみると、符号無し演算が可能でも、
>unsigned value = (result * radix) + digit;
>if (value <= result) {
これで判定出来ないケースがあるんですね。
0823デフォルトの名無しさん
2007/06/20(水) 18:25:35jakartaなどのライブラリのダウンロードで、JDKのバージョンが乗っていないので動くような気がするのですが。
試せば早いのですが、モデム環境なので1.5のダウンロードが・・・
ちなみに、javaのエンジン(ランタイム?)としてbeaが出しているjrokectなるものがありますが、
仕様はsunが提示したものにのっとっているので、使う側としてはsunとbeaどちらを使用しても正しく動作するけど
処理が早い、遅いの差があるから、好きなのを選んでよいですよって感じなのでしょうか?
0824デフォルトの名無しさん
2007/06/20(水) 19:12:06できる。
0825デフォルトの名無しさん
2007/06/20(水) 19:49:58>好きなのを選んでよいですよって感じなのでしょうか?
よいですよ
0826デフォルトの名無しさん
2007/06/21(木) 10:12:12>>825
ありがとうございます。
たすかりました。
0827デフォルトの名無しさん
2007/06/21(木) 14:34:47実行できましたが、実行が恐ろしく遅いです。
ただ、任意の処理の2回目からは通常通りのスピードなので、
おそらくクラスをロードするときに時間がかかるものなのでしょうか?
0828デフォルトの名無しさん
2007/06/21(木) 15:09:40ファイルのエンコードを判断する方法がわかりません。
そうすれば判断できるでしょうか。
イメージはUNIXのnkfのように、ユーザーに元のエンコードを意識させず、
特定のエンコードでデータを取得させたいのですが
0829デフォルトの名無しさん
2007/06/21(木) 15:11:18Hotspot というキーワードと
JIT というキーワードでググってみるといいかもしれない。
後は、クラスのローディングコストに興味があれば Class Data Sharingとか。
0830デフォルトの名無しさん
2007/06/21(木) 15:12:53つ ttp://www.void.in/wiki/Universalchardet
0831デフォルトの名無しさん
2007/06/21(木) 15:49:43JISAutoDetect
0832デフォルトの名無しさん
2007/06/21(木) 16:28:18ありがとうございます。
JDK1.4なのですが、実行すると5.0をサポートしていないというようなエラーが出ました。
java.lang.UnsupportedClassVersionError: org/mozilla/universalchardet/UniversalDetector (Unsupported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at other.Free.main(Free.java:37)
0833デフォルトの名無しさん
2007/06/21(木) 17:37:430834デフォルトの名無しさん
2007/06/21(木) 23:03:03ClassVersion 50.0 だから 5.0 とは違う。
ClassVersion 50.0 って Sun の JDK だと 1.6 が吐く奴だっけか?
0835デフォルトの名無しさん
2007/06/22(金) 10:13:19ありがとうございます。
調べて見ます
0836デフォルトの名無しさん
2007/06/22(金) 13:17:190837デフォルトの名無しさん
2007/06/22(金) 17:42:12但し、メール情報の戻り値がReaderで、ヘッダーを含む生のデータとして出しか取得できません。
受信メールのバイトデータから本文やヘッダーを取得できるクラスはJDKのAPIにあるでしょうか?
0838デフォルトの名無しさん
2007/06/22(金) 17:49:530839デフォルトの名無しさん
2007/06/22(金) 21:32:52の見かけだけをWeb化し、JSP化しようと思います。
この時、ホスト画面で「入力不可のテキストボックス」になっていて次画面
に値が引き継がれるものは、HATSで変換した後もやはり「入力不可のテキス
トボックス」になってしまうのでしょうか?例えば、Web化した時に、
<input type="text" value="次画面に引き継がれる値" disabled>
となってしまうと、ユーザがインターネット一時ファイル内の「次画面に
引き継がれる値」の部分を改竄してしまうことを懸念しているのです。
ホスト用のエミュレーターで、「次画面に引き継がれる値」の部分が保存
されるなら良いのですが、どなたかお分かりでしょうか?
0840デフォルトの名無しさん
2007/06/23(土) 09:23:470841デフォルトの名無しさん
2007/06/25(月) 15:40:43まさにこれでした。
ありがとうございます。
0842デフォルトの名無しさん
2007/06/26(火) 14:41:28そういう金がかかってる製品の細かいトコを
掲示板で解決できると思うセンスはやばいです
0843デフォルトの名無しさん
2007/06/26(火) 16:29:21実装しなくても処理は正常に動いています。
0844デフォルトの名無しさん
2007/06/26(火) 16:54:54シリアライズしたクラスと、それを復元するクラスで serialVersionUID が違うと
復元時に InvalidClassException 食らう。
んで、serialVersionUID は設定しないとコンパイラがクラス定義から
自動的にデフォルト値を計算するけど、これはコンパイラが違うだけで
値が変わる可能性があるので推奨されないって事らしい。
http://java.sun.com/javase/ja/6/docs/ja/api/java/io/Serializable.html
http://java.sun.com/javase/ja/6/docs/ja/platform/serialization/spec/class.html#4100
0845デフォルトの名無しさん
2007/06/26(火) 18:40:24ありがとうございます。
参考になりました。
0846デフォルトの名無しさん
2007/06/27(水) 13:31:39プログラムのどこかで不具合があり、アプリが応答しない状態です。
CPUがフルなので、多分どこかで無限ループしてます。
しかもリクエストスレッドをすべて使用中にしてしまい(おそらくすべてで無限ループ)、
サービスが全滅している状態です。
デバックモードで起動していないですが、この状態のスタックトレースをダンプすることは可能でしょうか。
JDK1.4です。
0847デフォルトの名無しさん
2007/06/27(水) 14:14:41うまくいけば、kill -3
0848デフォルトの名無しさん
2007/06/27(水) 15:46:20QUITですか?
そのダンプってC言語のダンプになりますかね?
0849デフォルトの名無しさん
2007/06/27(水) 17:15:25すみません。何が何だか分かりません。
言葉に出来る違和感は、JavaじゃなくてCが出てくる辺りくらいまでです。
>>847 のシグナルを該当プロセスに送ればスレッドダンプがコンソールに取れる。
まだJVMが生きていたら。
コアダンプが欲しければ・・・すまん、linuxはよく分からん。Solarisなら分かるが。
0850デフォルトの名無しさん
2007/06/27(水) 18:56:22ありがとうございます。
javaがシグナルを補足して、javaの処理としてすべてのスタックをダンプして終了する処理になっているということですよね。
確認してみます。
0851デフォルトの名無しさん
2007/06/28(木) 14:22:17あー、遅いかもしれんけど・・・kill -3では、スレッドダンプするだけで
終了はしないはずですよ。
0852デフォルトの名無しさん
2007/06/28(木) 16:15:36という認識は当たってますか?
0853デフォルトの名無しさん
2007/06/28(木) 21:37:36どちらも一度実行し、ファイルの更新は、もうしないとしよう。すると、
今後はどちらも、同じ程度の行数のクラスファイルを実行するだけだから、
速さは殆ど変わらないはず。
0854デフォルトの名無しさん
2007/06/29(金) 09:37:23あれ?jsp:include は実行時にインクルードするんじゃなかった?違うか?
0855質問!!
2007/07/02(月) 23:21:50WEBアプリケーションでよくファイルアップロード機能があると思います。
その仕組みとして直接クライアントで指定したファイルを
サーバにアップロードしないでDBにBLOGなどで登録は可能でしょうか?
可能であればその仕組みを教えてください。
よろしくお願い致します。
0856デフォルトの名無しさん
2007/07/03(火) 09:37:01DBがサーバーにないってこと?
0857デフォルトの名無しさん
2007/07/03(火) 11:21:08int Δx;
int �凅;
とすると、上は通りますが下は「\8895 は不正な文字です」とエラーになります。
8895は16進数で0x22BF、つまり�凾フ文字コードです。
このように、使用不能な文字コードには、他に何があるでしょうか? JDK1.4です。
0858デフォルトの名無しさん
2007/07/03(火) 14:30:340859デフォルトの名無しさん
2007/07/03(火) 15:05:590860デフォルトの名無しさん
2007/07/03(火) 16:23:14Character#isJavaIdentifierStartとCharacter#isJavaIdentifierPartに簡単な説明が書かれてある。
実際に分からない時はこのメソッドの返値の真偽を見ればいい。
'��'は識別子には使えない文字だが、'1'は2文字目以降には使える文字ということに。
0861デフォルトの名無しさん
2007/07/03(火) 17:37:380862デフォルトの名無しさん
2007/07/04(水) 00:44:59Java 仕様できちんと定義しているようなので、伏魔殿は言いすぎかと。
20.5.16 isLetterOrDigit 辺りを見ると書いてあります。
0863デフォルトの名無しさん
2007/07/10(火) 22:40:180864デフォルトの名無しさん
2007/07/10(火) 23:00:25paint(Graphics g){
g.drawString(new Date() + "", 10, 20);
new Thread(){
public void run(){
try{
sleep(100);
}catch(Exception e){}
repaint();
}.start();
}
update(Graphics g){
}
0865デフォルトの名無しさん
2007/07/11(水) 10:24:28デーモンにするとしないとでは何が違うのでしょうか?
0866デフォルトの名無しさん
2007/07/11(水) 12:38:02スレッド?
0867デフォルトの名無しさん
2007/07/11(水) 12:39:490868デフォルトの名無しさん
2007/07/13(金) 10:31:02ただ、weblogicのスタートのシェルを他社が製造していて、標準出力のリダイレクトをどうしても許可してくれません。
らちが明かないので、アプリ内でSystem.setOut()、System.setErr()を使って出力先を変えました。
アプリのコンソール出力はうまくいきましたが、killの出力はうまくいきません。
killのイベントはOSレベルなので、nativeメソッドで出力をしているようですが、
System.setOut()ではnativeレベルでのファイルディスクプリタの変更ができないようです(動かして感じたレベル)。
何か対策はないでしょうか。
0869デフォルトの名無しさん
2007/07/16(月) 11:33:28以前の質問と同じ人だとすると環境は Linux + J2SE 1.4 かな?
以下のような方法はどうでしょ(但動作未確認)
・リモートデバッグを有効にして、eclipse とかで接続
・(一時的にJava5を使用して)ThreadのgetStackTrace()、getAllStackTraces()を使う
リクエストの受信スレッドが枯渇してるなら、自分でダンプ指示受信用のポートを開けとくとか
・(同じくJava5で)JConsoleを使う
・HPROFを使う。java -Xrunhprof:thread=y,monitor=y,file=<file>... とか。
ただし、かなり重くなるので、再現性が高い現象でないと辛いかも。
あと、他のオプションをOFFにしたりするのも必要。
0870デフォルトの名無しさん
2007/07/18(水) 16:32:59ありがとうございます。
1.5にはThreadのgetStackTrace()、getAllStackTraces()なんてあるんですね。
何とか対応できそうです。
これ頂きます。
0871デフォルトの名無しさん
2007/07/19(木) 13:55:18問題が見つけられません。ご教授いただけないでしょうか。
public class CompressUtils {
private static final Cipher encrypt;
private static final Cipher decrypt;
private static final SecretKey sk;
static {
String kagi = "abc12345";
DESKeySpec dk = new DESKeySpec(kagi.getBytes());
SecretKeyFactory kf = SecretKeyFactory.getInstance("DES");
sk = kf.generateSecret(dk);
encrypt = Cipher.getInstance("DES");
encrypt.init(Cipher.ENCRYPT_MODE, sk);
decrypt = Cipher.getInstance("DES");
decrypt.init(Cipher.DECRYPT_MODE, sk);
}
public static String decrypt(String string) throws IllegalStateException, IllegalBlockSizeException, BadPaddingException {
byte[] base = string.getBytes();
byte[] dec = decrypt.doFinal(base);
return new String(dec);
}
public static String encrypt(String string) throws IllegalStateException, IllegalBlockSizeException, BadPaddingException {
byte[] base = string.getBytes();
byte[] enc = encrypt.doFinal(base);
return new String(enc);
}
}
String ret = CompressUtils.encrypt( "hogehoge" );
System.out.println( CompressUtils.decrypt( ret ) );
0872デフォルトの名無しさん
2007/07/20(金) 00:20:46正しくは「ご教示」ね。
それはさておき、この辺りが参考になると思う。
ttp://forum.java.sun.com/thread.jspa?threadID=361230&messageID=3820872
UTF-8 + Base64方式を使ったら、問題なく動いてるように見える。
Base64 だけでなくて、別のエンコード/デコード方法でもいけそうな感じ。
javax.crypto.* パッケージは初めて使ったから、なんか間違ってるかもしれんけど。
変更点:
getBytes() -> getBytes("UTF-8")
encrypt()#return new String(enc) -> return Base64.encode(enc)
decrypt()#decrypt.doFinal(base) -> decrypt.doFinal(Base64.decode(string))
0873デフォルトの名無しさん
2007/07/20(金) 10:19:49ありがとうございます。
できました。
0874デフォルトの名無しさん
2007/07/24(火) 17:27:520875デフォルトの名無しさん
2007/07/24(火) 17:30:42無理。FileInputStream 自体がファイル名を記録してないはず。
0876デフォルトの名無しさん
2007/07/24(火) 17:34:54確かにファイル名は捨ててますね・・・
ありがとうございます。
0877デフォルトの名無しさん
2007/07/24(火) 17:40:45その場合インスタンス化する必要があり、コンストラクタを持っているものはnewしてから
テンプレートなのでメソッドを呼んでいます。
特に問題は出ていないですが、
そもそもstaticメソッドの非静的アクセスは、いい悪いを除いて何が問題なのでしょうか?
0878デフォルトの名無しさん
2007/07/24(火) 18:21:47インスタンスメソッドと間違えるのでヒューマンミスを助長しやすい。
インスタンスメソッドだと思って上書きしようと思ったらできねーとか、
実はインスタンスが null だったけどクラスメソッドだから動いちゃってたとか。
0879デフォルトの名無しさん
2007/07/24(火) 18:50:16なるほど。ありがとうございます。
機構的には問題ないけど、紛らわしいのでやめてねって事ですね。
0880デフォルトの名無しさん
2007/07/24(火) 21:48:15staticメソッドは非静的アクセスなんかできないよ。
ようするに、非静的アクセスしてると誤解してしまうのが悪いんじゃねえの?
class A{
static void a(){
System.out.println("a");
}
}
class B extends A{
static void a(){
System.out.println("b");
}
}
A a = new B();
a.a();
なんてコードを書いても、aと表示される。
0881デフォルトの名無しさん
2007/07/24(火) 23:53:24a.a();
b
0882デフォルトの名無しさん
2007/07/26(木) 13:05:11jxpathというフリーな?ソフトがあったのですが、これを使わないといけないのでしょうか?
0883デフォルトの名無しさん
2007/07/26(木) 14:04:47これを回避するためには、リフレクションのプロキシを使うと解決できるといわれましたが、
調べても使い方や仕組みが分かりません。
同じようになるって言われても違うクラスだし・・・
すいません。なぜエラーにならない(キャストできる)かを簡単に説明していただけないでしょうか。
0884デフォルトの名無しさん
2007/07/26(木) 16:10:28インターフェースとAbstractどちらを選べばいいか良く分かりません。
Collection、Listはなぜインターフェースをとったのでしょうか?
ある程度上位で決まった動作があれば、抽象クラスにしてもいいのではないかと思うのですが。
0885デフォルトの名無しさん
2007/07/27(金) 01:28:28Interfaceが必要なのは使う側の話で、
Abstractが必要なのは使われる側の話。
必要がないのにInterfaceとAbstractのどちらがいいとか考えるから
わけがわからなくなる。
0886デフォルトの名無しさん
2007/07/27(金) 01:36:02interfaceにできるときはinterfaceにしておけ。
2chみたいに情報が少ない状態で言えるのはそんくらい。
0887デフォルトの名無しさん
2007/08/06(月) 00:54:48ドロップした箇所にテキストや画像を書き出す感じ。
0888デフォルトの名無しさん
2007/08/06(月) 01:04:29Swingのドラッグ&ドロップは出来るけどデスクトップにドロップできない?
0889デフォルトの名無しさん
2007/08/06(月) 01:19:35実行環境はWindowsXP
SWTを利用しWin32APIをコールして取得できるもくろみでしたが
SWTのDll(?)に未定義でした。
何かよい手段はありませんか。
0890デフォルトの名無しさん
2007/08/06(月) 01:21:090891デフォルトの名無しさん
2007/08/06(月) 01:24:55「java Test args1 args2」
と実行するもうそのもの全てです。
説明不足もうしわけない。
0892デフォルトの名無しさん
2007/08/06(月) 01:40:070893デフォルトの名無しさん
2007/08/06(月) 01:45:582,3文字の場合もあれば極端に言えば100〜以上の場合もあります。
0894デフォルトの名無しさん
2007/08/06(月) 01:51:32で、この例だと何文字?
0895デフォルトの名無しさん
2007/08/06(月) 02:03:07「java Test args1 args2」の場合
java で5文字
Test で5文字
args1が「ABCDE」として5文字
args2が「あいうえお」として5文字
となり計20文字です。
args1、args2は動的な値です。
0896デフォルトの名無しさん
2007/08/06(月) 02:09:28なんで5文字?スペースも数に入れるの?
>「ABCDE」として5文字
こっちはスペース入れないの?
0897デフォルトの名無しさん
2007/08/06(月) 02:15:59訂正します。
「java」で4文字
「 Test」で5文字
args1が「 ABCDE」として6文字
args2が「 あいうえお」として6文字
となり計21文字でした。
0898デフォルトの名無しさん
2007/08/06(月) 02:32:31かな?
0899デフォルトの名無しさん
2007/08/06(月) 02:41:16目的としているのは文字列長ではないです。
argsの要素中に"や'が入っていると
TestクラスのMainメソッドに正しく値が引き渡されないので
「classファイル実行時の総文字列」を取得しようと考えています。
0900デフォルトの名無しさん
2007/08/06(月) 04:09:58class Hoge{
public static void foo(){
Test.main(null);
}
}
みたいな感じのこともあるから、「クラスファイル実行時の文字列」 じゃだれもわからんと思うから。javaコマンド実行時の文字列って言ったほうがいいと思う
0901デフォルトの名無しさん
2007/08/06(月) 04:21:300902デフォルトの名無しさん
2007/08/06(月) 09:12:05> argsの要素中に"や'が入っていると
> TestクラスのMainメソッドに正しく値が引き渡されないので
コマンドラインでjava Test A"Bとかやってargs[0]にA"Bが引き渡されないって意味なら、
それはjavaプログラムの中でどうこうできるものではない。それはシェルの問題だ。
標準のシェルを使ってるならjava Test A\"Bのようにエスケープする。
でも、'についてはCMDは普通に引き渡すと思ったが。
そうでなくて、正しく"を引き渡しているにも関わらずargs要素中に正しく入っていないというのなら、
たぶんTestクラス中でargsの扱い方を間違えて、入っていないようにみえるだけだ。
0903デフォルトの名無しさん
2007/08/06(月) 09:40:39確かにその通りでなんですが
起動時にエスケーブ処理をかませられないんです。
だからSWTのWIN32コール機能を使おうとしてたのてす。
0904デフォルトの名無しさん
2007/08/06(月) 09:59:330905デフォルトの名無しさん
2007/08/06(月) 10:01:430906デフォルトの名無しさん
2007/08/06(月) 10:05:37そのとおりですね
ただJavaでは絶対に出来ないと思えなかったので。
0907デフォルトの名無しさん
2007/08/06(月) 10:11:44コマンドライン引数での特殊文字の処理は変わらんと思うんだが
0908デフォルトの名無しさん
2007/08/15(水) 22:50:23AttachPermissionはAttachする側でのチェックでしかないですし。
0909デフォルトの名無しさん
2007/08/19(日) 23:19:48|Д`) ダレモイナイ・・オドルナラ イマノウチ
|⊂
|
♪ Å
♪ / \ ランタ タン
ヽ(´Д`;)ノ ランタ タン
( へ) ランタ ランタ
く タン
♪ Å
♪ / \ ランタ ランタ
ヽ(;´Д`)ノ ランタ タン
(へ ) ランタ タンタ
> タン
0910デフォルトの名無しさん
2007/08/29(水) 10:19:05半角かながありません。
正規表現で半角かなを簡単に指定する方法を教えてください。
0911デフォルトの名無しさん
2007/08/29(水) 11:52:030912デフォルトの名無しさん
2007/08/29(水) 11:55:190913デフォルトの名無しさん
2007/08/30(木) 11:34:42おお、こんなものが。
ありがとうございます。
0914デフォルトの名無しさん
2007/09/12(水) 15:25:440915デフォルトの名無しさん
2007/09/12(水) 15:32:00あれは日本のローカルなものだからねー。
Java で書かれたフリーな lha 解凍ライブラリはいくつかあるみたいだから、それ使ってみたら?
0916デフォルトの名無しさん
2007/09/12(水) 16:14:37ですよね。
ありがとうございます。
0917デフォルトの名無しさん
2007/09/21(金) 13:02:41func(String outarg1[],String outarg2[])
このようなパラメータを呼び出す方法やライブラリはありますでしょうか。
0918デフォルトの名無しさん
2007/09/22(土) 18:52:26環境変数をどう設定するのでしょうか?
超基礎質問スマソ。
0919デフォルトの名無しさん
2007/09/22(土) 19:39:53http://www.netbeans.org/index_ja.html
0920デフォルトの名無しさん
2007/09/23(日) 00:09:000921デフォルトの名無しさん
2007/09/23(日) 06:11:080922デフォルトの名無しさん
2007/09/23(日) 20:44:470923デフォルトの名無しさん
2007/09/25(火) 15:35:38valueが小数点以下が0の場合のみ Math.round を使いたいのですが、
小数点以下が0(整数)の判断はどうすればよろしいでしょうか?
0924デフォルトの名無しさん
2007/09/25(火) 15:43:560925デフォルトの名無しさん
2007/09/25(火) 18:53:160926デフォルトの名無しさん
2007/09/26(水) 17:05:06valueが1e20とかだとfalseにならないか?
それにオーバーフローとかは置いておいても
そう書くならvalue == (int)valueの方がすっきりしないか?
0927デフォルトの名無しさん
2007/09/26(水) 18:07:250928デフォルトの名無しさん
2007/09/26(水) 18:30:59だったら PixelGrabber を使う
int[] color = new int[1];
new PixelGrabber(image, x, y, 1, 1, color, 0, 1).grabPixels();
0929デフォルトの名無しさん
2007/09/26(水) 18:59:020930デフォルトの名無しさん
2007/09/27(木) 10:15:06お勧めなクラス・jarなどあれば教えてください。
0931デフォルトの名無しさん
2007/09/27(木) 11:10:49InputStreamReader
BufferedReader
HashMap
ArrayList
LinkedList
StringBuilder
あたりでできるのではないだろうか
0932デフォルトの名無しさん
2007/09/27(木) 11:35:13http://bigwww.epfl.ch/sage/soft/watershed/
のImageJプラグインの処理を、16bit対応の処理に改造してほしいです。
どなたかわかる方いらっしゃいませんか?
0933デフォルトの名無しさん
2007/09/27(木) 14:37:130934デフォルトの名無しさん
2007/09/27(木) 14:55:150935デフォルトの名無しさん
2007/09/27(木) 18:14:41interfaceとAbstractの使い分けは
そのクラスの抽象レベルによってつかいわけるんだよ^^
継承する具象クラスが一部の機能だけを継承するならinterface
クラスとして継承するならAbstract
ある意味抽象度で言えばより曖昧な存在がinterafaceであり
より具象化しているのがabstract
より曖昧な存在のinterafaceならポリモーフィズムを利用してよりたくさんの
クラスを扱える
0936デフォルトの名無しさん
2007/09/28(金) 00:26:48自動的に調べられるプログラムを作ってみたいのですが
考えがつく人いらっしゃいますか??
あんまりうまく伝えられなくてすいません。
よろしくお願いします。
0937デフォルトの名無しさん
2007/09/28(金) 00:39:400938デフォルトの名無しさん
2007/09/28(金) 00:54:470939デフォルトの名無しさん
2007/09/28(金) 00:57:420940デフォルトの名無しさん
2007/09/28(金) 01:01:260941デフォルトの名無しさん
2007/09/28(金) 01:06:500942デフォルトの名無しさん
2007/09/28(金) 01:39:22課題などで自分ではプログラムを作りたくない、作る技量が無いってことなら、
もっと仕様をきちんとまとめて宿題スレに投げればやってくれる人がいるかもよ。
自分でそういう「プログラムを作ってみたい」って言うんなら、
その程度のことは自分で思いつかなけりゃ結局全て他人任せのプログラムにしかならない運命だ。
0943デフォルトの名無しさん
2007/09/28(金) 03:20:02結局作ってみたいとかってのは嘘だったってことか
0944デフォルトの名無しさん
2007/09/28(金) 14:41:53を使ったプログラムを作れ
0945デフォルトの名無しさん
2007/09/28(金) 15:31:550946デフォルトの名無しさん
2007/09/28(金) 23:25:42public static void main(String __[]){ System.out.println("->"); }
}
0947デフォルトの名無しさん
2007/10/03(水) 11:35:02これは、Linuxでルートコンテキストのパスまでにシンボリックリンクが使われていたときは、
リンク先のフルパスが戻るということでしょうか?
その場合、リンク先のパスを使いたくない場合は、
ServletContext.getResource("/")..getPath() で大丈夫でしょうか?
手元にWindows環境しかなく確認できません。
よろしくお願いします。
0948デフォルトの名無しさん
2007/10/03(水) 11:52:380949デフォルトの名無しさん
2007/10/03(水) 12:06:530950デフォルトの名無しさん
2007/10/03(水) 12:09:48Virtual PCってLinuxインストールはライセンス的にOK?
だめならVMWareとかXenでいいけどね。
0951デフォルトの名無しさん
2007/10/03(水) 14:10:34Virtual PCが無料なんだからって流れからすればVMWareやXenは候補に挙げられんだろ
0952デフォルトの名無しさん
2007/10/03(水) 14:25:210953デフォルトの名無しさん
2007/10/03(水) 14:56:060954デフォルトの名無しさん
2007/10/04(木) 11:03:29Linuxでやってみましたが両方ともリンク先(自体)のフルパスでした。
0955デフォルトの名無しさん
2007/10/08(月) 09:34:07isDigitを使ってたんだけどこれだと小数と負の数が数字じゃないことになってしまう・・・
ちゃんと数字だと判別させるためにはどうしたらいいかな?
0956デフォルトの名無しさん
2007/10/08(月) 10:17:310957デフォルトの名無しさん
2007/10/08(月) 10:33:35ありがとう!それでやってみる。
0958デフォルトの名無しさん
2007/11/16(金) 15:59:09例えば
ls -al | java Hoge
のようにコマンドの標準出力をJavaに直接渡したいのですが何か方法
はありますか?
0959デフォルトの名無しさん
2007/11/16(金) 16:04:450960デフォルトの名無しさん
2007/11/16(金) 16:07:22普通に System.in で受け取ればいいんじゃない
0961958
2007/11/16(金) 16:16:50そんなコマンドがあるなんて知りませんでした!!!
でも、バイナリデータも渡したいので、直接渡せたらいいんですけど・・・
>>960
System.inだと起動時の標準入力は受け取れないようなんですが、書き方が
悪いんですかね・・・
0962デフォルトの名無しさん
2007/11/16(金) 22:16:190963デフォルトの名無しさん
2007/11/16(金) 22:56:05このプログラムの内容がわからないので解説がほしいのです。
一列ずつのプログラム説明をお願いしたいです。
どなたかわかるかた教えていただけますか
0964デフォルトの名無しさん
2007/11/16(金) 23:00:36わからないところだけピックアップして訊けよ
0965デフォルトの名無しさん
2007/11/17(土) 01:05:12やさしいオレ様が、4行程度教えてやろう。
49行と51行と53行と55行は、それぞれ左上、左下、右上、右下と表示する。
あとは自分で勉強すれ。
0966デフォルトの名無しさん
2007/11/17(土) 08:26:01やさしいオレ様が、少しだけ教えてやろう。
「00010:」って左に書いてある数字はプログラムじゃないぞ。
あとは自分で勉強すれ。
0967デフォルトの名無しさん
2007/11/17(土) 08:39:29インターネット派の俺が聞いてみる。。。(・∀・)ニヤニヤ
0968デフォルトの名無しさん
2007/11/17(土) 10:22:450969デフォルトの名無しさん
2007/11/17(土) 10:34:130970デフォルトの名無しさん
2007/11/17(土) 12:27:41すいません。場所は
13行目から22行目の内容と63行目から73行目ですよろしくお願いします。
0971デフォルトの名無しさん
2007/11/17(土) 12:35:4713-22 行目がわからないとなると、初心者本で勉強した方が良いのでは
としかいいようが無い。初めの方に書いてあるはず。
0972デフォルトの名無しさん
2007/11/17(土) 16:58:42eclipse3.2を使っております。
Javaでログを取りたいのですが、テキストファイルなどにはFINEST〜SEVERまでキチンと排出
されるのですが、エクリプスのコンソールにはconfigまでしかでません、レベル設定はどうやったらいいのでしょうか?
0973デフォルトの名無しさん
2007/11/17(土) 17:08:140974デフォルトの名無しさん
2007/11/18(日) 09:05:26ログレベルはLoggerとHandlerで別個に指定できるので両方が自分の用途に合っているか確認
0975デフォルトの名無しさん
2007/11/20(火) 01:06:58このプログラムの63行目から82行目の解説をお願いしたいんですがどなたか教えていただけますか?
よろしくお願いします^^
0976デフォルトの名無しさん
2007/11/20(火) 01:22:30いろんなところにマルチするのはやめろ
0977デフォルトの名無しさん
2007/11/20(火) 01:27:36おしえていただけないんですか??
0978デフォルトの名無しさん
2007/11/20(火) 01:46:55今まで質問を投げたスレで質問を閉めた旨を通知したレスをしたことがあるか?
投げっぱなしのマルチは死ぬがよかろうて。
0979デフォルトの名無しさん
2007/11/20(火) 02:16:12じゃーここのスレ何のためにあるん??
あんたみたいに愚痴言うためにあるのか??
0980デフォルトの名無しさん
2007/11/20(火) 02:21:200981デフォルトの名無しさん
2007/11/20(火) 04:21:46で、具体的に何がわからんの?どこまではわかるの?
0982デフォルトの名無しさん
2007/11/20(火) 04:27:01そこらじゅうに貼り付ける暇があるなら一報くらい入れればいいじゃん
それすらできないの?
0983デフォルトの名無しさん
2007/11/20(火) 12:46:18わからないのは63行目から82行目なんですが
70行目と82行目なぜ平方根して計算することによってどういうことが得られるのかがしりたいのと
またint topとint rightは何のために作っているのかがいまいちわからなくて
よろしくお願いします。
0984デフォルトの名無しさん
2007/11/20(火) 12:59:51使われてないコードを、どういうことが得られるもなにもないもんだ
ところで >>983 は、このプログラムが何をするものなのか (何を与えると何を出力するのか) 理解してるか?
0985デフォルトの名無しさん
2007/11/20(火) 13:10:51そうなんですか??
このプログラムは黒い点の座標を取得するものでとる場所は左上と左下と右下と右上なんですけど
なぜ四つの点だけをきれいに取れるのかがわからなくて19行目から21行目だけだとひたすら黒い点の座標
だけをとってしまうのでってことはcalcPointで何かしてるのかなと思いみてるんですけどわかんないんです。
0986デフォルトの名無しさん
2007/11/20(火) 17:33:22>for(int top = 0; top < 2; top++) {
>int apex_x = width * right;
>int apex_y = height * top;
より、それぞれpointsのindexが1,2,3,4の時、左上、左下、右上、右下からの要素について計算。
>Math.sqrt(Math.pow(x - apex_x, 2) + Math.pow(y - apex_y, 2));
で、その要素からの距離を出して、
>if (dist_apex < points[index].distance)
ですでに入ってる距離よりも小さければ代入。
初期値のときはDouble.MAX_VALUEなので確実に代入されるお、と。
コードの中に同じ部分があるcalcDistanceの計算は単なるピタゴラスの定理(sqrt(x^2+y^2))だよ。
0987デフォルトの名無しさん
2007/11/20(火) 20:18:35テキストから一行ずつ読み込んで、読み込んだ語を集計するプログラムを組みたいんです
元テキストには一行ごとに、URLかキーワードのどっちかが書いてあります
仕様の条件として
1、URLは集計に含まない(httpを含む文字列は無視?)
2、URLとURLの間に同じ語があっても一語としてカウント があります
2番を無視したやつはできるんですけど…
0988デフォルトの名無しさん
2007/11/20(火) 23:12:12なるほど☆
よくわかりました。本当に助かります。
ありがとうございます。
0989デフォルトの名無しさん
2007/11/21(水) 20:17:47語=1行なのか?
データフォーマット教えれ
0991デフォルトの名無しさん
2007/11/22(木) 19:12:00URLとURLの間ってのがわからん、こういうこと?
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29902
レス数が950を超えています。1000を超えると書き込みができなくなります。