JAVAならおれに聞け!

このエントリーをはてなブックマークに追加
1ビル・ジョブス
おれはこの3年間必死にJAVAを勉強してきた。
実際クソみたいな言語仕様だが改良に改良を重ねた1.5はチト使える。
よって、まともな言語としての扱いを受けるスタートラインにやっと立ったと言える。

JDK依存した質問はバージョン明記するように。
2デフォルトの名無しさん:2005/12/27(火) 07:10:29
リテラル文字列同士の’+’演算子での結合って、StringBuffer.Append()動くの?
なぜ、JAVA言語にはリテラル文字列のコンパイル時連結機能が無いの?
’+’がとってもウザイのだが・・。
3デフォルトの名無しさん:2005/12/27(火) 07:22:00
+か、下らん事に悩んでるより、他に勉強することあるでしょ?
4ビル・ジョブス:2005/12/27(火) 07:27:05
動く。
高速化したいならstatic final Stringで、プラス隠蔽したいならメソッド内で
final Stringで高速かつエレガント。逆に言うとstaticメソッド以外なら、
メソッド内ではリテラルにfinal付けなきゃ駄目って事。
で、リテラル文字列同士の+演算子って処理速いから気にするな。間違ってもconcat()や
append()使って書くなよ。見難いし醜いから。
リテラル文字列の連結機能うんぬんについては、言語仕様的に考えるとJAVAが正しいかもしれない。
なぜならC系のリテラルは+無しで連結できて変数は連結できないというのも少し引っかかる。
まぁ+がウザイのはJAVAだからって事で許してやれ。
5デフォルトの名無しさん:2005/12/27(火) 11:00:48
unsigned とか const が java に導入される日は来るの?
6デフォルトの名無しさん:2005/12/27(火) 21:59:44
unsigned は導入されることはない。
 for(unsigned int i = 10; i >= 0; i--) {
  
 }
とかアフォなコードを書く奴対策らしいぞ。
7デフォルトの名無しさん:2005/12/28(水) 03:10:07
constほすい(´・ω・`)
8ビル・ジョブス:2005/12/28(水) 04:41:42
constは別の用途に予約されているような。。
9デフォルトの名無しさん:2005/12/28(水) 08:47:19
メソッドのconstもほすい(´・ω・`)
10デフォルトの名無しさん:2005/12/29(木) 12:20:52
>>1
”改良に改良を・・”ってところがフリー(=無責任)のJAVAらしくていいね。
11デフォルトの名無しさん:2005/12/29(木) 19:14:02
あと、”推奨されません”ってなんだよいったい。
12デフォルトの名無しさん:2005/12/29(木) 19:50:32
JAVA VMがメモリを食いまくっていますがなんとかならないのでしょうか?
256MBとか簡単に使っているのですが、どう考えても尋常じゃないです。
13デフォルトの名無しさん:2005/12/29(木) 20:08:41
全部大文字(゚д゚)
14ビル・ジョブス:2005/12/29(木) 20:19:01
Windows前提なら、わざわざインタプリタのJAVAではなく、
素直にC#使えって事です。
15デフォルトの名無しさん:2005/12/29(木) 20:35:05
そうなんだよ。
どうせwindowsなのに、あえてJAVA使ったら逆にCPUパワーロスしているようなもんだよ。
linuxなんて一生使わない人かなり多いと思うし。
16デフォルトの名無しさん:2005/12/29(木) 23:40:30
インタプリタで、プリン食べたい!
動的コンパイルで、疲労困憊!
動的クラスローディングで、ロードホイールディング最高!

結局CPUが蛇場バイトコードを直接実行出来る日が来るまでダメ
17JAVAの強みは:2005/12/29(木) 23:50:19
マルチプラットフォームに対応していることだけか?
18デフォルトの名無しさん:2005/12/30(金) 01:23:47
あなたたちはJavaで何をしたいんでしょうか?
Javaの強みを良く考えてからスレ立てしれ。
コノアフォドモガ
19デフォルトの名無しさん:2005/12/30(金) 05:30:29
RMIでConnection refused to host:192.168.0.2ってエラーが出ちゃいます。どうしたらいいですかね?
20デフォルトの名無しさん:2005/12/30(金) 06:20:35
やりなおせ
21デフォルトの名無しさん:2005/12/30(金) 12:09:52

 「ばあちゃん?おれおれ。
  事故ったから30万な。
  ナ メ た マ ネ す ん な よ。
  ごめんね。よろしくね」
22デフォルトの名無しさん:2005/12/30(金) 22:03:10
>>18
どこがJavaの強みなのか、まずはあなたが説明してください。
23デフォルトの名無しさん:2005/12/30(金) 22:04:42
>>22
ひたすら重いこと。w
24デフォルトの名無しさん:2005/12/30(金) 23:18:00
>>22
Javaの強みはJ2EE。
>>23
サーブレット開発言語としてのJavaとはまったく関係ない。
25デフォルトの名無しさん:2005/12/31(土) 00:48:50
>>9
つprivate final String a;

つpublic set(final int x){
 //(ry
}
26デフォルトの名無しさん:2005/12/31(土) 10:23:47
>>9が言いたいのは、メソッドでC++みたいにインスタンスのconstリファレンスを返したいということじゃないだろうか
27デフォルトの名無しさん:2005/12/31(土) 11:41:19
俺漏れ
void method() const { }
この const が欲しいよう欲しいよう

このメソッドを使っても、インスタンスの中身は変化しないという安心感!!(゚д゚)シメジ!!
あーそしたら今度は mutable が欲しいとか言い出したりして。。。




つ Immutable パターン
28デフォルトの名無しさん:2005/12/31(土) 18:54:42
javaで固定番地(I/Oポートとか)へのアクセスってどうやるの?
29デフォルトの名無しさん:2005/12/31(土) 19:28:11
正直、JAVAでは中国と戦えないと思う。
30デフォルトの名無しさん:2005/12/31(土) 20:37:44
中国と言えば・・
近未来、フリーウェアが中国にとって最大の武器になるよ。
きっとSUNのJVMを超えるVM作ってくるよ。さっさとソースは隠蔽しないと・・。

もう日本人はダメだ、そういうCreativeな精神が無いし、他力本願、
真っ先に”批判(非難)”する事から物事考え始めるから。
31デフォルトの名無しさん:2005/12/31(土) 21:45:09
> もう日本人はダメだ、そういうCreativeな精神が無いし、他力本願、
> 真っ先に”批判(非難)”する事から物事考え始めるから。

最近は、日本人もCreativeだし自力でやりだしてるし、そういうことの成果が見え始めてるといわれてるわけだが。

ダメだったりCreativeな精神がなかったり、他力本願だったり真っ先に”批判(非難)”する事から物事考え始めてるのはお前だろ。
日本人の性質にしないでくれ。
32デフォルトの名無しさん:2005/12/31(土) 22:18:29
しかし自力でやるよりは、既にあるものを利用する方が
信頼性が高いっつーのは事実な。

OS作ってるひげぽんが、slashdotに巣くってる奴らから叩かれているのは
ひげぽんとその周囲の人間が、多大な時間を無駄にしているからだ。
決して「2ch憎し」で叩いてるんじゃないんだよ。
33デフォルトの名無しさん:2005/12/31(土) 23:22:52
短期的な成果に結びつかない作業にOKださない上司は多いな。
まあ、中間管理職には権限ないし、上のほうはソモソモ興味ないからな。
ITITいいながら実は全然興味ない馬鹿幹部ばっかり。
34デフォルトの名無しさん:2006/01/01(日) 01:34:49
>>28
JNI
35デフォルトの名無しさん:2006/01/01(日) 10:24:57
げんなりする回答キター!!
36デフォルトの名無しさん:2006/01/01(日) 13:09:10
>>31
>最近は、日本人もCreativeだし自力でやりだしてるし、そういうことの成果が見え始めてるといわれてるわけだが。
どこが?詳しく教えてくれ。自画自賛だったりして。
おれも日本人だが海外に住んでいる、日本人にはそういう力は無いと断言する。
国民の90%以上がまともに英語すら喋れない島国根性丸出しの国で、世界に通用するフレームワークの1つでも作れるのか?
WEB系のIDEだってみんなECLIPSE(チト改)を偉そうに製品化しているよな?
日本国民は素晴らしいとか、世界第二位の経済大国とか、鼻で笑っちゃうような自慢するなよ。諸外国は日本と言う国に対して
そんな印象は持っていないぞ。確かに車やSONY以外の家電の信頼性は高い。
しかし日本人は「仕事するために生きている民族で、生きるために仕事をしているわけではない」つまり、人間ではないと思われている。
良い製品を作ってくれる、単なる物的製造国家ありがとう。ってな感じ。
日本人に対しての敬意や尊敬など全くと言っていいほどこの世には存在しない。
英語くらい話せるようになってから、能書きたれろ。そして勘違いもいい加減にしろ。
37デフォルトの名無しさん:2006/01/01(日) 15:13:00
>SONY以外の家電の信頼性は高い
禿
38デフォルトの名無しさん:2006/01/01(日) 17:22:28
>>36
まあまあ同意。他国からすれば、東の果てにある工場、なんでしょうな。
しかし、読みづらいよ。もうちょっと短くまとめるか、改行はさんでてくれるとありがたかった。
39仕様書無しさん:2006/01/01(日) 18:23:07
JDBC関連の本が意外にないのですが、良書ないでしょうか。
密林でみたかぎりはどうも古い年代のしかないようです。
40デフォルトの名無しさん:2006/01/01(日) 22:27:10
>>39
そりゃそうでしょう。今ごろJDBCを直接使うことなんてありませんから。
41仕様書無しさん:2006/01/01(日) 23:33:08
え、どういうこと?JDBC以外にもDBにアクセスする方法が
JAVAにはあるということですか?
42デフォルトの名無しさん:2006/01/02(月) 01:27:58
正直、SQLなんていまどき書いてられない!って
面倒くさがりが多すぎるんでO/Rマッパが流行ってる
43デフォルトの名無しさん:2006/01/02(月) 03:23:03
確かに言語から文字列で渡すSQL文って、いい加減勘弁してほしいね。
SQLって言語仕様として取り入れるべきなんだよな。
表情報なんかもコンパイラがDBに取りに行くべきなんですよ。
44デフォルトの名無しさん:2006/01/02(月) 03:34:14
皆さん表の項目名は当然日本語ですよね?
45デフォルトの名無しさん:2006/01/02(月) 05:55:50
43>>
まぁ、そうだけど、どのみち、複雑なSQL文はマッパじゃ無理じゃねぇ。
つか、マッパまでいかないにしても、JDBCのデータセット??レコードセット??
って更新されたレコードを元に自動的にSQL文って組み立ててくれんのか??
.NETならデータセットとデータアダプターが自動的にSQL文組み立てて発行してくれるが、
それだけでも、とりあえずは十分なんだが。
46デフォルトの名無しさん:2006/01/02(月) 06:59:27
>>45
既存システムからの移行なら複雑なSQLもあるかもしれないけど。
新規なら、O/RマッパやコンテナのCMP/CMRの機能に合わせて、DB設計しちゃう。
ようするに、オブジェクトの永続化に問題なければいいわけだから。
47デフォルトの名無しさん:2006/01/02(月) 09:17:01
sql.select(hoge).from(hage).where(fuga);
48デフォルトの名無しさん:2006/01/02(月) 10:19:27
>>47
惜しい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ベンダに頼めばいいんだお!
49デフォルトの名無しさん:2006/01/02(月) 11:30:07
SQL文字列を構築するクラスライブラリなら作ったことあるよ。
あまり本格的にするつもりなかったから、DB構造のオブジェクト化まではしなかったけど、
そんなに工数はかからなかった。
>>48の最初の例くらいなら、すぐに作れるでしょ。
50デフォルトの名無しさん:2006/01/02(月) 11:31:30
javaに3Dライブラリってありますか?
PS2程度の性能で十分なのでjavaで色々と出来ないかなと考えてます。
51デフォルトの名無しさん:2006/01/02(月) 11:35:23
>select(でインテリ利かすため
う〜ん、どっちかって言うと、おれはドットでフィールド一覧出てきて欲しい。
テーブル名毎回入力するのだけはカンベン。修飾すればいいのか・・。
52デフォルトの名無しさん:2006/01/02(月) 11:40:34
Visual Studio C#/C++/J# Expressだけならまだしも、
SQL Serverまで無償配布かよMS!
こりゃ、2006はMSの天下決定だな。
53デフォルトの名無しさん:2006/01/02(月) 12:41:58
>>50
ありますよ。てか、JavaやるならSunのサイトぐらいチェックしなさいよ。

ttp://java.sun.com/products/java-media/3D/index.jsp
54デフォルトの名無しさん:2006/01/02(月) 15:58:36
無償のSQL Serverったって、中身はMSDE2005なわけで、
これは正直MSの名前替え戦略の勝利だな。
55デフォルトの名無しさん:2006/01/02(月) 19:05:12
ものは言いようの世界ってことだね
56デフォルトの名無しさん:2006/01/03(火) 12:44:37
つうかこのスレッドのやつらって素人だろ
57デフォルトの名無しさん:2006/01/03(火) 17:12:23
しっかりageて、そんな事言わなくても・・で、age。
58デフォルトの名無しさん:2006/01/03(火) 17:32:07
>>50
Java 3D API
59デフォルトの名無しさん:2006/01/03(火) 17:36:14
>>49
バイト先で差、先陣の学生アルバイトが作って就職して去っていった
ときに残ったソースコードに、独自のクエリ構築クラスを
作ってるのがあったが、確かにある程度までは使いやすかったが、
fromの前の句、from句、where句それぞれのクラスを作っていたが
どうも中途半端で。それらから内部で文字列連結をするものだったが、
max()やasなど細かいことがやりづらいのが難点だった。副問い合わせもinもjoinもunionも
中途半端。
ほかにも、メソッド引数にいちいち型変数を渡すとか二度手間が多いこと、などには代わりなかったよ。

率直にHibernate使って欲しかったな、と思った。
60デフォルトの名無しさん:2006/01/03(火) 17:39:10
>>52
Oracleだって無償版あるけど。
SQLServerよりもOracleのほうが信頼と実績があって高機能だし。
オープンソースのPostgreSQL8.1もなめちゃいけないよ。
あれも高性能高機能。恐るべしというところか。

そのSQLServer無償配布というのがVS.NET Expressのように一年間限定でなければいいけど。
61java:2006/01/06(金) 02:25:08
すみません、聞きたいことがあります。
MouseEventでjavaアプレットを起動しているのですが
そのアプレット内にあるActionEventが実行されません。
何が原因なのでしょうか?
ActionEventのみで作ったプログラムは動きます。
よろしくおねがいします。
62デフォルトの名無しさん:2006/01/06(金) 03:45:10
>Oracleだって無償版あるけど。
これ、使ってみたけど、何か処理が遅すぎるんだよね。なんか、遅くなるよう細工してるのかな?

>オープンソースのPostgreSQL8.1もなめちゃいけないよ。
>あれも高性能高機能。恐るべしというところか
そうなんだけど、なぜ、世の中はMySQLなんだ??
PostgreSQLは日本で一番はやっていると聞いたが。

>Visual Studio C#/C++/J# Expressだけならまだしも、
>SQL Serverまで無償配布かよMS!
>こりゃ、2006はMSの天下決定だな。
まぁ、これは消費者のせいだな。Officeから何でもMicrosoftの製品
買うから、独占がどんどん強くなって、高価格と言う弊害が出る。
俺を含めた消費者の自業自得
63デフォルトの名無しさん:2006/01/06(金) 08:38:07
>>61
マルチ乙
64デフォルトの名無しさん:2006/01/06(金) 08:40:46
>>62
時代がまだ一太郎+123だった頃の独禁法違反は無視ですかそうですか
65デフォルトの名無しさん:2006/01/06(金) 09:12:12
>>62 PostgreSQLはSunがサポートするようになったからこれからじゃない?
MySQLは速度重視という絶対的なポジションがあったからね
ただ色気づいて機能追加していった時に今まで通り速いのかは知らね
66デフォルトの名無しさん:2006/01/06(金) 10:03:36
staticメソッドをインスタンスからどうしても呼ばなければならないときに、
呼んでも特に影響はないでしょうか?
67デフォルトの名無しさん:2006/01/06(金) 10:22:05
>>65
MySQLは機能追加して速くなくなったものと今まで通り速いものをテーブルごとに切り替えられる。
PostgreSQLは普及期にWindows対応してなかったのが痛い。
日本の場合トランザクションにこだわるのでPostgreSQLが広まったけど。
68デフォルトの名無しさん:2006/01/06(金) 10:22:44
>>66
Integer.parseIntとか、普通に呼び出すだろ。
69デフォルトの名無しさん:2006/01/06(金) 12:00:52
MouseEvent内でActionEventを実行しても、イベントキューのせいでActionEventが実行されません。
この難問を解ける方いませんか?
70デフォルトの名無しさん:2006/01/06(金) 12:20:33
>>68
Integer.parseIntがstaticですかそうですか
71デフォルトの名無しさん:2006/01/06(金) 12:46:20
>>70
何か疑問でも?
72デフォルトの名無しさん:2006/01/06(金) 13:04:05
現在、J2SEv1.4.2_10にて電卓プログラムを作成中なのですが、
小数点以下の桁数が多い演算で困っています。
BigDecimalクラスのメソッドを使って計算しているのですが、
例えば、0.00000000001 + 0.00000000001 の計算結果が
2E-11 と常用対数(?)で表示されてしまいます。
この計算を 0.00000000002 と表示させる方法はあるのでしょうか?
v5.0ではString.format()メソッドを使えばよさそうなんですが、
v1.4.2_10でできる方法があれば、どなたか教えて頂けないでしょうか?
よろしくお願いいたします。
73デフォルトの名無しさん:2006/01/06(金) 13:18:23
>>72
1.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()
7472:2006/01/06(金) 13:32:02
上のコードを実行してみたところ、やはり
2E-11
と表示されてしまいました・・・。
75デフォルトの名無しさん:2006/01/06(金) 13:35:34
>>74
1.5で実行してない?
7672:2006/01/06(金) 13:58:40
1.5で実行していました・・・。
大変お騒がせいたしました・・・。
77デフォルトの名無しさん:2006/01/06(金) 21:11:57
質問いいですか?
JAVAから別のJAVAを実行させるにはどうすればいいのでしょうか?
78デフォルトの名無しさん:2006/01/07(土) 05:22:18
すみません
解決しました
79デフォルトの名無しさん:2006/01/07(土) 16:35:24
>>78
は私じゃないです
勝手に解決されるとこまります
まだなので教えてください
80プログラマーの卵:2006/01/09(月) 15:28:52
JavaとposgreSQLを勉強してるものです。
あの〜、JSPサーブレットとかアプレットできないとJavaの仕事としてなりたたないものですか?
あと就職が近いのにうまくプログラムが組めないんでいるんですが、就職したらどうにかなりますか?


81デフォルトの名無しさん:2006/01/09(月) 15:35:10
心配しなくても寝る間もなく働かされるから大丈夫だ。
そういう作業を続けてたら、そのうちどうにかなる。
82デフォルトの名無しさん:2006/01/10(火) 11:03:00
コンストラクターを定義しないと親クラスのコンストラクターが呼ばれますが
これは普通に継承しているからという仕組みなのでしょうか。
83デフォルトの名無しさん:2006/01/10(火) 15:03:53
コンストラクタを定義しないと
public Hoge(){
 super();
}
というコンストラクタが定義される。
84デフォルトの名無しさん:2006/01/10(火) 22:49:39
>>80
おまえみたいな香具師がバグだらけのプログラム書いて周りに迷惑掛けるんだよ
こっちの世界にくんな
85デフォルトの名無しさん:2006/01/11(水) 14:14:15
>>80
・JSPサーブレットなどは存在しない。JSPとサーブレットは分けなさい。
・勉強途中で断念するくらいなら別の道に進みなさい。
・勉強は死ぬまで、少なくとも退職するまで続くものと思いなさい。
・就職しただけではどうにもならない。
・世の中のシステムはJavaだけで構成されるものではない。
・そもそもプログラミングだけでは食べていけない。企画立案・要件定義・設計・運用も考えなさい。

以上がいやならこっちにこないでください。お互い、不幸になるだけです。
86異端 A:2006/01/11(水) 23:31:09
JAVAでゲームを作っているものです。
JAVAがはじめてのプログラミングでそれで最初のプログラムがゲームだなんて
無謀かと思いましたが、案外何とかなりそうです。
初めて組んだプログラムが動き出した時はとても感動しました。

そこで質問なんですが、もしこの業界でプログラムをやっていく場合
これからもずっとその感動というものは味わえるのでしょうか?
プログラマーは苦労に対して喜びが小さいとよく聞くので心配です。
87デフォルトの名無しさん:2006/01/11(水) 23:53:08
>>86
まとめ売りの内のひとりになると、言われた作業をこなすだけになるから楽しくない。
言われた作業自体が見当違いってことも多いしな。
突出した力を持ち続けれれば、プログラムはいつまでもずっと楽しい。
88デフォルトの名無しさん:2006/01/12(木) 00:50:40
>>86
業務系の全てがそうだとは言い切れないけど、少なくともうちとこではコーディング
してる時間は思いの他短い。
一日中キーボードを叩き、日々プログラミングを学び続けるという姿を想像してるの
だとしたら、現実はそれとは大きく違う。
1日の半分くらいはミーティングとドキュメンテーションを行ってて、残りの時間でコ
ーディングしてるといった感じ。

ミーティングは数人規模でのスタンディングミーティングが主で、これが面子を変え
ながら方々で繰り返し行われる。
ドキュメンテーションは技術的なものを想像すると思うけど、実際は社外折衝や社
内調整なんかの伝達事項も多く、一般にイメージされるプログラマの仕事とはかな
り毛色が違って見えると思う。
プログラミングに関しては、必要な所を必要な時に必要なだけしか学ばない。それ
はまるで、某自動車メーカーの在庫管理の様w
だから、特定分野に関しては非常に詳しいが、そこから外れると驚くほど何も知ら
ないという穴の空いた知識になりがち。

まぁ、会社ってのは意外と色んな仕事があるもんで、プログラマだからってプログ
ラミングだけやってるわけじゃないってこと。
てか、プログラミングしかできない様だと、35歳定年説とかが笑い話にならなくなる。
89異端 A:2006/01/12(木) 01:19:38
>>87
>>88
なるほど とても参考になりました。ありがとうございます。
プログラムだけで食っていく事は難しいんですね。感動も少ない。
いろんなそれに通ずる技術も身につけることにします。
90デフォルトの名無しさん:2006/01/12(木) 12:26:33
>>89
既に>>88さんが述べているけど、重要なのは対人折衝能力。これが苦手分野だと、イバラの道。
対人折衝能力があるなら、たいていの職業はこなせそうな気もするけど。
自分は苦手じゃなかったのにメンヘル板に出入りするようになってしまった負け組です。
91デフォルトの名無しさん:2006/01/13(金) 00:45:27
コーディングする時間って短いよね。
自分は大体こんな感覚だけど。

設計:コーディング:単体テスト=5:1:4
92デフォルトの名無しさん:2006/01/13(金) 16:09:31
プロセスIDやスレッドIDは取得することができるでしょうか?
93デフォルトの名無しさん:2006/01/13(金) 23:32:59
そんなの知ってどうすんだよ。
ビルゲイツぐらいのスーパーハッカーが01の集まりでプログラム組んで
やっと取れるかどうかってぐらいの難しいもんだぞ。
94デフォルトの名無しさん:2006/01/14(土) 00:23:07
VM内で管理しているスレッドIDなら取得可能。
OSネイティブなやつなら、ピュアJavaでは無理。
JNI経由でシステムコールを呼べば取得可能。
9592:2006/01/14(土) 00:47:04
ありがとう、ゲイツ
96デフォルトの名無しさん:2006/01/14(土) 05:30:17
ここってネタすれ?
97デフォルトの名無しさん:2006/01/15(日) 14:23:52
ここはトリックだ!とか言わないよね?
98ビル・ジョブス:2006/01/16(月) 14:55:27
ここはネタスレでも、宿題スレでもない、質問があれば答える。
「JAVA言語について語る」ただそれだけ。
99デフォルトの名無しさん:2006/01/16(月) 15:51:06
JAVAアプリが動くとCPUキャッシュが死んでしまうほど無力化されてしまう。
そもそも、昨今のCPUはインタプリタ向けには作られていない。
それにJAVAもOSコードを利用する仕組みから動作のオーバーヘッドが大きすぎる。
さらにはGCそのものもJAVA−VMの仕事だが実際はOSに負荷をかけまくり。
なぜならJAVA−VMからも物理アドレスは見えないから。
JAVA−VMがコンパイルしたコード資産も仮想マシンの終了と共に消滅する。
よって、いくら高速なCPUを使用していてもJAVAを使う限り無駄があると言える。
100デフォルトの名無しさん:2006/01/16(月) 16:27:15
>>99
じゃあJava専用CPU作れば?
101デフォルトの名無しさん:2006/01/16(月) 21:26:55
あの…。javaでデッドレコニングする方法は
どうやるんでしょうか?
全くの初心者なので質問も大雑把ですいません。
102異端 A:2006/01/17(火) 22:00:59
すみません
MacOS9 にJAVACをいれる方法を教えてください。
もう本家ではサポートされていないんですか?
103デフォルトの名無しさん:2006/01/18(水) 12:06:00
Javaが遅いのはWINDOWS上のことであって、その他のプラットフォーム上ではそうでもありません。
私はLinuxでJavaを使っています。
速いとは言えませんが、十分使用に耐えるスピードです。
あとSWTですが、スピードに関してSWINGを遥かに凌ぐというのは風説であり、根拠がないと考えています。
遥かにという部分が間違いであり、若干速くなったというのが正確かと思います。
104デフォルトの名無しさん:2006/01/18(水) 12:52:34
Javaのバイトコードを、
SPARC互換にすればよかったんじゃないかなー
って、時々思う。
105デフォルトの名無しさん:2006/01/18(水) 16:28:15
JPopupMenu内にJComboBoxを組み込んでJComboBoxの項目を選択しても
JPopupMenuが消えないようにする方法を教えてください
106デフォルトの名無しさん:2006/01/19(木) 05:16:56
慌てず急いで正確にな
107デフォルトの名無しさん:2006/01/19(木) 11:23:31
真田さーん
108デフォルトの名無しさん:2006/01/19(木) 17:34:29
>>105
JPopupMenu内にJComboBoxを組み込むという発想そのものが間違いなのではないか?
JMenu を add して階層構造にすればいいのではないか?
109デフォルトの名無しさん:2006/01/20(金) 14:39:03
>>108
解答ありがとうございます
JPopupMenuが消えても機能的には問題ないんですが少し気になったもんで
複数のポップアップを同時に表示できればできそうなもんなんですが・・・
110デフォルトの名無しさん:2006/02/02(木) 13:37:05
>>109
普通そういうのはサブメニューにしちゃうよね。
わざわざJComboBoxってことは、エントリ数がとてもとても多いってこと?
111デフォルトの名無しさん:2006/02/02(木) 16:09:21
文字指定された日付をDate型にしたく、
new Date("2005/10/10")としたのですが、使用すべきではありませんといわれました。
どうすればよろしいでしょうか。
112デフォルトの名無しさん:2006/02/02(木) 19:42:21
1行ずつファイル情報を読込む場合はどうすればよろしいでしょうか。
FileReaderにはread()しかみあたりません。
113デフォルトの名無しさん:2006/02/02(木) 22:31:05
>>111
SimpleDateFormat を見よ。
>>112
BufferedReader を見よ。
114デフォルトの名無しさん:2006/02/03(金) 10:00:46
Propertiesクラスはマルチスレッド内でもうまく動くのでしょうか?
同じPropertiesインスタンスを持っているスレッドが複数有り、
同時にsetPropertyやstoreなどを呼び出しても問題ないでしょうか。
115デフォルトの名無しさん:2006/02/03(金) 12:39:51
>>114
Propertiesの親はHashtableだから最低限の同期は取るんじゃないですかね。
しかしそういう使い方はPropertiesというクラスに似合わない気がする。
116デフォルトの名無しさん:2006/02/07(火) 15:53:38
日付の演算はどうすればよろしいでしょうか。
1日後、1日前がわかりません。
117デフォルトの名無しさん:2006/02/07(火) 15:58:55
Calendar.add
118デフォルトの名無しさん:2006/02/10(金) 16:24:27
>>117
ありがとうございます。
遅くなりまして申し訳ございません。
日付情報から日付を生成しようと思っているのですが、
new Date("2005/10/10");をコンパイルすると
使用すべきではありませんと表示されます。
どうすればよろしいでしょうか。
119デフォルトの名無しさん:2006/02/10(金) 20:52:03
>118
数レス前も読めんのかこのノータリン
120デフォルトの名無しさん:2006/02/13(月) 15:50:20
javaの計算で
小数点切捨ては、 8/3
四捨五入は、Math.round(8.0/3)、
切り上げはどうすればよいでしょうか
121デフォルトの名無しさん:2006/02/13(月) 21:30:55
>120 ceil
122デフォルトの名無しさん:2006/02/14(火) 11:57:18
>>121
ありがとうございます。
通常、2/3だと答えがint型になって桁が切り捨てられますが、
小数点で結果を取得したい場合は、
2.0/3とすればよろしいでしょうか。
123デフォルトの名無しさん:2006/02/14(火) 17:33:06
>>122
そう。但しその値を代入する場合は型が double か float でないと保持できない。

124デフォルトの名無しさん:2006/02/15(水) 09:46:15
>>123
ありがとうございます。
Integer = Integer - int をしたい場合は
new Integer( Integer#intValue() - int ) でできましたが、
もっと簡単な方法はあるでしょうか。
125デフォルトの名無しさん:2006/02/15(水) 11:10:35
>>124
Java SE 5 を使う
126デフォルトの名無しさん:2006/02/15(水) 11:32:57
>>125
すいません。1.48を厳守されているので。
1.5だとそんなに簡単にできるのでしょうか?
127デフォルトの名無しさん:2006/02/15(水) 13:10:28
1.48とはなんのことやら。
ちなみに1.5でのことはttp://java.sun.com/j2se/1.5.0/ja/docs/ja/relnotes/features.htmlの
オートボクシング・アンボクシングでみてみるといいよ
128デフォルトの名無しさん:2006/02/16(木) 01:33:18
>>126
Retroweaverを使う
129デフォルトの名無しさん:2006/02/16(木) 19:46:45
今日から100日後までの日付(dateもしくはlong)のデータをListとして使用したいのですが、
どうすればよろしいでしょうか。
130デフォルトの名無しさん:2006/02/16(木) 19:51:21
>>129
自己レスです。
Calendar#rollがなんか使えそうです。
ただ、100日後はできそうですが、xxxx/xx/xxまではできないようです。
むずかしい・・・
131デフォルトの名無しさん:2006/02/17(金) 00:07:40
つうか普通にforでまわせばいいじゃないか。
132デフォルトの名無しさん:2006/02/17(金) 12:54:39
>>129-130
オブジェクトは秒(もしくはミリ秒)で管理して、取り出すときだけDateにする。
133デフォルトの名無しさん:2006/02/17(金) 13:15:28
// 現在から100日
ArrayList 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));
134デフォルトの名無しさん:2006/02/17(金) 13:16:33
しまった! 閏秒を忘れていた!
135デフォルトの名無しさん:2006/02/17(金) 13:42:04
あ、それ以前に>>133は大きな間違いをしているな。
見る人が見れば分かるから放置することにする。
初心者は自分で考えな。
136デフォルトの名無しさん:2006/02/23(木) 21:55:34
"Fri Feb 17 21:35:35 JST 2006"の文字情報から
Dateインスタンスを取得したいのですが
どうすればよいでしょうか?
137デフォルトの名無しさん:2006/02/23(木) 22:05:00
>>136
SimpleDateFormat でも使えば。
138デフォルトの名無しさん:2006/02/23(木) 22:24:49
>>137
SimpleDateFormat.getDateInstance().parse("2005/10/10 10:10:10")でエラーになってしまいました。
何がだめなのでしょうか?
139デフォルトの名無しさん:2006/02/24(金) 08:38:55
>>138
なんでgetDateInstanceすんだよ・・・
140デフォルトの名無しさん:2006/02/24(金) 09:49:51
>>139
すみません。よくわからずに使ってしまいました。
基本的な使い方がわかりません。
141デフォルトの名無しさん:2006/02/24(金) 16:59:01
>>140
でけた。
new SimpleDateFormat("yyyy-MM-dd").parse("2006-01-01")
142デフォルトの名無しさん:2006/02/24(金) 19:12:42
>>141
かんぺき
143デフォルトの名無しさん:2006/03/01(水) 16:32:17
HashMapのキー検索はhashcodeを使用しますが、
hashcodeの値が同じでも、クラスの型が違う場合は、値を取得できないのでしょうか。
実際やってみましたが取れませんでした。
コード
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
144デフォルトの名無しさん:2006/03/01(水) 23:38:22
取れたら困るだろ。
145デフォルトの名無しさん:2006/03/02(木) 14:20:11
>>143
ハッシュ値は必ず重複することが分かっているので
ハッシュ値だけでデータを特定するなどということは
普通はしない。
146デフォルトの名無しさん:2006/03/02(木) 14:36:04
>>145
ありがとうございます。
ということは、ハッシュコードとクラスの型で判断しているということでしょうか?
147デフォルトの名無しさん:2006/03/02(木) 16:42:39
>>146
同一ハッシュで複数あったら equals() で全部比較しているのでは?
ソース読んだことないけど。
148デフォルトの名無しさん:2006/03/05(日) 09:51:52
ガベコレの一般的な話題(実装や手法)はどこでやったらいいかね?
149デフォルトの名無しさん:2006/03/05(日) 13:56:17
150デフォルトの名無しさん:2006/03/05(日) 15:27:30
ども
151デフォルトの名無しさん:2006/03/07(火) 16:39:07
定数にプロパティの値を使用したい場合は、下記の通りしなければならないでしょうか。
private 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");
152デフォルトの名無しさん:2006/03/07(火) 20:36:31
JAVAを勉強しようと思ったのですが、質問があります。
JAVAってVisualVasicみたいに、ボタンを貼り付けて、それに動きを
与える様な事って出来るんですか?
書店の参考書とか見ても、DOSの画面での実行結果とかしか載ってないので...
どなたか教えてください。
153デフォルトの名無しさん:2006/03/07(火) 21:40:16
>>152
できる。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/
154デフォルトの名無しさん:2006/03/07(火) 22:17:35
>>152
できるけど、その機能は言語そのものの機能ではない。
GUIソフトを作り易くするための補助的なツールだ。
155デフォルトの名無しさん:2006/03/07(火) 22:22:26
156デフォルトの名無しさん:2006/03/08(水) 10:02:01
csvのファイル処理で、「\」でエスケープや、「"」「'」をうまく扱うようなクラスはあるでしょうか。
StringTokenizerはちょっと違うような気がして。
157デフォルトの名無しさん:2006/03/08(水) 11:28:36
>>156
そういうクラスはないと思うなあ。あったかなあ?
まあ、簡単だから自作したら?
158デフォルトの名無しさん:2006/03/08(水) 21:14:07
配列のサイズ変更は可能でしょうか?
159デフォルトの名無しさん:2006/03/08(水) 21:24:56
サイズの違う配列を作ってデータを積み替えるしかない。
160デフォルトの名無しさん:2006/03/09(木) 09:49:06
>>159
ありがとうございます。
ということは、ArrayList#addは、追加されるたびに内部で配列を生成しなおしているのでしょうか?
161デフォルトの名無しさん:2006/03/09(木) 10:33:31
>>159
for文でまわして、手動でやるしかないのでしょうか?
162デフォルトの名無しさん:2006/03/09(木) 12:08:47
Javadocドキュメントとかソースとか提供されてるんだからさ、自分で調べようよ。
まあ「おれに聞け!」ってスレだから、しかたないけど。毎回2chで聞くわけにもいかないでしょ?
と、じじいの説教。

>>160
追加されるたびではなく、内部配列の容量を超えたとき、さらに追加されることも考慮して、ある程度の
余裕を持って拡大した配列を生成している。

>>161
System#arraycopyとか、配列をListにしてjava.util.Collections#copyとか、いろいろできる。
163デフォルトの名無しさん:2006/03/09(木) 19:37:53
synchronized (resource) {
 resource.xxx();
}
の場合、他のメソッドで
resource = yyy;
とすると、書込みはロックされないのでしょうか。
synchronized (resource) {
 resource = yyy;
}
にするべきでしょうか。
164デフォルトの名無しさん:2006/03/09(木) 21:34:58
>>163
他のメソッドというか、他のスレッドからそういうことをすればロックは掛からない。
というかロックはインスタンスに対して掛かっている。変数名に対して掛かっている
のではない。
165デフォルトの名無しさん:2006/03/10(金) 09:53:24
>>164
ということは、メソッドをsynchronizedにしても、ロックの掛かり方は同じでしょうか?
また、インスタンスにロックということは、同じクラスにsynchronizedメソッドが2つあった場合、
その2つのロックは独立性はなく影響しあうということでしょうか。
166デフォルトの名無しさん:2006/03/10(金) 18:14:22
>>165

> ということは、メソッドをsynchronizedにしても、
> ロックの掛かり方は同じでしょうか?

意味がわからん。何を聞いているんだ?

> また、インスタンスにロックということは、同じ
> クラスにsynchronizedメソッドが2つあった場合、
> その2つのロックは独立性はなく影響しあうという
> ことでしょうか。

synchronized メソッドというのは synchronized (this) {...}
のブロックの中に全処理が書かれたメソッドと同じだ。this が
同じならロックが掛かる。違えば関係がなくなる。
167デフォルトの名無しさん:2006/03/11(土) 10:07:33
>>156
正規表現クラス使えばいいじゃん
168デフォルトの名無しさん:2006/03/11(土) 15:47:52
>>167
CSVがうまく処理できるような正規表現おしえてくれないか?
169デフォルトの名無しさん:2006/03/11(土) 20:51:13
そもそも、「CSVをうまく処理」するって具体的にどういうことに困っているのか分からない
170デフォルトの名無しさん:2006/03/14(火) 01:10:29
クラス設計について質問です。
仕事でサーバソケットデーモン機能を引き継ぎました。ちょうど製造の8合目辺りです。
受信したソケットの内容によってそれに対応するタスクが立ち上がるという機能で
タスクは1タスク1クラスで10本程。(+部品いくつか)
コードをちょっと眺めてなんだか難しいな、と思ったんですが。

タスクを一つ追加する事になり、なぜ難しいと感じたのかが分かりました。
タスク同士が継承し合っていたんですね。最深で8階層。こんな感じです。

<<@>>

 ATask1
         |
     ATask2 
           |_______________
           |              |
       ATask3   BTask1
                            |
                          BTask2
                                 |   
                              BTask3
                |
171デフォルトの名無しさん:2006/03/14(火) 01:20:23
質問がないが、続きを書いてるのか?
172デフォルトの名無しさん:2006/03/14(火) 01:21:00
まあ、1タスク1クラスというのが怪しいけどな。
173デフォルトの名無しさん:2006/03/14(火) 01:31:50
タスク、というレイヤは
それぞれ同じレベル。
横並び(ピラミッド)型が自然では、
と思うんです。こんな感じに
                  Task
                      |
             ----------
           |                     |
        ATask            BTask
           |                      |
    --------        ---------
    |       |       |         |       |       |
ATask1A…2A…3 B…1 B…2 B…3
174170:2006/03/14(火) 01:33:25
(図がずれまくってスミマセン)
@はただ継承してるだけでなく、インスタンス変数が多く、激しくオーバーライドしています。
結果ぱっと見ではソースがまったく追えず、複雑極まりない構造になっています。
今回新たにBTask3に処理追加するために、@のATask1に記述追加しなければならなくなったんですが
100ステップ程のメソッドにたった1行追加するのにも、わざわざオーバーライドして同じような
メソッド100ステップを記述しなければいけなくなったり。今後更に機能拡張があると、五月雨式に
ソースが膨れ上がりそうで非常にデンジャラスな気配です。

日にちはあまりないのですがAの様に改めてリファクタリングすべきでしょうか
それとも構造は@のままで、他に何か対策を練るべきでしょうか。

175デフォルトの名無しさん:2006/03/14(火) 07:53:42
Javaは10年後は消えてる
176デフォルトの名無しさん:2006/03/14(火) 12:42:11
ttp://www.cs.technion.ac.il/Labs/Lccn/projects/spring97/project9/
このプログラムを1.4で実行してるのですが、エラーが消えません。
どうしたらいいでしょうか。
177デフォルトの名無しさん:2006/03/15(水) 00:21:36
JAVAアプレットでプルダウンメニューを使いたいのですが
どうすれば表示できるのでしょうか。

178デフォルトの名無しさん:2006/03/15(水) 00:42:48
>>177
JApplet使うか自作
179デフォルトの名無しさん:2006/03/15(水) 00:53:24
class A {
 void foo( ) {
  class C { // (1)
   void bar( ) { }
  };
  class D {
   class C{} // (2)
   void zot( ){
    new C( ).bar( ); // ERROR
   }
  }
 }
}
--
//ERROR とついてるところで(2)のCではなく(1)のCを使いたいのですが、
どう書けばいいんでしょう?
180デフォルトの名無しさん:2006/03/15(水) 00:58:47
>>179
その前に…fooメソッド内にクラス定義はできないんじゃないか?
181デフォルトの名無しさん:2006/03/15(水) 05:04:26
>>180
(´・ω・`)これこれ寝言を言うたらあかんがな
182デフォルトの名無しさん:2006/03/15(水) 15:32:03
メソッドローカルなインナークラスは外から作成出来ないんじゃ?
183デフォルトの名無しさん:2006/03/15(水) 22:18:48
JPGやPNG画像の縦横幅を求めるのってどうやるの?
184デフォルトの名無しさん:2006/03/15(水) 22:22:50
getWidth/getHeight
185デフォルトの名無しさん:2006/03/15(水) 22:40:38
jarの質問‥ netbeans 4.1
ダブルクリックでjarが起動しません。

jarファイルの中にフォルダが三つ、
フォルダ "AAA" には aaa.class (mainがあるクラス)
フォルダ "BBB" には bbb.class
フォルダ "META-INF" には MANIFEST.MF
MANIFEST.MF にはmainをどう記述したらよいでしょうか?

へんてこな質問ですみません( T∀T)
186デフォルトの名無しさん:2006/03/15(水) 22:50:24
>>184
クラス教えてけれ
187デフォルトの名無しさん:2006/03/15(水) 22:53:56
え、Imageだろ。
188デフォルトの名無しさん:2006/03/15(水) 22:55:03
189デフォルトの名無しさん:2006/03/15(水) 22:55:29
>>185
NetBeansのスレできけばよかろうに。
manifest.mfには、mainは勝手に設定されるから記述するなと書かれてるはず。
うろおぼえだけど、プロジェクトのプロパティの「実行」のところを見れば解決するかも。
190デフォルトの名無しさん:2006/03/15(水) 22:59:53
NetBeans に行ってみます。
191デフォルトの名無しさん:2006/03/15(水) 23:43:09
>>188
「JAVAならおれに聞け!」w
192デフォルトの名無しさん:2006/03/16(木) 01:46:41
>>189
NetBeans プロジェクトのプロパティ-(実行)を開いたら
主クラスの項目がありました。閉じて、構築で、
jar動きました。

本当に、ご親切にありがとうございます。

わあい\(^▽^\)(/^▽^)/わあいっ
193デフォルトの名無しさん:2006/03/16(木) 13:33:24
ネットワークプログラミングについての質問です。
Javaでプログラミングレベルでパケットを適当に指定した割合でロスさせるような
プログラムは可能でしょうか?
プロクシのテスト用に使いたいのですが。
194デフォルトの名無しさん:2006/03/16(木) 15:34:30
>>193
何の串? http?
もしそうなら tcp だからいくらパケットロスさせてもあまり意味ないのでは?
195デフォルトの名無しさん:2006/03/16(木) 23:29:06
回答ありがとうございます。
パケットをロスさせることによって、
通信速度を調節させるとか、そういう話です。
196デフォルトの名無しさん:2006/03/17(金) 14:37:39
CSVのsplit処理で、split("a,b,c," ",") すると、4つ目の空文字が取得できません。
また、split(",,,",",")すると、データが一切取れません。
",,"も空文字、またはnullとして取得したいのですが、方法はあるでしょうか?
197デフォルトの名無しさん:2006/03/17(金) 15:58:43
>>196
引数を2つ取る split() の方を使え。
負の値を指定するとよい。
198デフォルトの名無しさん:2006/03/17(金) 16:00:01
>>195
でもパケットロスってリピータハブに2台のマシンを繋げないと中々実現できないと思うよ。
今ではスイッチングハブが当り前になっちゃったから、まずはハブを探す所からやらないと
駄目だな。
199デフォルトの名無しさん:2006/03/17(金) 22:37:35
Vectorを拡張して使ってます、
内部のadd_abc関数で警告が出てしまいます、どうしましょう。

「警告: [unchecked] raw 型 java.util.Vector のメンバとしての
add(E) への無検査呼び出しです。」


public class abcVector extends Vector {
…(省略)

public void add_abc( ABC abc_dat ){
add( abc_dat );
}
…(省略)
}
200デフォルトの名無しさん:2006/03/17(金) 23:35:12
>>198
回答ありがとう。
プログラミングのコードレベルでロスさせるのは不可能でしょうか?
Java以外でもいいのですが、、ってスレ違いでスマソ。
201デフォルトの名無しさん:2006/03/18(土) 02:02:30
JAVAがインタープリターで動くのはどの部分?
豆腐屋の親父にたのまれて、ロット別の資材管理を
JAVAで作ろうかなとかんがえてるんよ。

202デフォルトの名無しさん:2006/03/18(土) 02:12:55
>>201
rhinoでJavaScriptを動かすときとか。
203デフォルトの名無しさん:2006/03/18(土) 02:25:36
>>202
早速ありがとうよ
ま、インタープリターでも10年前のBASICの速度で十分なんだが
こんな屁みたい、システムでも業者に頼むと100万以上かかるらしい
表計算では大変だし、操作性の面からプログラムを作った方が早い。
204デフォルトの名無しさん:2006/03/18(土) 02:35:33
甘く見ないほうがいいよ。
205デフォルトの名無しさん:2006/03/18(土) 02:40:58
>>204
甘くは見ないけど、JAVAを勉強しながらやる事になるけど
昔汎用機でアセンブラとCOBOLの経験あるから
少しは覚えているでしょう。
206デフォルトの名無しさん:2006/03/18(土) 02:51:18
業務系やったことあるなら、ま、いいのかな。
100万っていったら1ヶ月かからない程度だしね。
最後のツメでの細かい注文に、おやじのことを嫌いにならんようにな。
207デフォルトの名無しさん:2006/03/18(土) 04:28:32
>>201
俺が23万5000円で作ってやるよ
208デフォルトの名無しさん:2006/03/18(土) 04:30:59
VBあたり使ったほうがいいんじゃないか?
209デフォルトの名無しさん:2006/03/18(土) 04:34:58
もっと身近にプログラミングできるやつおらんのか?
210デフォルトの名無しさん:2006/03/18(土) 07:24:06
>>201
VM上で動いているものは全部。
211デフォルトの名無しさん:2006/03/18(土) 18:28:44
>>210
そういうのはインタプリタとは言わない
212デフォルトの名無しさん:2006/03/18(土) 18:33:31
>>211
どこからどう見てもインタプリタだよ。入門書から勉強し直せ。
213http://www.vector.co.jp/soft/win95/util/se072729.html:2006/03/18(土) 18:44:02
TextSS の64bit化おながいします

もしくは64bitにネイティブ対応した置換ソフトないですか?
214デフォルトの名無しさん:2006/03/25(土) 05:12:21
List<List<String>>
これなんだろ?
215デフォルトの名無しさん:2006/03/25(土) 06:28:03
う〜ん、特に悩むほどのものじゃないと思うけど。
StringのListのListだろ。
216デフォルトの名無しさん:2006/03/25(土) 12:05:24
「プログラミング作法」のJava版みたいな本ないですか?
217デフォルトの名無しさん:2006/03/25(土) 16:39:06
EffectiveJavaとかJavaの落とし穴とかかな?
218デフォルトの名無しさん:2006/03/25(土) 16:50:36
あと、Java Pazzlerとか
219デフォルトの名無しさん:2006/03/25(土) 17:30:18
「プログラミング殺法」のJava版みたいな本ないですか?
220メモ蔵:2006/03/25(土) 19:17:28
javaで作成したアプリケーションのメモリ使用量を実行するまえに、机上である程度
試算することは可能なのでしょうか?
なにか計算式みたいなものあるのかな?
221デフォルトの名無しさん:2006/03/25(土) 21:07:11
どなたかjava3dつかってますか?
222デフォルトの名無しさん:2006/03/25(土) 22:34:26
>>220
かなり単純なアプリで、一回使ったら落とすようなもの以外は無理
223デフォルトの名無しさん:2006/03/25(土) 23:11:59
今日から勉強を始めたのですが

import javax.servlet.*;
import javax.servlet.http.*;

ここらへんでエラーが出ちゃいます
助けてください
224デフォルトの名無しさん:2006/03/25(土) 23:44:35
>>223
つ コンパイル時のクラスパス

今日から始めたのなら、いきなりServletではなく、もちっと基本的なところから始めれ。

【初心者】Java質問・相談スレッド83【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1142309999/
225223:2006/03/25(土) 23:50:27
了解
dクス
226デフォルトの名無しさん:2006/03/26(日) 07:07:12
【社会】電子政府も縦割り弊害 各種申請、同一PCで無理 JREのバージョンがばらばら 総務省[03/26]
http://news19.2ch.net/test/read.cgi/newsplus/1143317790/
227デフォルトの名無しさん:2006/03/26(日) 14:47:48
去年はDIとかAOPとか色々出たけど
今年って何か面白い技術ネタ何が流行りそうなの?
228デフォルトの名無しさん:2006/03/26(日) 16:19:13
JavaScriptかなぁ。
JavaEEは、DI/AOP/ORMが標準になりましたよってだけだし。
229デフォルトの名無しさん:2006/03/26(日) 16:34:50
JSFも標準になるね。

今年は、これらの技術の成熟期・普及期かな。
現場でようやく使われ始めそう。
230デフォルトの名無しさん:2006/03/27(月) 19:05:59
>>214
Genericsについてぐぐれ
231デフォルトの名無しさん:2006/03/27(月) 19:08:27
>>227
Ruby on Rails.
Ajax

Javaの世界ではNetBeansが本格的に流行る。
そしてSwing GUIの復活。Java Web Startと連携して復活と予測。
ついでにJava Studio Creator2も普及。
あれはMacromedia Dreamweaver並みに高機能。
それからアノテーション。
JUnit4が登場。

232デフォルトの名無しさん:2006/04/12(水) 23:12:13
TextAreaの任意の一行のみをString型に格納したい場合どうすればいいですか?
233デフォルトの名無しさん:2006/04/13(木) 09:34:28
>>232
さあなあ。とりあえず split で行単位に分割してみたらどうだ?
234デフォルトの名無しさん:2006/04/13(木) 20:15:21
オートインデント みたいな機能を実装するにはどうやればいいんでしょう?
235デフォルトの名無しさん:2006/04/13(木) 22:01:30
>>234
Enter 押されて次の行の先頭にカーソルがある時に上の行の先頭の空白をコピーするか、
またはタブに置き換えて挿入する。
236デフォルトの名無しさん:2006/04/13(木) 22:30:09
ということはTextAreaもしくはJTextAreaにKeyListenerくっつけて監視するだけでOKってことですか?
237デフォルトの名無しさん:2006/04/14(金) 03:41:04
あとは気の利いた処理かくだけだな。
238デフォルトの名無しさん:2006/04/14(金) 05:36:40
ありがとう
239デフォルトの名無しさん:2006/04/17(月) 19:49:08
Cのsystem()関数みたいのないですか?
240デフォルトの名無しさん:2006/04/17(月) 20:33:44
>>239
まず、 java.lang.Runtime のドキュメントを読め。
241デフォルトの名無しさん:2006/04/17(月) 21:14:18
>>240
センキュー!
242デフォルトの名無しさん:2006/04/18(火) 19:37:56
お願いします。教えてください。
今weblogicを使用してWEBアプリを作成していますが、
再デプロイしなくても、クラスファイルを更新して上書きすれば
クラスの再ロードが掛かるといわれて、上書きしたのですが更新されませんでした。
再デプロイすると更新されるので、アップロード方法が間違っていることはなさそうです。

そこで聞きたいのですが、クラスの再ロードは、javaエンジンの作業なのでしょうか。
それともクラスローダ?というものでしょうか。
クラスの再ロードをWEBアプリ側から明示的に行うことはできるのでしょうか。
そもそも、クラスを更新しただけではだめなのでしょうか?
243デフォルトの名無しさん:2006/04/18(火) 20:30:28
>>242
weblogicは開発モードとプロダクションモードがあって、前者ではクラスファイルが更新されれば
再ロードしてくれるが、後者はしてくれなかったはず。
起動スクリプトをチェックしてみてくださいな
244デフォルトの名無しさん:2006/04/18(火) 21:31:38
>>240
CLSとか使えないですが
もしかしてCのsystem()より能力低い?
245デフォルトの名無しさん:2006/04/18(火) 21:34:07
>>243
ありがとうございます。
ちなみにプロダクションモードだった場合に、自力で再ロードさせることなんてできるのでしょうか?
246デフォルトの名無しさん:2006/04/18(火) 22:26:53
>>245
サーバ再起動になるかと。
プロダクションモードって実稼動環境ということで、そういう変更は想定していないはず。
(むしろ積極的に排除している)
247デフォルトの名無しさん:2006/04/18(火) 22:37:01
>>244
は? 君はどういう環境で何をしようとしているの?
248デフォルトの名無しさん:2006/04/18(火) 22:46:05
>>243
JSPとサーブレットはプロダクションモードと開発モードに関係なく
別の設定(なんとか更新間隔とか)でリロードするよ。
その他(WEB-INF/lib,WEB-INF/class)などはリロードしなかったかも。
そっちリロードさせたいなら再デプロイするのが確実かな。
249デフォルトの名無しさん:2006/04/18(火) 23:49:39
>>244
Windowsなら、command.exe経由で呼び出さなけりゃだめっつうだけじゃねぇの?
250デフォルトの名無しさん:2006/04/19(水) 20:18:45
javaからunixのshellを実行したいのですが、
実行する方法はあるでしょうか?
251デフォルトの名無しさん:2006/04/19(水) 21:39:01
あるよ。
252デフォルトの名無しさん:2006/04/19(水) 22:17:36
253デフォルトの名無しさん:2006/04/20(木) 13:54:43
>>251
ありがとうございます。見つけました。
Runtime.getRuntime().exec("xxx");
webアプリで、コマンドを起動したく、servletの中で実行しようと考えているのですが、
何か注意点とかありますでしょうか?
254デフォルトの名無しさん:2006/04/20(木) 16:50:35
>>253
まさかフォームから受けた文字列を実行するんじゃないよね。実行コマンドが固定か数パターンとして。
・毎回外部コマンドを実行することによるパフォーマンスの低下
・スレッド間の衝突
・DoS
くらいがぱっと思いつくところ。もっとあるだろうけど、コマンドにもよるから。
255デフォルトの名無しさん:2006/04/21(金) 16:14:38
JDK1.4で、システム環境変数を全て取得することはできるでしょうか。
System#getEnvだと、あらかじめ取得したい名前を知っておかないといけないらしいので。
256デフォルトの名無しさん:2006/04/24(月) 19:39:01
>>254
すいません。なぞの現象に悩まされています。
下記のコードを実行したところ、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);
}
257デフォルトの名無しさん:2006/04/24(月) 21:27:20
>>256
processはバグってるから使っちゃだめ。
標準出力読み込み中に、エラーが発生すると、エラー出力を取らないといけないので。
でもunixじゃないんで、javaでは無理。javaでバッチはあきらめるべし。
258デフォルトの名無しさん:2006/04/25(火) 13:24:03
>>257
unixで言うところの、selectシステムコールみたいなのはないんですかね。
複数のストリームから一発でデータを取得することは・・・
259デフォルトの名無しさん:2006/04/25(火) 13:27:04
>>248
WEB-INF/lib,WEB-INF/class以外で、weblogicが監視してくれる場所は、
xxx.ear/xxx.jar/以下でしょうか
260248:2006/04/25(火) 14:44:32
>>259
earとかejbの話?
earに含まれるwebアプリケーションは上に書いた通りだけど
他はどうだろう? ごめん、マニュアル見るか試してください。
261デフォルトの名無しさん:2006/04/25(火) 20:12:02
正規表現で、行をまたいでmatchさせたく、下記を実行しましたが、trueになりませんでした。

System.out.println( Pattern.compile(".*b.*f.*", Pattern.MULTILINE).matcher("abcd\r\nefgh").matches() );

上記をマッチさせる方法はあるでしょうか。
説明が下手で申し訳ございません。
262デフォルトの名無しさん:2006/04/25(火) 20:55:03
>>261
よくわからないけど、\r\n じゃなくて \n だけだとどうなる?
263デフォルトの名無しさん:2006/04/25(火) 21:03:16
>>261
分かった。それは Pattern.MULTILINE じゃなくて Pattern.DOTALL だ。
MULTILINE の方は ^ と $ が何にマッチするかの指定だが、 DOTALL は
. が何にマッチするかの指定だ。 . を全てにマッチさせるのが DOTALL。
264デフォルトの名無しさん:2006/04/26(水) 09:48:48
>>263
ありがとうございます。
できました。
ちなみにいろいろ調べてみたのですが、Perl5Util#match() 見たいな、perlチックなクラスもありました。
結構使い勝手がよかったです。ただ、Pattern.DOTALLと同等の機能はないらしいのですが。
265デフォルトの名無しさん:2006/04/26(水) 18:31:37
>>243
うまく更新されたり、されなかったり、どうも動きが一定にならないです。
1つ確認したいのですが、xxx.earはアーカイブではなく、展開してディレクトリ構造になっています。
そのxxx.ear/xxx.jar/以下にクラスをコピーしました。
this.getClass().getClassLoader().getResource("クラスパス").getPath() でも、jar以下のクラスファイルを見ています。
266デフォルトの名無しさん:2006/04/26(水) 20:52:09
>>265
JSPやサーブレットは設定により動的にリロードしますよとマニュアルに書いてある。
展開ディレクトリ形式でもwarでも関係ない。
EJBの場合は知らん。
マニュアル参照してそれでわからなければ
サポートに聞いてみればいいと思います。
そこで何日も悩むのってもったいないと思う。
267デフォルトの名無しさん:2006/04/27(木) 19:26:53
Javaでコンソールプログラムで作成しているのですが、
ちょっとした疑問がわきました、
たとえばshellからJVMにシグナルがとんだ場合に
プログラムはそれを検知/対応できるんでしょうか?
268267:2006/04/27(木) 20:02:50
たぶん自己解決しました。
Runtime#addShutdownHook(Thread hook)

あってるよね?
269デフォルトの名無しさん:2006/04/28(金) 20:54:48
SIGINTならそれでいいと思うけど全部が対応できるわけではもちろんないよ。
ちなみにJVMがハンドルするシグナルの表がマニュアルにあったと思う。
270デフォルトの名無しさん:2006/05/15(月) 17:46:32
リフレクションを使用するときに、セキュリティーマネージャという言葉をよく見ますが、
セキュリティーマネージャとは何でしょうか。
今までの案件で、セキュリティーマネージャを設定してあることはなかったのですが、
セキュリティーマネージャの存在を意識した(制限など)コーディングをしたほうがよいのでしょうか?
271デフォルトの名無しさん:2006/05/19(金) 14:10:15
>>270
これに答えられるほどjavaに精通してるやつはいないのかえ!?
272デフォルトの名無しさん:2006/05/19(金) 14:23:14
単なる過疎スレだろ。

セキュリティマネージャは、使えるクラスを制限するものだが。
アプレットでも作らん限りは不要じゃねぇの?
273わからーん:2006/05/19(金) 20:22:06
jigみたいなものを研究しているのですが、web自体のデータをキャプチャしてその上にリンク座標を乗っけて表示したいと考えているのですが、どうもリンク座標の抽出の仕方の案が浮かびません。。。
サンプルプログラムみたいなものがあったりすれば幸いなのですが案を出してもらえないでしょうか?
274デフォルトの名無しさん:2006/05/19(金) 21:59:05
>>270
セキュリティマネージャはサンドボックスがらみでなかったっけ?
275デフォルトの名無しさん:2006/05/20(土) 01:47:19
J2EE 5が正式リリースしたようなんだが、
EJB3.0ってホントに実務で有効?
276デフォルトの名無しさん: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
日本語でもあるから。
277デフォルトの名無しさん:2006/05/20(土) 15:11:28
>>275
超有効
278JAVA:2006/05/20(土) 21:13:09
こんにちは。質問なのですが、STRUTSでメッセージを日本語で出したい場合には、
どのようにしたらいいのでしょうか?本をよんでみたりしましたが、
よくわかりません。ちなみにエクリプスの中で開発中です。
何かのコードに変換するようなのですが、、よろしくご教授お願いします。


279デフォルトの名無しさん:2006/05/20(土) 22:39:00
オープンソースにすべきだって言ってるアホがいるwwwwwwww
おめでたい連中だwwwwwww
280デフォルトの名無しさん:2006/05/21(日) 09:40:22
↑誤爆? このスレで「オープンソース」検索したら、60前後まで飛んでしまった
281デフォルトの名無しさん:2006/05/21(日) 09:59:56
いや、Java仕様をオープンソース化するべきかどうかの議論が
業界内にあるから、そのことを指しているんだろう。

なぜアホと思うのか、おめでたいと思うのか、俺には全く理解不能だが。
282デフォルトの名無しさん:2006/05/22(月) 14:09:18
>>281
仕様だけは最初からオープンでは?
283デフォルトの名無しさん:2006/05/22(月) 15:20:25
誰か教えてぇ〜〜マザーボードを変更して、XP等インストールして、動いていたんだけど、JAVAの最新のバージョン6をインストールしたら調子悪くなっちゃった、JAVAを削除したんだけど、やっぱ、駄目だった・・・どうしたらいいの??(; ̄ー ̄川 アセアセ
284デフォルトの名無しさん:2006/05/22(月) 15:34:49
再インストールすりゃいいだろ。
で、正式リリースされている最新のバージョン5をインストール。
ベータ入れて文句いうな。
285デフォルトの名無しさん:2006/05/22(月) 16:55:42
質問です。
ブラウザにHello worldと表示させる
簡単なプログラムをJAVAで設計しました。

で、実際にhtmlを作り読み込んでみたわけですが
灰色の画面だけで何も表示されません。
描画に時間がかかるのかと思い、しばらく待ってみましたが
やはりそういった雰囲気はなさそうです。

どうすればいいのでしょうか?
286デフォルトの名無しさん:2006/05/22(月) 17:18:23
<html>
<body>
<h3>hellow warld</h3>
</body>
</html>
これじゃぁいかんの?
287デフォルトの名無しさん:2006/05/22(月) 17:19:42
Mac用Javaでフォルダにアクセス拒否するソース
教えてください
288デフォルトの名無しさん:2006/05/22(月) 18:41:23
>>285
ちょっとそれどこかの無料ホームページ借りて公開しろ。
で、そのURLをここに書け。
289デフォルトの名無しさん:2006/05/22(月) 22:45:42
Javaの正規表現なんですがPerlと違うんでしょうか?

Pattern.matches("ab", "abcde")
がfalseになるんですが・・・

Pattern.matches("ab.*", "abcde")
だとtrueになります。

もしかして部分一致じゃなく完全一致なんでしょうか?
290デフォルトの名無しさん:2006/05/22(月) 23:00:57
プリファレンスとプロパティ、どっちつかうほうがいいの?
プリファレンスの方が新しいけどレジスタいじくるとか?
291デフォルトの名無しさん:2006/05/23(火) 01:28:42
>>289
ちょうど見てたところなので投下。

ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/regex/Matcher.html#find()
292デフォルトの名無しさん:2006/05/23(火) 17:47:07
ttp://groups.yahoo.co.jp/group/eclipse-ml/message/1130
↑のデバッグがどうしてもできないのですが。
そもそも、eclipseとかではなくjavaのデバッグで、
現在の止めているスレッドに例外をスローさせる方法なんてあるの?
293JAVA:2006/05/23(火) 19:36:16
すいません、質問なのですが、STRUTSのFORM画面で日本語が入力された場合、
ACTIONでその値がうまくとれませんん、、文字化けしてします、、
どうしたらいいでしょうか。。よろしくご教授ください。
294デフォルトの名無しさん:2006/05/23(火) 21:58:50
>>291
ありがとうございます。
なるほど。Perl型はfindで全体一致がmatchesみたいですね。
295デフォルトの名無しさん:2006/05/24(水) 01:16:46
>>236
とりあえずエンコーディングを指定する箇所を洗い出して
全部同じになっているか確認してみれば?

jspのcharsetとserver.xmlのconnectorとか
296デフォルトの名無しさん:2006/05/24(水) 16:53:08
super.super.test

継承っていいね。
297デフォルトの名無しさん:2006/05/25(木) 13:22:08
System.getProperties("java.io.tmpdir")って取得したディレクトリって、アプリで勝手に使用していいのでしょうか?
298デフォルトの名無しさん:2006/05/25(木) 13:41:57
ユーザーに聞け
299デフォルトの名無しさん:2006/05/25(木) 16:03:17
いいかも知れないけどサンドボックスの中からだと使えないかも知れないし、
OSの制限によってアクセス不能かも知れない。
300デフォルトの名無しさん:2006/05/25(木) 21:08:24
>>297
これは、unixでいえば/tmp何ですかね?
301デフォルトの名無しさん:2006/05/25(木) 21:39:38
jarファイルのURL表示はフルパスで書かないといけないのでしょうか。
できれば、環境依存しない形式で書きたいと思っています
"jar:file:C:/sample/lib/ibatis-sqlmap-2.jar!/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd"
302デフォルトの名無しさん:2006/05/26(金) 13:48:20
>>300
それか、もしくはLinuxなら/var/tmpかもね。もちろん環境変数優先。
WindowsはTEMPかTMP環境変数でしょう。

…と、確認せずにレスする。しようと思えばすぐにもできるんだが。
303デフォルトの名無しさん:2006/05/28(日) 08:20:31
>>297
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/File.html#createTempFile(java.lang.String,%20java.lang.String)
じゃだめなの?
下手に使うと、このAPIでファイル作ろうとしたときぶつかる可能性があると思うが・・・
ああ、でもどうなんだろ作ろうとしたファイルがすでにあるかのチェックくらいはしてるかな?IOExceptionになるのかも・・・
わかんね、・・・
304デフォルトの名無しさん:2006/05/29(月) 14:25:05
java.lang.reflect.Proxyって、インターフェースにしか使えないんだ。
デザインパターンのProxyでいいような気がするけど・・・
305デフォルトの名無しさん:2006/05/29(月) 14:28:32
>>303
排他はかけているけど重複チェックはしてなかったよ。
ファイル有り無しに関係なく、new File()していた。
306デフォルトの名無しさん:2006/05/29(月) 14:32:43
URLクラスはファイナルなのか・・・。
手出せねーや。
openStreamをオーバーライドして独自のクラス作ろうとしたんだけど。
コンストラクタでstreamを引数に取るやつは簡単にデータの内容変更できるけど、
URLではきれいにいかないなぁ。
ダミーFileをnewしてURL作成がいいところか。
つくったふぁいるのdelete処理のタイミングが難しい・・・
307デフォルトの名無しさん:2006/05/29(月) 14:40:32
javaではxmlやプロパティ、普通のファイルなどに専用のクラスでアクセスしますが、
最終的には、ストリームもしくはリーダークラスを使用しているのでしょうか?
308デフォルトの名無しさん:2006/05/29(月) 17:47:55
最終的には、って普通にReader渡すだろうがよ。
309デフォルトの名無しさん:2006/05/30(火) 13:18:31
>>296
superのsuperなんてできるのか?
310デフォルトの名無しさん:2006/06/06(火) 17:57:44
byte[]をchar[]に、char[]をbyte[]に変更するにはどうすればよろしいでしょうか?
311デフォルトの名無しさん:2006/06/06(火) 22:22:03
>>310
byte[] bs;
char[] cs = new char[bs.length];
for(int i = 0; i < bs.length; ++i) cs[i] = bs[i];
312デフォルトの名無しさん:2006/06/07(水) 01:17:14
311はワザとかいてるぽいけど、byte(1octet)とchar(文字)は単純に置換できない。
どういう意図かわからんけど中間にStringをはさめば解決しない?
313デフォルトの名無しさん:2006/06/07(水) 01:24:23
>>310
byte[] bs;
char[] cs = new char[bs.length];
for(int i = 0; i < cs.length; ++i) cs[i] = (char)bs[i];
314デフォルトの名無しさん:2006/06/08(木) 17:35:59
Class#newInstance()を実行するときに、デフォルトコンストラクターがないと
InstantiationExceptionがスローされるのでしょうか?
どこかに、コンパイラによってデフォルトコンストラクタは勝手に作られるとあったのですが、
勝手に作られるのに、ないそと怒られるのはなぜでしょうか?
315デフォルトの名無しさん:2006/06/08(木) 17:42:39
標準出力からjavaのソースを読込み、
プログラムでコンパイルして、それを実行することなんてできるのでしょうか?
サーブレットコンテナがjspをそうしているように。
316デフォルトの名無しさん:2006/06/08(木) 18:36:23
>>314
ソースコード中にコンストラクタが一切無い場合に限り、コンパイラによってデフォルトコンストラクタが暗黙的に生成される。
317デフォルトの名無しさん:2006/06/08(木) 18:36:53
>>315
できます。
サーブレットコンテナがjspをそうしているように。
318デフォルトの名無しさん:2006/06/08(木) 19:44:46
>>316
ありがとうございます。
原因がわかりました。
319デフォルトの名無しさん:2006/06/08(木) 19:46:09
>>317
ありがとうございます。
この機能を実装しろといわれていますが、
コンパイルをし、ロードし、実行することは、かなりの規模になるでしょうか?
320デフォルトの名無しさん:2006/06/08(木) 23:29:25
>>319
給料上げてくれるならやると言え。
規模は大きくないけど、そんな質問してるレベルで、仕事として組めるとは思えない。
趣味なら勉強になるからやればいいんだけど。
321デフォルトの名無しさん:2006/06/09(金) 10:07:26
>>320
本当に無理な要求で・・・
仕様が頻繁に変わり、反映した後にサーバーの再デプロイをものすごく拒否られて、
その代わりに、自分で更新機能を作れなどとで、話が舞い込んできました。
HP-Unixでweblogicを使用していますが、クラス再ロード機能をオンにしてクラスを更新しても無反応なので。。。
322デフォルトの名無しさん:2006/06/09(金) 13:10:51
WebLogicなら業者に相談すれ。たぶん解決する。
323デフォルトの名無しさん:2006/06/09(金) 16:35:46
クラスローダーから、現状のクラスパスを取得することは可能でしょうか?
324デフォルトの名無しさん:2006/06/09(金) 16:43:19
>>323
自分で解決できました。
325デフォルトの名無しさん:2006/06/09(金) 16:53:40
通常のJDKのjreのjt.jarは、行番号情報なしでコンパイルされているのでしょうか。
リモート接続して、JDK中のクラスにデバックポイントを張ったらエラーになりました。
326デフォルトの名無しさん:2006/06/09(金) 16:54:07
>>325
コンパイル時のオプション次第
327デフォルトの名無しさん:2006/06/09(金) 17:10:26
>>326
デフォルトの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 に上書きして再度デバックしましたが
行番号情報がないとのことで、同じくデバッグできませんでした。
原因としてほかに何が考えられるでしょうか?
328デフォルトの名無しさん:2006/06/09(金) 17:22:23
>>327
だから、コンパイル時のオプションだって言ってるだろ。

そのものズバリの答えをもらっているにも関わらず
そう考えない思考方法をどうにかしない限り、
おまえさんには解決はムリだ。
329デフォルトの名無しさん:2006/06/09(金) 17:29:37
>>328
いやだから

> 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上でデバッグができないはず。
そいつを上書きコピーしたから、できるはずでしょ。たぶん。
330デフォルトの名無しさん:2006/06/09(金) 17:33:31
>>329
>だから、C:\j2sdk1.4.2_08\jre\lib\rt.jar は行番号情報ありってことでしょ。
この前提が間違い。Eclipseがコンパイルするときにデバッグ情報を付加するオプションつけてコンパイルしてんだよ。
わかんない奴だな。
331デフォルトの名無しさん:2006/06/09(金) 17:34:34
>>327
思いこみ激しすぎ&勘違い&頭悪すぎ
332デフォルトの名無しさん:2006/06/09(金) 17:37:06
>>331
こたえになってない。
うまくいかない要素を書いたつもりはないし、勘違いしているんだったら指摘してよ。
なぜeclipseはうまくいくの?実行時のランタイム指定しているんだよ。
見ているものは間違いなく同じrt.jarじゃん。
333デフォルトの名無しさん:2006/06/09(金) 17:44:19
>C:\j2sdk1.4.2_08\jre\lib\rt.jar は行番号情報ありってことでしょ。
これが勘違い&思いこみ。アドヴァイスもらってるのにここから思考が動かない。頭悪すぎ。
コンパイル時のオプションだって言ってるのに。
334デフォルトの名無しさん:2006/06/09(金) 17:48:53
>>333
eclipseはC:\j2sdk1.4.2_08\jre\lib\rt.jarを見て、行番号があるといっている。とさっき書いたが
335デフォルトの名無しさん:2006/06/09(金) 17:53:09
>>334
本当に頭悪いな。
どの rt.jar を使っても
コンパイル時のオプション次第でデバッグ情報ありにもなしにもなるんだよ。
デバッグ情報の有無はランタイムじゃなくて、コンパイル時のオプションで変わるんだよ。
何度言わせるんだ。
336デフォルトの名無しさん:2006/06/09(金) 17:56:55
もう帰るから後は自分でなんとかしてくれ
337デフォルトの名無しさん:2006/06/09(金) 17:58:28
>>335
352で、俺はそのランタイムのデバッグをすると書いたが。

> リモート接続して、JDK中のクラスにデバックポイントを張ったらエラーになりました。

独自のクラスでなく、そのweblogicがファイルを読込むFileクラスで処理を止めたいの。
だから、対象はrt.jarのランタイムが行番号つきかどうかが問題。
338デフォルトの名無しさん:2006/06/09(金) 20:20:46
JRockitはいろいろアグレッシブなことをやってるのかもしれない。
サポートに問い合わせてみれ。
339デフォルトの名無しさん:2006/06/09(金) 21:13:29
デバッグモードで起動しているかどうかの違いじゃないの?
340デフォルトの名無しさん:2006/06/09(金) 21:16:16
ランタイムのデバッグって・・・・
無駄なこと・無意味なことが好きな方ですね。

JVMのデバッグモードって知ってますか?

答えてくれる人に対してこういう態度を取っている限り
適切な回答は得られないということは覚えておいた方がいいですよ。
社会性を身につけましょう。
341デフォルトの名無しさん:2006/06/09(金) 21:18:04
同意。人にアドヴァイスを乞う態度じゃない。
342デフォルトの名無しさん:2006/06/09(金) 21:20:29
議論をふっかけたいだけなんじゃないの?
343デフォルトの名無しさん:2006/06/10(土) 01:25:34
俺には >>326 が勘違いしたまま絡んだように見えるが。
JVM スレで聞いてみれば?
344338:2006/06/10(土) 01:34:32
むしろEclipseのrt.jarが特別かも。
Sunのrt.jarでも試してみれば?
普通はデバッグオプション付きでコンパイルしてないのかな?
345デフォルトの名無しさん:2006/06/12(月) 00:14:37
SwingのJComboBoxを使ってオートコンプリート機能を追加しようと思っています。
具体的には、コンボボックスに対して入力もできるし一度入力したテキストは
オートコンプリート機能を働かせたい・・というものです。

JComboBoxにはsetKeySelectionManagerというメソッドがあり、JComboBox.KeySelectionManagerを
実装したクラスを渡すと、入力に応じて行を自動で選択する実装ができるようですが、
この機能では、setEditable(false) の時にしか働かないようです。
なので、この場合新たな入力が行えなくなってしまいます。

入力可能で且つオートコンプリート機能を追加する場合はどのようにすればよいでしょうか?
346デフォルトの名無しさん:2006/06/13(火) 14:24:06
>>340
デバッグという書き方が紛らわしかったですが、
フレームワークがあるファイルをアクセスしていて、ソースを追うより実行してすぐ知りたいと思い
JVMのFileクラスにブレイクポイントを設定して、目的のファイル名だったら止まる条件を追加しようと考えてました。

確かにしびれを切らして口調が荒くなりましたが、
誤解した人がけなすこと言って批判の対象外になっているのも悲しいです。
347デフォルトの名無しさん:2006/06/14(水) 10:51:23
Runtime#traceMethodCalls(true)をセットするとメソッド呼び出しのログが取れるようですが、
OSがXPの場合、ログファイルはどこにできるのでしょうか。
348デフォルトの名無しさん:2006/06/21(水) 13:15:42
標準入力のバッファリングをオフにすることはできますか?
1行単位でなく、1文字単位で読み込みする必要が出てきたので。
349デフォルトの名無しさん:2006/06/21(水) 21:59:35
標準入力にバッファリングあるか?
350デフォルトの名無しさん:2006/06/23(金) 13:56:16
どんなクラスをnewするとき、必ずObjectクラスのコンストラクタって呼ばれるの?
って言うか、呼ばれているんだけど・・・
351デフォルトの名無しさん:2006/06/23(金) 14:15:57
>>350
スーパークラスのコンストラクタは当然呼ばれる。
352デフォルトの名無しさん:2006/06/23(金) 16:16:17
>>351
public xxx() {
super();
}

public xxx() {
}
でも、親のデフォルトコンストラクターは呼ばれるってことですか。
353デフォルトの名無しさん:2006/06/23(金) 16:18:04
>>352
呼ばれる
ってか、コンストラクタ勉強しなおせ。
354デフォルトの名無しさん:2006/06/23(金) 16:46:14
親のコンストラクタが呼ばれないと、親のprivateフィールドが初期化できなくなる(可能性がある)。
すると親クラスではprotected以上が必須になり、private宣言すると、実質final classになっちゃう。
だから、明示・暗黙のいずれであっても、親のコンストラクタのどれかは呼ばれないといけないのです。
355デフォルトの名無しさん:2006/06/23(金) 18:44:35
>>354
すごく納得できました。
ありがとうございます。
356デフォルトの名無しさん:2006/06/26(月) 11:11:48
>>347
その機能は過去の遺物らしい。
どっかの英語圏サイトに書いてあったような・・・
357デフォルトの名無しさん:2006/06/26(月) 11:20:37
簡単なTCPIPプロキシを作ったのですが、1文字ごとに「@」がつきます。おかしい箇所を教えてください!
InputStream 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;
}
}
358デフォルトの名無しさん:2006/06/26(月) 18:32:50
>>357
自己解決
data = new byte[serverIn.available() + 1]

data = new byte[serverIn.available()]
359デフォルトの名無しさん:2006/06/30(金) 05:01:55
Javamailの質問はここでいいのでしょうか・・?

受信したメールの本文にテキストを付加した上で再送信したいのですが、
その際に元のメールの構造を保ったままで再送信するためにはどうすればいいか分かる方いますか?
360デフォルトの名無しさん:2006/07/01(土) 23:48:45
サーバサイドで独自の設定ファイル(ファイル形式は*.propertiesや*.xmlなど)を
オートリロード対応するならば、みなさんならどんな実装にしますか?
ぱっと思いついたのは

 ・設定ファイルが更新されていないかスレッドで監視
 ・ロードした設定情報(キャッシュ)に有効期限を決めておき(10秒とか)、
  キャッシュへアクセスするたびに期限切れか判定(期限切れならロードしなおす)
 ・Commons Configurationを使う
  出来るのかまだ調べていませんが、「設定ファイルなら何でもこい」と
  言っているので出来るのかな〜と勝手に思ってます

という感じです。

個人的な現状の状況は、環境はj2sdk1.4.x+J2EE1.4で、テストのために使おうと
考えています。
(なのでそれほどパフォーマンスは考慮しようとは考えていません)
他に何かよい方法があればアドバイスください。
361デフォルトの名無しさん:2006/07/04(火) 21:12:56
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)

i−want−to−study−java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
よろしくおねがいします
362デフォルトの名無しさん:2006/07/05(水) 03:28:04
コンビニのバイトより安いですが、よろしくお願いします。
363361:2006/07/17(月) 21:21:51
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
364デフォルトの名無しさん:2006/08/06(日) 22:43:58
jdk-1_5_0_07-nb-5_0-linux-ml.bin

ってのを落としたんだけど、これどうするのん?
365デフォルトの名無しさん:2006/08/06(日) 22:45:54
>>364
実行する
366デフォルトの名無しさん:2006/08/06(日) 22:47:07
>>365
どうやって?
367デフォルトの名無しさん:2006/08/06(日) 22:51:33
すまん、大きな勘違いをしていた
368デフォルトの名無しさん:2006/08/12(土) 13:47:21
JSPなどで使用される、データだけを保持するBeanクラスに、
setter、getterが存在するのはなぜでしょうか?

セキュリティの問題だとかいろいろあると思いますが、実際実務で
有効に利用できたことってあるんでしょうか?

仕様変更のたびに、変数名とセットで、メソッド名も変更となるため
かなり面倒な感じがするのですが。

どうなんでしょうか。
369デフォルトの名無しさん:2006/08/12(土) 13:56:49
>>368
本来はカプセル化のためだし、
getterやsetterにいろいろ仕込む手法もあったのだけど、
最近の流れはそうではないよね。

でも当初の思想がそうだったために、各種開発ツールや
ライブラリやカスタムタグがgetter/setterありきで設計されている。

ってとこが現実かな。

変数名とメソッド名を合わせて変更は、IDEが対応しているでしょ。
データを保持するだけの単純なJavaBeanは手書きするもんじゃないよ。
370デフォルトの名無しさん:2006/08/12(土) 14:01:41
>>369

ああ、なるほど〜もともとはそういう理由で作られていて、
現在はそういう利用がないってことなんですね。

久しぶりにしっかりとした意見が聞けてすっきりしました。

IDEが古くて対応していないプロジェクトなもので、
全部手書きでやっていて・・・。

ありがとうございました。
371デフォルトの名無しさん:2006/08/23(水) 14:53:43
正直、DAOとか作って値だけのクラスと操作するクラスを
作ってるのって酷い無駄だと思う。

いっそのこと構造体にしてくれって感じ。
372デフォルトの名無しさん:2006/08/31(木) 15:28:30
javaでFTPクライアントソフトを作成したんですが、
認証まではうまくいくんですがPASVモードでの
dataSocket = new Socket(serverIP.replace(',','.'),動的なPORT);
でタイムアウトが発生し接続できません。

windowsでは問題なく実行できます。

環境は
         +−−−−−−+     +−−−−−−+
LINUX−−−−|      |     |      |
         |  ルータ-  |−−−−−|  モデム  |−−−−−インターネット
WIN−−−−−−|      |     |      |
         +−−−−−−+     +−−−−−−+

ちなみにlinuxのFTPコマンドではファイル転送も問題なくできます。
原因がさっぱりわかりません。
373デフォルトの名無しさん:2006/09/05(火) 02:42:52
ついに1000体突破かよ
アイロボットみたいだな
株ロボもいつか夢を見るようになるのかなぁ
374デフォルトの名無しさん:2006/09/11(月) 15:38:59
これでダブルクォーテーションも一緒に出力したい場合ってこれじゃ駄目なの?


/**
*
*こんちゃーす
*
*/
class koncha{
public static void main(String[] args){
//標準出力でこんにちは
System.out.println(\""こんにちは""\);
}
}



誰か教えてくれ
375デフォルトの名無しさん:2006/09/11(月) 16:00:27
>>374
System.out.println("\"こんにちは\"");
376デフォルトの名無しさん:2006/09/12(火) 20:00:19
>>374
釣りですか。
377デフォルトの名無しさん:2006/09/12(火) 21:51:08
Javaでオブジェクトを引数として渡す、あるいは返り値とする場合
、C++の参照渡しになるとのことですがC++でいうconst参照を渡す
にはどうやればいいのですか?
378デフォルトの名無しさん:2006/09/25(月) 07:08:41
>>378
気合いで
379デフォルトの名無しさん:2006/09/26(火) 09:38:38
今更こんな質問周りに出来ないので質問
JAVAとJavaScriptは同じものなのでしょうか?
入門書などを見るとimport java.applet.*と記述すれば
JAVAでアプレットを使えるとありますが、これがJAVAスクリプトなのでしょうか?
あともし別物だったとしてJAVAと比べてJAVAスクリプトは勉強するの簡単でしょうか?
380デフォルトの名無しさん:2006/09/26(火) 11:10:50
>>379
javaとjavascriptは全くの別物。 多少構文が似ている部分もある。 「多少」ね。
当時マーケティングの都合でjavaに似てるイメージを持たせたかったのでjavascriptという名前になっただけ。
勉強するなら、完全に無関係だと思ったほうがいい。

で、javascriptは、簡単な事しかやらないなら簡単。 凝ったことをやるとjavaより面倒。
好みの問題だが。
381デフォルトの名無しさん:2006/09/26(火) 21:20:32
>>380
レス有難うございます。
御蔭でかなりスッキリしました。
382デフォルトの名無しさん:2006/09/27(水) 15:52:22
javaプログラムをexeに変更することはできるでしょうか?
javaならツールを簡単に作れますが、友達に提供しようと思っても
javaをインストールしたくないということで動かせなくて困っています。
383デフォルトの名無しさん:2006/09/27(水) 23:20:24
384デフォルトの名無しさん:2006/09/28(木) 02:23:33
>>382
まずは、インストールしてもらおうよ
exeにしてもいい事ないし
どうせ、昔の情報で「Javaおせーしなー」とか言ってるだけでしょ?
入れないなら自分で作れよ、って言う、と。

どうしてもってんなら gcj で。
exewrapとか、JSmoothやlaunch4jはjava入れなきゃダメだから注意な。
有料でよければJETとかもある・・・がコレは俺使った事ない
385デフォルトの名無しさん:2006/09/28(木) 18:09:28
質問です。
JFormattedTextFieldを使って、HH:mmの形で入力された時刻の差(日数などは考慮に入れない)を求める勤怠時間計算ソフトを作っています。
例えば、2つのJFormattedTextFieldに9:30と20:30の時刻入力があった場合に、3つ目のフィールドに、労働時間"11:00"を出力するというものです。
この場合、文字位置を判定してStringを取得、intに変換して計算するという方法以外に何か良い方法はないものでしょうか?
また、":"の入力を省けるようにMaskFormatter("##:##")としているのですが、SetText(null)とすると、次にフォーカスを得て失うまで":"が現れません。
時刻入力部分だけをnullとして、":"を残しておく方法は無いものでしょうか。
よろしくお願いします。
386デフォルトの名無しさん:2006/09/28(木) 22:49:05
>385です。時間が切羽詰っていて、
http://pc8.2ch.net/test/read.cgi/tech/1158332683/l50
こちらで聞くことにしました。申し訳ありません。
387デフォルトの名無しさん:2006/09/29(金) 22:38:15
ターボリナックス8サーバーでJRE1.5を入れました。
で、javaアプリで日本語入力しようとし漢字変換し、漢字候補の画面でクローズボタンを実行すると、javaが吹っ飛びました。同じような現象を経験した方います?
388java初心者:2006/09/30(土) 18:23:53
JAVAでアプリケーションを作成しています。
コマンドプロンプトでコマンドを入力するような機能をつけたいのですが、
何かいい方法はありませんでしょうか?

自分でも調べてみたのですが、
Runtime.getRuntime().exec()で実現しようとすると、
Eclipseに「処理されない例外の型」と注意されてしまいます。
何か設定があるのでしょうか?
389デフォルトの名無しさん:2006/09/30(土) 20:16:17
System.in
390デフォルトの名無しさん:2006/10/02(月) 10:01:17
>>388
最低限、例外処理ぐらいは勉強してからプログラム書け。
ここで聞くよりググったほうが回答が多い。 ググれカス。
391デフォルトの名無しさん:2006/10/02(月) 15:59:24
throws Exception

|∀・)・・・・・・・・・・・・・・・・・・・・・・ とかね
392デフォルトの名無しさん:2006/10/03(火) 07:51:46
|∀・)・・・・・・・・・・・・・・・・・・・・・・ つかまえたあとどうしよう
393デフォルトの名無しさん: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);
}
}
394デフォルトの名無しさん:2006/10/07(土) 05:56:39
>393 手持ちの本にJava言語仕様を加えることをお勧めする。
8.1.3 Inner Classes and Enclosing Instances
8.5 Member Type Declarations
15.9 Class Instance Creation Expressions
395デフォルトの名無しさん:2006/10/07(土) 23:07:13
SWTの話題もありですかね?
org.eclipse.swt.browserで表示したwebの
formにsubmit(psot)したいのだが良い方法ない?

VBとかだとこんな感じ
ieobj.document.forms(0).Submit

ちなみに↓だと、エラーは出ないけど反応無し。
browser.execute("document.formname.Submit")
396デフォルトの名無しさん:2006/10/15(日) 14:49:35
>>289
Jakarta OROを使えばPerl5互換正規表現を
Javaでも使うことができるぞ
397395:2006/10/15(日) 18:11:22
誰も興味ないかも知れないですが事故解決したので
一応報告。

browser.executeでフォーカスをinputタグにあわせて
awt.robotでエンターキーを叩かせるという力技で何とかしました。

始めはorg.eclipse.swt.browser自体を改造していましたが
OLE操作がいまいち分からずあきらめました・・・。
398デフォルトの名無しさん:2006/10/16(月) 10:30:06
現在アプレットで動作しているものをサーブレットで動くように変換せよ、
との命令を受けた者です。
かなりの初心者で、正直途方に暮れています。

母体(アプレット版)にあまり手を加えずに変換する事は可能なんでしょうか。
物によると思いますが、一般的な手法等について教えてください。

399デフォルトの名無しさん:2006/10/16(月) 22:39:08
かなり不思議な命令だな
400デフォルトの名無しさん:2006/10/17(火) 09:31:42
その命令を出した人間が、どこまでわかってるんだろうか。
ちゃんと知ってて言ってるんなら、元のアプレットをwebアプリにしたいんだろう。
この場合、アプレットのロジックとUIを切り離して、UIはJSPなりで表示。
UIはアプレットとhtmlじゃ出来ることが全く違うから、同じにするには物凄い工数がかかる。
ある程度割り切って実装する事も必要かと。
核心のロジックはそのまま使える。 元のアプレットがまともに書いてあったらだけど。

何も知らないオヤジがなんとなく言ってるだけなら、そんな簡単な話じゃないって事を厳しく教育しとけ。
理由も付けて。
401デフォルトの名無しさん:2006/10/31(火) 09:42:03
windowsのクリップボードのデータって取得できますか?
402デフォルトの名無しさん:2006/10/31(火) 14:32:08
>>401
できるよ
java.awt.datatransfer.Clipboard
について調べてみればおk
403デフォルトの名無しさん:2006/11/06(月) 16:53:21
>>402
できました。
ありがとうございます。
クリップボードの監視とかはできるのでしょうか?
C-cしてクリップボードに値が入った場合に、したい処理があるのですが。
404デフォルトの名無しさん:2006/11/08(水) 14:26:32
作業ディレクトリを移動するにはどうすればよいのでしょうか?
405デフォルトの名無しさん:2006/11/08(水) 15:59:12
new File(フルパス)
406デフォルトの名無しさん:2006/11/08(水) 18:15:38
>>405
これで移動できるのですか?
407デフォルトの名無しさん:2006/11/08(水) 18:30:03
>>406
できるわけねーじゃん。
javaにはカレントディレクトリの移動の概念がないよ。
408デフォルトの名無しさん:2006/11/08(水) 20:57:54
>>404
カレントディレクトリの管理は自分でするしかない。
Fileオブジェクトに持たせておいて、新しくFileを作るときはそれをベースにしてconstruct
409デフォルトの名無しさん:2006/11/10(金) 13:31:04
>>403
たぶんコピーしてオーナーにならないとだめかも。
毎回コピーしなおさないといけないのが難点。
410デフォルトの名無しさん:2006/11/11(土) 16:41:32
String#getBytesでUnicodeからbyte[]に変換される際に
テーブルデータみたいのって自分で編集できる?
機種依存文字とかのマッピングを自分で追記したいんだけど。
411デフォルトの名無しさん:2006/11/11(土) 17:08:11
自分でencoderを作るか、出てきたbyte[]を自力で解析
くらいしか思いつかない
412デフォルトの名無しさん:2006/11/11(土) 17:11:47
どっかにpropertiesかxmlで定義されてるんじゃないの?
413デフォルトの名無しさん:2006/11/12(日) 08:02:05
>>410
java.nio.charset.spi.CharsetProvider

jarファイルでライブラリ作って、META-INF/servicesに記述書いておけば
オリジナルのcharsetを作れるはず
414デフォルトの名無しさん:2006/11/12(日) 16:36:17
質問です。
javaで3mpタグの読み込み&編集を行いたいのですが
どうすればいいのかまったく分かりません。

まだjavaを初めて間もない初心者ですが
何か参考になるものがあれば教えていただけないでしょうか?
415mm3:2006/11/12(日) 17:53:05
はじめまして。ビルさんに質問です。1
J2SE1.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で通すには、どのようにすればよいのでしょうか??
416デフォルトの名無しさん:2006/11/12(日) 20:15:25
板違いなきがするのですが、どうしても分からないので
ここで質問させてください。

XMLの勉強を始めたばかりの初心者なのですが
私が作成したXMLファイルのエラーをチェックするために
コマンドプロンプトから
java dom.Counter (XMLファイル)
という風にやっているのですが、次のようなエラーが出てしまいます。
[Fatal Error] :-1:-1: Premature end of file.
開始タグと閉じタグが一致してないのが原因なのかとソースを何回も
チェックしましたが、そのような記述ミスはありません。
他に原因として考えられること、またはこのエラーの指す意味が
お分かりでしたら教えていただけませんか?

よろしくお願いします。
417岐山面:2006/11/12(日) 22:04:26
>>415 _09の環境がないが、このようにいけるかな。

import 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));
}
}

418デフォルトの名無しさん:2006/11/12(日) 23:32:37
今業務で使ってるフレームワークが糞すぎる!
なんかいいのないか?
Strutsも古いから次。
419デフォルトの名無しさん:2006/11/13(月) 00:52:43
無難にJSF
それで不満があるならWicketかClick
420デフォルトの名無しさん:2006/11/13(月) 23:37:00
リッチクライアントじゃない
ただのWebアプリからWin32APIにアクセスできますか?
(^_^;
421デフォルトの名無しさん:2006/11/14(火) 13:42:29
JNI使えば可能・・・ってそういうレベルの質問ではなさそうだな。
真面目な質問ではなさそうなので、軽く釣られてやったぞ。
422デフォルトの名無しさん:2006/11/14(火) 21:11:29
>>420
ActiveX使おうぜ!
と、おいしそうな餌だったので
423デフォルトの名無しさん:2006/11/15(水) 22:01:57
>>421
アプレットでJNIって使える?
424デフォルトの名無しさん:2006/11/16(木) 05:01:53
policyの設定次第じゃないの?
やらんけど。
425デフォルトの名無しさん:2006/11/16(木) 21:26:31
要素10のString配列と
10のString型フィールドをもつBean、
後者のほうが10+Bean自身でコストがかかるっていう考え方はおかしい?
426デフォルトの名無しさん:2006/11/17(金) 01:09:37
>>425
コストというのはメモリ?
フィールドは名前が付いている分、配列の要素に比べてリッチだろうな
427デフォルトの名無しさん:2006/11/17(金) 20:07:46
標準入力から文字を取得するとき、javaPG側からキーボード操作などをして
キーボードから「test」を入力した状態にすることは可能でしょうか?
ユーザーが入力する際、親切にデータを書き込んで、目的のものじゃなければ<BS>で文字を消してもらおうと考えているのですが。
428デフォルトの名無しさん:2006/11/17(金) 23:15:15
java.awt.Robot
429デフォルトの名無しさん:2006/11/18(土) 02:19:18
>>428
RobotってCUIでも使えたの?
俺もRobotかと思ったけどGUI用かと思ってて
430デフォルトの名無しさん:2006/11/18(土) 10:56:58
試したらちゃんと動いたから大丈夫
431デフォルトの名無しさん:2006/11/18(土) 13:28:23
けど、Linuxとでコンソール越しの実行とかされると無理そうよな。
432デフォルトの名無しさん:2006/11/18(土) 15:06:39
>>428
ありがとうございます。
入力文字を受け取って、大文字に変換してそれを入力したように見せようと思い
for (int i=0; i<input.length(); i++) {
robot.keyPress( input.toCharArray()[i] );
}
とやったのですが、キーコードが不正でエラーになってしまいました。
何が問題なのでしょか。
433デフォルトの名無しさん:2006/11/18(土) 21:24:46
何をやりたいのかわからん
434デフォルトの名無しさん:2006/11/18(土) 23:18:35
Throwableの読み方は
スローアブル?
スローエイブル?
435デフォルトの名無しさん:2006/11/19(日) 06:04:46
>>432
APIドキュメントを読まないか読めないやつだな。
keyPressの引数はキーコードであってUNICODE文字ではない。
キーコードはKeyEventの説明を参照汁。
大文字を打ちたいなら当然シフトキーも押す必要がある。
自分がキーボードを扱う時と同じことをRobotにやらせないといけない。

あと、標準入力への入力待ちをしていると、
WindowsのコマンドプロンプトではkeyPressだけでうまくいくみたいだが、
linuxではkeyReleaseしないと最後にkeyPressしたキーが押されっぱなしになって、
キーリピートしてしまう環境があった。押したキーは放したほうがいい。
436デフォルトの名無しさん:2006/11/19(日) 13:39:57
>>426
ありがとうございます。

もうひとつお聞きしたいのですが、
DBから取り出したデータを
1行1Beanで全行をListに格納と
1列ごとにString配列、列数分配列を用意するのではどちらがメモリ、速度面で有利なのでしょうか。
437デフォルトの名無しさん:2006/11/19(日) 13:44:19
>436 自分で測れボケ
438デフォルトの名無しさん:2006/11/19(日) 22:10:27
>>437
うるさい、市ね。
439436:2006/11/19(日) 23:09:24
すいません。荒れてるんで取り下げます。
メモリ使用量を測れるプラグインとか入れてためしてみます。
440デフォルトの名無しさん:2006/11/20(月) 09:59:18
>>435
すいません。javadocに書いてました。
キーコードとユニコードの変換は自作するしかないでしょうか?

今入力補填機能を作成していまして、<tab>を押して補填済み文字列をキーボード入力しています。
場合によって、ユーザーが<Left>や<BS>で補填の一部を変えたいらしいので、キーボード入力しています。

標準出力じゃ<bs>で文字を消せないので。unixのshell見たいな物を作ろうとしています
441デフォルトの名無しさん:2006/11/20(月) 15:37:30
初歩的な質問で申し訳ないですが、"あ"のunicodeをプログラム側で取得する方法を教えていただけないでしょうか。
442デフォルトの名無しさん:2006/11/20(月) 16:23:47
"あ".getBytes("UTF-16LE")
もしくは
"あ".getBytes("UTF-16BE")
443デフォルトの名無しさん:2006/11/24(金) 18:07:21
Arrays.asList()で取得できるListはArrayListではないのですね。
removeするとエラーになります。
444デフォルトの名無しさん:2006/11/24(金) 23:55:08
>>443
asListが返すのはあくまでもListインタフェースを実装するクラスというだけ。
その実装の詳細に立ち入るプログラムは行儀があまりよくない。
もし、ArrayListが必要なら、asListで得られたインスタンスからさらにArrayListで再構築。
445デフォルトの名無しさん:2006/11/25(土) 16:56:03
線形連立方程式を解くことができるクラスってありますか?
そしてどこにありますか?
教えてください。
446デフォルトの名無しさん:2006/11/25(土) 17:17:04
実際にプログラムの一部として利用するとなると、
なかなか難しい。
447デフォルトの名無しさん:2006/11/25(土) 18:04:58
>>445
数値計算用のライブラリはいくつもあるけど、いろいろ詰め込まれた大規模ライブラリなんで、
線形連立方程式を解くことだけに限定するなら、
ガウス法でもガウス・ジョルダン法でもその他の解法にしても
大したコーディングにはならないから自分で書いてもいいんではないかい?
448デフォルトの名無しさん:2006/11/25(土) 18:14:30
そうかもしれないけど細かいエラー処理とか
コンピュータの数値独特のテクニックとかがあることを考えると
認められてるライブラリを使うのがいいかなと考えたのです。
449デフォルトの名無しさん:2006/11/25(土) 18:37:21
>>448
んじゃ、javaと数値計算で検索すれば商用、非商用いろいろ見つかるよ。
他にも非JavaライブラリをJNIで呼び出すとか。
450デフォルトの名無しさん:2006/11/26(日) 03:33:18
Javaって基本データ型のintとかdoubleとか、
参照渡しできないですよね。
でもメソッドのなかで代入したい場合ってどうするんでしょう?
int a[] = new int[1];
って宣言してわざわざa[0]でアクセスするってことにしてみたんですけど、
これって変ですよね。
451デフォルトの名無しさん:2006/11/26(日) 04:00:28
>>450
呼び出された側で代入したいのなら別に変じゃないと思う。
1個のintに代入したいだけならメソッドの返値として返して呼び出し側で代入する手も。
あとは、intをラップしたmutableオブジェクトなクラスを定義してそれでやりとりするとか。
452デフォルトの名無しさん:2006/11/26(日) 04:05:04
つ Integerクラス
453デフォルトの名無しさん:2006/11/26(日) 04:13:05
>>452
Integerはimmutableなんで引数として渡されたIntegerオブジェクトに
メソッド内で新たな値を代入することはできないと思う。
454デフォルトの名無しさん:2006/11/26(日) 04:24:40
('A`)
じゃあ

class IntCupsel{
 public IntCupsel(int i){ value=i; }
  public int value;
}

で。
455デフォルトの名無しさん:2006/11/26(日) 04:34:45
こんな感じで

public 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
  }
}
456デフォルトの名無しさん:2006/11/26(日) 04:40:26
被った
454のようにアクセスを簡単にするためにラップしたものをpublicにしてもいいね。
あとはマルチスレッドでmutableなものを使うときは注意が必要なくらいか。
457デフォルトの名無しさん:2006/11/26(日) 04:42:48
よしお腹一杯になったぞ
サンクス>>455-456


人の話を聞かなくなってたオレには丁度良い薬だった
458デフォルトの名無しさん:2006/11/28(火) 12:03:01
プロパティファイルはユニコードじゃないとだめなのに、
何でファイルはユニコードじゃないものでも、java内で日本語表示できるのですか?

そもそも、プロパティファイルじゃなくてもいいような気がするのですが?

素人でその辺が良くわかりません。
459デフォルトの名無しさん:2006/11/28(火) 14:28:49
Unicodeとネイティブの変換機能はJava内にある。

プロパティファイルじゃなくてもいいというのが
何のことだかさっぱりだが、
たぶんプロパティファイルでなくてもいいぞ。

取りあえずJavaの前に自分の状況を日本語で表現する勉強だ。
460デフォルトの名無しさん:2006/11/28(火) 14:54:09
>>459
ありがとうございます。
java内と言うのは、エンジンのことですか。それともAPI?
Propertiesのソースを見てみたら、unicodeの変換処理がありました。
それのことですかね。

変換機能は他の用途にも使えそうなので、JDKのAPIにすればいいのにとふと思いました。
461デフォルトの名無しさん:2006/11/28(火) 15:22:00
new String(byte[] ,String)
で、Stringで指定したCharsetでの変換が機能する。
逆向きは、
String.getBytes(String)

参考:
java.nio.charset.Charset
462デフォルトの名無しさん:2006/11/29(水) 10:35:14
独自のサーバーアプリを作っていて、tomcatみたいに実行時中に変更されたクラスを再ロードさせたいのですが
どうすればよいでしょうか?
463たすけてください:2006/11/29(水) 12:09:12
javaの課題がだされたのですが、初心者なので全くわかりません。javaなら俺に聞けさんに助けてほしいです。
多いのですが留年がかかっています。助けてくださいお願いします。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)}
464デフォルトの名無しさん:2006/11/29(水) 13:09:07
>>463
12/6までならまだ余裕あるな。ちょっとまじめにやってみようか。

まず問題文をコンピュータ関係なしに数学として理解しているかだ。
もし、そこ以前だったら、・・・船の安全を考えて頼むから留年してくれ。

問題文を数学として理解しているのなら
まず、その求め方を日本語/数式で書いてみよう話はそこからだ。
465デフォルトの名無しさん:2006/11/29(水) 13:48:14
>>463
大学名は晒さない方が良いと思うよ・・・
466デフォルトの名無しさん:2006/11/29(水) 14:26:29
つーかコレ、学籍番号だったりして・・・ w
467デフォルトの名無しさん:2006/11/29(水) 14:41:44
教官がここ見てて回答と一緒だと一発留年か。w

俺の学生時代も、レポートのdiff取って一発留年晒し挙げがあったなあ。
アクセス記録によれば、UNIXサーバの他人のディレクトリからかっぱらったらしい。
パーミッション切っておかないのが上手いよな。w
468デフォルトの名無しさん:2006/11/29(水) 15:08:19
java.awt.eventのgetModifiersメソッドについて教えてください.

Swingでこれを使うとSHIFTなら17,CTRLなら18,ALTなら24が帰ってきて,
SHIFT_MASK,CTRL_MASK等のマスクを使った処理がちゃんとできるのですが,アプレットでこの
メソッドを使うと,SHIFTでは64,CTRLでは128,ALTでは512が帰ってきて
マスクが使えません.

どうなってるのでしょうか?
469デフォルトの名無しさん:2006/11/29(水) 15:53:29
>>462
普通に上書きすればできっぺよ。
470デフォルトの名無しさん:2006/11/29(水) 15:57:50
何方かjava言語を勉強できる無料サイトって知ってる方いませんか?
一様参考書買って勉強してるんですが・・・なんだか物足りないので誰かご存知の方が居ましたら情報plz つw;
471デフォルトの名無しさん:2006/11/29(水) 19:18:10
>>469
運用時は自動ロード(開発モード)をOFFにしてるんじゃね?
472デフォルトの名無しさん:2006/11/29(水) 19:19:01
>>470
グーグル先生にお願いしなさい。
473デフォルトの名無しさん:2006/11/29(水) 20:13:10
>>471
tomcatの設定はいじれないので、アプリ側で再ロードはできますか?
あるservletを用意して(管理者IDでない場合は404のエラーを返す)、
textで入力されたクラスファイルの名前を取得し、再ロード(クラスの張替え)する。

こんなことできますか?サーバーの再起動は夜中しか許されないので、
これができると日中でもバンバン修正適用ができるのですが。
エラーになって文句言われたときは自己責任で何とかします。
474デフォルトの名無しさん:2006/11/29(水) 21:25:24
>>473
クラックされて変なクラスファイル置かれてもいいの?
475デフォルトの名無しさん:2006/11/29(水) 21:44:09
>>473
自分でクラスローダー実装するしかないだろう。
どちらにしてもTomcatいじる事になるかな・・・
もしくは、古いやり方だがRMIサーバー立てて、クラス修正が頻繁に起こる奴はここに保持とかな・・・
476デフォルトの名無しさん:2006/11/29(水) 21:55:17
>>475
そっか。デフォルトのクラスローダーは何もしないから、
tomcatは自力で実装しなおして、再ロード可能なクラスローダーを使用しているんだ。
ということは、tomcatのクラスローダーをパクればOK!?
そんな簡単ではないか・・・・
477デフォルトの名無しさん:2006/11/29(水) 22:05:10
478たすけてください:2006/11/30(木) 12:13:57
わかりました。もしかしたらまた課題が追加されるかもしれないので、それも含めて考えてみます。いろいろありがとうございます。またよろしくお願いします。
479デフォルトの名無しさん:2006/11/30(木) 12:40:28
javaで代数螺旋のリチュースをかきたいのですが、
public 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;
}
}
}
ここってかいたとこができればできるらしいのですが、わかりますか?おしえてください
480デフォルトの名無しさん:2006/11/30(木) 15:29:42
JAVAなら俺に聞け
でも、数学は聞くな

tが、ラジアン角度
rは、その角度、での中心点からの距離

Wikipediaによると
r = a/ √θ らしい、

今、θを0.001から2π/360のステップで刻もうとしている。
つまり、1周分。
あとは何とかしてやってくれ。
481デフォルトの名無しさん:2006/11/30(木) 15:38:40
PS.
↑のプログラムでは、定数はaではなくc
482デフォルトの名無しさん:2006/11/30(木) 17:03:23
以下のコードでコンパイルエラーが表示されてしまったのですか、どうすればいいですか?
import 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);
}
}
483デフォルトの名無しさん:2006/11/30(木) 17:13:10
↑間違えましたすいません<<482ですが、コンパイルはできますが、
実行になるとエラーが出ます;
484デフォルトの名無しさん:2006/11/30(木) 17:25:16
>>483
またこれかよ。 javaの前に、質問の仕方を勉強しろ。
「エラーが出ます」じゃなくて、その出た例外をそのまま貼れ。
お前は、泥棒に入られたら警察行って「困っています」とか言うのか?

とりあえず勘でエスパーしてやるが、
frame.add(button);

frame.getContentPane().add(button);
に変えてみろ。
485デフォルトの名無しさん:2006/11/30(木) 17:27:23
ありがとうございました!解決しました。以後気をつけます!
486デフォルトの名無しさん:2006/11/30(木) 17:32:21
どうもバージョンによっては482でOKみたいです。
487名無し: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("当たり!");}}
488デフォルトの名無しさん:2006/11/30(木) 20:26:11
>>486
Tigerか、MustangでContentPaneを取らなくてもイイ改修が入ったはず
489デフォルトの名無しさん:2006/11/30(木) 23:44:47
トリップのsalt部分を作る関数みたいなのどこかに公開されてませんかね?
Javaだと文字コード体系が違うので変換がめんどくさいです
490デフォルトの名無しさん:2006/12/01(金) 00:34:23
>>488
Tigerだったはず
491デフォルトの名無しさん:2006/12/02(土) 03:59:46
>487
JavaScriptはスレ違い。
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等のサーバプログラミング
492デフォルトの名無しさん:2006/12/02(土) 04:35:40
あの、http://java.sun.com/j2se/1.5.0/ja/download.html
このページのJDK 5.0 Update 10をDLしたいんですが、
「ダウンロード」っていうボタンをクリックしても、DLできないんですが・・・
この症状は自分だけでしょうか?
493デフォルトの名無しさん:2006/12/02(土) 04:59:11
A array[] = new A[5];
のようにオブジェクトの配列を宣言したとき、
これは参照の配列だと思います。
実体も生成されているのでしょうか?
494デフォルトの名無しさん:2006/12/02(土) 05:03:03
試せやカス
495デフォルトの名無しさん:2006/12/02(土) 05:03:52
493の付け足しです。
実体も生成されているとしても、
明示的にメンバを初期化したい場合は
結局別々にコンストラクタを呼び出せば良い。
この考えでいいでしょうか?
496デフォルトの名無しさん:2006/12/02(土) 05:20:31
public class Main {
    public 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");}}
497デフォルトの名無しさん:2006/12/02(土) 06:33:11
>>496
コンストラクタは呼ばれないけど、
インスタンスのためのメモリは確保されていると…。
498デフォルトの名無しさん:2006/12/02(土) 06:37:09
>>497
> インスタンスのためのメモリ
> インスタンスのためのメモリ
> インスタンスのためのメモリ
> インスタンスのためのメモリ




                       (゚д゚)m9 なんだその「わかってます」風な発言は?!



499デフォルトの名無しさん:2006/12/02(土) 07:14:12
>>498
初期化されていないインスタンスが作られる?
500デフォルトの名無しさん:2006/12/02(土) 07:17:07
それはイイスタンスですね
501デフォルトの名無しさん:2006/12/02(土) 09:20:18
tomcatをインストールしました。localhost:8080をブラウザから指定すると、tomcatの画面
にはなりました。次に、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.
と出てきています。
502デフォルトの名無しさん:2006/12/02(土) 10:27:46
>>501
マルチしね。
503デフォルトの名無しさん:2006/12/04(月) 02:17:22
オブジェクトをメソッドの引数で渡して、
そのメソッドの中で変更できないことに気づいて驚いています。
混乱…参照渡し???
504デフォルトの名無しさん:2006/12/04(月) 02:19:58
あぁぁこれはひどい。良く考えたら当り前だぁ。
ひどい勘違い…。
505デフォルトの名無しさん:2006/12/04(月) 03:19:55
引数で渡されるのはオブジェクトへの参照で、
それを受けた仮引数に格納された参照をメソッドの中で変更しても、
呼び出した側の実引数に反映されるわけではないからね。

やるなら、
メソッドが変更後のオブジェクトを引数でなく戻り値で返すようにするか、
変更したいオブジェクトを内部に持つ別のオブジェクトを渡して、
メソッド内で変更するようにするか。
506デフォルトの名無しさん:2006/12/04(月) 03:29:38
もしくは、変更したいオブジェクトを新たなor用意された別のオブジェクトへ差し換えるのではなく、
かつ、必要な内部状態をそのオブジェクトが変更できるのなら、
メソッド内でオブジェクトの内部状態を変更してやれば、呼び出し元で実引数に渡したオブジェクトを変更したことになる。
507デフォルトの名無しさん:2006/12/04(月) 11:10:50
負荷が掛かる処理があって、サーバーのCPUを使用しすぎるなと注意されました。
メソッド内の特定の処理だけを負荷がかからない方法はあるでしょうか。
ちなみに、サーバー内でjavaアプリだけが稼動している場合(telnetとかのデーモン形をのぞく。さらに負荷がかかって以内を仮定)、
常にCPUが80%を越えないようにする方法はあるでしょうか。
508デフォルトの名無しさん:2006/12/04(月) 11:31:12
特定の処理だけ負荷を下げるのなら、VM内ならThreadで優先度を下げておくって手もあるが
サーバ全体だったら、これはOSの話だ。
そのjavaプロセスの優先度を下げておけ。
これでも80%超えるだろうが、他プロセスが優先されれば問題無いんだろ。
509デフォルトの名無しさん:2006/12/04(月) 14:47:05
servletの話ですが、ウェブアプリで10分後とに定期的な処理をする場合は、
セッション破棄のリスナーを登録し、
あらかじめ決めておいたセッションの破棄だったら処理をするってな感じにしないとだめでしょうか?
ウェブアプリ内で保持している情報を使用したいので、別起動のバッチ処理はなしなんですが・・・
510デフォルトの名無しさん:2006/12/04(月) 15:06:35
>>509
最初のイベント処理でスレッド作って、ウェブコンテナが終了するまでループしていればいいんじゃないの?
あれ、リスナーイベントやサーブレット内でスレッド作れたっけ。作れればそれでいいんじゃないの
511デフォルトの名無しさん:2006/12/05(火) 09:41:14
csvファイルを","でsplitするときに、戻り値の配列に","も含めて返すことってできなかったでしたっけ?
commonsのなにかのライブラリか、java1.4のAPIのどれかにそんなことができるものがあったと思うんですが思い出せなくて。

"a,b,c"が"a", ",", "b", ",", "c" の配列になるものです。

Stringのsplitはではできませんでした。
そんなのありましたっけ?
512デフォルトの名無しさん:2006/12/05(火) 14:31:40
そんなレアな用途のライブラリはないと思われ
513デフォルトの名無しさん:2006/12/05(火) 16:22:59
,を;,;とかに置換してsplitとか
514デフォルトの名無しさん:2006/12/05(火) 17:58:11
>>511
こんなにかわいいString#splitが女の子のわけないだろ!
"a,b,c".split("(?=,)|(?<=,)")
,が先頭のときは最初の要素は空文字列になったり、
,が連続したとき空文字列が間に入るわけではなかったり、
一貫していない気まぐれも魅力。
515デフォルトの名無しさん:2006/12/06(水) 09:26:47
コンパイルしたらIOException createprocess error = 3 とか言われたのですが、これってどんな意味でしょうか?
516デフォルトの名無しさん:2006/12/06(水) 15:37:22
全角を半角に、半角を全角に変換をする場合、
1つずつ"ア"なら"ア"に変更と地道にやるしかないでしょうか?
517デフォルトの名無しさん:2006/12/06(水) 20:00:23
split(str, -1)で出来なかったっけ?負数にしないと空を無視したはず。
518デフォルトの名無しさん:2006/12/06(水) 20:49:56
>>511
String 女の子 = "a,b,c";
String[] 少女 = 女の子.split(",");
String[] 大人の女 = new String[少女.length*2]
for(int i=0;i<少女.length;i++;){
大人の女[i*2] = 少女[i];
 大人の女[i*2+1] = ",";
}

結局配列の偶数番目に、","が入ってるだけだって。
519518:2006/12/06(水) 20:50:51
あ、最後の","が余計か。

って、何に使うんだろこんなの。
520デフォルトの名無しさん:2006/12/06(水) 23:54:37
>>516
計算ではできないからそうするしかないね。
521デフォルトの名無しさん:2006/12/07(木) 02:40:16
>>516
たかだか数十種類の文字の変換なんだから変換テーブルを用意してやれば簡単だと思う
522デフォルトの名無しさん:2006/12/07(木) 15:54:42
つか、こういう半角/全角変換みたいなよくあるヤツはライブラリないの?
523デフォルトの名無しさん:2006/12/07(木) 15:57:38
String.matchesで正規表現の大文字小文字無視オプション適用させることはできるでしょうか?
String.toUpperCase.matchesで大文字としてチェックするで対応しているのですが。これしかないでしょうか?
524デフォルトの名無しさん:2006/12/07(木) 17:07:59
>>523
真面目にやるならこうかな?
Pattern.compile(正規表現, Pattern.CASE_INSENSITIVE).matcher(文字列).matches()
525デフォルトの名無しさん:2006/12/07(木) 23:11:33
http://ja.wikipedia.org/wiki/インスタンス
> instance.set("新しい名前");

これって instance.setName("新しい名前"); の間違いなのではないでしょうか?
526デフォルトの名無しさん:2006/12/08(金) 01:31:13
http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9
なんだこの記事?
たとえばも何もjavaしか説明して無いじゃんー
527デフォルトの名無しさん:2006/12/08(金) 01:33:28
>>525-526
wikipediaの議論はwikipediaで
そのための仕組みもある
528526:2006/12/08(金) 01:35:24
>>527
ごめん
でも>>525は純粋にjavaだと思うよ
529デフォルトの名無しさん:2006/12/08(金) 03:32:16
>>525
直ってるね。単純な間違いっぽい。
wikipediaは基本的に誰でも編集できるから、
単純ミスはここへ報告するくらいなら自分で直してあげた方が親切だよ。
>>526
まあ「例えば」だしJavaしか無くても仕方ないかも。
インスタンスの説明として、その例えが妥当かどうかは別として。
530デフォルトの名無しさん:2006/12/08(金) 10:41:33
よくhashcode()やgetClass().toString()で使用される
インスタンスのアドレス?を使用したいのですが、
hashcode()toString()を親クラスがオーバーライドしていて取得できません。
インスタンスのアドレスを取得する方法はあるでしょうか。
531デフォルトの名無しさん:2006/12/08(金) 10:57:42
ありゃアドレスではなく、hashcodeのHEX表記だよ。
ObjectクラスのtoString()実装を見りゃわかるが、
return getClass().getName() + "@" + Integer.toHexString(hashCode());

System.identityHashCode(obj) って方法もあるけどな。
つか、何に使うんだ?
532デフォルトの名無しさん:2006/12/08(金) 12:08:53
>>531
ありがとうございます。
インスタンスごとにユニークなIDを返さないといけない要求がありまして・・・
助かりました。
533デフォルトの名無しさん:2006/12/08(金) 16:37:57
>>532
System#identityHashCode(obj)が返すデフォルトのObject#hashcode()の値は、
異なるオブジェクトについては「できるかぎり」異なる整数値を返すことになっている。
異なる整数値にならなくてもかまわないので真にユニークであるとは保証されていない。
等価とみなされるインスタンスは必ず同じ結果を返さないといけないが、逆は成り立たないので注意。
534デフォルトの名無しさん:2006/12/08(金) 16:41:03
Object#hashcode() → Object#hashCode()
535デフォルトの名無しさん:2006/12/08(金) 16:44:20
インスタンス生成時にアプリケーション内でUniqueIDを生成した方がいいんじゃ?
536デフォルトの名無しさん:2006/12/08(金) 16:53:18
>>535
俺もそう思う。
ユニークなIDを持たせたいクラスでIDの生成、管理をする方が確実だと思う。
537デフォルトの名無しさん:2006/12/08(金) 22:26:27
javaに正規表現はありますが、ワイルドカードはないのでしょうか?
538デフォルトの名無しさん:2006/12/08(金) 23:20:26
>>537
ワイルドカードというのは正規表現の一表記法だと思うが。
もし、0文字以上の任意の文字にマッチするものを*、
任意の1文字にマッチするものを?と書くワイルドカードのことを言っているのだとすれば、
それはJavaの正規表現では、*は.*、?は.と書く。
1文字以上の任意の文字にマッチさせたければ.+と書く。

もしかするとワイルドカードでは*は1文字以上の任意の文字だったかもしれないが。
539518:2006/12/09(土) 01:08:24
表記法じゃなくて省略版だな。
540デフォルトの名無しさん:2006/12/09(土) 01:25:32
省略版なんだったらそれは正規表現の表記法ってことじゃんw
POSIXの拡張正規表現どころかUNIXの伝統的な正規表現もカバーできない正規表現っぽい表記法というべきだろ
541デフォルトの名無しさん:2006/12/11(月) 17:58:59
すいません。
以前にもお聞きしましたが、weblogicを開発モードに変更してクラスファイルを更新しても反映してくれません。
あくまで開発中のみの対応として、クラスロードーを自作して自力でアンロード・ロードをさせたいと思っています。
サーブレットを1つ用意して、パラメータで取得したクラスを再ロードする感じです。

loadClassをオーバーライドして、
findLoadedClass(String) を呼び出して、クラスがすでにロードされたかどうかを確認する
いきなりfindClassを呼び出せばいいのでしょうか?
クラスをアンロード?するようなメソッドが見当たらなかったので・・・
542デフォルトの名無しさん:2006/12/11(月) 22:33:47
FileChannel#transferFromでEOFにぶちあたったかを調べるには
どうしたら良いのでしょうか?
EOFっても-1返さないし。。。

>541
明示的にアンロードする方法は無かったような。
クラスローダがGC対象になったらそのクラスローダから
ロードされたクラスもGC対象になる、だったと記憶している。
# もちろんインスタンスがあるうちはそのクラスはGC対象にできないし、
# クラスがあればそのクラスのクラスローダがGC対象にならないのは言うまでも無い。
543デフォルトの名無しさん:2006/12/12(火) 08:52:49
クライアントがJBOSSにアクセスしたときにセッションIDを発行と管理を行う機能を
作りたいのですが、JBOSSのみで実現するほうほうが解かりません。
544デフォルトの名無しさん:2006/12/12(火) 15:14:18
webアプリはデプロイ単位でクラスロードーが違うことをききましたが、
webコンテナが、一デプロイ用の大元クラス(webアプリとしてみたときの一番トップのクラス?)を作るとき、
新しいクラスローダーを生成して、そのクラスローダーのloadClassでその大元クラスをロードしているのでしょうか?

基本的なことがわかっていなく、説明が下手ですいませんが、教えていただけないでしょうか?
どうしてもweblogicの開発でクラスの即時変更を実現したくて・・・
545デフォルトの名無しさん:2006/12/13(水) 22:00:50
>>544
Seasarのhotdeploy技術でも調べてみなよ。
あれは本当すごい技術だから、使ってみるべき。
546デフォルトの名無しさん:2006/12/13(水) 22:59:04
>>545
そのクラス(機能)だけ使えるのかしら?
547デフォルトの名無しさん:2006/12/14(木) 11:24:42
クラスローダは、
AクラスがBクラスをnewする場合、B.class.GetClassLoader()の戻り値はAのそれと同じになるのでしょうか?
ということは、サーブレットのpost処理移行のクラスでインスタンスを作る場合、
サーブレットをnewするときに、リロード可能ClassLoaderのloadClass()でサーブレットインスタンスを作る必要があるのでしょうか?
548デフォルトの名無しさん:2006/12/14(木) 18:08:34
ttp://s2container.seasar.org/ja/S2.4SmartDeploy.htmlで
 このコンテキスト内では HotdeployClassLoader がスレッドのコンテキストクラスローダーに設定され・・
こんなことできるのかな?
549デフォルトの名無しさん:2006/12/14(木) 22:15:25
>547
> 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( )));
 }
}
550デフォルトの名無しさん:2006/12/14(木) 22:19:06
>>549
アホがつれたwwwwww
551デフォルトの名無しさん:2006/12/14(木) 22:29:27
>>549
見づらい。ナニが言いたいか分からん。
頑張って読んだ>>550には解説して欲しいところだ
552デフォルトの名無しさん:2006/12/14(木) 22:44:47
>>551に同意。ぜひ>>550には詳しく解説いただきたい。
553550:2006/12/14(木) 23:00:34
java.langのクラスはクラスローダーがないって事が言いたいんじゃね?
俺も>>551>>552に言われて試してみて初めて気づいた。
554デフォルトの名無しさん:2006/12/15(金) 09:49:29
>>548
AクラスがBクラスをnewする場合、B.class.GetClassLoader()の戻り値はAのそれと同じになるのでしょうか?
↑日本語間違えました。これは確認していました。すいません。

ということは、サーブレットのpost処理移行のクラスでインスタンスを作る場合、
サーブレットをnewするときに、リロード可能ClassLoaderのloadClass()でサーブレットインスタンスを作る必要があるのでしょうか?
↑サーブレットクラスを作るのはWEBコンテナですよね。
やっぱりWEBコンテナが実装してくれないとだめなんですかね。

strutsを使っているのですが、ActionServletのデコレーターをつくり、そのクラスのコンストラクタで
loadClass()でActionServletを作ったのですが、
Actionクラスないのクラス変更即時更新ができませんでした。
発想が間違っているでしょうか?
555デフォルトの名無しさん:2006/12/15(金) 09:54:52
>>553
なんでないの?
556デフォルトの名無しさん:2006/12/15(金) 13:10:04
Frameを表示したときに、タスクバー右のアイコン軍に登録ってどうしたらできるのでしょうか
557デフォルトの名無しさん:2006/12/15(金) 13:22:20
アイコン軍のとこにハンコと身分証明書持って行く
558デフォルトの名無しさん:2006/12/15(金) 13:38:50
軍?


それよりJava SE 6 Mustangがリリースされたのに
このスレでは誰も注目しないんだな
559デフォルトの名無しさん:2006/12/15(金) 18:50:06
6は興味引かれる機能ってのが無いからなあ

>>556
JDK6入れてSystemTrayとかTrayIconとかから調べてみな
560デフォルトの名無しさん:2006/12/18(月) 10:15:32
unixのC++言語のロック機能でセマフォって知っていますか?
ロック情報で、インクリメントでロック、デクリメントでアンロック。

ロック: lock++;
アンロック:lock--;

これは違うクラスのメソッド内でも変数にアクセスできれば1メソッド内でなくても、ロックアンロックできます。

javaの場合は、synchronized { }ブロック内でしかできないので、1クラス内でしかロックアンロックできないと認識していますが、
何か別な方法はあるでしょうか
561デフォルトの名無しさん:2006/12/18(月) 10:36:41
HashMapはHashTableで管理していて高速と聞きますが、
DBのインデックスみたいなものでしょうか?
WEBのページ訪問追跡機能を考えていて、
まず最初に全20000ページをHashMapに登録(map.put(url.hashcode(), url)。
htmlを表示するごとに、filterでリストに追加(visit.add(url.hashcode()))。
訪問履歴を表示する処理で、リストからハッシュコードを取り出して、HashMapからURLを取得使用と考えているのですが。

20000この中からhashcodeで検索するのって効率がいいのでしょうか?

PCで試したのですが、処理は結構早かったのですが、比較対照がわからなかったので。
またマシンの性能もあるし、HashMapの使用仕方の妥当性から考えたほうが良いかなと思いました。
562デフォルトの名無しさん:2006/12/18(月) 13:38:19
>>560
同じ事がしたければ、同じようにjavaでセマフォを使えばいいだけなんじゃ?
synchronizedブロックが、1クラス内でしか排他処理できないという認識は間違い。
ロックオブジェクトを使って排他制御するから、そのロックオブジェクトが見える場所ならどこからでも排他可能。

>>561
その実装ってどうなのよって件は別にして、DBのハッシュインデックスと同じ特性だと思っていい。
件数が増えても、キーがバラバラなら同じコストで検索できる。 キーに重なりがあると正しく動作しないかも。
データ構造と検索コストの関係をググれ。
563デフォルトの名無しさん:2006/12/18(月) 17:05:10
>>562
ありがとうございます。
javaでセマフォを使うとは、javaでも直接セマフォと使用できるのでしょうか?
564デフォルトの名無しさん:2006/12/18(月) 17:30:39
>>563
JDK 5.0以降ならSemaphoreクラスがある。
古いバージョンしか使えない場合は、自分でセマフォクラスなり変数を用意して
最大値と最小値(普通は0か)をセットして、++と--なりする処理を書けばいい。
565デフォルトの名無しさん:2006/12/18(月) 17:58:30
>>564
すごい。1.5はセマフォがあるんですね。ただ1.4.0.8なので自作しかないですね。
方法がわからないのですが、synchronized { ・・・・ }で「{」がロック、「}」がアンロックだと思うのですが、

Class {

lock() {
・・・
}

unlock() {
・・・
}

・・・をどうすればいいのでしょうか。synchronized{・・・}しか知らないので、ロックの状態でメソッドを抜ける方法がわかりません。
566デフォルトの名無しさん:2006/12/18(月) 18:17:31
いきなりの質問ですみません。
javaの配列計算時に1からxまでの値を計算して、一定の数値のみを出力するプログラムで、xをある一定の値になると

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

となって計算結果が出なくなりますが、解決法を教えてください
出来れば、一部の数値を残して他の計算結果を消すメモリ節約法があればいいのですが。
567デフォルトの名無しさん:2006/12/19(火) 10:43:19
>>564
インクリメントは置いといて、ロッククラスを作ってみました。
排他制御が難しくて抜けがあるような気がしますが・・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();
}
}
}
}
568デフォルトの名無しさん:2006/12/19(火) 18:19:56
>>566
そのxの大きさと実行環境のメモリサイズにもよるけれど、
もしJVMが使うヒープサイズを拡大するオプションを使っていないのなら、
とりあえず-Xmxでヒープサイズを増やしてみるというのは?
569デフォルトの名無しさん:2006/12/19(火) 20:09:35
mainメソッドを終了するときに、全てのアクティブなインスタンスのgc()が呼ばれると思っていたのですが、
試したら呼ばれませんでした。
これは仕様でしょうか?
570デフォルトの名無しさん:2006/12/19(火) 20:26:53
mainメソッドが終了するときにガベージコレクタが実行されるなんて仕様はどこに書いてあったの?
571デフォルトの名無しさん:2006/12/19(火) 20:46:38
>>570
たぶん誤解していて、それが仕様だったと勝手に思い込んでいたみたいです。
gc()は呼べますが、gcを実行するかのタイミングの保証はないので、
main終了のときに、あるインスタンスのfinalizeを呼ばすことはできないでしょうか。
572デフォルトの名無しさん:2006/12/20(水) 00:13:25
>>571
うむー。finalize()の呼び出しタイミングもVM依存だしね。
後処理が必要な場合はfinalize()に実装せずに、
後処理メソッドを別に作っておいて、
明示的にそれを呼び出すようにした方がいいんじゃないかな。
573デフォルトの名無しさん:2006/12/20(水) 09:37:41
>>572
そうですね。危険な橋渡りはやめておきます。
ありがとうございました。
574デフォルトの名無しさん:2006/12/20(水) 09:47:48
org.apache.commons.collections.map.LRUMapでキャッシュのMAP実装がありますが、
古くなり捨てるべきものを捨てるのではなく、シリアライズしてメモリを圧迫させないような実装のMAPって
どこかのプロジェクトにありますかね?
commonsのcollectionにはないですね。
575デフォルトの名無しさん:2006/12/20(水) 12:08:08
マルチスレッドアプリの中で、あるリストが持っている全てのオブジェクトのトータルメモリ使用量を出せといわれました。
方法としては、シリアライズしてファイルのサイズを調べること意外できないでしょうか?
ただ、シリアライズできないものはアウトですが・・・
576デフォルトの名無しさん:2006/12/21(木) 00:12:07
Spring+Hibernateで開発してるんだけど、検索の種類が多すぎてDAOの
メソッド激増してしまってるんだけど、DAOの外でHibernateのCriteria
使うとなんのためにDAO使ってるのかわからないし、こういう場合って
特定のO/RマッパーやDBに依存しない汎用のCriteriaを作るべきなんでしょうか?
577デフォルトの名無しさん:2006/12/21(木) 11:09:17
Runtime.getRuntime().exec("xxx")でコマンドを実行したとき、
そのコマンドが標準出力にメーセージを吐き出すもので、
コマンドの終了をアプリで待ちたくないので、
終了しないうちに、javaアプリを終了させていますが、コマンドの起動・終了し方として問題ないでしょうか。
ちなみに、コマンドは問題なく動いています。環境はXPです。
578デフォルトの名無しさん:2006/12/21(木) 12:58:37
>>577
JDK1.4以下とかの縛りが無ければ、ProcessBuilderでググってみると良い。
579デフォルトの名無しさん:2006/12/21(木) 13:18:20
>>578
すいません。
その1.4でした・・・。ProcessBuilderのりダイレクト、ホントのいいですねぃ・・・うらやましい
580デフォルトの名無しさん:2006/12/21(木) 13:39:35
577ですが、アプリが終了しているように見えて終了していませんでした。
public static void main(String[] args) throws Exception {
Process process = Runtime.getRuntime().exec("sleep 10");
System.out.println("end");
}
を実行して、「end」は出ますが、eclipseのデバックコンソールではまだ実行中(停止ボタンの「■」が押せる状態)でした。
勝手に実行させて、そのコマンドの終了を待たずにアプリの終了はだめそうですね・・・。

ただ、WEBアプリ(サーブレット)内でしたいので、1リクエスト中に終わらなくてもスレッドはずっと残るので、
実行したプロセスはほっとけばいい、ほっといてそのうち終わっている、でよいなと勝手に思ってますがどうでしょうか?
581デフォルトの名無しさん:2006/12/21(木) 14:14:55
つか、シンプルに戻り値のProcess#destroy()ではダメなん?
582デフォルトの名無しさん:2006/12/21(木) 14:27:16
オブジェクト指向によるシステム開発において、カプセル化の目的を述べよ。カプセル化しなかった場合に発生しうる問題をあげて説明すること
誰か教えてください><
583デフォルトの名無しさん:2006/12/21(木) 14:33:20
>>581
すいません。それだとプロセスが強制終了してしまうので。
WEBでコマンドの実行をして、「実行中です」を表示させて、バックグラウンドでプロセスが走っているようにしたいのですが。
Runtime.getRuntime().exec("sleep 6")って、新しいスレッドで実行していると思ったのですが、
eclipseのデバッグウィンドウで見るとスレッドは生成されていないです。
なのに、カレントスレッドはプロセスとは別に進んでいるなんて・・・
unixのfork()みたいなものなんですかね。子プロセスだった場合Runtimeが子プロセスの面倒を見ているのでしょうか・・・
584デフォルトの名無しさん:2006/12/21(木) 14:56:15
javaでマウスポインタの制御はできますか?
できるようなら適当なクラスを教えてもらいたいです。
585デフォルトの名無しさん:2006/12/21(木) 15:13:59
>>583
ほっといて確実に終わればいいけど、もし終わらないままだとずっとスレッド残っちゃうぜ。
ある程度の時間でタイムアウトしたら、強制でdestroy()した方が安全。
586デフォルトの名無しさん:2006/12/21(木) 16:25:31
>>585
ありがとうございます。
リクエストスレッドではほっといて、ProcessインスタンスはどっかのMapにしまっておいて、
アプリケーション終了処理のサーブレット終了処理で、プロセスが終了していなかったらdestroyっという感じで処理してみます。
587デフォルトの名無しさん:2006/12/21(木) 21:02:04
>>584
MouseManagerクラス
588デフォルトの名無しさん:2006/12/22(金) 04:32:43
ウインドウをマウスでリサイズするときに
ウィンドウの外に現れる枠を表示する方法を教えて下さい。
589デフォルトの名無しさん:2006/12/22(金) 04:51:02
>>588
いったいどこの住民だ?
環境とか書かないと面倒だぜ?
590デフォルトの名無しさん:2006/12/22(金) 04:54:02
>>589
環境はWindowsです。
591デフォルトの名無しさん:2006/12/22(金) 10:51:05
mainメソッドって他のクラスからも呼ぶことができたのですが、
いい悪いは別にして、コールしても良いのでしょうか?
592デフォルトの名無しさん:2006/12/22(金) 14:38:47
>>591
構わないよ。
javaアプリケーションの最初に呼ばれるメソッドというだけで、
別に特別なメソッドってわけではない。
593デフォルトの名無しさん:2006/12/22(金) 15:00:32
こういうことだってできる

class 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を呼び出しても)構わない
594デフォルトの名無しさん:2006/12/22(金) 15:23:16
Unicodeなら int code = (int)'a'; ですが
シフトジスの文字コードの取得の仕方を教えてださい
595デフォルトの名無しさん:2006/12/22(金) 15:39:26
自作したThreadを強制終了することができません。
Threadのdestoryをjavadocを見たら、自分で実装しろと書いてあったのですが
強制終了するにはどうすればいいでしょうか?
stop()しても、interrupt()してもとまらないです。
596デフォルトの名無しさん:2006/12/22(金) 16:34:50
>>595
ここを見て愕然としました。
デッドロックのことはわかるけど、実質的に強制終了ができないなんて・・・
tp://www.ep.u-tokai.ac.jp/~nakazato/API/1.4.0/docs/ja/guide/misc/threadPrimitiveDeprecation.html
597デフォルトの名無しさん:2006/12/25(月) 11:26:14
>>596
でもweblogicではweblogicをstopコマンドで終了させた場合、スレッドも一緒に強制終了しましたよ。
しかも割り込み冷害は発生している様子はなく・・・
どうやって止めているのだろうか。
598長くてごめんなさい:2006/12/25(月) 16:52:20
Javaじゃなく浮動小数点演算だろ!って言わないでTT
Win2000 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差はどうして起きるの?
599デフォルトの名無しさん:2006/12/26(火) 11:57:55
xmlファイルをxpath形式で出力することって可能でしょうか?

ある程度、同じ形式のxmlファイルを比較したいのですが、単純にdiffすると、
書き方だけが異なるものまで引っかかってしまうので、
前処理として、正規化(?)したいのです。
一旦、xpath形式に変換できれば、比較しやすくなるのではと考えています。
600デフォルトの名無しさん:2006/12/26(火) 13:07:11
>>599
無理。xpathは逆の用途だから。そんなものはない
601デフォルトの名無しさん:2006/12/26(火) 19:59:23
>>599
xpathじゃなくてxmlファイルをフォーマットすりゃいいんじゃないの?
602デフォルトの名無しさん:2006/12/26(火) 20:11:45
>>601
ん?そんなクラスあったけかな?
603デフォルトの名無しさん:2006/12/27(水) 00:07:37
英和辞書を正規表現に変換できれば比較しやすいと言ってるようなもんだな。
604デフォルトの名無しさん:2006/12/27(水) 09:40:07
>>599
XMLConfigurationで完璧にできるよ
605sage:2007/01/15(月) 00:39:35
ちゃんとコンストラクタ書いてるのに")"とか";"がありませんって言われてコンパイルとおらないんですが何が悪いんでしょうか?
606デフォルトの名無しさん:2007/01/15(月) 08:51:57
コンストラクタと")"とか";"がありませんって言われてコンパイル通らないことは関係ないから
607デフォルトの名無しさん:2007/01/15(月) 11:28:17
日本語でおk
608デフォルトの名無しさん:2007/01/16(火) 01:25:01
文句言われるあたりを張れ
609デフォルトの名無しさん:2007/01/16(火) 03:06:04
k = 0;
for( 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行目の * でエラーがでます。 
どう直せばいいものか、もしわかる人がいるならば教えてください。
610デフォルトの名無しさん:2007/01/16(火) 03:26:12
>>609
メッセージには何と書いてあった?
catdとmargin, yyは定義されているのか?
それでも解らなければ
エラーメッセージの内容をここにペーストせい。

611デフォルトの名無しさん:2007/01/16(火) 03:33:51
vegetarian.java:52: 演算子 * は int,int[] に適用できません。
yy = i * card + margin;
^
vegetarian.java:52: 互換性のない型
検出値 : <nulltype>
期待値 : int
yy = i * card + margin;
^
これです。どうでしょうか・・
612デフォルトの名無しさん:2007/01/16(火) 04:36:47
cardじゃなくてcardHeightとみた。
613デフォルトの名無しさん:2007/01/16(火) 04:38:50
cardとmarhinとyyの型が本当にint型なのか確認しろ

つうかcardじゃなくてcard[i]だったりしてな。そんな予感がする。

intとint[]型との違いくらいわかるよな
614デフォルトの名無しさん:2007/01/16(火) 21:03:03
>>613に1票
配列変数、小学生でも理解できるから大丈夫だろ
615デフォルトの名無しさん:2007/01/19(金) 12:57:48
C出身なんですが学校の課題で出たサンプルプログラムで
for(i=0;i<MAX;i++){
  button = new JButton();
}
みたいなメモリ確保しっぱなしのコードが出てて脱糞しかけたんですが
こういうのは全部ガベージコレクタ頼りで明示的に解放しないのが普通なんでしょうか?
だとすればガベージコレクタがメモリを回収するタイミングとかは規格で明示されているんでしょうか?
616デフォルトの名無しさん:2007/01/19(金) 13:04:01
明示的に解放しないのが普通

規格で明示されている
617デフォルトの名無しさん:2007/01/19(金) 16:58:32
さらに猛脱糞しそうですが
回収タイミングは予測できません。
618615:2007/01/19(金) 17:07:37
返答ありがとうございます

>>617
ひいいいいいい
619デフォルトの名無しさん:2007/01/19(金) 17:24:47
>>617
回収タイミングをプログラマに任せないからこそ
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
※日本語資料はちょっと古くて、登録が必要。
620デフォルトの名無しさん:2007/01/19(金) 22:13:22
今となっては、自分でメモリ開放しないといけない方が脱糞する。
Cでやるにしても、GCライブラリ使うな。
621デフォルトの名無しさん:2007/02/01(木) 14:16:48
おまえら、JAVAの良本を紹介して下さい。
622デフォルトの名無しさん:2007/02/01(木) 14:42:33
Effective java
623デフォルトの名無しさん:2007/02/01(木) 17:39:12
>622
すまん、本当に良書か? 原書じゃなくて翻訳本も良書なのか?

「柴田芳樹」って調べると、チャンピオンコミックスの漫画家って出るんだが…。
624デフォルトの名無しさん:2007/02/01(木) 18:47:20
プ 爆笑した
625デフォルトの名無しさん:2007/02/01(木) 18:53:57
わろす
http://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



626デフォルトの名無しさん:2007/02/01(木) 19:01:50
柴田芳樹でググったら「鳥女」とかいうくだらない漫画が出てきた。
http://ww36.tiki.ne.jp/~kishiyo22/index.htm


プロフィールをみると技術書の翻訳などやってないようだ。
2004年にフリーターになったと書いてある。

恐らく同姓同名の別人だな
627デフォルトの名無しさん:2007/02/01(木) 19:03:14
jはてなダイアリーキーワードでは

柴田芳樹
http://d.hatena.ne.jp/keyword/%BC%C6%C5%C4%CB%A7%BC%F9

このキーワードはまだ登録されていません。


と表示されている
628デフォルトの名無しさん:2007/02/01(木) 20:00:11
2001年に翻訳してるが、本格的に翻訳本がたくさんではじめたのは2005年ぐらいからじゃね?
629デフォルトの名無しさん:2007/02/01(木) 20:03:39
>625

しかし、6年も前に出た本が良書とは…。Javaの世界とはなにか速度が違うな。
630デフォルトの名無しさん:2007/02/01(木) 20:17:26
言語の世界の最先端が、Javaに実装されるまではタイムラグがありますし。
まあいいものは長くイイ。そういうことでしょう
631デフォルトの名無しさん:2007/02/02(金) 17:25:44
ライブラリが追加されたり機能が増えたりしても、基本的な考え方は変わらん。
理論と経験に基づく「やっていいこと・悪いこと」が書いてあるノウハウ本が結果的には良書なのですよ。
632デフォルトの名無しさん:2007/02/02(金) 18:11:20
>>629
日付をよく見ろ、まだ6年も経っていない。
5年前だ。


Java5からJava Genericsが登場したため。
Genericsに対応したEffective Javaを出して欲しいという
要請がある。

あの本、Genericsが出る前のものだったから
TypeSafe Enumクラスの作り方まで丁寧に乗せている。
そういうところは確かに古い。


それからJava Puzzlerはまだ新しいぞ。まだ1年くらいしか経っていない。
Java One Tokyo2005のときに宣伝されていたからな
633デフォルトの名無しさん:2007/02/03(土) 12:40:08
>>632
enumがなかったからTypeSafe Enumの作り方を丁寧に解説してるというか、あの本のTypeSafe Enumがenum型として取り込まれたという感じだよな。
634デフォルトの名無しさん:2007/02/05(月) 01:08:47
>>621
「Java Concurrency in Practice」
翻訳の語彙が気にならないのなら->「Java並行処理プログラミング」
635デフォルトの名無しさん:2007/02/07(水) 11:38:04
nio勉強していますが、あまり使われていないですね。
私はC上がりなので、selectシステムコールの形がすきなのですが
javaはリスンしてからスレッド生成で、みんなで待ちって感じが普通ですかね・・・
636デフォルトの名無しさん:2007/02/07(水) 17:06:56
配列型ってあるのですか?
getClass()の出力で見ると配列かどうかで違うのですが。
637デフォルトの名無しさん:2007/02/09(金) 10:08:53
Cではファイルポインタに対してcloseしなくても
main終了後に自動的にflushされていましたが、
javaではcloseしないでmainを終了すると、データが書き込まれていませんでした。
もちろんwriteしてからexitしてます。
これは仕様でしょうか?
638デフォルトの名無しさん:2007/02/09(金) 11:52:28
仕様
バッファがあっても無くても、flushしなかった場合の結果は保証されない
639デフォルトの名無しさん:2007/02/09(金) 13:27:52
>>638
ありがとうございます。
すっきりしました。
640デフォルトの名無しさん:2007/02/09(金) 17:20:38
一度描画した後の物体の色を変更したいのですが、CylinderではShape3DのようにsetCapability(Shape3D.ALLOW_APPEARANCE_WRITE)みたいなことはできないのですか?
641デフォルトの名無しさん:2007/02/09(金) 19:17:14
>>640 Graphics.setColor
642デフォルトの名無しさん:2007/02/10(土) 23:56:09
>>635
チャネルを使うことで非同期処理により、高速化が期待できるのだよ。
643デフォルトの名無しさん:2007/02/10(土) 23:57:45
>>636
ある。Arrayという型はまた別の型。リフレクション用。

ObjectはObject型、StringはString型だが、Object[]やString[]は配列型

配列型はObjectクラスを継承していると見なされる参照型でもある。
644デフォルトの名無しさん:2007/02/10(土) 23:58:31
>>637
そういう使用。
エラーで終了しても確実な処理をさせたければ、
finallyでclose()するように。
645デフォルトの名無しさん:2007/02/10(土) 23:59:24
>>640
マルチポストするなウザイぞ。
なぜウザイか、おまえにわかるか?

で、やり方は解ったんだな?
マウスリスナーについて、いい加減に理解したか?
646デフォルトの名無しさん:2007/02/13(火) 05:05:29
>>635
いや、普通に、selectに対応するSelectorがあるよ
ただし1.4以降の機能で使いこなせてるひとも少ない

Linuxでは、JDK5_10以降において実装でepollを使えるようになった
これで利用する人も増える・・・かもしれない
647デフォルトの名無しさん:2007/02/13(火) 10:49:39
flush・配列・selectの件勉強になりました。
ありがとうございます。
648デフォルトの名無しさん:2007/02/13(火) 11:39:15
これはデッドロックにならないのですが、同じスレッドが同じインスタンスにロックする場合は
デッドロックにはならないでしょうか?
String a = "a";
synchronized (a) {
synchronized (a) {
System.out.println("aaa");
}
}
649デフォルトの名無しさん:2007/02/13(火) 15:34:48
650デフォルトの名無しさん:2007/02/13(火) 16:28:55
>>649
マルチスレッド環境ではデッドロックですか・・・
651デフォルトの名無しさん:2007/02/13(火) 19:35:00
Java言語で学ぶデザインパターン入門 - マルチスレッド編 【Java SE 5 java.util.concurrentパッケージ対応】
を見てみよう。
652デフォルトの名無しさん:2007/02/14(水) 19:33:28
>>650
どこを読んだら そーゆー解釈になるんだか……
653デフォルトの名無しさん:2007/02/14(水) 21:04:28
サーブレットでのクッキーの使い方がわかりません…

HTMLのフォームから入力したデータをクッキーに焼くにはどうすれば…??
654デフォルトの名無しさん:2007/02/15(木) 11:21:14
>>652
英語難しいですね・・・。
日本語のjava言語仕様はwebにはないのでしょうか?
本屋ではありましたが、高くて・・・
655デフォルトの名無しさん:2007/02/15(木) 12:04:29
翻訳もあるぞ

プログラミング言語Java

っていう本を読め
656デフォルトの名無しさん:2007/02/15(木) 17:31:54
>>654
古い版のJLSは日本語訳がweb上にあるよ。でも最新版は見たことない。もしあったら教えて。
657デフォルトの名無しさん:2007/02/21(水) 15:27:31
javaでgnuPGみたいに公開鍵暗号化方式でネットワーク通信したいのですが、
そんなものあるでしょうか?
jakartaのcommonsというツール?にあったのですが、
なにか正式リリースではないようなので他にないかと。
658デフォルトの名無しさん:2007/02/21(水) 16:33:12
DESっていうのがありました。
659デフォルトの名無しさん:2007/02/22(木) 07:37:59
>>657
よく分からんけど認証鯖がないP2Pな暗号路を作りたいなら、
鍵交換はDH法でやって、交換された鍵を使ってRCなんかで暗号化するんじゃ無いのか?
このアタリは確実にどこかの誰かがやってて、しかも大きいライブラリがあるから調べるといい
660デフォルトの名無しさん:2007/02/22(木) 13:28:05
>>657
>公開鍵暗号化方式でネットワーク通信
HttpsURLConnection
661デフォルトの名無しさん:2007/03/07(水) 18:57:29
662デフォルトの名無しさん:2007/03/07(水) 19:03:52
System.in.readを使用して、コンソールから1文字入力するたびにreadをリターンさせることはできないでしょうか?
現在エンターを押さないとreadがリターンされません。
663デフォルトの名無しさん: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);
664デフォルトの名無しさん:2007/03/07(水) 19:39:35
665デフォルトの名無しさん:2007/03/07(水) 19:41:40
http://www.velocityreviews.com/forums/t237234-getch-in-java.html
コンソールアプリケーションにそんな概念が無いので、JNI使えって風にみえる
666デフォルトの名無しさん:2007/03/08(木) 10:55:15
>>664
ありがとうございます。
難しいですけどなんとなくわかりました。
イベントってやつを使わないとだめなんですか・・・
667デフォルトの名無しさん:2007/03/08(木) 11:07:31
> だめなんですか・・・
まず使ってみてから結論付けしようね
668デフォルトの名無しさん:2007/03/29(木) 13:55:43
WEBアプリで、WEB-INF/classes以下を含むクラスパス一覧を取得できるでしょうか?
もっといいますと、サーブレットの中で、その時点で有効なクラスパスの一覧を取得したいのですが。

System.getSystemProperty("java.class.path")では、java起動時のパスしか取れなくて、他の手段がわかりません。
ClassLoaderクラスのpublicメソッドにも取れそうなものがありませんでした。

java1.4です。
669デフォルトの名無しさん:2007/03/30(金) 10:47:28
unixの「file」コマンドで、下記のようにファイルの形式を判断できますが、
javaのクラスで、似たような機能を持つクラスはありますでしょうか。

【unixコマンド】
# file cvs.tar
cvs.tar: POSIX tar archive
670デフォルトの名無しさん:2007/03/30(金) 15:49:18
>>669
あるっちゃあるけど。

javax.swing.filechooser.FileSystemView#getSystemTypeDescription(File)
現状では Windowsでは「関連付け」の情報を返してくれるけど
*nix ではファイル/ディレクトリの区別ぐらいしかしない。

javax.activation.FileTypeMap#getContentType(File)
現状では デフォルトで登録されてるファイルタイプの種類が少ない。
671デフォルトの名無しさん:2007/04/02(月) 11:29:24
strutsなどのパッケージ中にあるクラスを入れ替えたい場合、
WEB-INF/classesいかに同じパッケージ名+同じクラス名でclassファイルを置いて、
自作のクラスパスが優先される設定にして、
強制的に入れ替える方法は邪道でしょうか?
672デフォルトの名無しさん:2007/04/02(月) 14:34:06
強引だけど、ほかにはjarを別構築するくらいしか方法もないし、いいんじゃない?
673デフォルトの名無しさん:2007/04/02(月) 16:18:21
>>672
ありがとうございます。
strutsなどはapacheライセンスというのでしょうか、そのjarを再構築するのはライセンス違反ですか?
674デフォルトの名無しさん:2007/04/02(月) 17:02:47
違反じゃないよ。
675デフォルトの名無しさん:2007/04/02(月) 17:09:55
>>674
ありがとうございます。
その方向で修正します。
676デフォルトの名無しさん:2007/04/03(火) 11:13:06
リストからイテレーターを取り出してループ処理をしている最中に、
リストに要素を追加するとエラーになってしまいます。
どうもそのような仕様らしいですが、ループ中に追加してもエラーにならない方法はあるでしょうか。
677デフォルトの名無しさん:2007/04/03(火) 12:05:31
>>676
仕様違反な、エラーにならない List を自作すれば良いのでは?
678デフォルトの名無しさん:2007/04/03(火) 13:17:19
>>676
ListIterator
679デフォルトの名無しさん:2007/04/23(月) 00:22:45
 
680デフォルトの名無しさん:2007/04/23(月) 15:50:41
すいませんコンパイルができません・・orz
プリーズヘルプミー

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
681デフォルトの名無しさん:2007/04/23(月) 21:00:03
>>680
色を取得したいのか設定したいのかによるけど
jr_a.setForeground(Color.red);
にするか
Color color = jr_a.getForeground();
にするかで解決と思われ。
682デフォルトの名無しさん:2007/04/24(火) 05:31:12
>>681
助かります。
ありがとうございました^^
683デフォルトの名無しさん:2007/04/28(土) 21:15:59
すまん、javaの言語仕様の
Integer Literalsで符号の定義が見当たらんのだかどこに書いてあるの?
684デフォルトの名無しさん:2007/04/28(土) 22:34:45
符号はリテラルではないよ。
単項演算子
685デフォルトの名無しさん :2007/04/29(日) 01:59:10
すみません、ホームページビルダーが作ってくれたjsなんですが
CGIに組み込むと動きませんでした。
単体では動作するので、何か変態な仕様なのかと思いました。
一般的なものに校正していただけませんでしょうか?
よろしくお願いします。

<!--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";
}
686685:2007/04/29(日) 01:59:40
if (isN6)
{
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;
}
//-->
687デフォルトの名無しさん:2007/04/29(日) 02:01:18
Javascript は Web 制作板、CGI は Web プログラミング板へ。
688685:2007/04/29(日) 02:10:40
移動します
689デフォルトの名無しさん:2007/04/29(日) 20:49:21
ちょっと寂しい気持ちになったが為になった
ありがとうム板さようならム板
690デフォルトの名無しさん:2007/05/01(火) 10:29:45
(´Д`)ノシ
691デフォルトの名無しさん:2007/05/02(水) 10:24:57
ORマッピングなどでよくStatementクラスのProxyを使っていますが、
これってProxyしなくて、デコレートすればよくない?って思ったのですが、あえてProxyを使うメリットはあるのでしょうか?
692デフォルトの名無しさん:2007/05/02(水) 21:00:39
JAVAでxlsファイル(計3シート)を
csvファイルに変換したいのだが・・・。
どうしてもcsv変換後は前と(セルの中身)配置が違う。
どうしたらいいんだ〜!誰か・・
エレガントなロジックをおしえてくれぇぇ!!
なお、読み込みにはPOIを使用してます
693デフォルトの名無しさん:2007/05/02(水) 21:23:22
>>692
エレガントも何も・・・。
何がどう「配置が違う。」のか分からない。

もう一度質問を読み直してみろ。
694デフォルトの名無しさん:2007/05/02(水) 21:37:34
まるちんこ
695デフォルトの名無しさん:2007/05/03(木) 05:55:43
>>691
デコレートは、オブジェクトを作る時点ですでにそのクラスになっていないといけないから、できてしまったStatementオブジェクトに機能を追加するならProxyではないだろうか?
オブジェクト生成がコントロールできるならデコレートが使えるけど、オブジェクト生成はコントロールできないから。
デコレートだと登場オブジェクトはひとつで、Proxyだと登場オブジェクトは元オブジェクトとProxyオブジェクトの2つになる。
696デフォルトの名無しさん:2007/05/04(金) 23:06:40
コンストラクタの実行に時間がかかるクラスを作ったんで、カウンタ設置してその値に応じてJProgressBarで経過を表示しようとしたんだが、コンストラクタの実行中はバーが全然更新されなくて、実行終了後に更新されてバーがMAXになる。
どうすれば・・・
697デフォルトの名無しさん:2007/05/06(日) 01:38:55
JTextFiedlやJTextAreaで全角文字が入力されたのはどうすれば検出できるでしょうか?
actionPerformed、keyPressed、keyTypedでは半角文字の入力しか検出できなくて・・・
698697:2007/05/06(日) 01:51:52
>>697
自己解決しました・・・
普通にkeyTypedで検出できますね。
keyTyped時に行ってる処理の影響で検出できないようになってましたorz
699デフォルトの名無しさん:2007/05/06(日) 02:34:35
>696
ひとつのクラスに処理を詰め込みすぎている可能性があります。
まずはクラス設計を見直しましょう。
700デフォルトの名無しさん:2007/05/06(日) 03:16:35
>>696
長い処理の間は、画面の更新されない。
適当にrepaintかなんかよびだす
701デフォルトの名無しさん:2007/05/06(日) 19:41:23
>>699
>>700
ありがとうございます。
あとSwingWorkerというものを使う手もありました。
702デフォルトの名無しさん:2007/05/07(月) 22:56:08
>>701
標準バンドルのSwingWorkerは、JavaSE6以降なので一応気をつけて・・・

でも、コンストラクタに処理を詰めすぎなのはProgressバーの進捗と関係なく
やっぱちょっとコード見直した方がいいと思うよ。
703701:2007/05/07(月) 23:27:37
>>702
最近SE6になったのを知って早速いれました。

やっぱつめすぎはだめなんですね。
自分も作ってるとき少し感じてたんですが・・・
見直してみます。
704デフォルトの名無しさん:2007/05/08(火) 11:23:15
>>1
ではさっそく質問します。
最近PCを購入したのでそれでJavaを始めたいとおもいます。
どうすればいいですか?
705デフォルトの名無しさん:2007/05/08(火) 18:04:32
いろいろインストールする
706デフォルトの名無しさん:2007/05/08(火) 18:11:09
必要なものの目安としてはeclipse,JDK,tomcat,各種DBどれか,struts。
0から覚えるの大変そうなので書いてて悪寒がした。
まずJDKだけインストして、他は色々落ち着いたらで。
707デフォルトの名無しさん:2007/05/08(火) 18:32:12
>>706
いやいや、始めに色々列挙したけど最後ぶった切りすぎだろw
eclipceは入れておいた方が便利すぎる
708デフォルトの名無しさん:2007/05/08(火) 19:24:37
eclipse確かに便利だが、素人の内は手動でやった方がよくないか?
709704:2007/05/09(水) 11:55:16
アドバイスありがとうございます。
まずはJdkだけをインストとのことですが、
それはどうやればいいんでしょうか?
710デフォルトの名無しさん:2007/05/09(水) 12:04:51
jdk インストール でググれ
終わったら 環境変数 java でググれ
711704:2007/05/09(水) 14:28:41
ありがとうございます。
JDK1.3.1というのをDLできました。
712デフォルトの名無しさん:2007/05/09(水) 19:19:16
>>711
釣りか?釣りなのか?敢えて釣られてやる。

せめてJDK 6u1にしてくれい(よりによって1.3.1…)
あと「Java SE 6 ドキュメント」もあわせてDLしておいたほうがいいぞ
713デフォルトの名無しさん:2007/05/09(水) 21:02:36
釣りにしか聞こえんwってかそっち落とす方が難しいだろ・・・
714デフォルトの名無しさん:2007/05/09(水) 21:03:47
wwwwJDK1.3.1 持ってこれるってどれだけ熟練してんだかww
715デフォルトの名無しさん:2007/05/09(水) 22:15:29


   初心者です。JDK1.3.1というのをダウンロードする方法を教えてください。
716デフォルトの名無しさん:2007/05/09(水) 22:19:10
もう釣られないんだからね!
717デフォルトの名無しさん:2007/05/09(水) 22:20:11
JDK1.3.1 でググって最初のページ
っていうか普通の落とせ
718デフォルトの名無しさん:2007/05/10(木) 05:41:08
JDKでググって出てきたダウソページから過去のダウンロード見たいなの
たどっていけばダウソできる。
余程の事が無い限り落としてくるな。何故かというと落とした後のサポートレスがダルイからだ。

普通ならJavaSE6、事情があってもJDK5までにしろ。
1.4以前は知っている奴(というかのっぴきならない事情のあるやつ)のみ使え。
719704:2007/05/10(木) 15:56:08
>>712
ありがとうございます。
そっちの 6u1と SE6ドキュメントというやつのDLに挑戦してみようと思います。
720デフォルトの名無しさん:2007/05/11(金) 13:08:00
ストリングのハッシュコードから文字の復元はできますか?
ハッシュコードでユニークになるということは、復元できるのかなと思うのですが。
ただ復元メソッド的なものは無いので・・・
721704:2007/05/11(金) 13:25:15
>>720
わかりません
722デフォルトの名無しさん:2007/05/11(金) 13:28:16
>>720
できない。
そもそも、String#hashCode() の戻り値が完全にユニークである事は保証されてない。
723デフォルトの名無しさん:2007/05/11(金) 14:09:10
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/String.html#hashCode()

System.out.println("A`".hashCode());
System.out.println("BA".hashCode());
結果は両方 2111
724デフォルトの名無しさん:2007/05/11(金) 15:24:16
>>723
ええええええええええええええええええええ!そうなんですか。
じゃはすべてのハッシュマップへのキーを今から見直さないと・・・
725デフォルトの名無しさん:2007/05/11(金) 20:03:13
>>724
もしかして、万一
「HashMap にキー "A`" のエントリとキー "BA" のエントリの両方は格納できないのでは?」
と心配しているのでしたら、
内部の 2111 にあたる欄に2つのエントリとも格納されるだけなので、
気にする必要はありません。
726デフォルトの名無しさん:2007/05/11(金) 23:36:51
>>725
どうもありがとうございます。
先走りました。
727デフォルトの名無しさん:2007/05/12(土) 00:06:55
等しいと判断される二つのもののハッシュ値は同じにならないといけないが、
等しくないものに対するハッシュ値が同じになっても構わない。
できるだけ違った値になった方が少し効率がよくなるだけ。
728デフォルトの名無しさん:2007/05/15(火) 12:00:35
Stringの情報をなるべく短くして管理したいと思っています(メモリ節約)。
長さに制限が無いStringを、固定の文字長でユニークにすることはできないと思っていますが、
MessageDigestを使えばできる的な事がどこかで紹介されていました(理屈は書いてませんでしたが)。
確かにパスワードなどでよく使用しますが、MessageDigestで上記が実現できるのでしょうか?
729デフォルトの名無しさん:2007/05/15(火) 17:11:41
> MessageDigestを使えばできる的な事がどこかで紹介されていました(理屈は書いてませんでしたが)。
無理。

・Stringに必要なメモリ > MessageDigest に必要なメモリが複数あれば、
 別々の String に対してMessageDigestが衝突する可能性がある。
・MessageDigest に必要なメモリ > String に必要なメモリであれば、
 MessageDigestを使うと逆に必要なメモリが増える。
・そもそも、MessageDigest からは String を復元できない。
730デフォルトの名無しさん:2007/05/16(水) 05:12:03
>>728
そういうことをやりたいならハッシュやダイジェストがキーワードではない。
普通に可逆圧縮しろ。
圧縮後のデータを管理するときに、さらにハッシュを使うというのはありだけど、
それもメモリ容量の節約にはならない。
ハッシュはメモリを余分に使うことで時間を節約する技法。

ハッシュが事実上一方向関数であるということを認識すべき。
特にMessageDigestのようなものは多対一の写像なので元に戻すのは不可能。

自分で可逆圧縮の実装をするのが面倒ならDeflaterとInflaterがある。
メモリ節約を考えるほどだから、それなりに長い文字列を扱おうとしているんだろうけど、
もし短いようなら、この圧縮方法は向いていないので注意。
使い方のサンプルがDeflaterの説明にある。
731デフォルトの名無しさん:2007/05/16(水) 10:52:05
>>730
ありがとうございます。
調べてみます。
ちょっと話がずれますがMessageDigestも多対一ということは、
パスワード認証で、入力→ダイジェスト→DBのダイジェストされた値と比較 の流れで実装していますが、
誤認証の可能性もあるということでしょうか。
現在パスワードのマックスは100バイト(全角も可)になっています。
732デフォルトの名無しさん:2007/05/16(水) 12:27:19
>>731
ダイジェストを得るのに使用しているハッシュ関数が優秀であれば、
誤認証(異なるパスワードで同じダイジェストを生成)の可能性は、
入れるパスワードの数(長さではない)にのみ依存する。

例えば、ハッシュ値長160ビットでダイジェストするとし、
入力された2^10=1024個のパスワードで同じダイジェストになる確率は、
1/2^70程度となる(ttp://burtleburtle.net/bob/hash/hashfaq.html#unique)。
ということで、管理するパスワードの数にもよるけれど衝突する可能性は結構低い。
でも、衝突しないという保証は決してできない。
733デフォルトの名無しさん:2007/05/16(水) 12:33:48
>>732
○ パスワードで同じダイジェストになる確率は、
× パスワードの中で同じダイジェストになるものが存在する確率は、
734デフォルトの名無しさん:2007/05/17(木) 11:43:16
J2EEコンテナでリモートアクセスが出来ますが、これってRMIの使用して実現しているのでしょうか。
こんな感じに ttp://www.hellohiro.com/rmi.htm
735デフォルトの名無しさん:2007/05/17(木) 12:03:47
>>730
ありがとうございます。
Deflaterのjdocを見ましたがサンプルらしきものがなかったです。
736デフォルトの名無しさん:2007/05/17(木) 12:29:14
>>735
君の目は節穴だな。
DeflaterにもInflaterにもサンプルコードがあるというのに。
737デフォルトの名無しさん:2007/05/17(木) 13:05:38
>>736
すいません。1.4見てました。
738デフォルトの名無しさん:2007/05/19(土) 15:13:08
あああ
739デフォルトの名無しさん:2007/05/19(土) 15:17:24
WEBコンテナ実行中にeclipseでデバッグ接続して、ソース変更でホットコードリプレイスによりコード即時置換できますが、
linux環境で、WEBコンテナ実行中(デバッグモード)中に、修正したclassを使用してコードを置き換えることはできないでしょうか。

たとえば下のようなコマンドがあるとか。

ホットコードリプレイスができるコマンド 修正クラス
740デフォルトの名無しさん:2007/05/19(土) 15:25:39
>>739
seasar2使え
741デフォルトの名無しさん:2007/05/19(土) 16:08:11
ランタイムのrt.jarのクラスファイルを置き換えようと思い
rt.jarをjar xfv rt.jarで解凍した後、java.io.File.classを独自なものに置き換えて、jarcfv rt.tar rtってやったけど
圧縮サイズは元のものとぜんぜん違うし、javaを実行すると、java.lang.Object.classが見つかりませんってなります。
どこがいけないのでしょうか?
742デフォルトの名無しさん:2007/05/19(土) 16:38:17
>>741
無茶するなぁ
動作保証されてる提供クラスを俺様クラスに置き換えって…
悪いことは言わん、元に戻してFileクラス拡張することを考えろ。
743デフォルトの名無しさん:2007/05/19(土) 16:41:06
>>741
そういうときの為のOOPだと思うんだけど…
744デフォルトの名無しさん:2007/05/19(土) 17:03:22
ちょっとライセンス斜め読みしてみたけど、rt.jar内のクラス入れ替えってソフトウエアの改編にあたらね?
利用許諾違反になっちまわないか?
745デフォルトの名無しさん:2007/05/19(土) 17:24:13
> 743
OOPってのは、想定外の用途に対応できるような万能ツールじゃないからな。

> 744
OpenJDKを待てってことだな。

ということでOpenJDK使ってソースからビルドしなおすほうが安全かもね。
746デフォルトの名無しさん:2007/05/19(土) 17:30:48
>>745
OOはともかくとして、普通は java.io.File を改変するよりも改変せずに済ませる方法考えるけど。
配布とか保守とかの手間考えるとコスト高いし。

ってか、なんで >>741 は java.io.File 改変したかったんだろ?
747デフォルトの名無しさん:2007/05/19(土) 19:51:38
Fileに機能拡張したかったんでそ。
APIが返してくるオブジェクトにその機能が欲しかったとか。
欲しいフィールドがprivateだったとか。
まあ、privateメンバにアクセスするならリフレクション使えば問題ないが。

あとは、デフォルトコンストラクタが欲しいとかかな。
JAXBみたいに、スーパークラスにデフォルトコンストラクタがなかったら使えないようなライブラリがあるから、継承して拡張とかは意味なかったりするし。
748デフォルトの名無しさん:2007/05/19(土) 20:17:58
> privateメンバにアクセスするならリフレクション使えば問題ない
こーゆー感覚も怖いけどな。

> あとは、デフォルトコンストラクタが欲しいとかかな。
これはフレームワークが対応してりゃ 1.6で追加された
java.beans.ConstructorProperties が設定されたコンストラクタがあれば必要なくなってくかも。
まぁ、無視される可能性も高いけど。
749デフォルトの名無しさん:2007/05/19(土) 20:32:36
privateで持ってる値を見たかったらソース書き換えるかリフレクションしかないだろ。
標準APIでネイティブ関連の情報を持っていたり、フレームワークに関する重要な情報があったりすると、はっきりいってそれしか選択肢はないしな。

ConstructorPropertiesって、複合型のプロパティ指定するやつだから、デフォルトコンストラクタがないことの解決にはならんような。
5.0対応のライブラリもようやく出揃ったくらいなのに、6の機能使ったライブラリなんか皆無だな。
750デフォルトの名無しさん:2007/05/19(土) 21:17:29
> はっきりいってそれしか選択肢はないしな
private で持ってる値を見なくても良い方法を考えた方が……

> ConstructorPropertiesって、複合型のプロパティ指定するやつだから
プロパティに初期値与えられるようにするもの。
デフォルトコンストラクタ + setter/getter だけだったものが
@ConstructorProperties 付きコンストラクタ + getter でも表現できるようになるわけで。
751デフォルトの名無しさん:2007/05/19(土) 21:53:05
ブートストラップを変えればすむだろ?
752デフォルトの名無しさん:2007/05/19(土) 22:30:11
741ですが、やりたかったことはフレームワークが使用しているファイルを調査したかったから。
ソース添付してFileのコンストラクタで条件付ブレイクを張れば簡単にできるけど、
しょっちゅう呼ばれるクラスに条件付ブレークを設定するとものすごく遅くなるので、Fileのコンストラクタで
設定ファイルからファイル名を取り出して、そのファイル名でコンストラクタを呼んだときにブレイクさせたかっただけ。

753デフォルトの名無しさん:2007/05/19(土) 22:44:05
>>750
privateで持ってる値に興味があって、普通には見れないときには、ほとんどの場合ほかに手はないよ。
754デフォルトの名無しさん:2007/05/19(土) 23:17:41
>>753
private になってるって事は他人が見てはいけない/見なくてもいいはずのもの。
見ないで済む方法を考えるのが先っしょ。
755デフォルトの名無しさん:2007/05/19(土) 23:25:39
だから、見ないで済む方法がないときにどうすんのって話してんのさ。
低レベルに近かったり、フレームワークに近かったりするほど、そういうことは多々ある。
きれいごとじゃプログラム組めないよ。
756デフォルトの名無しさん:2007/05/19(土) 23:27:01
privateになってるってことは、他のクラスからも見えないってことだから、そのクラスにアクセス手段がなければリフレクションしかないってことだからな。
757デフォルトの名無しさん:2007/05/19(土) 23:35:28
>>755
> だから、見ないで済む方法がないときに
だから、>>747 はそれを確かめずにリフレクションの話してるから怖いって言ってるのさ。
758デフォルトの名無しさん:2007/05/20(日) 00:14:35
水掛け論だが754のレス先の753では「普通には見れないとき」とわざわざ断ってるわけだが。

フレームワークの機能拡張する場合には、そういう場面に遭遇することがある。
フレームワーク作者は、フレームワークを単純に利用することだけ考えがちで拡張についてはあまり考えが至らないことがあるからな。

privateになってるってことは、privateって書いたやつが「見てはいけない/見なくていいはず」と思ったというだけであって、そうではないこともある。
特に、privateのフィールドまでたどりついたときには、他に手がないことがほとんど。
759デフォルトの名無しさん:2007/05/20(日) 00:43:11
>>758
まずはフレームワークの修正が本筋で、
どうしようもない時は回避策として利用してもいいかもしれないが

でも、リフレクションとか使った拡張はあくまで回避策と認識しておくのがよいな。
760デフォルトの名無しさん:2007/05/20(日) 00:49:12
セキュリティーマネージャとかがいると、プライベートアクセスに問題があるの?
761デフォルトの名無しさん:2007/05/20(日) 01:06:55
>>753
逆に言うと、それまで 2〜3個レスがあるのに断り書きすら出てこないわけじゃん。
怖いよなぁ、やっぱり。

> そうではないこともある。
読む方が そう思わなかったというだけであって…… と言い返されたら水掛け論。
あんまし自分の能力を過信しない方が良いと思うよ。

>>760
ReflectionPermission "suppressAccessChecks" が許可されてないと、
AccessibleObject#setAccessible が SecurityException 食らう。
762デフォルトの名無しさん:2007/05/20(日) 01:07:55
×>>753>>758
763デフォルトの名無しさん:2007/05/20(日) 02:11:51
基本は拡張には開かれてて、修正には閉じられている。
個人的には、privateアクセスやfinalクラスは好きではない。
本人がそうしたくても、他人から見たらそこに有意義なコードがあれば再利用したいし、
拡張の発想なんてたくさんの人が多岐に持っていると思う。
privateやfinalにしないで、コメントで注意してね見たいなjdocタグがあればいいと思う
764デフォルトの名無しさん:2007/05/20(日) 02:16:28
>>763
たしかに!Stringやラッパークラスがfinalがゆるせない。
765デフォルトの名無しさん:2007/05/20(日) 02:21:36
注意できない奴等が引っ掻き回しやがるから利便性を捨ててでも制約をかけざるを得ないんじゃないか
766デフォルトの名無しさん:2007/05/20(日) 02:28:29
>>1
おれはこの3年間必死にJAVAを勉強してきた。
実際クソみたいな言語仕様だが改良に改良を重ねた1.5はチト使える。
よって、まともな言語としての扱いを受けるスタートラインにやっと立ったと言える。

ってあるけど、javaよりいけてる言語は?
767デフォルトの名無しさん:2007/05/20(日) 03:28:20
Q.いけてる言語は?(複数選択可)
  □JAVA ☑3年間必死に勉強してきたJAVA ☑Java □java □その他(    )
768デフォルトの名無しさん:2007/05/20(日) 04:12:34
JavaFX , Pnuts
769デフォルトの名無しさん:2007/05/20(日) 13:12:55
>> 764
Stringとかラッパークラスは、実装上しかたない部分もあるんだよ。
770デフォルトの名無しさん:2007/05/20(日) 13:13:47
誤解してるやつ多いみたいだけど、JavaFXはJava言語で使えるよ。JavaFX用の言語はJavaFXScriptだ。
771デフォルトの名無しさん:2007/05/20(日) 13:17:36
>>761
レス先に書いてあることを無視して話すすめられたら、やりとりにならんわけで。
ひとりで怖い怖い言ってればいいよ。
772デフォルトの名無しさん:2007/05/20(日) 13:30:04
マルチスレッドである変数に並列アクセスする場合、
代入、参照の先勝ち、後勝ちがどうでもいい場合でも、ロックをして同期をしなければならない?
スピードアップが求められる処理なので、なるべくロックはしたくないなと。
もっというと、javaの場合、複数ロックしたとき開放される順番がロックを書けた順番ど通りになることが保障されないから
ロックかけたくないんだよね。今回順番が大事だから。

読み込みスレッド
multiReferenceInstance = overrideInstance;

使用スレッド
operationInstance = multiReferenceInstance;
operationInstance.xxx();

Cの場合だと、確か代入でアドレス書き込み中にでも、その変数アドレスの読み込みが走って
アドレスがおかしくなるからだめだったような。
773デフォルトの名無しさん:2007/05/20(日) 13:47:02
> 複数ロックしたとき開放される順番がロックを書けた順番ど通りになることが保障されないから

保証できるロックがあったと思う
http://www-06.ibm.com/jp/developerworks/java/041112/j_j-jtp10264.html
774デフォルトの名無しさん:2007/05/21(月) 15:33:25
>>751
-Xbootclasspath/p:でいけました。
775デフォルトの名無しさん:2007/05/21(月) 15:58:50
privateアクセスで、setAccessible(true);やった後setAccessible(false);にする必要時はありますか?
影響があるのは、setAccessible(true);かけたインスタンスだけですか?

776デフォルトの名無しさん:2007/05/21(月) 16:54:18
半角で-0000と入力した場合,1文字目が記号のためエラーとなる処理を行いたいのですがどうすればいいでしょうか?
777デフォルトの名無しさん:2007/05/21(月) 17:08:21
if("-0000".startsWith("-")) throw new Error("記号ではじまってるよん");
778デフォルトの名無しさん:2007/05/21(月) 17:08:30
boolean is記号(char c){
 //cが記号ならtrueを返す処理を、776のプログラムでの記号の定義に従って書く
 return c == '-';
}

void hoge(String str){
 char c = str.charAt(0);
 if(is記号(c)) throw new Exception("記号のエラー");
 //続きの処理
}
779778:2007/05/21(月) 17:11:18
先をこされて悔しいのでバリエーションを
if("-+/*・・・(記号の羅列)・・・".indexOf("-0000".charAt(0)) >= 0) throw new Error("記号っす");
780デフォルトの名無しさん:2007/05/23(水) 11:17:11
いやきっと>>776

> 半角で-0000と入力した場合,1文字目が記号のためエラーとなる
という方法は知っていても

> 処理を行いたいのですがどうすればいいでしょうか? 
という処理の行わせ方がわからないんだろう

つまり>>776はJavaを見たことはあるけどやったことがない新人と捉える
最適なアドバイスは「プログラムを書いてパソコンに処理を行わせればいいよ」と言うことだ
781デフォルトの名無しさん:2007/05/23(水) 11:33:53
わかった。
プロにまかせろ!
ってことか。
782デフォルトの名無しさん:2007/05/23(水) 15:28:43
String str = "aaa";
この場合、Stringクラスの適当なコンストラクターが呼ばれるのでしょうか?
783デフォルトの名無しさん:2007/05/23(水) 15:30:57
>>782
すいません。乗ってました。
String str = "abc";
は、次と同じです。


char data[] = {'a', 'b', 'c'};
String str = new String(data);
784デフォルトの名無しさん:2007/05/23(水) 15:48:39
>>783です。
上のように書いてありましたが、new String(char[]);にデバッグを張ってもとまりません。
new String(new char[]{'c', 'c'}); は止まりますが、
"bb";は止まりません。なぜでしょうか。
785デフォルトの名無しさん:2007/05/23(水) 18:12:59
>>784
止まるわけないよ。
だってString str = "abc";はnew String(char[])を呼んでないんだから。
コンスタントプールから"abc"のエントリーを取り出しているだけ。
"abc"のインスタンスが無いときにどう生成するかはVMの実装次第。
Stringをnewして<init>をinvokespecialするString str = new String(data);と違って、
String str = "abc";はldcしているだけ。
786デフォルトの名無しさん:2007/05/23(水) 18:42:05
>>785
ありがとうございます。
コンスタントプールはJDKにはなかったですが、標準クラスではないのでしょうか?
あとldcってなんですか?
787デフォルトの名無しさん:2007/05/23(水) 19:15:28
>>786
コンスタントプールってのは、クラスファイルとかVMの方の用語だ。

ldc は定数をロードする JVM のインストラクション。LoaD Constant かな?
788デフォルトの名無しさん:2007/05/23(水) 20:02:13
Stringのような不変クラスは、中身書き換えられる心配ないから
インスタンス使い回しをした方が効率いいから使い回せるもんは使い回してる、と。
789デフォルトの名無しさん:2007/05/23(水) 20:09:54
>>786
詳しくはJava VM仕様を。
でも、仕様文書そのものよりも、それを解説しているものがあれば、その方が理解しやすいとは思う。
String str = "abc";とかString str = new String(data);が、どうコンパイルされたかは、
クラスファイル名がHoge.classならjavap -c Hogeとやれば生成されたバイトコードが見られるから、
シンプルなプログラムを書いてみて、バイトコードを比較してみれば違いが分かる。
790デフォルトの名無しさん:2007/05/24(木) 10:14:01
>>789
確かにnewと""ではコードが違いました。""の時クラスファイル内部ではnewしていなかったので、
VMが何らかの方法でStringを生成して、ldcでプッシュしているって感じですかね。
リテラルからのStringクラス生成は、VMレベルなので、ブートストラップを変更しても制御できそうにもないですね
っと、とりあえず自分で考えた結論ですがあっているでしょうか。
791デフォルトの名無しさん:2007/05/25(金) 13:46:26
>>790
そんな認識でいいんじゃない。
792デフォルトの名無しさん:2007/05/25(金) 15:39:50
xml文章のある要素を取得したタイミングで、スタックとレースをダンプしたいと考えています。
javaのxml処理について調べました。おかしい点があれば指摘していただけないでしょうか。

・読み込み向けはsax、更新する場合はdomと、jdkでは2つのインターフェースを定義している。
・sax、domを実装したモジュールが各ベンダーから配られている。
 基本、すべてのベンダーはsax、domを実装している。
・jakartaなどのxml関連ライブラリも、sax、domAIPを利用(拡張実装もあり)している。
・なので、ブートストラップでNodeクラスを変更したクラスにパスを通し、値をセットするときのコードを変更し、
 xxだったらトレースをダンプするコードを書けば、
 目的の要素をどこのクラスから読み込んでいるかを追うことが出来る。
793デフォルトの名無しさん:2007/05/25(金) 15:54:53
>>792
要素を取得したタイミングをいうより、
ある要素を処理するタイミングという訳ね。

静的な解析手法でなくてよいのだったら、
eclipseなんかのデバッガで、DOM,SAMの実装クラスの要素処理のコードの所で
ブレイクポイント置いてそこで止めてみては?
794デフォルトの名無しさん:2007/05/25(金) 16:38:50
だれか助けてください!!
jdbやeclipseのデバッグ、その他なんでもかまいませんが、
あるインスタンスを参照している箇所(ソースの行数またはクラス名のみでも可)をリストアップすることはできるでしょうか?
795デフォルトの名無しさん:2007/05/25(金) 17:14:28
classの参照って、普通にeclipseで見られなかったっけ?
796デフォルトの名無しさん:2007/05/25(金) 17:35:48
>>795
String hoge = "hoge";
bean1.setString(hoge);
bean2.setString(hoge);
bean3.setString(hoge);
としたときに、
このローカル変数のhogeの参照サーチってやると、
bean1、bean2、bean3って出てくることを望んでます。
そんなことできましたっけ?
797デフォルトの名無しさん:2007/05/25(金) 18:46:55
>>792
読み込み・書き込みの違いじゃなくて、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に取り込みたいという場合には非常に楽です。
798デフォルトの名無しさん:2007/05/27(日) 11:40:09
>>792
プロファイラー使ったことないけど、プロファイラーならトレースが出ると思うし追えるんじゃん
プロファイラー自体がどのような技術で実現しているのかわからないけど
メソッドをトレースするからjavaエンジンレベルで何かしているのだろうね。
799デフォルトの名無しさん:2007/05/28(月) 15:50:06
>>740
これって、seasarのクラスローダーを使うではなく、seaser自体使えってことですよね。
HotdeployClassLoaderを見ましたがNamingConventionみたいな物を使っていて・・・
結局javaはクラスを明示的にアンロードする仕組みがないから、
再ロードしやすくなる規約を作らないとできないってことですかね。
ここにいろいろ書いてありましたが。
ttp://www.nminoru.jp/~nminoru/java/class_unloading.html
800デフォルトの名無しさん:2007/06/01(金) 10:55:13
メソッドの引数はローカルスコープでしか有効でないので、
ローカル変数みたいに値を代入したりしても問題ないですよね?

xx(String str) {
str = str.toUpper();
.
.
}
801デフォルトの名無しさん:2007/06/01(金) 11:03:38
おk
802デフォルトの名無しさん:2007/06/01(金) 14:58:11
>>800
言語仕様的には問題ないけど、
たまにコーディングルールで禁止とか非推奨な場合もあるから気をつけた方が良いかも。
803デフォルトの名無しさん:2007/06/05(火) 01:12:03
JavaでWebアプリ作った場合、一般的にFullGCかかる頻度って
どの程度が理想的なんでしょうか?
根拠はないけれど10分くらい?
804デフォルトの名無しさん:2007/06/05(火) 01:17:16
アプリによる。以上。
805デフォルトの名無しさん:2007/06/05(火) 10:26:12
jadでデコンパイルできますが、行数が元のソースと合いません。
そのため、eclipseのjadエディターでブレイクポイントを指定しても、同期が正しくない状態で止まります。
行数が元のソースと同じ状態で出コンパイルすることはできないでしょうか。
またはメソッドを定義している行数だけでも知る方法はないでしょか?
806デフォルトの名無しさん:2007/06/05(火) 11:15:34
リフレクションでprivateにアクセスすることはできましたが、
finalのフィールドを変更することはできないでしょうか。
807デフォルトの名無しさん:2007/06/05(火) 11:29:17
>>805
むり
808デフォルトの名無しさん:2007/06/05(火) 15:55:27
URLクラスのメモリ用なんてありますか?

new URL("mem://xxx");

よくフレームワークで、リソースをストリームではなくURLのみで受け付けるものがあり、
ByteArrayOutputStreamの場合、一度ファイルに書き込まなければならないので
そこを何とかしたいです。
809デフォルトの名無しさん:2007/06/05(火) 16:26:56
>>808
無理。

ファイル作りたくないだけなら、FTPサーバかHTTPサーバになりすまして
そのURL渡す方法もあるけど、ファイル作るよりよほど手間かかるぞ。
810デフォルトの名無しさん:2007/06/05(火) 16:36:01
>>806
finalはコンパイル時に実値に置き換えられるから、無理
たとえば
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の値が使われ続ける。
811デフォルトの名無しさん:2007/06/05(火) 18:49:52
>>808
ここはム板だ。無ければ作ればいい。
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:"だけでいいし実装も簡単だ。
812デフォルトの名無しさん:2007/06/05(火) 19:12:42
URL#setURLStreamHandlerFactoryの呼び出しはJVM動作中1回だけなので注意して。
813デフォルトの名無しさん:2007/06/06(水) 15:46:46
>>811
できました。
ありがとうございます。
URLがfinalだったので、これはどうしようもないと思っていたのですが、
こんな機構が用意されていたのですね。
814デフォルトの名無しさん:2007/06/07(木) 15:46:47
while (1000回) {
 "xxx".replaceAll("xxx","yyy");
}
この場合、無駄に正規表現のコンパイル処理が走るので、
コンパイルしたMatcherでreplaceしたほうが、処理が早くなるでしょうか?
実際試しましたが、ほとんどかわりはなかったですが・・・
815デフォルトの名無しさん:2007/06/07(木) 16:08:42
>>814
1000回くらいでは差があまり見えないのでは?
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での最適化の関係もあって正確な測定ではないけれど。
実際に扱うデータ量で測定してみてあまり変わらないのであれば、記述の分かりやすさを選べばいいと思う。
816デフォルトの名無しさん:2007/06/08(金) 15:43:28
>>815
ありがとうございます。
100000回くらいで差が出てくるほどでした。

Pattern#flags()でフラグのセットが返りますが、Pattern.DOTALLが含まれているかの確認はどうすればよいのでしょうか。
Cでビット演算はしたことがあったのですが、忘れてしまいました。
817デフォルトの名無しさん:2007/06/08(金) 15:57:46
(Pattern#flags() & Pattern.DOTALL) != 0
818デフォルトの名無しさん:2007/06/12(火) 07:34:39
>>814
気にするほど遅いならばそのメソッド自体が提供されていないと思う。
819デフォルトの名無しさん: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)) {
  // オーバーフロー
}
820デフォルトの名無しさん:2007/06/17(日) 16:32:16
>>819

要件がよくわからんけど、こんなのじゃ駄目?

String str = "0x7FFFFFFFF";
int value = 0;
try {
  value = Integer.decode(str).intValue();
} catch (NumberFormatException nfe) {
  //オーバーフローやフォーマット不正
}
821デフォルトの名無しさん:2007/06/17(日) 17:42:59
>>819
桁読み込んだ後に、result の更新と判定の順番変えて

digit = .....; //一桁読み込み
if (0xFFFFFFF < result) {
  // オーバーフロー
}
result = (result * radix) + digit;
822819:2007/06/18(月) 07:53:06
自己解決しました。

glibcのソースやら何やら眺めてたら、
基数毎にこれ以上桁増やしたら必ずオーバーフローする
限界値を計算しておいて確認する以外は無理っぽいです。

>>820
decode()じゃ結局parseInt()と同じなので、
0x80000000以降がオーバーフローしちゃうんです。

よくよく考えてみると、符号無し演算が可能でも、
>unsigned value = (result * radix) + digit;
>if (value <= result) {
これで判定出来ないケースがあるんですね。
823デフォルトの名無しさん:2007/06/20(水) 18:25:35
1.4でコンパイルしたクラスを、1.5のエンジンで実行させることはできるのでしょうか。
jakartaなどのライブラリのダウンロードで、JDKのバージョンが乗っていないので動くような気がするのですが。
試せば早いのですが、モデム環境なので1.5のダウンロードが・・・

ちなみに、javaのエンジン(ランタイム?)としてbeaが出しているjrokectなるものがありますが、
仕様はsunが提示したものにのっとっているので、使う側としてはsunとbeaどちらを使用しても正しく動作するけど
処理が早い、遅いの差があるから、好きなのを選んでよいですよって感じなのでしょうか?
824デフォルトの名無しさん:2007/06/20(水) 19:12:06
> 1.4でコンパイルしたクラスを、1.5のエンジンで実行させることはできるのでしょうか。
できる。
825デフォルトの名無しさん:2007/06/20(水) 19:49:58
>>823
>好きなのを選んでよいですよって感じなのでしょうか?
よいですよ
826デフォルトの名無しさん:2007/06/21(木) 10:12:12
>>824
>>825
ありがとうございます。
たすかりました。
827デフォルトの名無しさん:2007/06/21(木) 14:34:47
>>824
実行できましたが、実行が恐ろしく遅いです。
ただ、任意の処理の2回目からは通常通りのスピードなので、
おそらくクラスをロードするときに時間がかかるものなのでしょうか?
828デフォルトの名無しさん:2007/06/21(木) 15:09:40
ファイルのエンコードがEUCかSJISかを判断してから、そのエンコードでファイルを読み込みたいのですが、
ファイルのエンコードを判断する方法がわかりません。
そうすれば判断できるでしょうか。

イメージはUNIXのnkfのように、ユーザーに元のエンコードを意識させず、
特定のエンコードでデータを取得させたいのですが
829デフォルトの名無しさん:2007/06/21(木) 15:11:18
>>827
Hotspot というキーワードと
JIT というキーワードでググってみるといいかもしれない。
後は、クラスのローディングコストに興味があれば Class Data Sharingとか。
830デフォルトの名無しさん:2007/06/21(木) 15:12:53
831デフォルトの名無しさん:2007/06/21(木) 15:49:43
>>828
JISAutoDetect
832デフォルトの名無しさん:2007/06/21(木) 16:28:18
>>830
ありがとうございます。
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)
833デフォルトの名無しさん:2007/06/21(木) 17:37:43
普通にJISAutoDetectじゃだめなん?
834デフォルトの名無しさん:2007/06/21(木) 23:03:03
>>832
ClassVersion 50.0 だから 5.0 とは違う。
ClassVersion 50.0 って Sun の JDK だと 1.6 が吐く奴だっけか?
835デフォルトの名無しさん:2007/06/22(金) 10:13:19
>>829
ありがとうございます。
調べて見ます
836デフォルトの名無しさん:2007/06/22(金) 13:17:19
IMAPでメール受信できるクラスありますか?
837デフォルトの名無しさん:2007/06/22(金) 17:42:12
commonsのNetというパッケージにPOP3Clientクラスがあり、これにより簡単にメールを受信することができました。
但し、メール情報の戻り値がReaderで、ヘッダーを含む生のデータとして出しか取得できません。
受信メールのバイトデータから本文やヘッダーを取得できるクラスはJDKのAPIにあるでしょうか?
838デフォルトの名無しさん:2007/06/22(金) 17:49:53
JavaMail
839デフォルトの名無しさん:2007/06/22(金) 21:32:52
HATS(IBMの製品。HostPublisherの後継。)を使って、ホスト(PL/I)画面
の見かけだけをWeb化し、JSP化しようと思います。
この時、ホスト画面で「入力不可のテキストボックス」になっていて次画面
に値が引き継がれるものは、HATSで変換した後もやはり「入力不可のテキス
トボックス」になってしまうのでしょうか?例えば、Web化した時に、
<input type="text" value="次画面に引き継がれる値" disabled>
となってしまうと、ユーザがインターネット一時ファイル内の「次画面に
引き継がれる値」の部分を改竄してしまうことを懸念しているのです。
ホスト用のエミュレーターで、「次画面に引き継がれる値」の部分が保存
されるなら良いのですが、どなたかお分かりでしょうか?
840デフォルトの名無しさん:2007/06/23(土) 09:23:47
それはHATSの人に聞くしかないだろ
841デフォルトの名無しさん:2007/06/25(月) 15:40:43
>>831
まさにこれでした。
ありがとうございます。
842デフォルトの名無しさん:2007/06/26(火) 14:41:28
>>839
そういう金がかかってる製品の細かいトコを
掲示板で解決できると思うセンスはやばいです
843デフォルトの名無しさん:2007/06/26(火) 16:29:21
Serializableを実装する場合、serialversionUIDを実装しないと何が問題になるのでしょうか?
実装しなくても処理は正常に動いています。
844デフォルトの名無しさん:2007/06/26(火) 16:54:54
>>843
シリアライズしたクラスと、それを復元するクラスで 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
845デフォルトの名無しさん:2007/06/26(火) 18:40:24
>>844
ありがとうございます。
参考になりました。
846デフォルトの名無しさん:2007/06/27(水) 13:31:39
linux環境にて、weblogicのWEBアプリを起動しています。
プログラムのどこかで不具合があり、アプリが応答しない状態です。
CPUがフルなので、多分どこかで無限ループしてます。
しかもリクエストスレッドをすべて使用中にしてしまい(おそらくすべてで無限ループ)、
サービスが全滅している状態です。
デバックモードで起動していないですが、この状態のスタックトレースをダンプすることは可能でしょうか。
JDK1.4です。
847デフォルトの名無しさん:2007/06/27(水) 14:14:41
>>846
うまくいけば、kill -3
848デフォルトの名無しさん:2007/06/27(水) 15:46:20
>>847
QUITですか?
そのダンプってC言語のダンプになりますかね?
849デフォルトの名無しさん:2007/06/27(水) 17:15:25
>>848
すみません。何が何だか分かりません。
言葉に出来る違和感は、JavaじゃなくてCが出てくる辺りくらいまでです。
>>847 のシグナルを該当プロセスに送ればスレッドダンプがコンソールに取れる。
まだJVMが生きていたら。

コアダンプが欲しければ・・・すまん、linuxはよく分からん。Solarisなら分かるが。
850デフォルトの名無しさん:2007/06/27(水) 18:56:22
>>849
ありがとうございます。
javaがシグナルを補足して、javaの処理としてすべてのスタックをダンプして終了する処理になっているということですよね。
確認してみます。
851デフォルトの名無しさん:2007/06/28(木) 14:22:17
>>850
あー、遅いかもしれんけど・・・kill -3では、スレッドダンプするだけで
終了はしないはずですよ。
852デフォルトの名無しさん:2007/06/28(木) 16:15:36
JSP では、 jsp:include タグよりも <%@ %> ディレクティブのほうが高速だ
という認識は当たってますか?
853デフォルトの名無しさん:2007/06/28(木) 21:37:36
>>852

どちらも一度実行し、ファイルの更新は、もうしないとしよう。すると、
今後はどちらも、同じ程度の行数のクラスファイルを実行するだけだから、
速さは殆ど変わらないはず。
854デフォルトの名無しさん:2007/06/29(金) 09:37:23
>>853
あれ?jsp:include は実行時にインクルードするんじゃなかった?違うか?
855質問!!:2007/07/02(月) 23:21:50
こんにちは。

WEBアプリケーションでよくファイルアップロード機能があると思います。
その仕組みとして直接クライアントで指定したファイルを
サーバにアップロードしないでDBにBLOGなどで登録は可能でしょうか?

可能であればその仕組みを教えてください。
よろしくお願い致します。
856デフォルトの名無しさん:2007/07/03(火) 09:37:01
ん?
DBがサーバーにないってこと?
857デフォルトの名無しさん:2007/07/03(火) 11:21:08
Javaでは、Unicodeを使った識別子名が使えますよね。しかし
int Δx;
int 凅;
とすると、上は通りますが下は「\8895 は不正な文字です」とエラーになります。
8895は16進数で0x22BF、つまり凾フ文字コードです。
このように、使用不能な文字コードには、他に何があるでしょうか? JDK1.4です。
858デフォルトの名無しさん:2007/07/03(火) 14:30:34
全角スペース
859デフォルトの名無しさん:2007/07/03(火) 15:05:59
全角数字も怪しかった気がする
860デフォルトの名無しさん:2007/07/03(火) 16:23:14
>>857
Character#isJavaIdentifierStartとCharacter#isJavaIdentifierPartに簡単な説明が書かれてある。
実際に分からない時はこのメソッドの返値の真偽を見ればいい。
''は識別子には使えない文字だが、'1'は2文字目以降には使える文字ということに。
861デフォルトの名無しさん:2007/07/03(火) 17:37:38
ありがとう。java仕様とUnicode仕様の交差点は、まさに伏魔殿ですね
862デフォルトの名無しさん:2007/07/04(水) 00:44:59
> 使用可能な文字

Java 仕様できちんと定義しているようなので、伏魔殿は言いすぎかと。
20.5.16 isLetterOrDigit 辺りを見ると書いてあります。
863デフォルトの名無しさん:2007/07/10(火) 22:40:18
IEで見れる時計の作り方を教えて欲しいです。
864デフォルトの名無しさん:2007/07/10(火) 23:00:25
これを適当なアプレットに埋めこめ。

paint(Graphics g){
g.drawString(new Date() + "", 10, 20);
new Thread(){
public void run(){
try{
sleep(100);
}catch(Exception e){}
repaint();
}.start();
}
update(Graphics g){
}
865デフォルトの名無しさん:2007/07/11(水) 10:24:28
スレッドをデーモンにする、と仕様書に書いてあるのですが
デーモンにするとしないとでは何が違うのでしょうか?
866デフォルトの名無しさん:2007/07/11(水) 12:38:02
>>865
スレッド?
867デフォルトの名無しさん:2007/07/11(水) 12:39:49
868デフォルトの名無しさん:2007/07/13(金) 10:31:02
weblogicにkill -3を送ってスレッドのダンプを取ろうと思っています。
ただ、weblogicのスタートのシェルを他社が製造していて、標準出力のリダイレクトをどうしても許可してくれません。
らちが明かないので、アプリ内でSystem.setOut()、System.setErr()を使って出力先を変えました。
アプリのコンソール出力はうまくいきましたが、killの出力はうまくいきません。
killのイベントはOSレベルなので、nativeメソッドで出力をしているようですが、
System.setOut()ではnativeレベルでのファイルディスクプリタの変更ができないようです(動かして感じたレベル)。
何か対策はないでしょうか。
869デフォルトの名無しさん:2007/07/16(月) 11:33:28
>>868

以前の質問と同じ人だとすると環境は Linux + J2SE 1.4 かな?
以下のような方法はどうでしょ(但動作未確認)

・リモートデバッグを有効にして、eclipse とかで接続
・(一時的にJava5を使用して)ThreadのgetStackTrace()、getAllStackTraces()を使う
 リクエストの受信スレッドが枯渇してるなら、自分でダンプ指示受信用のポートを開けとくとか
・(同じくJava5で)JConsoleを使う
・HPROFを使う。java -Xrunhprof:thread=y,monitor=y,file=<file>... とか。
 ただし、かなり重くなるので、再現性が高い現象でないと辛いかも。
 あと、他のオプションをOFFにしたりするのも必要。
870デフォルトの名無しさん:2007/07/18(水) 16:32:59
>>869
ありがとうございます。
1.5にはThreadのgetStackTrace()、getAllStackTraces()なんてあるんですね。
何とか対応できそうです。
これ頂きます。
871デフォルトの名無しさん:2007/07/19(木) 13:55:18
DESで質問です。下記のクラスを作り、mainから呼び出すとエラーになります。
問題が見つけられません。ご教授いただけないでしょうか。
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 ) );
872デフォルトの名無しさん:2007/07/20(金) 00:20:46
>>871

正しくは「ご教示」ね。

それはさておき、この辺りが参考になると思う。

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))
873デフォルトの名無しさん:2007/07/20(金) 10:19:49
>>872
ありがとうございます。
できました。
874デフォルトの名無しさん:2007/07/24(火) 17:27:52
InputStream(FileInputStream)からオープン対象のファイル名を取り出すことはできないのでしょうか?
875デフォルトの名無しさん:2007/07/24(火) 17:30:42
>>874
無理。FileInputStream 自体がファイル名を記録してないはず。
876デフォルトの名無しさん:2007/07/24(火) 17:34:54
>>875
確かにファイル名は捨ててますね・・・
ありがとうございます。
877デフォルトの名無しさん:2007/07/24(火) 17:40:45
jspやテンプレートでstaticメソッド群を持ったをユーティリティクラスを使用したいと思ってます。

その場合インスタンス化する必要があり、コンストラクタを持っているものはnewしてから
テンプレートなのでメソッドを呼んでいます。

特に問題は出ていないですが、
そもそもstaticメソッドの非静的アクセスは、いい悪いを除いて何が問題なのでしょうか?
878デフォルトの名無しさん:2007/07/24(火) 18:21:47
>>877
インスタンスメソッドと間違えるのでヒューマンミスを助長しやすい。
インスタンスメソッドだと思って上書きしようと思ったらできねーとか、
実はインスタンスが null だったけどクラスメソッドだから動いちゃってたとか。
879デフォルトの名無しさん:2007/07/24(火) 18:50:16
>>878
なるほど。ありがとうございます。

機構的には問題ないけど、紛らわしいのでやめてねって事ですね。
880デフォルトの名無しさん:2007/07/24(火) 21:48:15
>>877
staticメソッドは非静的アクセスなんかできないよ。
ようするに、非静的アクセスしてると誤解してしまうのが悪いんじゃねえの?

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と表示される。
881デフォルトの名無しさん:2007/07/24(火) 23:53:24
B a = new B();
a.a();

b
882デフォルトの名無しさん:2007/07/26(木) 13:05:11
xmlをxpathで検索するにはどうすればよいのでしょうか?
jxpathというフリーな?ソフトがあったのですが、これを使わないといけないのでしょうか?
883デフォルトの名無しさん:2007/07/26(木) 14:04:47
Collections.synchronizedList(list)した場合、SynchronizedListを返すからダウンキャストするとエラーになります。
これを回避するためには、リフレクションのプロキシを使うと解決できるといわれましたが、
調べても使い方や仕組みが分かりません。
同じようになるって言われても違うクラスだし・・・
すいません。なぜエラーにならない(キャストできる)かを簡単に説明していただけないでしょうか。
884デフォルトの名無しさん:2007/07/26(木) 16:10:28
継承を考えるとき、ベースのクラスを、
インターフェースとAbstractどちらを選べばいいか良く分かりません。

Collection、Listはなぜインターフェースをとったのでしょうか?
ある程度上位で決まった動作があれば、抽象クラスにしてもいいのではないかと思うのですが。
885デフォルトの名無しさん:2007/07/27(金) 01:28:28
実際問題、選ぶような局面にならんと思うぞ
Interfaceが必要なのは使う側の話で、
Abstractが必要なのは使われる側の話。

必要がないのにInterfaceとAbstractのどちらがいいとか考えるから
わけがわからなくなる。
886デフォルトの名無しさん:2007/07/27(金) 01:36:02
>>884
interfaceにできるときはinterfaceにしておけ。
2chみたいに情報が少ない状態で言えるのはそんくらい。
887デフォルトの名無しさん:2007/08/06(月) 00:54:48
Swingアプリからデスクトップにドラッグアンドドロップするにはどうしたらいいですか?
ドロップした箇所にテキストや画像を書き出す感じ。
888デフォルトの名無しさん:2007/08/06(月) 01:04:29
Swingのドラッグ&ドロップの方法がそもそもわからない?
Swingのドラッグ&ドロップは出来るけどデスクトップにドロップできない?
889デフォルトの名無しさん:2007/08/06(月) 01:19:35
classファイル実行時の総文字列取得方法を探しています。
実行環境はWindowsXP
SWTを利用しWin32APIをコールして取得できるもくろみでしたが
SWTのDll(?)に未定義でした。
何かよい手段はありませんか。
890デフォルトの名無しさん:2007/08/06(月) 01:21:09
「classファイル実行時の総文字列」ってどういう意味・・・?
891デフォルトの名無しさん:2007/08/06(月) 01:24:55
ターミナルとかで
「java Test args1 args2」
と実行するもうそのもの全てです。
説明不足もうしわけない。
892デフォルトの名無しさん:2007/08/06(月) 01:40:07
その例だと何文字?
893デフォルトの名無しさん:2007/08/06(月) 01:45:58
引数の文字数は動的ですから
2,3文字の場合もあれば極端に言えば100〜以上の場合もあります。
894デフォルトの名無しさん:2007/08/06(月) 01:51:32
>「java Test args1 args2」
で、この例だと何文字?
895デフォルトの名無しさん:2007/08/06(月) 02:03:07
>>894
「java Test args1 args2」の場合
java で5文字
Test で5文字
args1が「ABCDE」として5文字
args2が「あいうえお」として5文字
となり計20文字です。
args1、args2は動的な値です。
896デフォルトの名無しさん:2007/08/06(月) 02:09:28
>java で5文字
なんで5文字?スペースも数に入れるの?
>「ABCDE」として5文字
こっちはスペース入れないの?
897デフォルトの名無しさん:2007/08/06(月) 02:15:59
アワワワ間違えました。
訂正します。
「java」で4文字
「 Test」で5文字
args1が「 ABCDE」として6文字
args2が「 あいうえお」として6文字
となり計21文字でした。
898デフォルトの名無しさん:2007/08/06(月) 02:32:31
argsの要素数+argsの各要素長さ+4
かな?
899デフォルトの名無しさん:2007/08/06(月) 02:41:16
>>898

目的としているのは文字列長ではないです。

argsの要素中に"や'が入っていると
TestクラスのMainメソッドに正しく値が引き渡されないので
「classファイル実行時の総文字列」を取得しようと考えています。
900デフォルトの名無しさん:2007/08/06(月) 04:09:58
クラスファイル実行時って
class Hoge{
 public static void foo(){
  Test.main(null);
 }
}
みたいな感じのこともあるから、「クラスファイル実行時の文字列」 じゃだれもわからんと思うから。javaコマンド実行時の文字列って言ったほうがいいと思う
901デフォルトの名無しさん:2007/08/06(月) 04:21:30
そんなもの取得して何がしたいの?
902デフォルトの名無しさん:2007/08/06(月) 09:12:05
>>899
> argsの要素中に"や'が入っていると
> TestクラスのMainメソッドに正しく値が引き渡されないので
コマンドラインでjava Test A"Bとかやってargs[0]にA"Bが引き渡されないって意味なら、
それはjavaプログラムの中でどうこうできるものではない。それはシェルの問題だ。
標準のシェルを使ってるならjava Test A\"Bのようにエスケープする。
でも、'についてはCMDは普通に引き渡すと思ったが。
そうでなくて、正しく"を引き渡しているにも関わらずargs要素中に正しく入っていないというのなら、
たぶんTestクラス中でargsの扱い方を間違えて、入っていないようにみえるだけだ。
903デフォルトの名無しさん:2007/08/06(月) 09:40:39
>>905
確かにその通りでなんですが
起動時にエスケーブ処理をかませられないんです。
だからSWTのWIN32コール機能を使おうとしてたのてす。

904デフォルトの名無しさん:2007/08/06(月) 09:59:33
そんなことするなら、exe作って前処理すればいいのに
905デフォルトの名無しさん:2007/08/06(月) 10:01:43
>
906デフォルトの名無しさん:2007/08/06(月) 10:05:37
>>907
そのとおりですね
ただJavaでは絶対に出来ないと思えなかったので。
907デフォルトの名無しさん:2007/08/06(月) 10:11:44
cmdのユーザインタフェースから起動する限り何を起動しても
コマンドライン引数での特殊文字の処理は変わらんと思うんだが
908デフォルトの名無しさん:2007/08/15(水) 22:50:23
Attach APIでAttachされる側からAttachを拒否るにはどうすればよいのでしょうか?
AttachPermissionはAttachする側でのチェックでしかないですし。
909デフォルトの名無しさん:2007/08/19(日) 23:19:48
   | \
   |Д`) ダレモイナイ・・オドルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
910デフォルトの名無しさん:2007/08/29(水) 10:19:05
正規表現で\p{xxx}のいろいろなグループがありますが、
半角かながありません。
正規表現で半角かなを簡単に指定する方法を教えてください。
911デフォルトの名無しさん:2007/08/29(水) 11:52:03
[\p{InHalfwidthAndFullwidthForms}&&\p{Katakana}] こんな感じ?
912デフォルトの名無しさん:2007/08/29(水) 11:55:19
[\uff61-\uff9f] の方が簡単かもしんない
913デフォルトの名無しさん:2007/08/30(木) 11:34:42
>>911
おお、こんなものが。
ありがとうございます。
914デフォルトの名無しさん:2007/09/12(水) 15:25:44
lhaの解凍クラスってJDKにないのでしょうか?
915デフォルトの名無しさん:2007/09/12(水) 15:32:00
ないねー。
あれは日本のローカルなものだからねー。

Java で書かれたフリーな lha 解凍ライブラリはいくつかあるみたいだから、それ使ってみたら?
916デフォルトの名無しさん:2007/09/12(水) 16:14:37
>>915
ですよね。
ありがとうございます。
917デフォルトの名無しさん:2007/09/21(金) 13:02:41
JDK1.3でJavaからJCOMを使ってActiveXを呼び出せるんですが以下のような出力パラメータの受け渡しでJVMがコアダンプします。
func(String outarg1[],String outarg2[])
このようなパラメータを呼び出す方法やライブラリはありますでしょうか。
918デフォルトの名無しさん:2007/09/22(土) 18:52:26
これからやろうとしているのだが、
環境変数をどう設定するのでしょうか?

超基礎質問スマソ。
919デフォルトの名無しさん:2007/09/22(土) 19:39:53
環境変数の設定もわからんのなら、NetBeansでも使ってろ
http://www.netbeans.org/index_ja.html
920デフォルトの名無しさん:2007/09/23(日) 00:09:00
javaてc/c++よりも全然簡単じゃないですか?
921デフォルトの名無しさん:2007/09/23(日) 06:11:08
メモリ管理を考えなくていいところは、簡単だな。
922デフォルトの名無しさん:2007/09/23(日) 20:44:47
リフレクションも評価してやってください
923デフォルトの名無しさん:2007/09/25(火) 15:35:38
double value;

valueが小数点以下が0の場合のみ Math.round を使いたいのですが、
小数点以下が0(整数)の判断はどうすればよろしいでしょうか?
924デフォルトの名無しさん:2007/09/25(火) 15:43:56
value % 1 == 0
925デフォルトの名無しさん:2007/09/25(火) 18:53:16
value - ((int)value) ==0
926デフォルトの名無しさん:2007/09/26(水) 17:05:06
>>925
valueが1e20とかだとfalseにならないか?
それにオーバーフローとかは置いておいても
そう書くならvalue == (int)valueの方がすっきりしないか?
927デフォルトの名無しさん:2007/09/26(水) 18:07:25
画像上の、指定した座標の色を返してくれる関数ってありますか?
928デフォルトの名無しさん:2007/09/26(水) 18:30:59
画像ってのは java.awt.Image のこと?
だったら PixelGrabber を使う

int[] color = new int[1];
new PixelGrabber(image, x, y, 1, 1, color, 0, 1).grabPixels();
929デフォルトの名無しさん:2007/09/26(水) 18:59:02
Color c = new Color(color[0]);
930デフォルトの名無しさん:2007/09/27(木) 10:15:06
unixのdiffコマンド的なものをjavaで実装したいのですが、
お勧めなクラス・jarなどあれば教えてください。
931デフォルトの名無しさん:2007/09/27(木) 11:10:49
InputStream
InputStreamReader
BufferedReader
HashMap
ArrayList
LinkedList
StringBuilder
あたりでできるのではないだろうか
932デフォルトの名無しさん:2007/09/27(木) 11:35:13
初心者なんですが、
http://bigwww.epfl.ch/sage/soft/watershed/
のImageJプラグインの処理を、16bit対応の処理に改造してほしいです。
どなたかわかる方いらっしゃいませんか?
933デフォルトの名無しさん:2007/09/27(木) 14:37:13
javaで輪郭追跡処理を勉強しているのですが詳しい人いますか?
934デフォルトの名無しさん:2007/09/27(木) 14:55:15
居る
935デフォルトの名無しさん:2007/09/27(木) 18:14:41
>>884-886
interfaceとAbstractの使い分けは
そのクラスの抽象レベルによってつかいわけるんだよ^^

継承する具象クラスが一部の機能だけを継承するならinterface
クラスとして継承するならAbstract

ある意味抽象度で言えばより曖昧な存在がinterafaceであり
より具象化しているのがabstract

より曖昧な存在のinterafaceならポリモーフィズムを利用してよりたくさんの
クラスを扱える
936デフォルトの名無しさん:2007/09/28(金) 00:26:48
白い背景の中に黒の点が一つある画像を左上から調べて黒い一点の座標がいくつなのか
自動的に調べられるプログラムを作ってみたいのですが
考えがつく人いらっしゃいますか??

あんまりうまく伝えられなくてすいません。
よろしくお願いします。
937デフォルトの名無しさん:2007/09/28(金) 00:39:40
それは、普通に考え付くだろ
938デフォルトの名無しさん:2007/09/28(金) 00:54:47
すいませんプログラムおしえていただけませんか??
939デフォルトの名無しさん:2007/09/28(金) 00:57:42
すいません936で書いた内容のプログラムおしえていただけませんか??
940デフォルトの名無しさん:2007/09/28(金) 01:01:26
普通わかるよ
941デフォルトの名無しさん:2007/09/28(金) 01:06:50
>>927と同じ人じゃないのか
942デフォルトの名無しさん:2007/09/28(金) 01:39:22
>>936
課題などで自分ではプログラムを作りたくない、作る技量が無いってことなら、
もっと仕様をきちんとまとめて宿題スレに投げればやってくれる人がいるかもよ。
自分でそういう「プログラムを作ってみたい」って言うんなら、
その程度のことは自分で思いつかなけりゃ結局全て他人任せのプログラムにしかならない運命だ。
943デフォルトの名無しさん:2007/09/28(金) 03:20:02
なんだ
結局作ってみたいとかってのは嘘だったってことか
944デフォルトの名無しさん:2007/09/28(金) 14:41:53
->
を使ったプログラムを作れ
945デフォルトの名無しさん:2007/09/28(金) 15:31:55
お前が命令できる立場か
946デフォルトの名無しさん:2007/09/28(金) 23:25:42
class _{
public static void main(String __[]){ System.out.println("->"); }
}
947デフォルトの名無しさん:2007/10/03(水) 11:35:02
ServletContext.getRealPath("/")
これは、Linuxでルートコンテキストのパスまでにシンボリックリンクが使われていたときは、
リンク先のフルパスが戻るということでしょうか?

その場合、リンク先のパスを使いたくない場合は、
ServletContext.getResource("/")..getPath() で大丈夫でしょうか?

手元にWindows環境しかなく確認できません。
よろしくお願いします。
948デフォルトの名無しさん:2007/10/03(水) 11:52:38
Virtual PC が無料で使える時代なんだから、Virtual PC 上に Linux インストールして自分で確認すればいいじゃん
949デフォルトの名無しさん:2007/10/03(水) 12:06:53
Virtual PCって無料で使えるようになったの?
950デフォルトの名無しさん:2007/10/03(水) 12:09:48
あ、去年から無料になったんだ。
Virtual PCってLinuxインストールはライセンス的にOK?
だめならVMWareとかXenでいいけどね。
951デフォルトの名無しさん:2007/10/03(水) 14:10:34
Virtual PCってprofessionalじゃなきゃ駄目だけど>>947のホストOS次第だな
Virtual PCが無料なんだからって流れからすればVMWareやXenは候補に挙げられんだろ
952デフォルトの名無しさん:2007/10/03(水) 14:25:21
じゃあqemu?
953デフォルトの名無しさん:2007/10/03(水) 14:56:06
homeはだめなのか・・・それはすまんかった。
954デフォルトの名無しさん:2007/10/04(木) 11:03:29
>>947
Linuxでやってみましたが両方ともリンク先(自体)のフルパスでした。
955デフォルトの名無しさん:2007/10/08(月) 09:34:07
コマンドライン引数から文字列を取得して数字かどうか判別したいから
isDigitを使ってたんだけどこれだと小数と負の数が数字じゃないことになってしまう・・・

ちゃんと数字だと判別させるためにはどうしたらいいかな?
956デフォルトの名無しさん:2007/10/08(月) 10:17:31
Double.parseDoubleやってみて例外が発生しなかったら数字、っていうのが一番簡単
957デフォルトの名無しさん:2007/10/08(月) 10:33:35
>>956
ありがとう!それでやってみる。
958デフォルトの名無しさん:2007/11/16(金) 15:59:09
パイプで標準入力を受け取って処理することはできるのでしょうか?
例えば
ls -al | java Hoge
のようにコマンドの標準出力をJavaに直接渡したいのですが何か方法
はありますか?
959デフォルトの名無しさん:2007/11/16(金) 16:04:45
xargs
960デフォルトの名無しさん:2007/11/16(金) 16:07:22
>>958
普通に System.in で受け取ればいいんじゃない
961958:2007/11/16(金) 16:16:50
>>959
そんなコマンドがあるなんて知りませんでした!!!
でも、バイナリデータも渡したいので、直接渡せたらいいんですけど・・・
>>960
System.inだと起動時の標準入力は受け取れないようなんですが、書き方が
悪いんですかね・・・
962デフォルトの名無しさん:2007/11/16(金) 22:16:19
書き方が悪いに一票
963デフォルトの名無しさん:2007/11/16(金) 22:56:05
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29791
このプログラムの内容がわからないので解説がほしいのです。
一列ずつのプログラム説明をお願いしたいです。
どなたかわかるかた教えていただけますか
964デフォルトの名無しさん:2007/11/16(金) 23:00:36
>>963
わからないところだけピックアップして訊けよ
965デフォルトの名無しさん:2007/11/17(土) 01:05:12
>>963
やさしいオレ様が、4行程度教えてやろう。
49行と51行と53行と55行は、それぞれ左上、左下、右上、右下と表示する。
あとは自分で勉強すれ。
966デフォルトの名無しさん:2007/11/17(土) 08:26:01
>>963
やさしいオレ様が、少しだけ教えてやろう。
「00010:」って左に書いてある数字はプログラムじゃないぞ。
あとは自分で勉強すれ。
967デフォルトの名無しさん:2007/11/17(土) 08:39:29
PHPとJavaなら、PHPでしょ?どっち?
インターネット派の俺が聞いてみる。。。(・∀・)ニヤニヤ
968デフォルトの名無しさん:2007/11/17(土) 10:22:45
次の質問をどうぞ
969デフォルトの名無しさん:2007/11/17(土) 10:34:13
ちょ。。。
970デフォルトの名無しさん:2007/11/17(土) 12:27:41
>>963
すいません。場所は
13行目から22行目の内容と63行目から73行目ですよろしくお願いします。
971デフォルトの名無しさん:2007/11/17(土) 12:35:47
>>970
13-22 行目がわからないとなると、初心者本で勉強した方が良いのでは
としかいいようが無い。初めの方に書いてあるはず。
972デフォルトの名無しさん:2007/11/17(土) 16:58:42
質問なのですが、
eclipse3.2を使っております。
Javaでログを取りたいのですが、テキストファイルなどにはFINEST〜SEVERまでキチンと排出
されるのですが、エクリプスのコンソールにはconfigまでしかでません、レベル設定はどうやったらいいのでしょうか?

973デフォルトの名無しさん:2007/11/17(土) 17:08:14
jre/lib/logging.propertiesファイルをいじればいいんじゃね
974デフォルトの名無しさん:2007/11/18(日) 09:05:26
>>972
ログレベルはLoggerとHandlerで別個に指定できるので両方が自分の用途に合っているか確認
975デフォルトの名無しさん:2007/11/20(火) 01:06:58
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29791
このプログラムの63行目から82行目の解説をお願いしたいんですがどなたか教えていただけますか?
よろしくお願いします^^
976デフォルトの名無しさん:2007/11/20(火) 01:22:30
>>975
いろんなところにマルチするのはやめろ
977デフォルトの名無しさん:2007/11/20(火) 01:27:36
ききたいから聞いてるだけんだけど
おしえていただけないんですか??

978デフォルトの名無しさん:2007/11/20(火) 01:46:55
聞くためのスレで聞きたいことを聞くのは構わんが、
今まで質問を投げたスレで質問を閉めた旨を通知したレスをしたことがあるか?
投げっぱなしのマルチは死ぬがよかろうて。
979デフォルトの名無しさん:2007/11/20(火) 02:16:12
返答するぐらいの暇があるなら教えたっていいんじゃん
じゃーここのスレ何のためにあるん??
あんたみたいに愚痴言うためにあるのか??
980デフォルトの名無しさん:2007/11/20(火) 02:21:20
悪質な質問者に教えるわけがないよ。
981デフォルトの名無しさん:2007/11/20(火) 04:21:46
>>975
で、具体的に何がわからんの?どこまではわかるの?
982デフォルトの名無しさん:2007/11/20(火) 04:27:01
>>979
そこらじゅうに貼り付ける暇があるなら一報くらい入れればいいじゃん
それすらできないの?
983デフォルトの名無しさん:2007/11/20(火) 12:46:18
>>981かたありがとうございます。
わからないのは63行目から82行目なんですが
70行目と82行目なぜ平方根して計算することによってどういうことが得られるのかがしりたいのと
またint topとint rightは何のために作っているのかがいまいちわからなくて

よろしくお願いします。
984デフォルトの名無しさん:2007/11/20(火) 12:59:51
82行目って、そもそも calcDistance はどこからも呼ばれてないじゃん
使われてないコードを、どういうことが得られるもなにもないもんだ

ところで >>983 は、このプログラムが何をするものなのか (何を与えると何を出力するのか) 理解してるか?
985デフォルトの名無しさん:2007/11/20(火) 13:10:51
>>984
そうなんですか??

このプログラムは黒い点の座標を取得するものでとる場所は左上と左下と右下と右上なんですけど
なぜ四つの点だけをきれいに取れるのかがわからなくて19行目から21行目だけだとひたすら黒い点の座標
だけをとってしまうのでってことはcalcPointで何かしてるのかなと思いみてるんですけどわかんないんです。
986デフォルトの名無しさん:2007/11/20(火) 17:33:22
>for(int right = 0; right < 2; right++) {
>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))だよ。
987デフォルトの名無しさん:2007/11/20(火) 20:18:35
すいません教えてください
テキストから一行ずつ読み込んで、読み込んだ語を集計するプログラムを組みたいんです
元テキストには一行ごとに、URLかキーワードのどっちかが書いてあります

仕様の条件として
1、URLは集計に含まない(httpを含む文字列は無視?)
2、URLとURLの間に同じ語があっても一語としてカウント  があります

2番を無視したやつはできるんですけど…
988デフォルトの名無しさん:2007/11/20(火) 23:12:12
>>986
なるほど☆
よくわかりました。本当に助かります。
ありがとうございます。
989デフォルトの名無しさん
>>987
語=1行なのか?
データフォーマット教えれ