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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 01:02:31 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

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

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

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

820 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:40:34 ]
なるほど。
d.hatena.ne.jp/masugata_k/20071203/1196684216
とそのリンク先を見てみた。
システムクラスローダは差し替え可能なわけか。知らなかった。

821 名前:デフォルトの名無しさん [2009/11/16(月) 00:06:47 ]
複雑な管理処理を行うベースウェアにはGUIや集中管理する画面って必須かな?
それとも管理するためのAPIだけを提供すれば皆安心?

822 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:20:52 ]
せめて参考GUI実装をソースつきで。凝る必要は一切無し。
あれば使ってもらえるし、出来が気に入らなかったら改造するだろうし。
ソース無くてもjadで見ちゃうけど。

823 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:58:42 ]
なるほどruby的なのか
そりゃそうか

824 名前:デフォルトの名無しさん [2009/11/16(月) 02:05:38 ]
初めましてm(_ _)m
JAVA初心者なのですが
JAVA2のSEとMEをインストールしようと思い一通りダウンロードしたんですが、
java_ee_sdk-5_08-jdk-6u17-windows-ml.exe
これ以外はインストール出来ませんでした。
EEに当たるようなんですが、サイトを見直すとSEに該当しているようにもみえます。
しかし次にMEをインストールしようとすると「SEがインストールされていない」とでてMEがインストールされません。

MEがSE1.4?のみに対応している可能性もあるのでダウンロードしようとしたんですが見当たりません。

ですがそれ以前から教則本の付録でついてたj2sdk1.4.1_01(ランタイム?)を使用してます。


パソコンは2000年発売VAIOのXPです。SPをインストールしていません。
(すでにSP1がダウンロード不可のため)

どなたかアドバイス下さい。よろしくお願いします。m(_ _)m

825 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 02:46:23 ]
こっから落とせば?
java.sun.com/javame/downloads/index.jsp

J2ME時代で環境作りたい場合はこっちから落とす
java.sun.com/javame/downloads/previous.jsp


826 名前:デフォルトの名無しさん [2009/11/16(月) 02:55:54 ]
>>825解答ありがとうございます。後日、ダウンロード試みてみます。


827 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:12:06 ]
SaxParser#parse(File, dh)は内部でファイルのロック取ってるんでしょうかね?
プロセス間のは(共有ロック)取ってくれてると思って使ってるけど。

スレッド間の排他はユーザがやる必要があるのでしょうか?

828 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 16:20:57 ]
基本的な質問ですいません。
C言語ソースの移植作業しているのですが・・・。
int a(short b)
{
return b+5;
}

a(50);のように定数を引数にしてコンパイルすると
「a(short) は (int) に適用できません」
とエラーが出てしまいます。
a(50);をa((short)50);のようにキャストすればエラーは無くなりますが、
定数をいちいちキャストするのが面倒です。
キャスト以外に良い方法は無いでしょうか?




829 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 17:38:52 ]
int型の引数を受け取れる同名のメソッドを作ればよい
int a(int b) { return a((short)b); }
みたいな

830 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 19:47:26 ]
EJBってどうなの?業務で使ってる?

831 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:06:24 ]
test

832 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:48:17 ]
業務意外じゃEJBを使っているのみたことないな

833 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 07:46:28 ]
なんか業務でもあえてEJB避けてきたんで...
メッセージングとか一部機能のつまみ食い程度しか使ったことないから、
3.0はいい感じなのか実際に採用してる人たちの実感を聞きたいなと。

834 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 10:18:39 ]
業務システムでも短納期・低コストが求められているのだから、わざわざEJBでコストをあげる必要はないだろ

835 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 10:25:03 ]
EJBなんて学者のオナニーだから使わないほうがいい

836 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 15:36:51 ]
はじめまして、こんにちは
現在塗りつぶしを行うアプレットをアプリに書き換えています
が、なかなか上手くいきません
アプレット/アプリケーション共通プログラムという
www.asahi-net.or.jp/~dp8t-asm/java/tips/AppletApp.html
このサイトの通りに行っているはずなのですが、、、

間違っているところがあれば、アドバイスをお願いします

以下が私のソースです
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10131.txt
サイトの通りに、ExitWhenWindowClosingクラスとAppletFrameクラスは別に作ってあります

837 名前:デフォルトの名無しさん [2009/11/17(火) 15:47:43 ]
単純なキーボード入力を出力するプログラムを作成したのですが、特定の文字列を入れると文字化けして出力されてしまいます。
この問題の原因、または解決方法をご存知の方みえましたら教えていただけないでしょうか。

実行環境:windows vista / Eclipse 3.5.1 Galileo Windows 32bit ベース / Pleiades All in One 3.5.1.20090930

コード:
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println(br.readLine());
} catch (IOException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
}
}
入力:

出力:
�?

838 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 16:46:00 ]
>>837
キーボードが日本語106キーで認識されて無いのかな。
「む」「ろ」「BackSpace」キー等には気をつけて。

解決策は・・・ドライバがどうなっているかくらいか・・・わかんね。
見当違いかもしれんが参考に。



839 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 17:05:10 ]
>>838
おお!ありがとうございます。
ドライバ確認してみます。


840 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 21:53:16 ]
将来的にはEJBが(実質的な意味で)本命のような気がするんだよね。
現状はまだ様子見しつつって感じのようですね。

841 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 21:56:48 ]
現状で既に活用できるってばさ。
Apache+Tomcatの時代なんて今は昔。
まあ私の周りの話だから他は知らんけど。

842 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:09:55 ]
EJB なんて 10 年前の流行キーワード。今も今後も誰も注目しねぇって。
使えるところで淡々と使われるだけ。

843 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:14:40 ]
うちの周りはTomcat(というかサーブレットコンテナメイン)ばかり。
分散+フェイルオーバーで高可用構成とかでも
業務フレームワーク作りこみで対応してるケースが多い。

EJB3.0はコンフィグ地獄じゃなくてよさそうなんだよね。
軽量コンテナとの境界もあいまいになってるわけで、
そうなると標準化プロセスを経ているEJBのメリットが生きてくるような気がする。

844 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:19:52 ]
スタンダードに載っとかないと保守で首を絞める。
HibernateよりJPAやiBatisを選択するのがいい。

845 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:26:28 ]
だよね。保守はともかく、いまさら新規でHibernateはありえない。
JPAは意識してるけど、使いやすさとパフォーマンスの点でS2JDBCに浮気してたりして。

846 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:06:12 ]
質問させてください
配列名を引数で与えるにはどうしたらいいのでしょうか。

static int[] mkArr(String arrName, int itemNum){
int[] arrName = new int[itemNum];
//このあとはarrName[0]〜[itemNum-1]の値をキーボードから
//入力させます
}
この段階で
重複ローカル変数 arrName,
と警告がでます(Eclipse使用です)。

型が String だとまずいのかもしれないかとも思いますが、見当もつきません。

※このメソッドはメインクラスに書く予定です。

レベルが低すぎて申し訳ありませんがよろしくご教示ください。
お願いいたします。

847 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:17:10 ]
引数でString arrNameを宣言してるのに
最初のステートメントでint[] arrNameを宣言してるやん。
質問のわかりにくさからして始めたばかりなんだろうけど。

848 名前:846 mailto:sage [2009/11/17(火) 23:54:30 ]
>>847
お答えありがとうございます。
お察しのとおり始めたばかりです。

↓こんな感じで呼び出すと

mkArr("arr1",3)
int[] arr1 = new int[3];

となって配列arr1が生成されるのかと思っているのですが
違うんですよね。。
ずっと考えてるのですがわかりません。
ここ読んどけっていうところがあったら、教えていただければ助かります。
よろしくおねがいします。



849 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:03:09 ]
酷すぎる

850 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:03:38 ]
宿題スレをおすすめする。
まず何をするプログラムなのかが分からない。

851 名前:846 mailto:sage [2009/11/18(水) 00:06:42 ]
>>849-850
スレ汚しすみませんでした。
宿題ではないので、もう少し考えてみます。

申し訳ありませんでした。

852 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:08:32 ]
お前ら厳しいなw

853 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:09:49 ]
プログラムの素人であるのは構わない。そういうスレだ。
だが質問の素人であってはいけない。

854 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:13:18 ]
分かりやすく伝えるって結構高度だと思うが

855 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:17:34 ]
>>846
自分も初心者なんですが、
static int[] mkArr(int itemNum){
int[] arr = new int[itemNum];
//入力
return arr;
}
メソッドをこんな感じにして

int[] arrName = mkArr(itemNum);
呼び出し側で、受け取ればいいのでは?
arrNameは受け取りたい配列名で。

たとえば、
String str = "arr";
int[] str = new int[5];
とやっても、arrという名前のint型の配列は
出来ないかとw

856 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:19:25 ]
ああ、呼び出し方がおかしいですね。
すいません。

857 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:35:34 ]
>>846
なかなか独創的なコードだけど、以前はどの言語をやってたの?

858 名前:デフォルトの名無しさん [2009/11/18(水) 01:27:56 ]
識別子に表情以上の物を求めるのが素人
識別子に_だけでプログラムするのが変態
識別子にg,o,t,oしか使わないでコーディングするのも変態



859 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:58:04 ]
識別子に$とか付けるのは宗教

860 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:35:54 ]
>>845が「新規でHibernateはありえない」って言ってるけど、なんで?
JPAやiBatisと比べてどの辺がありえないの?

861 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:47:43 ]
標準技術じゃないわりに複雑だからだろ。
JPAとの対比で語ってるからNativeAPIやらHQLでの話なんだろうけど。

862 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:50:27 ]
>>848
Javaとか初心者とか言って質問する前に、変数と関数というプログラムの基礎概念を勉強してこい

863 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:25:58 ]
JWebPaneっていつから使えるようになるんだろう

864 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:50:16 ]
JPAは当然ながらORM標準であることが利点。
ORMの業務適用要件は2.0の悲観的ロックサポートで満たしたと言ってよい。

iBatisはSQLをガリガリかけて、かつマッピングも楽ちんだから、
Java屋ではない外様がORMのメリットをすぐに享受できるところが良い。

本格的なORMは真の習得に三ヶ月かかると言われてるから、
標準 or 即効性の保守要件にHibernateは引っかからない。

865 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 01:41:20 ]
JSFを勉強し始めて半年ぐらいの若造です。
■.jspの記述

<h:dataTable var="list" value="#{bean.dataModel}">
<h:column>
<h:inputText value="#{list.text}"/>
</h:column>
 ・・・
</h:dataTable>

みたいなテーブルを表示して入力部を設け、ボタンを押したら値をテーブルの型式で取得したいのです。
bean.dataModelはListDataModelを返します。

beanのスコープはrequestです。
どのように値を取得するのが賢いのか教えて下さい。



866 名前:デフォルトの名無しさん [2009/11/19(木) 09:59:11 ]
JAXBでのバインディングって、setとget以外のメソッドが混ざっている
JavaBeans形式以外のオブジェクトでは出来ないのでしょうか?


867 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 12:36:47 ]
getter と聞くと、手がドリルの青い合体ロボットを想像してしまう僕は異常でしょうか?

868 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 16:24:49 ]
配列([])の中身を調べる文字知りませんか?

例えばstring[1]だとしたら1と読み取ってくれるやつです



869 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 16:26:27 ]
ねぇよ

870 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 18:12:31 ]
文字ってなんだよ

>string[1]だとしたら1
も曖昧で分からん。

871 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 18:59:39 ]
>>866
@XmlTransientでOK

@XmlAccessorType(XmlAccessType.FIELD)なら
マーシャリングしたくないフィールド(メンバ変数)を
transientにしとけばOK

872 名前:デフォルトの名無しさん [2009/11/19(木) 19:08:06 ]
というか、JAVAで配列使うな

873 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:01:30 ]
>>872
なんで?

874 名前:デフォルトの名無しさん [2009/11/19(木) 20:11:04 ]
List使った方がいろいろ操作出来る

875 名前:806 mailto:sage [2009/11/19(木) 20:13:27 ]
806のことも思い出してあげてください

>>873
javaには優秀なコレクションフレームワークが標準で装備されているので、配列ではなくそっち使おうぜ。
>>872はそういいたいのだと思う。
配列で十分だと思ったら、何でもかんでもコレクション使うことは推奨しない。


876 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:14:14 ]
配列は使うな云々って本があったなぁ

877 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:15:11 ]
配列を使うメリットはあまりない

878 名前:806 mailto:sage [2009/11/19(木) 20:19:30 ]
配列を使うメリットは、高速かつメモリ消費が最小であること。

ローカルなメソッドの内部処理に用いる場合は、配列もありだと俺は思う。

おさらいだけど
配列:速度良 メモリ小 操作ミス多
コレクション:速度どうかな メモリ最小とはいかない 操作簡単安全



879 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:27:45 ]
速度とかメモリとかにこだわる層はわざわざそういうこと言われなくてもわかってるはずだから、
とりあえず「ArrayList使っとけ」でおk

880 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:32:08 ]
質問です。
HttpURLConnectionを使ってhttp通信を行います。
yahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ましたが、
問題のサイトに接続したところjava.io.FileNotFoundExceptionで弾かれてしまいました。
該当URLはブラウザでアクセスしたところ問題なく表示出来ます。
(パスワードやログインを要求するようなサイトではありません)
恐らくサーバー側で何かを見ているのではないかと思うのですが、
サーバーがチェックしてそうな項目を教えては頂けないでしょうか。

現在設定しているRequestPropertyは
Host、User-Agent、Accept、Accept-Language、
Accept-Encoding、Accept-Charset、Keep-Alive、Connection
で、値はブラウザで該当URLの確認ができた時と同じ値をセットしています。

881 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:33:56 ]
LinkedListのメリットがよく分からない。
リストの半ばの挿入削除が速いって理屈は分かるが、
その場所に辿り付くまでは結局イテレートしてるわけで。

882 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:36:40 ]
404 や 503 じゃないのならプログラム上のミスで、相手サーバーじゃないんだろうな。

883 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:42:19 ]
>>880
お前モペ吉か?

884 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:45:43 ]
>>881
メリットはあんたが言ってる通りじゃねーかw

885 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:46:44 ]
ポインタ辿るだけだしなぁ。System.arraycopyで後ろ詰めるよりは速い。
でもgetFirstなどからして、stackとかqueueに特化した使い道が一番。

886 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:58:49 ]
LinkedListは参照の数珠繋ぎだから、要素の最初から最後まで順番にアクセスするなら
ArrayListよりも速いはず。逆に、要素の〜番目みたいなアクセスは破滅的に遅いと思う。
ランダムアクセスしない&削除と挿入が頻繁、ならむしろLinkeListの方が良いと思います。

ところで質問なのですが、
Javaで参照カウンタみたいな仕組みを実現したいのですが、なにか良い方法はないでしょうか。

887 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:01:58 ]
さっきから「メモリ効率」「速いだろう」「思います」とかばっかりだけど、それじゃいつまでも上達しないだろうな。

888 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:03:54 ]
>>886
staticな変数を持って、
コンストラクタ内でインクリメント
ファイナライズ内でデクリメント

いい方法ではないが、これしか思いつかなかった。



889 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:04:08 ]
>>882
404や503にはならないのですが
そのサイトではRequestPropertyを全て外すと403になります
またyahoo!などのサイトで接続した結果、問題なく接続し、情報を取得する事が出来ました

890 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:04:17 ]
>>886
でも実際試してみると ArrayList は LinkedList より結構速い

891 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:08:10 ]
>>887
メモリ効率は上達にはかかせないだろ。

892 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:08:21 ]
ArrayDequeueやConcurrentLinkedQueueがあるから尚更使い道が少なくなってきた。

893 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:12:27 ]
うお。なんだ。
Java1.4時代に迷い込んじまったw

894 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:14:09 ]
メ…メモリ効率だってよっwww

895 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:14:38 ]
Dequeueは6から、Queueは5からなんだが。

896 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:23:08 ]
>>894
おかしいと思う理由を書けよw
荒らしか?

897 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:28:54 ]
メモリ効率とか無駄のないアルゴリズムを考えられない奴っているんだよ。
コーディングする楽しみなんてないんだろうな。

898 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:33:20 ]
てかオブジェクト指向ってそういうもんだから構わんよ。
パフォーマンスの80%はソースコードの20%に依存するって奴だ。
裏を返せばソースコードの80%は保守性のが大事ってこと。



899 名前:886 mailto:sage [2009/11/19(木) 21:43:11 ]
>>888
レスありがとうございます。
その方法だと、そのクラスのインスタンスがいくつ存在するか、
ということがわかりますね。参照カウンタと近い気がするので参考にさせていただきます。

900 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 21:50:44 ]
メモリ効率を考えてコード書いて
数ヵ月後に、俺なんでこんなややこしいコード書いてんだ?
もっとeasyでいいやんって書き直している途中で
そういうコード書いてた理由を思い出す

revert

901 名前:デフォルトの名無しさん [2009/11/19(木) 21:54:04 ]
>>896
荒らすな鼻糞

902 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:02:42 ]
複雑なモデルを複雑なコードで実装してるうちは素人

903 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:48:25 ]
早く仕上げてボトルネックをテストしようぜ

904 名前:806 mailto:sage [2009/11/19(木) 22:51:41 ]
>>886 何するのかわからないけど、ウィークリファレンス(弱参照)とかの機能もあるんだぜ。

俺の質問って場違いなの?()涙

905 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:55:29 ]
JLayerMEでも使ったら>MP3

906 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 22:56:02 ]
俺も興味あるな。Javaで参照カウンタが必要ってどんな処理?

907 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:30:01 ]
>>904
弱参照と参照カウンタは関係ないだろ。

908 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:31:52 ]
おまえらって普通のプログラミングはちょっとはわかってるっぽいけどdrawLineとかdrawOvalはわかるか?



909 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 23:34:23 ]
>>908
知らないなら知らないって言えよw

910 名前:886 mailto:sage [2009/11/20(金) 00:06:24 ]
>>906
長い上に上手く説明できませんが、
あるサイトを参考に、IDなどを通じてグローバルに参照できるオブジェクト群を管理するクラスを作ろうとしています。
このクラスは、外部からの要求に応じてオブジェクトを生成し譲渡するのですが、その生成したオブジェクトは自身のフィールドに保持します。
そして次に同じ要求があった場合は、新たに生成せずに保持していた同じオブジェクトを渡します。
一つのオブジェクトを不特定多数の外部で共有するためです。
問題は、保持しているオブジェクトが管理クラス以外のどこからも参照されなくなった時は、それを削除せねばなりません。
そのタイミングを知るために参照カウンタが必要なのです。

>>904
弱参照は使ったことないのですが、上記のような場合でもGCしてくれるものなのでしょうか。
Reference関連は勉強不足で何もわかりません。その辺も調べてみます。

911 名前:デフォルトの名無しさん [2009/11/20(金) 00:15:02 ]
ある書籍のwait/notifyのメカニズムの問題で
正解が下記のようになってるんですが、
consumerメソッドでwaitの下の
isFlag=falseがどうしても理解できません。
ここでfalseを代入してしまうと
上のproduceでisFlag=trueでnotifyを呼びだし
waitを呼び起こしてもすぐにまたfalseになり
いつまで経ってもwhileから抜け出せないと思うんですが・・・
私の見解が間違っているんでしょうか?

class MySync{
boolean isFlag = false;
public synchronized void produce(){
isFlag = true;
notify();
}
public synchronized void consumer(){
while(!isFlag){
try{
wait();
isFlag = false;
}catch(Exception e){}
}
}
}


912 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:19:13 ]
>>910
昔、そういうの使ったことあるよ。

FacesContext.getCurrentInstace().getExternalContext()

の下にあるメソッドだったと思う。任意のクラスに対する、別クラスからのバインディングを取り扱う道具があるはず。

913 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:20:05 ]
>>910
なるほど・・・
シングルトンを強制しつつも、参照されなくなったらGCに回収させるのですね。

914 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 00:22:24 ]
なるほど。要はキャッシュの仕組みが作りたいわけね。

その用途ならソフト参照がいいかもね。
実際のところ弱参照は相応のライフサイクルが期待される
オブジェクトのキャッシュ方法としては適していない場合が多い。

www.ibm.com/developerworks/jp/java/library/j-refs/index.html
あたりを読んでみるとわかりやすいよ。

915 名前:デフォルトの名無しさん [2009/11/20(金) 00:25:57 ]
ウィークもいいけど、参照カウンタなんかCOMっぽくていいかもw
ほっといた方がよさそうだww

916 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 02:35:06 ]
いちいちaddRefとかもういやだお

917 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 02:41:51 ]
>>916
もしc/c++でもjvmでも、gcとかautoリソース解法とかの概念を使えるならそれをデストラクタに入れとくといいよw

918 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 06:37:05 ]
項目と値があるTableをjavaで扱う時、
CollectionInterfaceか配列どのような方法を使うのがいいのでしょうか?

Tableからの情報を使って、別のTableの中から同じ文字列を持つものを検索したいと考えています。
ArrayListの二次元配列で作っていたのですが、
うまくピンポイントの情報が取得できません。
Array.get(int )はObjectのため、ArrayListのように指定しての取得ができないように思われます。

まだまだ勉強不足で見当違いの事を書いているのかもしれませんが、
それも含めてご指摘ご意見頂ければと思います。

よろしくお願いします。



919 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:37:57 ]
>>918
HashMap を使わない理由は?

920 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:45:52 ]
なにこのデジャブ






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

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

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