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


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

【初心者】Java質問・相談スレッド103【大歓迎】



1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

前スレッド
【初心者】Java質問・相談スレッド102【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1180419689/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

次スレは>>980あたりで。

569 名前:デフォルトの名無しさん [2007/07/12(木) 13:15:48 ]
>>568
printfがやりたかっただけ。

570 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 14:47:05 ]
>>568
だからこそJLSで明確な定義があるんじゃないか

571 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:17:51 ]
printfって要る派と要らん派でもめなかったけ?
swap要るか要らんかの話みたいだと思った記憶があるんだが。

572 名前:sage [2007/07/12(木) 21:59:27 ]
いまjaxb2.0を使って、xmlからjavaオブジェクトに変換するロジックを考えてるんだけど、
<hoges>
<hoge id="hoge1"><value>ほげでーた</value></hoge>
<hoge id="hoge2"><value>ほげでーた</value></hoge>
<hoge id="hoge3"><value>ほげでーた</value></hoge>
</hoges>
pubric class Hoges {
@XmlElement(name="hoge")
private List<Hoge> hogelist = new ArrayList<Hoge>();
・・・
}

@XmlRootElement
pubric class Hoge {
@XmlAttribute(name="id")
private String id;
@XmlValue
private String value;
・・・
}
このxmlの<value>タグが無駄に思えて仕方ない。
<hoges>
<hoge id="hoge1">ほげでーた</hoge>
<hoge id="hoge2">ほげでーた</hoge>
<hoge id="hoge3">ほげでーた</hoge>
</hoges>
ってな書き方で、"ほげでーた"をHoge.valueにセットする方法ない?

573 名前:デフォルトの名無しさん [2007/07/12(木) 22:11:25 ]
スレッドを指定して停止したり、再開させることってできますか?

574 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:13:14 ]
>>573
できません。自分でフラグを用意してください。

575 名前:556 mailto:sage [2007/07/12(木) 23:15:53 ]
>>557
レスありがとうございます。

doubleを使わないんですね。
intで計算すると、どんな良い事があるんでしょうか。

>>558
ごめんなさい
使えるのはjava.util.*だけでした。


576 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:48:21 ]
すいません、質問させてください。

「UDTの通信で自分のIPアドレスと、通信している相手のIPアドレスを比較するプログラム」というプログラムを作っています。そこで、
相手のIPアドレスは、DatagramPacket.getAddress() で
「192.○.○.○」という様に普通に取れるんですが、
自分のIPアドレスを、InetAddress.getLocalHost().getHostAddress() で
「2001:0:4136:・・・・」という様に(ググってみるとIPv6のIPアドレスらしいんですが)比較できません。
IPv4で自分のIPアドレスを取得するにはどうすればいいんでしょうか?

よろしくお願いします。


577 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:04:31 ]
>>572 うろ憶えだけどXmlMixed?だったかで出来たかも



578 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:52:58 ]
>>576
UDT?

579 名前:デフォルトの名無しさん [2007/07/13(金) 00:59:48 ]
>>574>>573
たしか一時停止とかならできるのが有ったよ


580 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:01:46 ]
>>579
どうやってやるのですか?
特別なライブラリを使用するとかでしょうか??

581 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:18:02 ]
指定してってのは無理じゃねーの

582 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:22:08 ]
対象の Thread が分かってるなら suspend も resume も可能だろが

583 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 04:25:34 ]
イベント処理がGUIの例ばかりでよくわかりません。
どなたかGUIではないイベント処理のサンプルコードを教えてくださいませんでしょうか。

584 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 05:21:09 ]
じゃあ、プッシュ型のxmlプログラミングでも・・・

まあ、それは良いとして単純なCUIだとループ中にキー入力拾うだけ。
それ以上のものはコンソール制御できないjavaには無関係で
どっちにしても例に出すようなサンプルコードはないよね。

イベントドリブンでググった方が良いと思う。

585 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 05:28:47 ]
>>583
public class Clock implements java.awt.event.ActionListener {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println(new java.util.Date());
}
public static void main(String[] args) throws InterruptedException {
Clock c = new Clock();
new javax.swing.Timer(1000, c).start();
synchronized (c) {
c.wait();
}
}
}

586 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 08:15:59 ]
>>585
それ結局はGUI+スレッドに関連したプログラミングなんじゃ・・・。

まあ、java.awt.*パッケージにイベント周り集中してるからjavaのイベント処理は
ヘッドレスじゃないだろって考え方もできるから>>583の質問も的を射てないかも知れんが。


587 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:16:43 ]
java.io.File#listFiles や java.io.File#list は

> 結果の配列の名前文字列は特定の順序にはなりません。
> アルファベット順になるわけではありません。

とありますが、これは名前文字列以外の点においても
不定(少なくとも保証はしない)と言うことなのでしょうか?



588 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:21:40 ]
>>587
実装的にはOSのAPIが返す順番そのものなので、たいていはディスク上の
ディレクトリに記録されている順番になる。だから、意味のある順番で
はない。


589 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:42:40 ]
>>587
そゆ事。

原文みりゃ分かると思うけど
> There is no guarantee that the name strings in the resulting array
> will appear in any specific order; they are not,
> in particular, guaranteed to appear in alphabetical order.
日本語訳では in particular の部分がスッポリぬけてるのね。

もちろん、>>588がいう「OSのAPIが返す順番そのもの」ってのも一切保証されてない。

590 名前:デフォルトの名無しさん [2007/07/13(金) 11:46:45 ]
Tomcatのコネクションプーリングについて以下でOK?

server.xmlのJNDI(ResourceParams)の設定でfactoryにBasicDataSourceFactoryなどの
コネクションプーリングに対応した、データソース実装クラスのfactoryを
指定する事で行われる。

factoryの指定がない場合は、driverClassNameで指定したJDBCドライバの
DataSource実装クラスが使用される。

よって、factoryなしで、JNDIの記述だけでは、プールが行われるとは限らない。
PostgreSQLの場合、付属のJDBCドライバでは、プールはされない。

591 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:57:10 ]
>>588-589
ありがとうございます。やはり、と言うところですが
訳抜けと言う点は驚きました。

592 名前:デフォルトの名無しさん [2007/07/13(金) 14:14:10 ]
JFreeChartで描画したグラフの上にかぶせるようにShapeを描画する事は可能でしょうか

593 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:40:21 ]
>>592
可能

594 名前:592 [2007/07/13(金) 15:02:09 ]
JFreeChartについてもう一点
axisを共有した異種チャートの混合表示も可能でしょうか


595 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:25:30 ]
>>591
javadocでは普通、原文とサイトのチュートリアルよく読むのオヌヌメ

596 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:44:35 ]
>>594
異種で共有ってのがよく分からないけど、それも出来たと思う
前使った時に5,6種類のグラフを重ねてプロットしてたはず

597 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:45:43 ]
>>1
てsと



598 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:02:50 ]
計算についての質問です
double test = 17.56;
というのがあって、これの100倍の答え(1756)を出したいのですが、
計算すると、1755.9999999999998などという答えがでてきます。
どのようにすれば期待した答えがでてくるのでしょうか。

試したことは下記の2つでどちらも変な結果になりました
System.out.println(test * 100.0);
System.out.println(test * 100.0f);

599 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:19:33 ]
>>598
BigDecimal test = new BigDecimal("17.56");
System.out.println(test.multiply(new BigDecimal(100)));

600 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:20:37 ]
>598
System.out.println(Math.round(test*100));


601 名前:598 mailto:sage [2007/07/13(金) 17:39:48 ]
>>599-600
ありがとうございました
期待通りの答えをだすことができました。
単純に100倍するというのは難しいことなんですね・・・勉強になりました。

602 名前:デフォルトの名無しさん [2007/07/13(金) 19:22:03 ]
>>593>>596
有難うございました、早速使ってみました
なかなか優れものですねこれは

603 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 19:51:42 ]
>>601
誤差がね
あるから

604 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 19:52:03 ]
>>598
Javaに限ったことじゃないけど、プログラムで小数を扱うのは難しい

605 名前:デフォルトの名無しさん [2007/07/13(金) 19:55:11 ]
電卓でもいえるけどね

606 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 20:26:47 ]
量子コンピューターになればいいんじゃないかな?

607 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 20:31:58 ]
量子コンピュータは二進数使わないのか?



608 名前:デフォルトの名無しさん [2007/07/13(金) 20:46:13 ]
アナログコンピューターでOK

609 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 22:42:44 ]
>>576
試したこと無いけど
DatagramPacket.getSocketAddress().getAddress() って何が帰ってくるの?

610 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 00:04:40 ]
>>600
適当すぎw 答えが2.6とかだったら3になるなw

611 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:47:50 ]
switch文で○○以上の場合はこの処理をするっていうのはできますか?

612 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 17:40:17 ]
>>611
とりうる値がかなり限られているなら○○以上の値を複数のcaseで羅列して挙げておけばいいが、
そういう条件判断は普通はif文で処理したほうがいいと思う。

613 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:39:38 ]
>>611
int flag = 0;
if( 10 <= x) flag = 1;
switch flag
case flag:
  // 処理
  break;
default:
  // 何もしない?

でどうだ?

switch文は使わないのがベター
大雑把な書き方は覚えているけど、詳細忘れたんで、テキトー
xが10以上の時、switch文で処理を分岐できるぞ。
業務で書いたならばぶち殺すけどなwwww

614 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:55:18 ]
>>611
できません

615 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 21:07:48 ]
>>613
case 1:

616 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:37:48 ]
>>613
caseに変数は使えない。リテラルのみ。
自信ない時は試してから書こうぜ。

617 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:38:21 ]
あ、定数もいけたか。



618 名前:611 mailto:sage [2007/07/14(土) 23:28:12 ]
レスさんくす

619 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:30:16 ]
Rubyならできる

620 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 01:21:06 ]
rubyもgroovyもいらない子

621 名前:デフォルトの名無しさん [2007/07/15(日) 12:13:26 ]
データの読み込みについて質問です。
一度ByteにしてArrayListに格納して、取り出してbyteに変換しています。
もっとスマートな方法(このクラスを使った方が良い等)があれば教えて頂けないでしょうか。

ArrayList byteArray = new ArrayList();
int readByte = 0;
while (readByte != -1) {
readByte = stream.read();
if (readByte != -1) {
byteArray.add(new Byte((byte) readByte));
}
}
Byte[] byteBig = (Byte[]) byteArray.toArray(new Byte[0]);
byte[] byteTmp = new byte[byteBig.length];
for (int i = 0; i < byteBig.length; i++) {
byteTmp[i] = byteBig[i].byteValue();
}

622 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 12:49:22 ]
>>621
スマートとかじゃなくて、それじゃ落第です。動くだけ。性能でなさ杉。

1.もし読み込み対象データのサイズは先にわかるのであれば、1発バルクリ
ードしておしまいのはず。そんな遅そうな処理をする必要はないです。
多分こんな感じで。

File target = new File("...");
byte[] buffer = new byte[target.length()];
FileInputStream in = new FileInputStream(target);
in.read(buffer);

I/O-CPU間のスイッチが発生しないので、速いですよ。

2.サイズがわからないにしても、1バイトずつ読むのはやめなさい。
たとえば100バイトずつ読めば、I/O-CPUスイッチの回数は1/100です。


623 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 13:41:28 ]
JDBC4.0に対応しているDBってどのくらいある?
PostgreSQLが完全対応で、Derbyがβって感じ?

624 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 13:56:15 ]
>>622
new byte[target.length()] してから new FileInputStream(target) するまでの間に、
ファイルが書き換えられて長さが変わる可能性がある。

in.read(buffer); は確実にbuffer.lengthバイトを読み込む事を保証してないので、
実装依存にしたくなければ明示的にループ使って全部読み込まないとダメ。

I/O-CPU間のスイッチがどのタイミングで入るかは実装依存なので
100バイトずつ読んでもスイッチ回数が本当に1/100になるかは不明。

625 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:05:13 ]
RandomAcceccFileの方を使えば100%保障じゃね?

626 名前:デフォルトの名無しさん [2007/07/15(日) 14:13:09 ]
ByteBuffer

627 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:16:47 ]
>>621
ByteArrayOutputStream out = ByteArrayOutputStream();
byte[] buf = new byte[1024];
int len;
while(-1 != (len = stream.read(buf))){
 out.write(buf, 0, len);
}
byte[] contents = out.toByteArray();



628 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:17:20 ]
>I/O-CPU間のスイッチが発生しないので、速いですよ。

>2.サイズがわからないにしても、1バイトずつ読むのはやめなさい。
>たとえば100バイトずつ読めば、I/O-CPUスイッチの回数は1/100です。

おいおい、実装依存だぜそこは・・・って言おうとしたのにorz
ち、ちゃんと気づいてたんだからね!?

629 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:36:36 ]
様々な回答ありがとうございます。
一通り試して各メリットデメリットを整理し、理解を深めたいと思います。
このスレは優しい方が多いですね。
もっと叩かれると思っていました。

630 名前:デフォルトの名無しさん [2007/07/15(日) 21:22:44 ]
javaのlexとyaccどこ?

631 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 23:03:47 ]
Calendarクラスって使いづらくない?

632 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 00:39:43 ]
古いのはそうだね

633 名前:デフォルトの名無しさん [2007/07/16(月) 01:19:29 ]
上司から、1つのJavaプログラムソースの流れを追えるように、と指示が出されました。
このページの作成ボタンを押したらデータはどう飛ぶかとか…。
ヒントを求めてもこれといった答えをくれないので、Eclipceを前にして苦悩しています。
ど素人&抽象的な質問で申し訳ないですが、ソースを追う際のコツみたいなのはありますでしょうか?

634 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:22:31 ]
メソッドの頭にブレークポイントを挿入してみたら?

635 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:35:42 ]
>> 634
ありがとうございます。なるほど、それが簡単かもしれませんね。
でも、jspやらjavaやらが全部で何千と存在しているので、できればそれ以外の方法で検証したいのです。
変数が定義されてないかを調べるために変数を検索してみるといい、とは上司に言われたのですが、
あまり自分の中でピンとは来ません。
とんちんかんなことを言ってるかもしれませんが、ブレークポイント以外でもう一声いただけると助かります!

636 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:40:27 ]
Eclipseなら右クリックで変数の宣言に飛ぶとかメソッドの定義に飛ぶとかできる

637 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:44:16 ]
そうなんですか?!
明日、日付明けて今日ですが、会社行って試してみようと思います。
12時間後ぐらいに撃沈してるかもしれませんが、その時はまたご教授願いします…。
素人の質問に回答いただきありがとうございました!



638 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 05:08:20 ]
C++からJavaに引っ越してきたばかりの初心者です。

class A {
  private int data;                  //外部からは見えない
  private setter(int data) { this.data = data; } //外部からは使えない
  public int getter() { return data; }
}

というクラスがあったとき、data は int 型なので、この値が外部からは
絶対に変更されないことは保証されていると思います(C++と同じ)。
しかし、これが基本型の int ではなく、一般的なクラスだった場合、
例えば StringBuffer だったりしたら、外部からでも

  StringBuffer str = getter();
  str.append("hoge");

みたいにして操作することは可能です(ここはC++と違う)。
これを防ぐために思いつくのは、getter() で data そのものではなく
data のコピーを返すことですが、

  public String getter() { return data.toString(); }

1. これは標準的な方法ですか?
2. ざっと見たところ、StringBuffer と違って String には
  インスタンスそのものが保持している値を直接書き換える
  関数はないようですが、int と同じように扱っても安全ですか?
3. StringBuffer.clone() って使えるのが自然なような気がするんですが、
  なんで使えないんですか?

639 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 05:32:15 ]
public StringBuffer getter() { return new StringBuffer(data); }
Stringはimmutable
StringBufferのclone()はObjectのclone()をオーバーライドしていないのでprotectedアクセスになりAからはアクセスできない

640 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 05:41:17 ]
こんな時間にレスありがとうございます!
3点ともしっかり理解しました。
C++についても「分かったつもり」になっていただけの部分が
だいぶありそうですので、これを機にもう一度見直してみようと思います。
色々と。

641 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 07:00:07 ]
がんがれ

642 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 08:05:31 ]
>>638
こういう方法もよくやる
class A {
 // 外部から直接アクセス禁止
 private StringBuffer buf = new StringBuffer();
 // 許可するメソッドだけを間接的に公開
 public append(String str) {
  buf.append(str);
 }
}
あわせて。>639のようにGetterはコピーして返せばOK

643 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 09:21:56 ]
>>633 Eclipseがある今では古風なやり方だが、各所にSystem.out.println("..");
を配置すると今どこら辺の過程やってるのか分かるよ。

644 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 10:29:57 ]
lnないほうがいいよ

645 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 10:31:48 ]
二重ループで外を●内を・にすると
●・・・・・・・●・・・●・・・・●・・・・・●・・・
みたいに楽しめる

646 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:21:11 ]
>>638
javaはcall by referenceが無くていわばreferenceをcall by valueしてる。
ていうのをとっとと覚えた方が良いと思う。

むかし、MSにプリミティブのラッパークラスが
保持してるvalueを書き換える手段がないのは欠陥と非難されたことがあるよ。

647 名前:デフォルトの名無しさん [2007/07/16(月) 11:24:16 ]
FlashからJavaに入った奴です、よろしくお願いします。
例えば、Flashでは、あるFlash(swfファイル)に、後から、別ファイルのFlashを、
ロードして実行/表示することができるんですが、
Javaアプレットの場合、後から、別archiveをロードして、その中のクラスを
利用したりすることは出来るんでしょうか。。



648 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:25:37 ]
BASIC作ってた会社に言われたくない罠

649 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:26:17 ]
できるよ

650 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:42:08 ]
>>648
作ってないよ。あれは買い取っただけ。

651 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 12:07:30 ]
>>650
ビルゲイツキタ━━━━━━(゚∀゚)━━━━━━ !!

652 名前:デフォルトの名無しさん [2007/07/16(月) 12:47:53 ]
mainスレッドとmainスレッドからstartされるThread-0があって、GUIのボタンでThread-0の停止・開始を
制御するサンプルとかないですか?

653 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 13:30:04 ]
>>652
一度止めた(止まった)スレッドを再開することはできない。
Threadの中でループを使って実行・一時停止を制御するか、ボタンのイベント毎にスレッドを作れ(止めろ)

654 名前:647 [2007/07/16(月) 14:21:16 ]
>>649
ありがとうございました。この方向で、勉強してみます。
また、つまづいたら、よろしくお願いします。

655 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 15:06:05 ]
>>653
ありがとうございます
wait/notify使えば出来るかなと思ったのですがダメなんですね

656 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:52:30 ]
JDBCでMySQLを使ってるんですが、setAutoCommitをfalseして
commitとrollbackを使えば排他制御はできてるんですか?

657 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:54:16 ]
commit/rollbackは排他制御じゃなくてトランザクションの仕組み
それを使って排他制御ができるかどうかは>656次第



658 名前:デフォルトの名無しさん mailto:age [2007/07/16(月) 17:55:04 ]
cから来たんですけど「final」って何ですか?馬鹿にしてるんですか?

659 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:57:41 ]
>>658
constと同義

660 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:58:34 ]
>658
includeってなんですか?馬鹿にしているんですか?

661 名前:デフォルトの名無しさん mailto:age [2007/07/16(月) 18:01:07 ]
>>658 処理系側が安心して定数であると判断しているのです

大文字、小文字の判別が出来るものと出来ないものが有る為 どうしても定数宣言で必要になるのです

662 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:01:55 ]
ん、もしかしてCしか知らないのかw

663 名前:656 mailto:sage [2007/07/16(月) 18:41:04 ]
トランザクションと排他制御の違いがよくわかってませんでした。
dev.mysql.com/doc/refman/4.1/ja/lock-tables.html
MYSQLでは、このページにあるようにロックテーブルすれば排他制御はOKですか?

664 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:46:16 ]
今のjavaのfinalは定数じゃなくて一度しか代入(初期化しか)できない変数だろ。
blank finalがあるから。

665 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:49:06 ]
>>663
それはJavaの話ではないのでMySQLスレで聞いた方がいい

排他制御がシビアであるのでない限り、TimeStampを使って簡単な排他制御を行うことが一般的。
つまり、更新するレコードを取得した時にLAST_UPDATE_TIMESTAMPなどを取得しておき、UPDATE時はWHERE条件に含めてしまう(排他で引っかかれば更新結果0件)など。

666 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:50:42 ]
>>664
むしろ、変数に代入された値(参照先も含む)の不変性を保証

釣りにマジレスはここまで。

667 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:52:46 ]
何が「むしろ」なんだ?>>664のが的を射ているし。



668 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:24:02 ]
>>665
timestampはそういうときに使えるんですね
LAST_UPDATE_TIMESTAMPっていうのはMySQLの関数ですか?
探したんですが見つからないです。
あとこの方法だとテーブルにtimestamp型のカラムを持たせないとできないんですよね?

もうMySQLの質問になってますね。すいません。これで最後にします。

669 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:27:31 ]
>>667
JLS3以降(Java5以降)でfinalの役割が重くなって、
666のようになったはず。






[ 続きを読む ] / [ 携帯版 ]

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

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