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


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

★★Java質問・相談スレッド134★★



1 名前:テンプレ(1/3) mailto:sage [2009/11/21(土) 17:58:46 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド133★★
pc12.2ch.net/test/read.cgi/tech/1253376151/
次スレは>>950あたりで。

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/


792 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 02:27:31 ]
アクセス修飾詞なんですけど、どういう状況で使い分けたらいいかわかりません
教えてください

793 名前:デフォルトの名無しさん [2009/12/24(木) 02:43:40 ]
アプレットのプログラムについて質問です。
内容はボールを反射させて動かす(ピンボールのような)プログラムです。

g.setColor(Color.red);
g.fillOval((int)(this.x2-3),(int)(this.y2-3),6,6);

このようなプログラムが組まれており意味してるものは動かすボールの色と大きさを指定しているのは理解できるのですがこれでなぜ色と大きさが指定できているのか細かい部分がよくわかりません。
なぜこれで色と大きさを指定できるのでしょうか?

794 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 02:57:21 ]

まさにそういう用途のメソッドだと思うのだけれど。
java.sun.com/javase/ja/6/docs/ja/api/java/awt/Graphics.html#setColor(java.awt.Color)
java.sun.com/javase/ja/6/docs/ja/api/java/awt/Graphics.html#fillOval(int, int, int, int)



795 名前:デフォルトの名無しさん [2009/12/24(木) 03:08:15 ]
このサイトに書いてあるアルゴリズムを教えていただけないでしょうか…?
お願いします

796 名前:デフォルトの名無しさん [2009/12/24(木) 03:31:33 ]
すいません、サイトを貼るの忘れてました
oraclesqlpuzzle.hp.infoseek.co.jp/java/java-3-6.html
お願いしますm(_ _)m

797 名前:デフォルトの名無しさん [2009/12/24(木) 03:48:41 ]
>>793
gの色をセットします(赤色に)
ってのは理解できるべ?
g.fillOval(〜,〜,〜,〜)
ってのは
www.tohwa-u.ac.jp/~kodama/java/3_oval.html
みてみよ。

というか、そういうものだ、ってここは思わないと進めないレベルだぞ。
とりあえず、.setColorで色決めて、.fillOvalで塗りつぶされた円を描くコマンドだと思いなさい。

798 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 04:30:27 ]
>>795
ただの総当たりにみえますが。
2回目以降は前回の手数を
越えるものは総当たり条件から外してるみたいだけど
これで最適手順が見つかる保証は
無いでしょうね。

799 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 04:35:20 ]
あ、最適解云々は勘違いしてたので忘れて

800 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 06:09:34 ]
>>788
ジャンプするためだけに例外を投げるのが邪道ってこと?
try-catch の中身をメソッドとして独立させてみては

/**
* @return 中断されずに処理を終えたかどうか
*/
void process() {
  重い処理1
  if (interrupted()) return false;
  重い処理2
  if (interrupted()) return false;
  重い処理3
  return true;
}




801 名前:800 mailto:sage [2009/12/24(木) 06:13:33 ]
>>788 を読み返してみたら
質問の意図と違ってたかもしれん
すまん


802 名前:782 mailto:sage [2009/12/24(木) 08:47:31 ]
>>791
jarファイルをコマンドプロンプトから実行しても特に例外などは出ませんでした。
ちょっと>>782の説明が足りませんでしたので補足しますと
JREのインストールフォルダ内にある\lib\audioフォルダにsoundbank.gmがあると
音は鳴るんですが変な音質なんです。
逆にsoundbank.gmが無い場合は、正常な音質で鳴る場合と全く鳴らない場合がありますが、
確実に正常に鳴らす方法はありますでしょうか。

803 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 10:11:02 ]
ありますとよいですね。

804 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 10:37:46 ]
>>802
とりあえず MidiSystem#getMidiDeviceInfo() で取得できる
全 MidiDevice の名前を書いてくれ。

lib/sound.propertiesのコメントでない行も書いてくれ。

WindowsのJREなら少なくともシンセ2つが繋がっているはず。
(Java独自のシンセサイザとWindows内蔵のシンセサイザ)
どっちが使われてるかは把握してる?

何度読んでもMIDI関係のAPIは納得いかんとこが多いな…

805 名前:782 mailto:sage [2009/12/24(木) 10:51:48 ]
>>804
MidiDeviceの一覧は下記の通りです
Microsoft MIDI ?}?b
Windows MIDI_MAPPER
false
Microsoft GS Wavetable SW Synth
Internal software synthesizer
false
Real Time Sequencer
Software sequencer
false
Java Sound Synthesizer
Software wavetable synthesizer and receiver
true

それぞれの3行目のtrue/falseは
System.out.println(MidiSystem.getMidiDevice(i) instanceof Synthesizer)
の実行結果で、一番最後の「Java Sound Synthesizer」がデフォルトと思います

また、lib/sound.propertiesは全てコメント「#」で始まっています

806 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 11:21:42 ]
>>792
可能な限り狭いものを使っていれば問題ない。
まずprivateで済ませること。どうしてもダメならprotectedに拡張、そ
れでも足りないなら無指定、publicはfinal以外では使わない。


807 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 11:29:31 ]
>>792
隠したいなら private
公開したいなら public
設計ミスの継ぎはぎには protected
サンプルプログラム用に字数減らしたい場合は無指定で package private

808 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 11:32:05 ]
>>806
デフォルトアクセスとprotectedだとデフォルトアクセスの方が制限きつい。

809 名前:804 mailto:sage [2009/12/24(木) 12:05:04 ]
>>805
あー…、MicrosoftGS音源のSynthesizerって出てこないんだ…
それどころか本物のMIDI音源実機(Roland)も出てこないよー。
Sequencer使わずに自前でReceiverにMIDI信号投げてたんで気づかなかった。すまん。

Sequencerの音色がSynthesizerに依存している以上、JavaSoundしか選べそうにないね。

soundbank.gmってのはJavaSoundのデフォルト音源だと思う。
消しちゃダメー。書き換えるのもたぶんダメー。
Synthesizer.loadAllInstruments()で別の音源と差し替えることは可能と思う。

810 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 12:23:31 ]
javaで画像処理って定番は何になるのでしょうか?
CだとOpenCVやImageMagicがありますが



811 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 12:48:52 ]
>>809
あまり関係ないとおもうけど、確か公式で高音質盤のサウンドバンクが提供されてたよ
デフォルトで含まれているの最低音質で、3段階くらいあったとおもう。

812 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 13:19:22 ]
>>805
MidiSystem.getSequencer()で得られるシーケンサはデフォルトシーケンサだからデバイスの取得から自分でやってみれば?
プラットフォーム側で無効化されてるデバイスも叩き起こせる仕様だから自分でデバイス拾って開けばいい。

813 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 14:19:45 ]
>>810
普通ならそれをjni,jna

814 名前:782 mailto:sage [2009/12/24(木) 14:58:33 ]
>>812
「Real Time Sequencer」にしましたが
soundbank.gmがあっても音が全く鳴らなくなりました。
「Microsoft MIDI ?}?b」は認識されず
「Microsoft GS Wavetable SW Synth」
はClassCastExceptionが発生しました。

815 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 15:41:08 ]
>>806
>publicはfinal以外では使わない

そういうものなんですか?
これって割と常識として知られてること?


816 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 15:42:22 ]
メソッドの話?

817 名前:782 mailto:sage [2009/12/24(木) 15:52:15 ]
別バージョンのJREを何回か再インストールしているうちに
いつの間にか正常に音が鳴るようになりました。
音が鳴らなかった真の原因は未だに分かりません...。

818 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 15:54:51 ]
>>815
>>806 はでたらめなので心配御無用

819 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 16:22:17 ]
java.util.prefs.Preferencesで、userNodeには問題なくキーとデータを登録できるのに、
systemNodeには登録できず警告が出る。OSはWin。

という症状が、特定マシン上だけで起きるのだけど、どんな原因が考えられますかね?
自分や知り合いのマシンでは問題無いのに、知らない人のマシンでは起きているのです。
それからJREを再インストールしてもこの問題は解決しない。

820 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 16:25:11 ]
アクセス指定子はクラスの場合、メソッドの場合、フィールドの場合で
ずいぶん事情が違う。
>>806 はフィールドの場合に見える。




821 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 16:54:40 ]
public fieldが許されるのは小学生までだよねー(AA略

822 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 16:59:27 ]
>>810
JREにもれなく付いてくるJava2Dでは不足?

823 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 17:06:04 ]
>>819
その方、レジストリの管理権限はあるのかしら。
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs
に読み書き可能なのか、レジストリエディタかなんかで確認した方が

824 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 18:23:37 ]
>>823
嫌です

825 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 18:36:28 ]
>>817
シーケンサに命令溜めた後ちゃんとシンセサイザに送ってる?

826 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 19:30:07 ]
>>823
アカウントの権限を確認してもらったけど、Adminとのことでした。

827 名前:782 mailto:sage [2009/12/24(木) 19:40:09 ]
>>825
Javaのmidiに関しては殆ど詳しくないので
ソースを挙げて頂ければ有り難いです

828 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 19:50:38 ]
>802
そもそも「変な音質」とか「正常な音質」ってどういう話なんだ。
たとえば拾い物のYAMAHA用MIDIファイルを別音源で聞いて、それが変か正常かは主観レベルの話なんだが。

829 名前:782 mailto:sage [2009/12/24(木) 20:50:05 ]
>>828
「変な音質」というのは誤解を招く書き方でしたね、訂正いたします
他のプレイヤーで聞いた場合と同じかどうかということです

830 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 21:14:10 ]
情報小出しウザイ
そろそろ失せろ



831 名前:デフォルトの名無しさん [2009/12/24(木) 22:52:35 ]
>>830
イブで女の子と一緒に過ごせないからってカッカすんなよwww

832 名前:デフォルトの名無しさん [2009/12/25(金) 00:04:14 ]
イブで女の子と一緒?
外国の宗教とはいえ神様に失礼すぎw

833 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 01:38:21 ]
今年のクリスマスは中止になったって聞いてたけど

MIDIってのは環境とかプレイヤーによって音が変わるものじゃないのか。


834 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 01:39:53 ]
変わるよ

835 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 01:50:19 ]
昔のwin95の音源はひどかった
なつかしい

836 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 02:01:38 ]
むしろFM音源のほうが好きだった

837 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 11:05:40 ]
だな

838 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 13:34:19 ]
MIDIはWindows98あたりから
Windows標準でサポートされたが
Windowsのがあまりに低音質だったので
避けられるようになったのは有名
それ以前からあったWinGrooveとかのほうがマシだった

839 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 14:03:48 ]
打楽器やベースは結構使える音だと思うけどなー

840 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 14:28:42 ]
あの楽器?



841 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 15:44:12 ]
FM音源が好きなんだが

842 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:10:01 ]
YAMAHA万歳

843 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:13:14 ]
FM音源とかファミコン音源とかが好きなんだが

844 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:19:21 ]
スーパーファンファジーゾーンは神

845 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 17:21:18 ]
FM音源の楽器音声の再現度はほぼ無いから、再現という使い方は出来ないんだろうけど
FM音源の音が俺は好きだ

846 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 20:00:39 ]
FM音源は確かに好きだけど、FM音源を流用したおざなりなMIDI再生はいただけない。
PC9801-86とSoundBlaster16の両方ともドライバの出来は良くなかったな。
ドライバでどうこうなる話でもないのかも知れないが。

847 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 20:05:01 ]
javadocの特殊な文字化けについての質問です。
マルチバイト文字を値に持つ定数のjavadocに{@value}を使用したところ、
作成したjavadocのvalue部分がutfのコード表記に化けてしまいます。
-encoding -charsetの指定は効果なしでした。
解決策を御存じの方がいらっしゃいましたらご教示ください。


[ソース]
/** 定数 {@value} */
public static final String HOGE = "ほげ";

[javadocの表示例]
定数 ("/uaafd/u7ca2/u42ce")

[期待する出力]
定数 ("ほげ")

848 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 00:51:25 ]
OpenTypeFontを読みたいのですが、うまくいかないので教えていただければ幸いです。
OpenTypeはTrueTypeの一部ということで次のようにしましたが例外がでます。
Font.createFont(Font.TRUETYPE_FONT, new File("***.otf"));
当然といえば当然なんですが。どうやって読み込めばいいんでしょう。

849 名前:デフォルトの名無しさん [2009/12/26(土) 05:06:51 ]
JAR内の /a/b/SapmleClass.class から
同じJAR内の /resources/image.gif にアクセスしたいのですが、
SapmleClass.class.getResource("../../resources/image.gif") だとnullが返ってきます。

取り方が間違っているでしょうか?

850 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 06:00:41 ]
java soundもあるしアクセスは用意されてるよね。
それならOSSでプロジェクト組んで新音源を開発してもいいんじゃない?
いくらソフト音源だとしても、実装はsse,gpuとか使うからJavaにはあまり関係ないけど。
コーディック開発とはまた違った意味で面白いんじゃないか。



851 名前:デフォルトの名無しさん [2009/12/26(土) 10:14:17 ]
JARのルートからのパスでアクセスできました。
SapmleClass.class.getResource("/resources/image.gif")

852 名前:デフォルトの名無しさん [2009/12/26(土) 12:32:11 ]
いくつかのWindowsアプリケーションに、「右クリックメニュー」というものが
実装されていますが、あれはSwingでは(JMenuなどと違い)サポートされていないのでしょうか。

853 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 12:35:27 ]
JComponent#setComponentPopupMenu

854 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 12:45:49 ]
Adobeの次はJava。GENOウイルスの第二波が来るぞー(^o^)ノ
tsushima.2ch.net/test/read.cgi/news/1261786925/

855 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 13:03:38 ]
>>853
ありがとうございます。

856 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 13:05:17 ]
>>855
俺へのお礼レスはいらない

857 名前:デフォルトの名無しさん [2009/12/26(土) 13:14:49 ]
>>842

858 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 13:30:09 ]
>>851
よそ様のパッケージも使うつもりがあるなら/resourcesは使わない方がいいぞー。
/a/b/resourcesじゃだめ?

859 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 14:49:22 ]
struts2のconventionプラグインって
import com.opensymphony.xwork2.ActionSupport;
ってやらなくても命名規約さえ○○Actionになって○○actionsっていうパッケージにはいってれば
見つけてくれるんだと認識してたけど実際はしてくれない
xwork2.ActionSupportをインポートしないと認識してくれない

conventionプラグインは結局これインポートしないといけないの?

860 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 15:18:26 ]
>>859
△△もっとStruts2の良さを教えてくださいSsssion6
pc12.2ch.net/test/read.cgi/tech/1217536023/




861 名前:849 mailto:sage [2009/12/26(土) 20:55:35 ]
>>858
アドバイスありがとうございます。
使ってる他のJARにも/resourcesがあると、どっちか特定できないということでしょうか?
/a/resourcesに変えることにします。

862 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 11:34:32 ]
同名のリソースが複数あると最初に見つかったURLが返ってくるので、かぶりらないような名称にした方がいいよ

863 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 12:48:45 ]
>>856
ケッ

864 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:39:01 ]
以上、暇人でしたっ

865 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:17:50 ]
まじなんかすごい時代だよな

色々と

天才達の手によってここまできたが
すごい話だぜ

866 名前:デフォルトの名無しさん [2009/12/27(日) 16:14:17 ]
>>865
まあ僕たち天才が行うべき使命ですので凄いとかはあまり意識していないのですが

867 名前:デフォルトの名無しさん [2009/12/27(日) 16:15:46 ]
何が凄くて何が時代の?
で、何の天才で例えば誰のこと?

868 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:30:28 ]
そういう疲れる話し方やめてくれる?

869 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:33:07 ]
>>865-868
年末だしとりあえず金くれ

870 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:34:43 ]
俺にもおくれ



871 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:41:16 ]
質問させてください。

JavaSE6のjavax.xml.bind.SchemaOutputResolverクラスの
Javadoc(下記URL参照)を読んでいたら、こんな記述を見つけました。
「互換性を損なうことなく将来のバージョンを発展させることができるようにするため、
これはインタフェースではなくクラスになっています。」

java.sun.com/javase/ja/6/docs/ja/api/javax/xml/bind/SchemaOutputResolver.html

「互換性を(〜中略〜)にするため」とありますが、インターフェースを定義し、
将来のバージョンでも同インターフェースを必ず実装することにより
互換性が維持できると個人的に思い込んでいるため、納得できません。

クラスでなければならなかった理由をご教授ください。
よろしくお願いします。


872 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:43:42 ]
将来的なバージョンでインターフェースにメソッドが増えた場合の事じゃない?
インターフェースだったら、自分で実装してるクラス全部書き換えるけど、
継承元がクラスだったら、自分で実装してるクラスは書き換えなくてもすむかもしれない。

873 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:45:58 ]
最初のバージョンで次のようなインタフェースを定義しました
interface A {
void foo();
}
そこでとあるアプリケーションがこのインタフェースを実装して使うことにしました
class B implements A {
public void foo() { ほにゃらら }
}
新しいバージョンでインタフェースが拡張されメソッドが増えました
interface A {
void foo();
void bar();
}
先ほどのアプリケーションを新しいバージョンで実行すると bar() が定義されていないので NoSuchMethodError

874 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:11:56 ]
wait と Thread.sleep ってどう違うの?

875 名前:871 mailto:sage [2009/12/28(月) 00:14:34 ]
>>872-873
回答ありがとうございます。

将来のバージョンで新しい(非抽象)メソッドが追加された場合は、
追加実装が不要なため、インターフェースよりクラスの方がたしかに有利ですね。


以下、チラ裏

ただ、多重実装ができなくなるなど、
クラスで設計したことによるデメリットと比較すると微妙な気がします。

となると、どちらを選択するかはケースバイケースになるのでしょうか?
そうなると、今回の「ケース」は何と表現(説明)すればいいのでしょうか?


876 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:20:52 ]
まだ完成度が低いなと思ったらクラス
既存のクラスに付け加える可能性が高いなと思ったらインターフェース

どっちもと思ったら、天秤にかけるしかないんじゃないかなあ

877 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:25:05 ]
いや、使うときに、

TypeABC hoge;

この左側を、Interfaceで使う場合がおおいか、
実装クラス名で使う場合がおおいか、

じゃねーか?

878 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:25:42 ]
本当は実装したいことがあるのでinterfaceじゃないんだけど、
時間がなくて実装できてません。
今の姿を見ればinterfaceで良いように見えるんだけど、真の姿はこんなんじゃないんです。

ということが言いたいんじゃ。

879 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:26:35 ]

interface A { }

class A001 implements A { }

class B { }

class B001 extends B { }


A MyA として使うなら、Interface
B001 MyB として使うなら、クラス

じゃん

880 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:27:38 ]
>>878

おお、それだ!
だから、本質はクラスなんだよって事だね。



881 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:28:11 ]
リファクタリングしていって interface になる、ってことは結構あるけど、
リファクタリングしていくと interface がなくなるなんてことはあるんかしらん。

882 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:29:29 ]
>>874
waitはnotifyで起こせる
sleepはnotifyで起こせない
interruptを使えばどちらも起こせるが、起こしたい対象のwait/sleep以外でも
ところ構わず起こしてしまうので使い方が難しい
ところ構わず起こしたい場合には便利
あとwaitはspurious wakeup してしまうことがある

883 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:44:15 ]
>>874
Thread.sleepは、目覚まし時計を用意して、自分で寝て、自分で起きる。
基本的に自スレッドが時刻と同期するために使用する。

waitは、モーニングコールを依頼して、自分が寝て、他人(別スレッド)に起こしてもらう
(誰にも起こしてもらえなかった場合に、タイマーで自力で起きることも可能)。
基本的に自スレッドが別スレッドと同期するために使用する。


884 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:56:12 ]
>>883
モーニングコールって、普通は時刻を指定して依頼するから、
目覚ましをセットするのと変わらないんじゃ。
「そっちの仕事が終わったら起こしてね」と伝えてから寝る、
といったたとえのほうが正確かも。
重箱の隅みたいですまんね。


885 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:32:28 ]
>882-884
なるほど。
notifyを使う場合はwait Timerみたいな場合はThread.sleepって感じなんだな
ありがとう

886 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:58:58 ]
>>885
俺へのお礼レスはいらないって…

887 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:05:38 ]


888 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 03:38:25 ]
使われ方を想定せずにインタフェースの粒度なんて決められるわけない。
ライブラリのインタフェースはエスパーと妥協の産物

889 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 07:55:07 ]
>>873
というよりも、abstract class とか使ったことないでしょ。

890 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 08:01:30 ]
>>883
You should wake up from your deely sleeping.



891 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:35:34 ]


892 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 16:09:46 ]
You have to shave up you are sheep or theaf






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

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

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