2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【初心者】Java質問・相談スレッド132【専用】

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

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

前スレッド
【初心者】Java質問・相談スレッド131【歓迎】
http://pc12.2ch.net/test/read.cgi/tech/1250369910/
次スレは>>950あたりで。

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

2 :デフォルトの名無しさん:2009/09/01(火) 14:24:23
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 8
http://pc11.2ch.net/test/read.cgi/tech/1227234261/
■ SWT は --
Java 高速GUI SWT 3
http://pc11.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part19
http://pc11.2ch.net/test/read.cgi/tech/1233822965/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 8
http://pc11.2ch.net/test/read.cgi/tech/1206017034/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 68 ★★
http://pc12.2ch.net/test/read.cgi/tech/1248012902/

■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
http://pc12.2ch.net/test/read.cgi/tech/1247926906/
■ Eclipseに関する雑談は --
Eclipse統合M28【Java/C++/Ruby/Python/Perl】
http://pc12.2ch.net/test/read.cgi/tech/1247051216/

3 :デフォルトの名無しさん:2009/09/01(火) 14:27:46
**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
http://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
http://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
http://www.java.com/ja

4 :デフォルトの名無しさん:2009/09/01(火) 14:30:49
っと言うことで初心者用も作ってみたよ。
なにか有ったら、よろしく。

5 :デフォルトの名無しさん:2009/09/08(火) 16:25:22
質問です。
swingでJPanelを用意しましたが、JFrameに貼り付けることができません。
レイアウトマネージャーは他の部分との兼ね合いでnullに設定しております。

ググッてもレイアウトマネージャーを使ったものばかりで見付かりません。
例)getContentPane().add(JPanel, BorderLayout.CENTER);
レイアウトマネージャーをnullにしてもJPanelを貼り付けられる方法を教えてください

6 :デフォルトの名無しさん:2009/09/08(火) 16:26:24
>>5
お前は調べが足りない

7 :デフォルトの名無しさん:2009/09/08(火) 16:38:19
>>6
すみません。一応javaDriveとかも見て回ったのですがなかなか見付からず・・・
検索ワードだけでもいいので教えてください

8 :デフォルトの名無しさん:2009/09/08(火) 16:44:45
>>5
レイアウトマネージャを設定しないということは
そのコンテナのレイアウトに関してお前自身が責任を持つということを宣言したということだ
お前はレイアウトマネージャに頼らずレイアウトを行う責任を果たさなければならない
要点はコンテナ内の各コンポーネントの大きさと位置だ

9 :デフォルトの名無しさん:2009/09/08(火) 16:49:26
なんで二つも立ってんだよ。
どうせ初心者スレと銘打って立てるんなら、
紛らわしいことせずにくだスレを復活させろよ。

10 :デフォルトの名無しさん:2009/09/08(火) 17:02:56
>>8
となるとBorderLayout.CENTERの部分を自己責任でやる必要があるわけですよね?
代わりに適当な座標を入力したのですが表示されません。

11 :デフォルトの名無しさん:2009/09/08(火) 17:08:50
>>10
これでちゃんと表示されたぞ
お前が何か間違ってるんだ
import java.awt.*;
import javax.swing.*;
public class Test {
public static void main(String[] args) {
JPanel panel = new JPanel();
panel.setBackground(Color.red);
panel.setSize(100, 100);
JFrame frame = new JFrame();
frame.setLayout(null);
frame.add(panel);
frame.setSize(200, 200);
frame.setVisible(true);
}
}

12 :デフォルトの名無しさん:2009/09/08(火) 17:43:32
すいません。panelのサイズ設定を忘れていました。
ほんとにわかりやすい話と、具体例をありがとうございます。

13 :デフォルトの名無しさん:2009/09/10(木) 14:04:02
初心者からの質問です。
JAVAを今日から勉強しようと思い立ち開発環境を準備しようとVectorを覘いたのですが
種類が多すぎて分からないのでどれが使いやすそうだとかアドバイスをしてもらえませんか。

Sun MicrosystemsのDLページ
ttp://developers.sun.com/downloads/
VectorのDLページ
ttp://www.vector.co.jp/vpack/filearea/win/prog/java/index.html

プログラマーになって将来作りたいものは
1.Webサイトでログインとログアウトができるものを作る。

2.MacとWindowsで動くアプリケーションゲームを作る。
Windowsに同梱されているゲームのハーツのようなものです。

3.MacとWindowsで動くインターネット接続型のアプリケーションゲームを作る。
Windowsに同梱されているゲームのインターネット ハーツのようなものです。

よろしくお願いします

14 :デフォルトの名無しさん:2009/09/10(木) 14:24:20
とりあえず何をするにしても Java SE の JDK は必要なので Sun のサイトからダウンロードしておく
開発環境は NetBeans と Eclipse が人気だけど、
普通のテキストエディタとコマンドプロンプトだけでも特に問題はない

15 :13:2009/09/10(木) 14:42:00
回答ありがとうございます。
SunのサイトからJDK 6 Update 16 with Java EEをDLしてきました。

16 :デフォルトの名無しさん:2009/09/10(木) 16:53:21
OpenGLってやってみる価値ある?
つーかこれどうすればいいんだろ・・・

17 :デフォルトの名無しさん:2009/09/10(木) 17:09:40
価値っていわれても
3Dに興味があるならやってみてもいいんじゃない
興味も必要もないなら手を出すことはないかと

18 :デフォルトの名無しさん:2009/09/10(木) 17:23:42
あるんじゃないの?
でもいきなりは大変だろ

19 :13:2009/09/10(木) 22:51:35
今、PATHを通してやっとプログラミングの環境が整いました。
そこで質問なのですが、JAVA言語を習得する上でここまでできて初心者卒業、
ここまでできたら中級者などだいたいの目安は何かあるでしょうか。
何時間でこのくらいまでいけた、などの体験談でも構いませんのでアドバイスお願いします。
また、参考になるサイトは何かないでしょうか?


20 :デフォルトの名無しさん:2009/09/10(木) 23:05:46
文法覚えて初心者。
処理クラスにコンポーネントを順に呼び出すビジネスロジックを記述できて新人
大量データ処理・再帰処理をまともなパフォーマンスで実装できて普通のマ
プロジェクトの基本設計やらコンポーネントの設計まかされるようになって中級者
人の話が全て頭のなかでJavaのコードに自動変換されるようになって上級者

やさしいJavaみたいな本かって一通り勉強してみれば?
クイックソートを実装できるようになれば大体のプログラムは書けるようになってる。

21 :デフォルトの名無しさん:2009/09/11(金) 02:30:01
>>19
とりあえず初歩の勉強ならエディタでもいいが、アプリ作る気まんまんならeclipseいれとけ。
http://www.eclipse.org/downloads/ のEclipse IDE for Java Developers な。

初心者サイトはたくさんあるけど、やりたいことの幅がひろいようなので「JavaでHelloWorld」でコードを片っ端から試すとかいんじゃないか。
目安として、仕事でJava使ってる奴なら↑のサイトにあることの半分以上は知識とフィーリングでなんとでもなるかな。
まあ俺の場合は設定ファイルの書き方とかは知ってても本やネットで調べるが・・w

22 :デフォルトの名無しさん:2009/09/11(金) 07:57:57
Javadocがあれば一通りできて初心者卒業

23 :13:2009/09/11(金) 14:49:21
分かりやすい説明ありがとうございました。
文法やdocも眺めてみることにします。
いろいろなプログラムコードを片っ端から試して書いて頑張ってみます。

eclipseについての質問です。
JDKとjreをCドライブにインストールしたのですが、
SUN>JDKのフォルダの中のjdkのフォルダにもjreが入っていました。
こして、Eclipseのウィンドウ>設定>Java>インストール済みのJRE
にロケーションがC:\jreのjreが設定されていますが、このままでいいですか。
それともC:\Sun\SDK\jdk\jreのjreに設定するのがいいですか。
違いが分からないのでアドバイスお願いします。



24 :デフォルトの名無しさん:2009/09/11(金) 19:31:35
どこかに良い HTML パーサってないですかね?

25 :デフォルトの名無しさん:2009/09/11(金) 22:49:06
>>24
http://www.koiroha.org/xmllib/
HTML の読み込みなら↑が強力。SAX も DOM 化にも対応してるので
XML とほとんど同じ様に扱える。


26 :13:2009/09/11(金) 23:49:58
コマンドプロンプトについての質問です。
package test;

public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hell Java World !");
}
}
というソースをコンパイルしてC:\java\step001\bin\test内にHelloWorld.classを作りました。
Eclipse上ではコンソール欄にHello Jvava World !と表示されたのですが
次にコマンドプロンプトでcdを繰り返し
C:\java\step001\src\test>javac HelloWorld.java
として実行し
C:\java\step001\src\test内にHelloWorld.classを作りました。
そこでコマンドプロンプトで
C:\java\step001\src\test>java HelloWorld
として実行すると
Exception in thread "main"java.lang.NoClassDefFoundError: HelloWorld (wrong name: test/HelloWorld)
と出てしまいます。
何が悪いのかアドバイスお願いします

27 :デフォルトの名無しさん:2009/09/11(金) 23:56:49
パッケージが見える階層から実行しれ


28 :デフォルトの名無しさん:2009/09/11(金) 23:59:49
それから、コマンドプロンプト必要ないから。それよりもエクリプスの機能や拡張を覚える方が先


29 :デフォルトの名無しさん:2009/09/12(土) 00:12:28
Javaのパッケージはファイルシステム上ディレクトリとして表現されているから、
初心者はパッケージとカレントディレクトリの関係に戸惑うのかもしれないね。

c:
cd C:\java\step001\src
javac sample\HelloWorld.java
java sample.HelloWorld

として実行しましょう。
HelloWorldとsample.HelloWorldは別物だし、
C:\java\step001\srcでsample.HelloWorldを実行するのと
C:\java\step001\src\sampleでHelloWorldを実行するのも当然別物。


30 :29:2009/09/12(土) 00:14:41
ごめん。なぜかtestがsampleになってた。
以下訂正

c:
cd C:\java\step001\src
javac test\HelloWorld.java
java test.HelloWorld

31 :13:2009/09/12(土) 00:34:16
ありがとうございます。
コマンドプロンプトで
C:\java\step001\src>java test.HelloWorld
と実行して無事にHello Java World !と表示できました。

23での質問の内容は自分なりに答えを出してみました。
非公開jreと公開jreがあり、自分のソースコードを実行する場合はSDKを使っているので
PathはC:\Sun\SDK\jdk\jreにする。
だと思いました。
現在はPathはC:\Sun\SDK\jdk\jreにしています。

そこでまた質問です。
javac test\HelloWorld.java
の意味は、test内のHellWorld.javaをコンパイルしなさい。
java test.HelloWorld
の意味は、パッケージがtestのクラスがHelloWorldを実行しなさい。
で合っていますか。
(パッケージとクラスが何なのか今調べている途中です)

32 :デフォルトの名無しさん:2009/09/12(土) 00:58:37
23は読んでなかった。
開発環境から本番稼動の別サーバにデプロイ(クラスファイルを配置)
するような状況がなければ特に気にしなくてよい。
SDKをインストールして、そっちのjavaコマンドから実行することもあるのであれば、
SunのSDKを指定しておけばいい。

javaコマンドの意味は
「カレントディレクトリをクラスパスとして、testパッケージのHelloWorldクラスを実行せよ」

javacの場合は
「カレントディレクトリをソースパス&クラスパスとして、testディレクトリのHelloWorld.javaファイルをコンパイルせよ」

クラスパスは実行時やコンパイル時に、自分が作ったクラスや、それ以外のクラス
たとえばApacheのcommonsライブラリを使うソースを書いた場合は、
そのライブラリがどこにおいてあるかなどを指定するために使う。
実行するプログラムが使用する(依存している)全てのクラスはクラスパス配下から探せなくてはならない。

ソースパスはjavacがコンパイルするときに、
コンパイルするソースやソース自身が依存する別のソースを探すための場所として使われる。



33 :13:2009/09/12(土) 01:17:09
ありがとうございます。
調べてみるとパッケージとクラスは苗字と名前の関係のようでした。
クラス名が同じものがあると混同してしまうのでパッケージ名も付けて区別するようです。
そのためパッケージ名まで同じにならないように自分の所属する企業名やドメインを逆さにするようです。
これからは特色のあるパッケージ名にしてみます。

34 :デフォルトの名無しさん:2009/09/12(土) 01:49:06
パッケージは住所、クラス名は人の名前として考えてみるといい。
東京に住む山田一郎さんと、大阪の山田一郎さんは、
同じ名前でも別人。できることも体重身長もそれぞれ違う。

Javaは常にパッケージ名・クラス名の組み合わせで.classを探している。
「どこから」クラスを探せばいいのかを(クラスパスとして)教えてやらないといけない。
教えられた場所から「パッケージ名はディレクトリ」「クラス名はファイル名」として、
実際の.classファイルを読み取ることができる。

大規模な組織でJava開発を行うと、パッケージが10階層くらいになってて笑える。
jp.co.グループ名.会社名.事業所.カテゴリ名.プロジェクト名.アプリケーション名.本当のパッケージ名...


35 :13:2009/09/13(日) 00:27:15
分かりやすい説明ありがとうございます。
APIやクラスライブラリがまだよく分からないので飛ばしました。
今はインスタンスの勉強中です。

メソッドや戻り値とか分からない単語が増えてきてだんだん覚えきれなくなってきたのですが、
先輩の皆さんは初心者の頃はノートやメモなどを取ったりしましたか。
覚えられないものはひとまずおいてどんどん先に進むのがいいですか。

36 :デフォルトの名無しさん:2009/09/13(日) 00:33:59
>>35
ベストなのは、プログラムを自作して動作を理解する事
これが一番の近道
わからないまま進んでも、いけない事はないけど、真の理解には
つながらない

37 :デフォルトの名無しさん:2009/09/13(日) 00:40:42
まて、インスタンスよりメソッドと戻り値の方が先じゃないのか

38 :デフォルトの名無しさん:2009/09/13(日) 00:47:24
>>37
インスタンスがわかってないと、クラスメソッドとインスタンスメソッド
の違いが理解できなくね?

39 :デフォルトの名無しさん:2009/09/13(日) 01:09:18

javaのクラスパスにはドット(.)が含まれないと読んだのですが、
java -classpath で何かを指定したときは含まれない、
-classpath を何も指定しない場合は、現在のディレクトリも
検索パスになると理解したら良いのですかね?

-classpathを何も指定しない場合は、現在のディレクトリの
クラスを読みに行けているので。





40 :デフォルトの名無しさん:2009/09/13(日) 01:17:30
>>39
http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/classpath.html

41 :デフォルトの名無しさん:2009/09/13(日) 09:54:41
>>38
Javaを始めていきなりクラスとかインスタンスとか覚えれるのかな・・?
とりあえずmainメソッドで四則演算とか入出力とかで慣れるのが普通だと思ってたわ。。

42 :デフォルトの名無しさん:2009/09/13(日) 15:32:32
javaで実行ファイルつくんのどうやんの?
なんかソフトいるの?

43 :デフォルトの名無しさん:2009/09/13(日) 15:45:47
>>42
javaはインタプリタ言語だから、CPUネイティブなコード生成はできない
バイトコード=実行ファイルという意味なら、javacなどのコンパイラでおk

44 :デフォルトの名無しさん:2009/09/13(日) 16:23:44
OprnOfficeってどうしてんだろ?あれってJAVA使ってるだけなの?

45 :デフォルトの名無しさん:2009/09/13(日) 16:26:55
>>44
いまは、それぞれのプラットフォームごとにネイティブ対応してるんじゃ
なかったっけ>OpenOffice.org

46 :デフォルトの名無しさん:2009/09/13(日) 17:04:07
Java使ってたのは主にOpenOffice Base(DB)の裏方。
(他にもあるようだけど)

Mac版は、以前は本家はUIにXが必要で、他の実装としてUIにJavaを
使ったNeoOfficeという派生物がある。現在は本家もX不要でAqua
になってる。


47 :デフォルトの名無しさん:2009/09/13(日) 18:50:01
>>42
gcj でぐぐれ


48 :デフォルトの名無しさん:2009/09/13(日) 19:00:33
>>47
jgcとjavacどっちが主流なの?

49 :デフォルトの名無しさん:2009/09/13(日) 19:02:06
>>48
訂正
gcjとjavac

50 :デフォルトの名無しさん:2009/09/13(日) 20:07:04
主流って何のだよwww


51 :デフォルトの名無しさん:2009/09/13(日) 20:09:48
いや、javacが前のレスで紹介されてるのに、あえてgcjが紹介されてる
から、使用されてるシェアがgcjの方が多いのかなと思って

52 :デフォルトの名無しさん:2009/09/13(日) 20:13:27
バイトコードを吐くコンパイラならjavacかecjしか使われてない

バイナリを吐くコンパイラならメジャーなのはgcjくらいだ

これでいいか?


53 :デフォルトの名無しさん:2009/09/13(日) 20:21:31
>>52
javaで書いても、gcj使うと、バイナリで出せるんだ
知らんかった
プラットフォーム依存になるけど、JVM要らないってこと?

54 :デフォルトの名無しさん:2009/09/14(月) 00:22:27
gcjでぐぐれよ


55 :デフォルトの名無しさん:2009/09/15(火) 14:33:55
質問です。
javaアプリケーションで、JPanel上に2枚の画像を載せます。(A,Bとします)
Aの画像はJPanel全体に表示させ、Bの画像はその上に置くようにして載せたいと思っています。
画像のサイズはAが700*700で、Bの画像は10*10ほどです。
どちらか片方だけ載せるのはできるのですが、その上にもう一つ載せようとすると、
先に載せたほうが潰れてしまいます。
どうすればうまく載せれるのでしょうか

よろしくおねがいします

56 :デフォルトの名無しさん:2009/09/15(火) 15:43:28
潰れるってどういう意味で使ってる?

57 :デフォルトの名無しさん:2009/09/15(火) 15:48:31
>>56
表示されなくなります。後に載せたほうだけが表示されます

58 :デフォルトの名無しさん:2009/09/15(火) 15:54:20
レイアウトマネージャは何を?

59 :デフォルトの名無しさん:2009/09/15(火) 15:59:14
レイアウトマネージャーは質問とは別の理由でnullに設定してます。
それと、Bは画像を使わないで直接描写でも良くなりました。
なのでJPanelに載せた画像の上から絵を描ければ大丈夫です

60 :デフォルトの名無しさん:2009/09/15(火) 16:26:34
画像AはJLabelかなんか?
レイアウトマネージャがnullなら、自分で位置とサイズを指定しないといけないけれど、そのへんは大丈夫?

61 :デフォルトの名無しさん:2009/09/15(火) 16:29:55
>>60
JLabel使ってます。
大丈夫です。

62 :デフォルトの名無しさん:2009/09/15(火) 16:36:26
あるクラスから、他のクラスのメンバ変数を参照したいんだけど
その参照したいクラスが多数あった場合、どうやったらスマートだろう?
そのクラスのインスタンスを引数で渡すにも、参照したいクラスが10個以上あるし
インスタンスを引数で渡す方法が良いとは思えない

もうちょっと状況を詳しく書くと
main.javaというクラスがあるとして、このクラスは他の全てのクラスのインスタンスを保有
クラスAから、他のクラスB〜Zのprivateのメンバ変数を参照したい
クラスB〜Zは、public のゲッタ/セッタを保有

この場合、クラスAからクラスB〜Zのメンバ変数を参照するにはどうすれば
うまいやり方でできる?

63 :デフォルトの名無しさん:2009/09/15(火) 16:38:12
>>62
クラスAにクラスmainを持たせて、main経由で参照すればいいかと

64 :デフォルトの名無しさん:2009/09/15(火) 16:53:56
>>61
AとBのaddする順番を逆にしてみるとか

65 :デフォルトの名無しさん:2009/09/15(火) 16:56:21
>>63
すいません、説明がちょっと抜けてた
クラスmainが保有する各クラスのインスタンスはprivateなんです
なので、mainのインスタンスをクラスAに渡してもそのまま参照できず
それぞれにゲッタが必要で、その数もまた膨大なので
何か良い方法が無いかなと

そもそもクラスのインスタンスをprivateで保有するという考え方が
おかしいのかなぁ

66 :デフォルトの名無しさん:2009/09/15(火) 17:08:04
>>64
やってみましたが、結局後に書いた方だけが表示されます

67 :デフォルトの名無しさん:2009/09/15(火) 17:08:54
ゲッタくらいeclipseに自動生成してもらえ
他の開発環境は知らんが・・・

68 :デフォルトの名無しさん:2009/09/15(火) 18:35:24
質問失礼します。

private static final Map<String,String> tmpMap = new java.util.concurrent.ConcurrentHashMap<String,String>();

public void run() {
String uniqueKey = "hogehoge";

while(true) {
if(!tmpMap.containsKey(uniqueKey)) {
String data = getData();
tmpMap.put(data,uniqueKey);
String tmpLocalKey = tmpMap.get(data);
if(uniqueKey.equals(tmpLocalKey ) {
somethingDoTask();
}
}
}
}


簡単に言うと上記のようなソースがあり4スレッドくらいを並列で動かしてます
マップはロックのような形で使用し、あるデータ名をキーにし4つのスレッドの内
1つだけが処理を行うような仕組みです。

ですが、実際は重複して実行しているようです。
このマップを使う事が間違いでしょうか?


69 :デフォルトの名無しさん:2009/09/15(火) 18:36:40
訂正
こっちです

private static final Map<String,String> tmpMap = new java.util.concurrent.ConcurrentHashMap<String,String>();

public void run() {
String uniqueKey = "hogehoge";

while(true) {
String data = getData();
if(!tmpMap.containsKey(data)) {
tmpMap.put(data,uniqueKey);
String tmpLocalKey = tmpMap.get(data);
if(uniqueKey.equals(tmpLocalKey ) {
somethingDoTask();
}
}
}
}





70 :デフォルトの名無しさん:2009/09/15(火) 18:48:02
>>68
使い方が正しくない
containsKeyとputの間に他のスレッドが割り込む可能性がある
その操作はアトミックにやらないとだめ

if (tmpMap.putIfAbsent(data, uniqueKey) == null) {
somethingDoTask();
}
こんな感じで

71 :デフォルトの名無しさん:2009/09/15(火) 19:06:58
>>70

ありがとうございます。
そんなメソッドあったんですね 笑

割り込みは許容してます。
で、4スレッドでユニークに振り分けたキーでputし最終取得者を
String tmpLocalKey = tmpMap.get(data);
if(uniqueKey.equals(tmpLocalKey ) { }
で割り出しているつもりだったんですが、間違いですか?


72 :デフォルトの名無しさん:2009/09/15(火) 19:10:42
まあ、現実に最終のif分の行で全スレッドで
実行対象になってしまったりしてるんで確実に間違いだとは思います。

CuncurrentHashMapの使い方の認識違いなのかな?


73 :デフォルトの名無しさん:2009/09/15(火) 19:16:02
>>71
間違いです。
2つ以上のスレッドが同時にcontainsKeyとputの間に来た状況を想像してください。
まず、1つめのスレッドが自分のuniqueKeyをtmpMapにputしgetすると、自分のuniqueKeyが取得できるのでequalsはtrueを返します。
次に、2つめのスレッドが自分のuniqueKeyをtmpMapにputしgetすると、自分のuniqueKeyが取得できるのでまたもやequalsはtrueを返します。

74 :デフォルトの名無しさん:2009/09/15(火) 19:31:50
>>73
ありがとうございます。
理解できました

synchronizedあたり使わないとまずいですね

75 :デフォルトの名無しさん:2009/09/15(火) 19:40:54
synchronizedするんならConcurrentの価値ナッシング
なんのためにputIfAbsentが追加されたと思って・・・

76 :デフォルトの名無しさん:2009/09/15(火) 20:30:11
>>75
ありがとうございます。
もういいです

77 :デフォルトの名無しさん:2009/09/15(火) 20:38:44
>>65
背景塗りつぶしで表示するメソッドrepaint()(だっけ?w)が
呼ばれてて、後に絵を表示すると、panelの背景がまっさらになってる
だけとかだったりしない?単に。

78 :デフォルトの名無しさん:2009/09/15(火) 20:48:04
>>55
超適当

public class Hoge {
Hoge() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JLabel a = new JLabel(new ImageIcon(Hoge.class.getResource("a.jpg")));
JLabel b = new JLabel(new ImageIcon(Hoge.class.getResource("b.jpg")));
a.setBounds(0, 0, 700, 700);
b.setBounds(345, 345, 10, 10);
panel.setPreferredSize(new Dimension(700, 700));
panel.setLayout(null);
panel.add(b);
panel.add(a);
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Hoge();
}});}}

79 :デフォルトの名無しさん:2009/09/15(火) 21:02:33
>>77
repaintなしで作ったプログラムでもやっぱりなってしまいます
なんかすいません

80 :デフォルトの名無しさん:2009/09/15(火) 21:19:37
>>79
JLabelのサイズ設定とかは大丈夫なんだよね?
例えば、
label.setPreferredSize(new Dimension(size_x, size_y));
みたいな感じで。
画像A, Bが入ったそれぞれのLabelでこのサイズが同じだと
かぶった部分が消えちゃうと思うけど

81 :デフォルトの名無しさん:2009/09/16(水) 01:05:01
質問です。
Randomクラスを用いて乱数を生成して、4桁のパスワードはどうやればいいのでしょうか?

現在、下記の形で書いているのですが、1桁などがでてきてしまって困っています。
初心者なもので、すみません。

Random rnd = new Random();
int ran = rnd.nextInt(10000);

82 :デフォルトの名無しさん:2009/09/16(水) 01:09:47
1桁って、それは前3桁がゼロってことでは?
printlnなんかじゃ前のゼロは表示されないが (0001とか変だからな)

83 :デフォルトの名無しさん:2009/09/16(水) 02:15:28
String pass = String.format("%04d", ran);

84 :デフォルトの名無しさん:2009/09/16(水) 02:29:52
assert ran >= 0 && ran < 10000;
String pass = String.valueOf(ran + 10000).substring(1);

85 :デフォルトの名無しさん:2009/09/16(水) 05:49:48
ありがとうございます。期待どおりの結果を得ることができました。

86 :デフォルトの名無しさん:2009/09/16(水) 11:54:07
>>80
LabelのサイズのOKです。
今やりたいことはPanelに画像を貼って、
それをscrollPaneを使ってスクロールできるようにしたいわけです。

そうなるとpanelに貼るというよりはまず
labelに画像を貼って、viewPortにセットして、
そのviewPortをscrollPaneと連動させて、最後にそれをPanelに貼るという流れになるわけです。
そのあとframeにも貼り付けてますがそれは置いておいて。

今回の原因はviewPortにlabelを貼る際に、viewPort全体に張るようにしてしまっているからだと思います。
なのでviewPortに貼る際に座標指定をして張ることができれば解決できると思うのですが、そのやり方がわからない・・

87 :デフォルトの名無しさん:2009/09/16(水) 12:26:18
>>86
こういう感じ?
JFrame
+- JPanel
    +- JScrollPane
        +- JViewport
             +- JPanel
                  +- JLabel (画像A)
                  +- JLabel (画像B)

88 :デフォルトの名無しさん:2009/09/16(水) 12:52:11
>>87
違います。

89 :86:2009/09/16(水) 14:53:57
>>87
そうです。>>88はわたしじゃないので気にしないでください。

上の方のJPanelと下のJPanelは別物と認識していいですよね。

まったく同じ方法で今行っていますが、画像の方はうまくいきました。
なぜかScrollPaneがうまく動かないですが、がんばってみます

90 :デフォルトの名無しさん:2009/09/17(木) 00:10:04
MAPインターフェースの概念が理解できないのだが、何か良い例を紹介してるサイトはないかな

91 :デフォルトの名無しさん:2009/09/17(木) 01:00:41
いまここで、教えてやんよ
マップとして、持っていなくてはいけないメソッドの集合のこと

92 :デフォルトの名無しさん:2009/09/17(木) 01:21:33
JavaがC/C++より勝れている点を教えて下さい
無いと思いますが・・・

93 :デフォルトの名無しさん:2009/09/17(木) 05:59:24
全くありません(-_-)

94 :デフォルトの名無しさん:2009/09/17(木) 09:52:04
public int kazu(int da1,String st1,String st2) {
return st1.indexOf(st2, da1-1)+1;
}

public int kazu(int da1,String st1,String st2) {
int da2;
da2=st1.indexOf(st2, da1-1)+1;
return da2;
}

文字の位置を1〜とだすルーチンですが
同じ値で前者は1、後者は0と違う値を返すことがありました
直接返すか、一度変数に代入するかの違いです
これを説明できる方いますか?

95 :デフォルトの名無しさん:2009/09/17(木) 10:25:25
>>94
その違う数値が返ってきた引数は?

96 :デフォルトの名無しさん:2009/09/17(木) 10:46:30
もう一度やってみたのですがその時おかしくなった引数は失念してしまいました、ごめんなさい
でも以前も同じようなことがあったんです
変数に代入しないと正しい値を返さなかったということが

97 :デフォルトの名無しさん:2009/09/17(木) 10:48:11
>>96
勘違いだろ
素人にはよくあること

98 :デフォルトの名無しさん:2009/09/17(木) 13:25:17
>>96
勘違いだろ
素人にはよくあること

99 :86:2009/09/17(木) 15:58:35
>>87のことなんですが、JViewPortにJPanelを貼り付けてもJScrollPaneが動きません。
他の条件はすべて同じにして、JLabelを貼り付けてみたのですが、これだとうまくいきます。
JPanelをJViewProtに貼り付けることはできないのでしょうか?

100 :デフォルトの名無しさん:2009/09/17(木) 16:17:48
>>99
JPanelのレイアウトマネージャはnullなんだっけ?
そのせいでJPanelの大きさを計算できないのかもしれない
JPanel#setPreferredSizeかJViewport#setViewSizeで大きさを指定してみたらどうかな

101 :86:2009/09/17(木) 16:28:00
>>100
レイアウトマネージャーはnullにしてあります。
JPanelのサイズは1,2ともsetBounds(new Rectangle(int,int,int,int));で設定してあります。
JViewportのサイズはsetViewSize(getViewSize())で設定しましたができませんでした。

102 :デフォルトの名無しさん:2009/09/17(木) 16:34:07
>>101
setBoundsはJViewportに変更されるからだめ。
setViewSizeはJPanelのスクロールサイズを知らないJViewportにスクロールサイズを教えるために使うわけだから、JViewportからgetしても0が返るだけで意味がない。
自分の希望する値を指定しる。

103 :86:2009/09/17(木) 16:43:05
>>102
とりあえずsetBoundsをsetPreferredSizeにしてみました。スクロールできるようになりましたが
もっとスクロールできるはずなのに短い距離分しかスクロールしません。
わかりにくいですが、本来右に100スクロールするとしたら10くらいしかスクロールしません。数字は適当です。

setViewSizeは引数がDimensionとかで使いかたがイマイチよくわからないのですが

104 :86:2009/09/17(木) 16:56:01
>>102
できました。Panelのサイズを貼る画像のサイズにしたらうまくいきました。
ありがとうございます!

105 :デフォルトの名無しさん:2009/09/17(木) 17:07:17
>>104
いいってことよ

106 :デフォルトの名無しさん:2009/09/17(木) 18:31:39
>92 >93
それじゃ、Javaの存在意義は?
これからJavaを独学しようかと思っているのだが・・・・・・。
最初からCを覚えた方がマシ?
テキストエディタを作りたくて、何か言語を覚えようかと思っている。
プラットホームに依存しないところがいいかなーと思った。
それと、Cに似ているとの事なので、Javaを覚えればCにもとっつきやすかなーとか、思った。
何か、大いなるカン違いしているのかな?
・・・・・・テキストエディタなんて、何で作っても大丈夫とか言われそうだが。

107 :デフォルトの名無しさん:2009/09/17(木) 18:43:23
WebアプリならJAVAが一番良いよ

108 :デフォルトの名無しさん:2009/09/17(木) 18:49:05
初歩的な質問で申し訳ないのですが、
"||"は「または」という意味がありますが、
"|"はどういう意味があるのでしょうか。
例などを教えていただけると嬉しいです。

109 :デフォルトの名無しさん:2009/09/17(木) 19:30:09
>>108
論理和
例は検索すれば山ほど出てくるはず。

110 :デフォルトの名無しさん:2009/09/17(木) 22:30:28
>>106
存在意義なんてどうでもええやん

111 :デフォルトの名無しさん:2009/09/18(金) 01:00:32
こんばんは

JavaにはCのioctl関数のようなものはないのでしょうか?


112 :デフォルトの名無しさん:2009/09/18(金) 01:14:57
標準APIにはないね。


113 :111:2009/09/18(金) 01:20:14
標準APIには無い…ということは
標準以外のAPIに存在する、または他に実現する方法があるということでしょうか?
もしよろしければ是非教えて頂きたいです

114 :デフォルトの名無しさん:2009/09/18(金) 01:54:19
JNI使えば何でもあり。



115 :デフォルトの名無しさん:2009/09/18(金) 02:02:48
java勉強するには「プログラミング言語Java 第4版」ってのが良いね
最近これで復習中

116 :111:2009/09/18(金) 02:03:53
なるほど…直接Cのioctlを使うのですか

JNIのwikiによると
>標準クラスライブラリからはアクセスできないオペレーティングシステムの機能
とあるのですが…やはりJava自体にioctlの代わりはないのですね、ありがとうございました

117 :デフォルトの名無しさん:2009/09/18(金) 04:13:02
おはようございます

118 :デフォルトの名無しさん:2009/09/18(金) 23:21:59
>>115
「プログラミング言語Java 第4版」はamazonだと酷評だけどそんなに良いですか?

他者の感想を鵜呑みにするわけではないですが、やはり他者の感想も大事なので気になります。

良ければどの辺がいい点ですか?

119 :デフォルトの名無しさん:2009/09/19(土) 00:38:41
>>118
俺がいいといったらいいんだよ

120 :デフォルトの名無しさん:2009/09/19(土) 01:02:37
Map#get最速にするにはMapのキーをIntegerにすればいいのかな?
Integer#hashCodeとInteger#equalsがIntegerがラップしてるint valueをそのまま返すだけみたいなんで。

121 :デフォルトの名無しさん:2009/09/19(土) 01:32:28
>>119>>118
トイレットペーパーの方がまだまし

122 :デフォルトの名無しさん:2009/09/19(土) 02:42:14
Integerが最速になるだろうね。
ただしIntegerをキーとして自然にマッピングできるようなケースは限定的な気がするけど。

123 :デフォルトの名無しさん:2009/09/19(土) 02:44:58
>>118
他のどんな本より基本が詳しく乗ってる

124 :デフォルトの名無しさん:2009/09/19(土) 04:25:28
下手な奴がコーディングすると Boxing/Unboxing 多発で
ヒープのフラグメントで遅くなりそうな悪寒。あれって
Integer.valueOf() みたいな簡易 Singleton 実装じゃないよね?

125 :デフォルトの名無しさん:2009/09/19(土) 07:40:24
土曜だね

126 :デフォルトの名無しさん:2009/09/19(土) 09:34:19
>>123
サンクス!

127 :デフォルトの名無しさん:2009/09/19(土) 10:06:57
>>126
どういたしまして

128 :デフォルトの名無しさん:2009/09/19(土) 10:43:44
String[]を、空白区切りの一つのStringにしたいのですが
どうコーディングするのが奇麗でしょうか。
尚、コーディング規約では、ループには基本的に拡張for文を使えということになっています…。

129 :デフォルトの名無しさん:2009/09/19(土) 10:50:02
StringBuilder b = new StringBuilder();
for(int i=0; i<array.length; i++){
  if(i != 0) b.append(' ');
  b.append(array[i]);
}

130 :デフォルトの名無しさん:2009/09/19(土) 11:43:40
>>129
ありがとうございます。ただ、配列の数が多い場合,
最初以外でカウンタが0かどうか判断するのは余計なステップになるかなと思いました。
そう思って、下記のような処理を考えました。

StringBuilder b = new StringBuilder();
b.append(array[0]);
int i=1;
while(i<array.length){
  b.append(' ');
  b.append(array[i]);
  i++;
}

コストとしては多分こっちの方が少ないと思ったのですが、
配列の中身を書き出すappend文が別の箇所に出てくるようになりました。
ループの最初もしくは最後だけ特殊な場合は、ループの中でその判断を行うのが普通なのでしょうか。
それとも、ループの範囲自体から最初もしくは最後の部分を外して処理を切り出すべきなんでしょうか。
(後者は,保守性が下がる気がしますが…。)

131 :デフォルトの名無しさん:2009/09/19(土) 11:48:00
その程度で保守性なんて大してかわらんよ、好きなほうにすればいい

132 :デフォルトの名無しさん:2009/09/19(土) 11:54:08
拡張for文はどこ?

133 :デフォルトの名無しさん:2009/09/19(土) 12:11:14
拡張for文を使うとこうかな

StringBuffer b = new StringBuffer();
for (String s; array) {
s.append(s + " ");
}
s.deleteCharAt(s.length() - 1);

最後は↓でもいい
String v = s.substring(0, s.length() - 1);

134 :デフォルトの名無しさん:2009/09/19(土) 12:12:44
いろいろ間違ってるな

135 :デフォルトの名無しさん:2009/09/19(土) 12:13:01
exception raised when array.length == 0.

136 :デフォルトの名無しさん:2009/09/19(土) 12:13:39
動けば良いよ

137 :デフォルトの名無しさん:2009/09/19(土) 12:36:24
これでいいじゃん。きれいだろ?
public static String join(String delim, Object... elements) {
  StringBuilder sb = new StringBuilder();
  for (Object element : elements) {
   if (sb.length() > 0)
    sb.append(delim);
   sb.append(element);
  }
  return sb.toString();
}

138 :デフォルトの名無しさん:2009/09/19(土) 12:40:03
elements[0] が "" だったらどうすんだよ

139 :デフォルトの名無しさん:2009/09/19(土) 12:44:29
>>138
やん(///)


140 :デフォルトの名無しさん:2009/09/19(土) 19:00:17
これでどうだ?

public static String join(String delim, String... elements) {
  StringBuilder sb = new StringBuilder();

  for (String element : elements) {
   sb.append(element).append(delim);
  }

  if (sb.length() > 0)
   sb.setLength(sb.length() - delim.length());

  return sb.toString();
}

141 :デフォルトの名無しさん:2009/09/20(日) 07:35:27
>>128
プロはこんなところでバグが出かねないコーディングはしない。

public static String join(String delim, String... elements) {
  return org.apache.commons.lang.StringUtils.join(array, delim);
}

142 :デフォルトの名無しさん:2009/09/20(日) 07:40:53
全部一人でやってる零細システムのプロ?
この程度のコードでデプロイ管理チームに作業が降るようなやり方はしない。

143 :デフォルトの名無しさん:2009/09/20(日) 08:17:07
プロの方、教えて下さい
NetBeansのプラグインでエディタを操作する方法を教えて下さい
エディタにコード補完のようなポップアップを表示したいんです

144 :デフォルトの名無しさん:2009/09/20(日) 09:06:30
CommonsのLang、Beanutilsあたりは最初から入れておくだろJK

145 :デフォルトの名無しさん:2009/09/20(日) 09:13:32
入れるのはかまわないが、それが前提で語るとかどこのプロ(wだよ

146 :デフォルトの名無しさん:2009/09/20(日) 09:34:43
なんだ偽プロか

147 :デフォルトの名無しさん:2009/09/20(日) 09:38:21
都合の悪い質問には答えられないのを隠す
それがプロの美学なり

148 :デフォルトの名無しさん:2009/09/20(日) 09:40:57
ローカル事情を世界の常識と勘違いしてる奴はプロはプロでもプロ派遣。
ゆるゆる規約のサーバサイドしかやったことがありません。

149 :デフォルトの名無しさん:2009/09/20(日) 09:56:56
ネタだろ。
適用条件出したりヒヤリングもせず押しつける技術屋なんていねーよ。
ていうかプロって言いだけの社会人二年目くらいじゃ。

150 :デフォルトの名無しさん:2009/09/20(日) 17:19:28
いまどきcommons-langすら使わない(使わせてもらえない)なんて…


151 :デフォルトの名無しさん:2009/09/20(日) 17:38:32
金融系じゃ Commons 程度のライブラリは内部で作ってて当たり前。
単体アプリや組み込み開発に至ってはバカかと言われるレベル。
君の住んでる世界が全てじゃないんだよ。

152 :デフォルトの名無しさん:2009/09/20(日) 17:44:45
>>141

> プロはこんなところでバグが出かねないコーディングはしない。

と言いつつも、書いてるコードが既にバグってるわけで、とてもプロが書いたとは思えないな。


153 :デフォルトの名無しさん:2009/09/20(日) 17:52:40
世間知らずと低スキルっぷりがまんまどっかの社内SEっぽくてワロタw

154 :デフォルトの名無しさん:2009/09/20(日) 18:05:58
Loggingは使うけどCommonsは最近はあんまり使わなくなったなぁ。
Java1.5以降は特にそうだ。

155 :デフォルトの名無しさん:2009/09/20(日) 19:10:21
Commonsなんて必要な部分だけコピペして使うもんだろw

156 :デフォルトの名無しさん:2009/09/20(日) 20:15:11
だな

157 :デフォルトの名無しさん:2009/09/21(月) 21:55:52
10月からSeasarをやれと言われてるのですが、
サーブレット、JSP、JavaBeansで開発したことはあるけど、
StrutsもSpringもHibernateも使ったことない。
「Seasar入門 はじめてのDI&AOP」を読んでるけどさっぱりわかりません。
何かお勧めの勉強方ありますか?

158 :デフォルトの名無しさん:2009/09/21(月) 22:04:51
飯でもおごって実際にシーサー運用してる人に見せてもらう

159 :デフォルトの名無しさん:2009/09/21(月) 22:14:26
>>158
まわりにいないんですよ...
ちなみにStruts、Spring、Hibernateを先にやったほうがよい?それとも時間の無駄?

160 :デフォルトの名無しさん:2009/09/21(月) 22:17:00
関係するプロジェクトが多いからSeasarの何を使うのかの確認からかな。
DIやAOPから入ると逆に分かりづらいかもしれない。

161 :デフォルトの名無しさん:2009/09/21(月) 22:23:09
>>160
まだ不明。というか向こうも割り振り決めてないと思う。
DI、AOPでお勧めの本とかありますか?

162 :デフォルトの名無しさん:2009/09/21(月) 22:27:28
DIなんて難しく考える必要ねーんだよ。
Factory書くのめんどくさいよねー。フレームワークに登録しといていつでもObject取り出せればよくね?
ってのが出発点なんだし。あとはAOPするのに必要ってぐらいじゃん。

Seasarでスマートデプロイ(Hotデプロイ)使うと開発効率はかなりいいと思う。
推奨のパッケージ構成は、実際のプロジェクト規模に応じて適用性は考慮する余地がある。

163 :デフォルトの名無しさん:2009/09/21(月) 22:34:45
>>162
うーむ。もう少し彷徨ってみます。

164 :デフォルトの名無しさん:2009/09/21(月) 22:38:20
あー。MVCくらいは理解してないときついべ。
Web層が無法地帯になるとまともなレイヤー構成が維持できなくなるとおも。
画面ポンなシンプル業務ならそれでもいいけど。

エンタープライズな業務ならActionから先で業務独自フレームワークを構築したほうがいい。
そっから先で業務ロジック+ドメイン+永続層を扱わせて、Web層はActionまでですっぱり分ける。
どうせWeb+バッチ処理+Webサービスみたいにプレゼンテーションが一本でおさまらないから。



165 :デフォルトの名無しさん:2009/09/21(月) 22:42:26
>>164
わかりました。

166 :デフォルトの名無しさん:2009/09/21(月) 22:47:39
>>164
MVCくらいは理解してる...つもり

>>165
あなたはだーれ?w

167 :デフォルトの名無しさん:2009/09/21(月) 22:52:26
>>157
具体的になにがわからないの?
実際の作業的には「Seasar2入門」のほうがわかりやすい(Ver的な意味で)

168 :デフォルトの名無しさん:2009/09/21(月) 23:13:03
JTextAreaでデフォルトで付いているアクセラレータを削除したい場合はどうしたらいいんでしょう?
アクションマップを取得して削除してみてもアクセラレータは動いてしまいました。。。

169 :デフォルトの名無しさん:2009/09/21(月) 23:38:05
削除するんでなく、ダミーの何もしないアクションを作って入れてみたら?

170 :デフォルトの名無しさん:2009/09/22(火) 00:30:45
やっぱり質問取り消します。。。

171 :デフォルトの名無しさん:2009/09/22(火) 00:49:03
どこで質問したら良いか全く分からないのですが、ここで質問をさせて下さい。

私は情報科でJavaを学んできました。
今、大学の上司(?)のような立場の人から1つ課題を貰っていてその課題の実現方法が分からず困っています。
課題は、「特定のIEブラウザを定期的に更新(F5)する仕組みを作ってみて」というものです。

検索すると、その機能を持つフリーソフトやブラウザの情報が出てくるだけで、
自分でプログラミングして何とかするような情報は出てきませんでした。

どなたか「この言語でこういうロジックで出来るんじゃない?」とか、
「そもそもプログラミングなどせずにこうすれば要求を満たせるよ」など、助言をお願いできないでしょうか。
どうやって機能実現出来るのかさっぱり分からず手が出ない状態なのです。



172 :デフォルトの名無しさん:2009/09/22(火) 01:03:44
>>171
仮想キーボードを作成して定期的に対象ブラウザに対してF5の仮想キーおくりゃいいじゃん
後はタイマー組み合わせれば出来るだろう

173 :デフォルトの名無しさん:2009/09/22(火) 01:23:00
>>171
Javaで直接別アプリへキー送信するのは無理

普通はWin32APIを使って
IEのHwnd取得 → PostMessageでF5キー送信だと思う。
CがわかるならBorland C++ Compilerがフリーで落とせる。
またはC#のExpressで[DllImport("user32.dll")] すればOK

174 :デフォルトの名無しさん:2009/09/22(火) 01:25:06
java.awt.Robot使えっていう意味なのかな……
それで出来るかどうか知らんが。


175 :デフォルトの名無しさん:2009/09/22(火) 01:28:09
ああ、Javaで作れってことか?

無理やりなJNIとのハイブリッドか、174の言うような力技になるのかな。

176 :171:2009/09/22(火) 01:55:59
みなさんご意見ありがとうございます。全く道が見えてない状態なので助かります。

言語はJavaでは無くても問題無く、またF5キーにこだわる必要も無いと思われます。
多分、放っておくとタイムアウトしてしまうサイトに対して、
自動で定期的に更新をかけてタイムアウトしない機能が目的の様です。
情報が後出しですみません。

>>172
すみません、私が知識不足でよく理解できません。
言語やクラス等固有名詞があると調べやすくて助かります。

>>173
C++かC#ならIEのコントロールが出来て、定期更新が可能という事ですか?
Cはかじった程度なのですが難易度は高いのでしょうか?






177 :デフォルトの名無しさん:2009/09/22(火) 01:58:04
>>176
それならjavascriptで定期的にサブミットしてやりゃええんじゃないかな
自サイトに仕掛けるもんじゃなかったらすまんが

178 :デフォルトの名無しさん:2009/09/22(火) 02:04:11
>>177
すみませんl、対象サイトは一応外部のものです。
大学内部のイントラですが。



179 :176:2009/09/22(火) 02:40:38
>178
http://www.pagereboot.com/ie/
このサイトにURL入れれば勝手に更新してくれる。
同じようにブックマークレット(ショートカット埋め込みのJavaScript)
で自動更新用Frameを作って、イントラのページを更新かけてもいい。
詳しくはググッてくれ。

IEはWindowsアプリケーションなので、普通にいじろうとするなら
WindowsのAPIを利用することになる。
WindowsのAPIはC、またはVisual Studioファミリのなんらかの言語から
利用することができるので、そのような言語を使用することになる。
難易度的にはWindowsAPIの入門レベル。シンプルな実装なら30行で終わる。

180 :デフォルトの名無しさん:2009/09/22(火) 06:21:15
爆釣とか

181 :デフォルトの名無しさん:2009/09/22(火) 06:35:30
Java バイトコードを吐くCコンパイラを作れば、
JVMの上でCのプログラムを実行させる事が出来ますか?

182 :デフォルトの名無しさん:2009/09/22(火) 07:16:55
>>157-179
自演乙

183 :デフォルトの名無しさん:2009/09/22(火) 07:18:14
Cソースから、Javaのバイナリ作ってことか。
機能を全部作れば出来るだろ。
それならJavの文法に従った方が楽だがな。

184 :デフォルトの名無しさん:2009/09/22(火) 07:50:39
×Jav
○Java

185 :デフォルトの名無しさん:2009/09/22(火) 07:53:23
より簡単なのは、CソースをJavaソースに変換すればいい。

186 :デフォルトの名無しさん:2009/09/22(火) 08:01:32
>>185
ソースをアップして下さい

187 :デフォルトの名無しさん:2009/09/22(火) 08:14:06
>>185
クロックアップして下さい

188 :デフォルトの名無しさん:2009/09/22(火) 09:14:45
お断りします。

189 :デフォルトの名無しさん:2009/09/22(火) 11:10:58
(・)(・)

190 :デフォルトの名無しさん:2009/09/22(火) 13:43:01
http://www.e-compas.net/chart/heikin_usdjpy.html
こういうグラフはどのようにして生成してUPしているのでしょうか?

191 :デフォルトの名無しさん:2009/09/22(火) 14:44:28
>>190
Javaでそういうグラフを描きたいということ?
drawLineで線描いたりfillRectで棒描いたりすればよいのでは?

192 :176:2009/09/22(火) 14:48:51
>>179
ありがとうございます。
C++でプログラミングして、教えて頂いたBorland C++ Compilerで
コンパイルするという方法でやってみようと思います。

ちなみにご案内頂いてるリンクページなのですが、
ページ下部のブックマークレットが上手く使えません。
下記の方法で正しいですよね?

@ページ下部ブックマークレットのリンクをお気に入りに追加
A自動更新させたいページに移動
Bお気に入りから追加したブックマークレットを選択

193 :179:2009/09/22(火) 20:26:40
>>192

スレ違いなんで簡単に。
まったく初心者がいきなり作るの大変だろうからちょっと助けてあげよう。
エラー処理やらタイマー、個別のIEウィンドウの選択は自分で実装してみてね。

#include <windows.h>
#include <stdio.h>

int main(int argc, char** argv) {

HWND foreHwnd = GetForegroundWindow();
HWND hwnd = FindWindow("IEFrame", NULL);//IEのウィンドウ(のうちどれか一個)を取得
SetForegroundWindow(hwnd);//キー送信のためのフォアグラウンドにする
hwnd = FindWindowEx(hwnd, NULL, "WorkerW", NULL);//キー送信対象になるIE内部ウィンドウを取得

char buff[256];
GetWindowText(hwnd, buff, 256);//取得したIEのウィンドウタイトルを取得してみる
printf("%s\n", buff);//タイトルを表示してみる
PostMessage(hwnd, WM_KEYDOWN, VK_F5, NULL);//F5キー押下情報をIEへ送信
PostMessage(hwnd, WM_KEYUP, VK_F5, NULL);//F5キー押上情報をIEへ送信

//ここでforeHwndをフォアグラウンドに戻してもいい
return 0;
}

ブックマークレットについてはただググって引っかかったサイト紹介しただけなのでスルーさせて。
実行の仕方は間違ってないはず。

194 :179:2009/09/22(火) 20:46:20

FindWindowExの行はprintfの後に移動してくり。
コメント書いてるときにずらしてしもーた。
スマソ。

195 :デフォルトの名無しさん:2009/09/22(火) 20:58:39
コメントする前にスレタイを読みましょう

196 :デフォルトの名無しさん:2009/09/22(火) 21:35:41
親フレームが持っているJTextFieldの内容を
親フレームが作成したダイアログからダイアログを閉じないで変更することは可能でしょうか?


197 :デフォルトの名無しさん:2009/09/22(火) 21:58:15
可能です。

198 :デフォルトの名無しさん:2009/09/22(火) 22:07:22
ヒントを教えて頂けないでしょうか・・・。

199 :デフォルトの名無しさん:2009/09/22(火) 22:32:09
(ヒントを教えることも)可能です。

200 :デフォルトの名無しさん:2009/09/22(火) 22:43:34
いやです

201 :デフォルトの名無しさん:2009/09/22(火) 23:36:20
どういう状況で不可能だったのでしょう?

202 :デフォルトの名無しさん:2009/09/23(水) 08:42:35
parentから、そのテキストフィールドをとってくりゃいいんじゃないの

203 :デフォルトの名無しさん:2009/09/23(水) 09:04:40
メモリ内での挙動についての質問です。
以下のプログラムでb=a;が何をしているのかよく分かりません。
package sep10;//パッケージ名
class SimpleX {//変数xをもつクラスを定義
int x;
}

public class step005 {//クラス名
public static void main( String args[] ) {
Simplex a = new SimpleX();//変数aをSimplXのインスタンスとして生成
Simplex b = new SimpleX();//変数bをSimplXのインスタンスとして生成

a.x = 100;//変数aのメンバ変数xを初期化
b.x = 200;//変数bのメンバ変数xを初期化

b =a;//変数bを変数aのメモリアドレスに変換?

System.out.println(b.x);
}
}

b=a;の考え方として、
変数bを変数aのメモリアドレスに変換していると考えるのでいいですか。
また、そうすることでメモリ内では何が起こっているのですか。
変数bをSimplXのインスタンスとして生成したさいのメモリアドレスはメモリ内に残っているのですか。
回答をよろしくお願いします。

204 :デフォルトの名無しさん:2009/09/23(水) 09:12:56
これをコンパイルし実行したら例外が発生してしまったのですが、なにがいけないのでしょうか?

class Henkan{
public static void main(String args[]){
float f = (float)(-100.0);
String s = String.format("%08x", Float.floatToRawIntBits(f));
System.out.println(s);
Integer i = Integer.valueOf(s,16);
}

205 :デフォルトの名無しさん:2009/09/23(水) 09:16:50
質問です。

long SessionID = (long)combo2.getSelectedItem();

の部分でObjectをlongにキャストできませんと
コンパイルエラーがおきました。

どのようにすれば解決できるのでしょうか?

206 :デフォルトの名無しさん:2009/09/23(水) 09:19:18
>>203
基礎的なことが書かれた入門書よんでこい

簡単に説明すれば
Simplex a = new SimpleX();//変数aをSimplXのインスタンスとして生成
これが間違い
Simplex a = new SimpleX();//SimpleXのインスタンスを生成して、変数aで参照する
したがって、
a = b; //変数bの参照先を、変数aで参照する

207 :デフォルトの名無しさん:2009/09/23(水) 09:20:40
>>205
Java1.5以上にする
または
long SessionID = ((Long) combo2.getSelectedItem()).longValue();
ただし、実行時エラーがおきるかどうかは知らん

208 :デフォルトの名無しさん:2009/09/23(水) 09:21:36
ごめ、1.5にしても通らないわ。
1.5なら、
long SessionID = (Long)combo2.getSelectedItem();
でOK

209 :デフォルトの名無しさん:2009/09/23(水) 09:22:30
>>204
どこでコンパイルエラーが発生したかくらい書けよ

210 :デフォルトの名無しさん:2009/09/23(水) 09:23:47
>>203
「javap -c」を調べてみましょう。
>>204
発生した例外の名前とおりの理由です。発生した例外クラスの説明はJavaのAPIリファレンスに書いてあります。
>>205
combo2が定義されいません。
私はコンパイルエラーを吐きます。

211 :デフォルトの名無しさん:2009/09/23(水) 09:25:56
ファイルを複数個読み込むにはどうしたらいいのでしょうか?
import java.net.*;
import java.io.*;
class Client
{
  public static void main(String[] args) throws IOException
  {
    ObjectOutputStream 出力ストリーム;
    ObjectInputStream 入力ストリーム;
    String サーバのIPアドレス = args[0];
    String ファイル名 = args[2];
    String バッファ = null;
    int サーバのポート番号 = Integer.parseInt(args[1]);
    Socket サーバのソケット = new Socket(サーバのIPアドレス, サーバのポート番号);
    System.out.println("これからサーバに接続します");
    出力ストリーム = new ObjectOutputStream(サーバのソケット.getOutputStream());
    入力ストリーム = new ObjectInputStream(サーバのソケット.getInputStream());
    出力ストリーム.writeObject(ファイル名);
    出力ストリーム.flush();
    try
    {
      バッファ = (String)入力ストリーム.readObject();
    }
    catch (ClassNotFoundException error_report)
    {
      System.out.println(error_report);
      System.exit(1);
    }
    System.out.println(バッファ);
    サーバのソケット.close();
  } }

212 :デフォルトの名無しさん:2009/09/23(水) 09:29:00
>ファイルを複数個読み込むにはどうしたらいいのでしょうか?
1つ読み込んで、終わったら次を読み込めばいい

213 :デフォルトの名無しさん:2009/09/23(水) 09:32:05
javap -c とは何でしょうか?

214 :デフォルトの名無しさん:2009/09/23(水) 09:35:20
(゚∀゚)

215 :デフォルトの名無しさん:2009/09/23(水) 13:21:30
appletは無料HPで使用できるのでしょうか?
また、なぜservletは使用できないのでしょうか?

216 :デフォルトの名無しさん:2009/09/23(水) 13:23:19
アプレットは、ダウンロードしてブラウザ上で動かすので、ブラウザがアプレットを動かせるようになってれば動きます。
サーブレットはサーバ上で動かすので、サーバがサーブレットを動かせるようになってないと動きません。

217 :デフォルトの名無しさん:2009/09/23(水) 13:24:07
appletを設置するのは画像を置くのと手間は変わらないし、
動作するのはブラウザの中だから鯖への負荷もない。
サーブレットは、認知度が低い・受け入れが鯖にとって面倒、
レンタル用の貧相な鯖でJava VMを動かす必要がある。

といったところか。



218 :デフォルトの名無しさん:2009/09/23(水) 13:30:16
サーブレットを動かせる無料レンタルサーバーはありますか?

219 :デフォルトの名無しさん:2009/09/23(水) 13:40:08
ないだろ

220 :デフォルトの名無しさん:2009/09/23(水) 13:45:57
無料鯖でサーブレットも海外なら幾つかあるよ
とはいえバージョンが固定されていたり使い物にはならない

基本的にVPSでもいいからルート権限のある有償鯖でないと無理
ちなみにちょっと試すならばAmazonがベスト

221 :デフォルトの名無しさん:2009/09/23(水) 13:49:27
なんで無いんだろうね

222 :デフォルトの名無しさん:2009/09/23(水) 14:01:02
売る側にしたらメモリもCPUも食いまくるJava売るよりも、PHPで大量に使わせたほうがいいだろ

223 :203=13:2009/09/23(水) 14:10:13
回答ありがとうございます。
何度も読み見返してみて以下のようになりました。
SimpleX a = new SimpleX();//SimpleX型の変数aをSimplXのインスタンスとして生成してそのメモリアドレスを参照する
a = b; //変数aは変数bの参照先を、参照する
でいいですか。
そのため、203のコードではインスタンスが2種類メモリに確保されるが、片方は使われないと考えていいですか。

javap -cはどうもDumpというメモリ内のデータを見れる方法みたいですが、後で調べておきます。

224 :13:2009/09/23(水) 14:15:29
解釈として以下のどちらが適切ですか?
1.SimpleX a = new SimpleX();//SimpleX型の変数aをSimplXのインスタンスとして生成してそのメモリアドレスを参照する
2.SimpleX a = new SimpleX();//SimpleX型の変数aはSimplXのインスタンスを生成してそのメモリアドレスを参照する
よろしくお願いします。

225 :デフォルトの名無しさん:2009/09/23(水) 14:18:45
>>224
3. SimpleXインスタンスを生成し、その参照を変数aに格納する。

226 :デフォルトの名無しさん:2009/09/23(水) 15:01:10
>>204
変数とインスタンスは別だって解らないなら諦めた方がいいよ

227 :13:2009/09/23(水) 15:59:02
回答ありがとうございます。
今やっと、分かりました。
224はどちらも正しくありませんでした。

40時間程勉強してやっとここまできました。
今度はメソッドと戻り値を勉強してみようと思います。

228 :デフォルトの名無しさん:2009/09/23(水) 16:55:07
JScrollPaneに貼り付けた画像に、
Java2Dのアフィン変換をかける方法ってありますか?

今はImageIconをJLabelに貼ってJScrollPaneに追加という形を
取ってるんですが、この方法だとpaint()の中でg.drawImage()しないので、
アフィン変換出来ないんですよね・・・

それから、画像に範囲指定枠などを重ねて表示したいんですが、
これも、上記の方法では実現出来ないんでしょうか??

229 :デフォルトの名無しさん:2009/09/23(水) 17:04:53
貼る前のイメージ自体をAffineTransformOpかなんかでアフィン変換しておくとか
範囲指定枠もイメージ上に描いてしまうとか

230 :デフォルトの名無しさん:2009/09/23(水) 17:06:36
って 一回言ってみたかったんだ、てへ

231 :デフォルトの名無しさん:2009/09/23(水) 17:56:04
>>228
つ JavaFX

232 :13:2009/09/23(水) 18:37:48
コマンドプロンプトで
javap -c Sep10.step005
を実行しました。
するとバイトコードが出てきました。
その中で
b =a;//変数bは変数aの参照先を参照する。
System.out.println(b.x);
にあたる部分が以下のものだと思います。
29: aload_1
//ローカル変数1をスタックに入れる
30: astore_2
//スタックから値を取り出し、ローカル変数2に入れる
31: getstatic #5; //Field java/lang/System.out:Ljava/io/PrintStream;
//static変数を取り出す
34: aload_2
//ローカル変数2をスタックに入れる
35: getfield #4; //Field Sep10/SimpleX.x:T
//変数bのメンバ変数xを取り出す
38: invokevirtual #6; ///Method java/io/Println:(T)V
//インスタンスメソッドを呼び出し、表示する。
41: return
これでなんとなく分かりましたが、実際にメモリを見てみたくなりました。
Dumpツールでお勧めのソフトはありませんか。

233 :13:2009/09/23(水) 18:45:06
いまいちよく理解できていないのが203のコード中の変数aと変数bのメモリの実態です。
b =a以前のコードでは
変数aには変数aのアドレスと100という数値が格納されていて
変数bには変数bのアドレスと200という数値が格納されているはずです。
b = a以後のコードでは以下のどちらになっていますか。
1.変数bには変数bのアドレスと100という数値が格納されている。
2.変数bには変数aのアドレスと100という数値が格納されている。
231のバイトコードを見る限りでは2のような気がします。
長文が続いてしまいましたが回答をよろしくお願いします。

234 :デフォルトの名無しさん:2009/09/23(水) 18:52:39
もしかしてこいつは荒らし目的なんじゃないかと思い始めた


235 :デフォルトの名無しさん:2009/09/23(水) 19:18:56
>>232-233
JITコンパイラがあるので、Javaのバイトコードがそのまま実行されるわ
けじゃない。なので、メモリをダンプしても無意味。

>>233に関しては、どっちも違う。代入前で

・変数aはインスタンスAのアドレスを格納している。
インスタンスAは.xに100を格納している
・変数bはインスタンスBのアドレスを格納している。
インスタンスBは.xに200を格納している

だとして、代入後は

・変数bはインスタンスAのアドレスを格納している。

になると考える。




236 :デフォルトの名無しさん:2009/09/23(水) 19:24:27
こいつ、まじうぜえな

237 :デフォルトの名無しさん:2009/09/23(水) 19:28:02
たしかに

238 :デフォルトの名無しさん:2009/09/23(水) 19:28:47
>>233
ダンプツールとしてはjmapが標準搭載されています。

根本的に変数とオブジェクト(インスタンス)の関係が理解できていないのではありませんか?

> 1.変数bには変数bのアドレスと100という数値が格納されている。
> 2.変数bには変数aのアドレスと100という数値が格納されている。
aもbも参照しか保持していません。上記はどちらも間違いです。
「bの参照先オブジェクトがもつxの値は100」は正しいです。

上記は住所と家の関係で考えるとよいかもしれません。

・住所欄に記入するのは住所です。
 実際の家が住所欄に埋め込まれているわけではありません。

・あなたの住所は、引越しをする度に別の住所へ書き換えられます。
 元の住所にあった家はそのままであり、
 新しい住所の家に元の住所の家を移築するわけでは(普通)ありません。

・住所は家の位置を表していますが、家そのものではありません。
 住所自体には風呂やトイレはついていません。

・履歴書の住所欄に記入した住所と、通販ページで記入した住所、
 どちらも同じ住所であれば、同じ家をあらわしています。

・あなたがトイレに花瓶をおいたとしたら、
 履歴書でも通販ページでも、
 住所欄の住所に存在する家のトイレには花瓶が置いてあるでしょう。

*住所欄は変数、住所は参照、家はオブジェクト、花瓶は値に置き換えましょう。

239 :デフォルトの名無しさん:2009/09/23(水) 19:30:11
自演乙

240 :13:2009/09/23(水) 20:57:37
分かりやすい説明をありがとうございました。
おかげで変数aのメモリ領域のすぐ後ろにインスタンスがあるのだと勘違いしていたことにやっと気が付きました。
以下のコメントで正しいですか。
package Sep10;//パッケージ名
class SimpleC {//変数xをもつクラスを定義
int x;
}

public class step005 {//クラス名
public static void main( String args[] ) {
SimpleC a = new SimpleC(); //SimpleC型の変数aを宣言し、変数aのメモリ領域をメモリに確保する。
//SimpleCをインスタンス化(クラスSimpleCのためのメモリ領域を確保)しインスタンスaとする。
//変数aのメモリ領域にインスタンスaの先頭アドレスを書き込む。
SimpleC b = new SimpleC(); //SimpleC型の変数bを宣言し、変数bのメモリ領域をメモリに確保する。
//SimpleCをインスタンス化(クラスSimpleCのためのメモリ領域を確保)しインスタンスbとする。
//変数bのメモリ領域にインスタンスbの先頭アドレスを書き込む。
a.x = 110; //変数aに書き込まれたアドレス先のインスタンスaにあるメンバ変数xを初期化する。
b.x = 200; //変数bに書き込まれたアドレス先のインスタンスbにあるメンバ変数xを初期化する。

b =a;//変数bのメモリ領域に変数aに書き込まれたインスタンスaの先頭アドレスを書き込む。

System.out.println(b.x);
}
}
よろしくお願いします。

241 :デフォルトの名無しさん:2009/09/23(水) 21:03:28
荒らし認定


242 :デフォルトの名無しさん:2009/09/23(水) 21:04:22
確実に

243 :デフォルトの名無しさん:2009/09/23(水) 21:05:35
>>240
いいと思うけど、変数とインスタンスに同じa,bを付けると紛らわしいから、
インスタンスには別の記号(A,Bとかx,yとか1,2とかア,イとか)を付ける方がいいよ
あと、実際のプログラムにそのコメント量はウザイ
理解できたら、もう書かないように

244 :デフォルトの名無しさん:2009/09/23(水) 21:06:24
何度も説明されている事をてめーが無視してんじゃねえかよw

245 :デフォルトの名無しさん:2009/09/23(水) 21:45:58
>>193
大変遅れましたがご意見ありがとうございました。
コードを参考にさせて頂き、Cを勉強してみます。

246 :デフォルトの名無しさん:2009/09/23(水) 22:10:47
質問です。
swingを使用しています。
トップ画面に戻るボタンがあり最初の画面では無効、別のボタンを押して画面が切り替わると戻るボタンが使えるようにしたいです。
回答をよろしくお願いします。

247 :デフォルトの名無しさん:2009/09/23(水) 22:38:34
現在、どの画面にいるかチェックしてトップ画面以外にいるなら有効にしろ


248 :デフォルトの名無しさん:2009/09/23(水) 23:03:22
なるほど、つまり定期的に表示画面のステイタスをチェックしてボタンの
イネービリティをチェンジすれば良いわけですね。サーバを立てれば良いのでしょうか。

249 :デフォルトの名無しさん:2009/09/23(水) 23:04:28
オブザーバ立てれば良いんじゃね。

250 :デフォルトの名無しさん:2009/09/23(水) 23:09:21
アドバイザーだろ普通

251 :デフォルトの名無しさん:2009/09/23(水) 23:19:24
じゃあ俺はバドワイザー!


252 :デフォルトの名無しさん:2009/09/23(水) 23:20:25
切り替わる画面ってのが複数あるのなら
画面遷移の履歴をリストかスタックに入れといて、履歴が空なら無効、それ以外は有効にするとか。
それを判定するタイミングは画面を切り替えるボタンのアクションリスナーとか。

253 :デフォルトの名無しさん:2009/09/23(水) 23:26:38
俺もバドでいいや

254 :デフォルトの名無しさん:2009/09/23(水) 23:47:43
皆さんありがとうございます、がんばってみます

255 :デフォルトの名無しさん:2009/09/23(水) 23:51:24
ボストンバスターとか。

256 :デフォルトの名無しさん:2009/09/24(木) 08:08:32
☆☆☆★最大級の注意を★☆☆☆☆☆

☆☆☆★とくに千葉県、静岡県、東京都や関東で大震災の恐れが★☆☆☆☆☆
☆☆☆★とくに千葉県、静岡県、東京都や関東で大震災の恐れが★☆☆☆☆☆
☆☆☆★とくに千葉県、静岡県、東京都や関東で大震災の恐れが★☆☆☆☆☆

☆☆☆★世界の支配者ユダヤが地震兵器を使うのか★☆☆☆☆☆

友人、知人、親類縁者、あらゆるつながりを駆使して巨大地震がくることを教えて下さい。

四川地震より大きいのが来る可能性があります。
http://goldenta★★matama.bl★★og★8★★4.f★★c2.c★★om/
警告!21-23日の地震は外れた次は27日やヴぁいかも5
http://live24.2ch.net/test/read.cgi/eq/1253716942/
ワタスの予言では今月中に関東大地震だす3
http://live24.2ch.net/test/read.cgi/eq/1253594903/
e-PISCO Part11
http://live24.2ch.net/test/read.cgi/eq/1252991726/

ほんとに大震災だったら犯人は特権階級全員だってことにwwwwwwww

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

カナダの世界的科学者ロザリー・バーテルはハープが地震兵器や脳を損傷させる兵器の疑い
があるので情報を公開するように要請している
http://www.youtube.com/watch?v=8AMlqRsHUXI&feature=player_embedded#t=511


257 :デフォルトの名無しさん:2009/09/24(木) 10:07:58
public static void main(String[] args) {
  System.out.println("素人ばっかりだな");
}

258 :デフォルトの名無しさん:2009/09/24(木) 10:49:22
public static void main(String[] args) {
  System.out.println(">>257おまえモナー");
}

259 :デフォルトの名無しさん:2009/09/24(木) 11:20:06
>>258
public static void main(String[] args) {
  while(1) {
    if (>>257 == Hume.get()) {
        break;
    } else {
        System.out.println(">>257は塵");
    }
  }
}

260 :デフォルトの名無しさん:2009/09/24(木) 18:27:41
休みだからJavaのこと教えるだよ
http://yutori7.2ch.net/test/read.cgi/news4vip/1253780112/

261 :デフォルトの名無しさん:2009/09/24(木) 18:35:28
>>259
> while(1) {
コンパイルエラー

262 :デフォルトの名無しさん:2009/09/24(木) 18:37:34
>>261
己の無能を発揮したね
Cなら通るよ

263 :デフォルトの名無しさん:2009/09/24(木) 18:38:27
>>262
ここは何のスレだ?

264 :デフォルトの名無しさん:2009/09/24(木) 18:42:10
>>263
Javaしかできない汎用性もない低能か

265 :デフォルトの名無しさん:2009/09/24(木) 18:45:22
>>262
>public static void main(String[] args) {
>System.out.println(">>257は塵");
Cねえ…



266 :デフォルトの名無しさん:2009/09/24(木) 18:48:22
C じゃなおさら通らねぇだろw

267 :デフォルトの名無しさん:2009/09/24(木) 19:00:39
ほんとだめだな
柔軟性がない

268 :デフォルトの名無しさん:2009/09/24(木) 19:02:36
柔軟性のあるコンパイラを開発してくれ

269 :デフォルトの名無しさん:2009/09/24(木) 19:05:20
>>268
お前じゃ能ないしな

270 :デフォルトの名無しさん:2009/09/24(木) 19:06:35
うむ
俺には無理なんで、よろしく頼む
期待してるぞ

271 :デフォルトの名無しさん:2009/09/24(木) 19:48:52
スペルミスを自動補正してくれるけど、コンパイルするたびに動作が変わったりするんだな

272 :デフォルトの名無しさん:2009/09/24(木) 20:35:45
コンパイルするたびに賢くなるといいな

273 :デフォルトの名無しさん:2009/09/24(木) 20:53:20
最終的には強い人工知能になるんですね、わかります


274 :デフォルトの名無しさん:2009/09/24(木) 21:43:47
ほんとに初心者いるのここ

なんか毎日入門書読みながら抽象クラスとかインターフェースとか勉強しつつ
簡単なプログラム書いて楽しんでんだけどこんなんでいいのか不安だ

Cで計算機プログラミング?やってたときと同じことやってる気がSystem.out.println();

一通り入門書読み終わったらみんな次どんなステップ踏んでるの?
分厚いウェブブラウザをつくるみたいな買って読んでんの?

275 :デフォルトの名無しさん:2009/09/24(木) 21:45:06
辞書登録しててみすった

System.out.println();

する

に変換して読んでください

276 :デフォルトの名無しさん:2009/09/24(木) 21:47:47
しすだろjk

277 :デフォルトの名無しさん:2009/09/24(木) 21:50:31
いや、sで出るようにしてたんだw

将来的に作りたいのは、
ウェブ上でブレインストーミングできるようなものが作りたいなとおもってるんだけど
無理なのかな

278 :デフォルトの名無しさん:2009/09/24(木) 21:56:35
動くものを作ったほうが楽しいのは確実。
だがウェブで動くものを作るのは色々と前提知識が多くて実は面倒。
つまり、創るJava最強

279 :デフォルトの名無しさん:2009/09/24(木) 22:00:12
>>277
たとえばこんな感じのものか?
ttp://www.mindmeister.com/


280 :デフォルトの名無しさん:2009/09/24(木) 22:08:29
>>278
出来ればeclipseで創ってるもののほうがよかった
けど、amazonのレビューみたら結構評判良かったから
明日本屋で立ち読みしてくる

>>279
そうそう
もっと自由配置リアルタイム更新型のチャットみたいなのを
つくるイメージでいたけど、大体はこんな感じ

281 :デフォルトの名無しさん:2009/09/24(木) 22:11:25
>>280
もう既に競合がたくさんいるのに、あえて後発組になって作るのか?

ビジネスじゃなくて趣味なんだったら何も言わんが。


282 :デフォルトの名無しさん:2009/09/24(木) 22:20:37
>>281
あくまでも趣味というか勉強のため
というか
どのくらいのスキルで、
どのくらいのものが出来るのかまだわかってない

それ以外にもなんかの専ブラとか創りたいものはたくさんあるんだけど
1つ完成させれば色々応用聞くかなと思って

ビジネスは今の時点では考えてないから、
ソースごとxoopsのモジュールとかで無料配布して
自分のサーバーに乗せて仲間内で使ってねって感じで出そうかなとか思ってた

283 :デフォルトの名無しさん:2009/09/24(木) 22:23:18
自営業の閑散期にそういう Web 系ツールいくつか作ってはみたけど、
どんなに本格的で良いツールでも営業とか広告とかマーケティング
しねぇとユーザ集まらねーぜ? 勉強目的ならいいけどそこまでする気あるかい?
運営も鯖のメンテ面倒だし。

284 :デフォルトの名無しさん:2009/09/24(木) 22:27:57
いいんじゃねーの?
好きなだけやって飽きたら辞めれば
それに運用することで得られるスキルは確実にあるわけだから無駄ではない

285 :デフォルトの名無しさん:2009/09/24(木) 22:33:33
>>283
現時点ではない
30人に使ってもらえたら自分としてすごくうれしいという感じだから

しかも自分はプロじゃないから
>本格的で良いツール
がすぐには実現できないと思う

もし出来たらそういうことも考えようと思ってるけど
まだまだ先の話だと考えてる

286 :デフォルトの名無しさん:2009/09/24(木) 22:45:22
> もし出来たらそういうことも考えようと思ってるけど
> まだまだ先の話だと考えてる

俺も昔Webサービス系で夢を追いかけたクチから、
本気でやる時のためにアドバイスをやる。

まずビジネス側面から考えろ。
「使いたい人だけ使えばいい」
なんてものを作ってもそれはオナニーだ。

そんなものは一人も使わん。一人もだ。


287 :デフォルトの名無しさん:2009/09/24(木) 22:55:26
文字化けなんですが解決策わかりますか?
WindowsXPです。

スクリーンショット

http://gazox.com/gpTH1jXBmLx.html

288 :デフォルトの名無しさん:2009/09/24(木) 23:01:41
>>286
そうなのか
そのことも踏まえて考えてみる
アドバイスありがとう

>>287
http://www.mapee.jp/wlh/netbeans65consolas.html
ここ読んでみたら

289 :デフォルトの名無しさん:2009/09/24(木) 23:02:11
>>287
ほれ
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-jee-galileo-win32.zip

290 :デフォルトの名無しさん:2009/09/24(木) 23:18:15
>>283 だけど >>286 には全面的に同意しておく。
商用でなくてもオープンコミュニティで必死こいてサポートしないと
今時は一人も来ないんだよな。

そんなんよりエロ動画のダウソアプリ作った方がよっぽど利用者多い罠。

291 :デフォルトの名無しさん:2009/09/24(木) 23:30:50
うわぁ…

292 :デフォルトの名無しさん:2009/09/25(金) 00:10:59
>>288
ありがとうございました

293 :デフォルトの名無しさん:2009/09/25(金) 03:50:32
まあ評価するのはあくまで素人プログラマーじゃなくユーザだしな
がんばれ

294 :デフォルトの名無しさん:2009/09/25(金) 15:33:48
javaだとCのように単純なXOR交換はできませんか?
XOR R1, R2
XOR R2, R1
XOR R1, R2
の手順でやっても変数が0になってしまうのですが・・

295 :デフォルトの名無しさん:2009/09/25(金) 16:44:18
ふつうに交換できるよ。

(R1とR2ではなく)R1とR1だと両方ゼロになる、
というXOR交換の仕様の話じゃないよね?


296 :デフォルトの名無しさん:2009/09/25(金) 16:56:12
JavaでPOSTすると日本語の値が受信側のreq.getParameter()で
取得した値が???になるんですけどどこを疑えばいいでしょうか?
送信側は値をURLエンコードしています。
URLエンコードしてるのでASCII文字を送信してるので
化ける理由がわからないので困ってます。
よろしくお願いします。

297 :デフォルトの名無しさん:2009/09/25(金) 17:03:39
>>294
int i = 1, j = 2;
i ^= j; j ^= i; i ^= j;
System.out.println(i + "," + j);
でできる。もしかしてXOR交換を
i ^= j ^= i ^= j;
のように記述していない?
Cならこの書き方でもできるけどJavaではCと評価順序が違うのでできない

298 :デフォルトの名無しさん:2009/09/25(金) 17:06:07
req.setCharacterEncoding("Windows-31j");

299 :デフォルトの名無しさん:2009/09/25(金) 17:19:21
>>298
さんくす

300 :デフォルトの名無しさん:2009/09/25(金) 21:34:22
JLabelで文字列を表示しているのですが、
文字列が長くなってもJLabelのサイズを、初期のままにする事は出来ますか?

301 :デフォルトの名無しさん:2009/09/25(金) 21:40:50
setPreferredSize()

302 :デフォルトの名無しさん:2009/09/25(金) 21:43:33
>>301
ありがとうございます。

303 :デフォルトの名無しさん:2009/09/25(金) 22:22:30
windowsでjavaを使ってみたけど、Linuxより速いのは気のせいか?

304 :デフォルトの名無しさん:2009/09/25(金) 22:28:08
Windows だからという理由で何でも遅いと思ってるバカはただの厨房だから無視して良し。

305 :303:2009/09/25(金) 22:33:58
>>304
>Windows だからという理由で何でも遅いと思ってるバカはただの厨房だから無視して良し。
はてなダイアリーでwindowsのswing(どのコンポーネントかは知らん)が10倍速くなったって記事を読んだから(本当なのか?)
windowsの方が早い気がするってレスしたんだけど
私のレスがあなたにとって何か問題がありますか?

306 :デフォルトの名無しさん:2009/09/25(金) 22:43:06
windowsのswingはDirectXで描画しているらしい

307 :デフォルトの名無しさん:2009/09/25(金) 22:47:12
ヽ|・∀・|ノ

308 :デフォルトの名無しさん:2009/09/25(金) 22:50:49
φ(゚Д゚ )フムフム…

309 :デフォルトの名無しさん:2009/09/25(金) 22:54:19
>>305
オメーの事じゃねぇよ。そういう話をしてる奴が居たらという話。

310 :303:2009/09/25(金) 23:02:37
>>306
windowsのJREはDirectXで描写しているのか、それは知らなかった
そんじゃ、本気出せば.netと同じくらいの速さにできる可能性があるってことか
しかし、M$はそんなことを許してくれないと思うけど

311 :デフォルトの名無しさん:2009/09/25(金) 23:04:32
.netってとても遅く感じてたけど
どっちが速いの?

312 :デフォルトの名無しさん:2009/09/25(金) 23:04:53
実際 Linux なんて Unix 風 OS の中でも LWP の実装がかなり遅かったから
スレッド使いまくりの Java がまともに使える環境としてはかなり後出だったな。
GUI に関してもグラボのアクセラレーションは期待できないし、取り立てて
I/O が強いわけでもない。

313 :デフォルトの名無しさん:2009/09/25(金) 23:05:23
>>309
紛らわしいレスしてんじゃねーよ

314 :デフォルトの名無しさん:2009/09/25(金) 23:10:54
>>313
誤解が解けたなら良いじゃねぇか。落ち着けよチンカス

315 :デフォルトの名無しさん:2009/09/25(金) 23:11:37
Eclipseもwindowsの方が速いらしいし、
もうちょっとwindows以外のOSにも力を入れてくれれば面白いのにな〜

316 :デフォルトの名無しさん:2009/09/25(金) 23:49:29
取り立てて遅いのは Linux みたいな I/A のフリー Unix 環境だけだろ。
OSX や商用 Unix あたりの、ハードに対応した専用ドライバがあって
それ向けに実装された JDK を持ってる環境で遜色を感じた事はない。
GUI なしなら変わらん、と言いたいところだが AIX なんかの商用 Unix
に比べて高負荷でアップアップ状態に陥るのも早い。
だから使えねーというレベルはないが。

317 :デフォルトの名無しさん:2009/09/26(土) 01:16:15
どうやったら、ガーベジコレクションを促すことができるの?

318 :デフォルトの名無しさん:2009/09/26(土) 01:20:12
>>317
促されたからといって、するとは限らない。

319 :デフォルトの名無しさん:2009/09/26(土) 01:24:43
じゃあどうすればいいの?

320 :317:2009/09/26(土) 01:26:55
>>319
俺が質問したいことはその通りなんだが、
俺の代わりに書き込むなよ

321 :デフォルトの名無しさん:2009/09/26(土) 01:35:32
System.gc()
仕様上は確実に実行されることが保証されていないが、大抵の実装では直ちに実行される。

322 :317:2009/09/26(土) 01:56:38
>>321
わかりました。ありがとうございます

323 :デフォルトの名無しさん:2009/09/26(土) 23:42:26
eclipse.orgのサイトが重すぎなんですけど…
トップページ表示するだけで数十秒待たされる
昔からこんな感じなんですか?

324 :デフォルトの名無しさん:2009/09/27(日) 00:13:08
んなこたーない

325 :デフォルトの名無しさん:2009/09/27(日) 09:40:55
Javaのプロセスで全てのスレッドから使用できるListを作りたいのです。
どうすればよいのでしょうか?
多くのスレッドが一度に書き込み、読込みを行うので、効率よくそのListに
アクセスする方法も教えていただきたいです。
よろしくお願いします。


326 :デフォルトの名無しさん:2009/09/27(日) 11:02:04
>>325
普通に変数を作れば、その変数がスコープに入る全てのスレッドからアクセスできる。
ただ、ArrayList とかを工夫無しに皆でアクセスすると、競合する(誰かがかきかえてい

327 :デフォルトの名無しさん:2009/09/27(日) 11:05:28
>>326
書き換えている最中に読んでしまう)ので、
synchronized() で括ってアクセスするようにするか、Vector を使うなどする。


328 :デフォルトの名無しさん:2009/09/27(日) 11:07:33
>>325
implements List
java.util.ArrayList
java.util.concurrent.locks.ReentrantReadWriteLock
で自分で作れば?

継承するか実装するのかは個人の自由だけど。
スレッドセーフだけどListに入れた物を処理途中で消す処理があるなら
Queueとか使ったほうがいいと思うけど。

329 :デフォルトの名無しさん:2009/09/27(日) 11:14:59
ご回答ありがとうございます。

>>326
普通にArrayListの変数を宣言した場合、複数のクラスから
使用することができませんでした。
ArrayListの宣言したクラスを使用するとき、そのクラスをnewするため、
新しいArrayListができて、複数のクラスから使用できなかったのです。
(複数のクラスで複数スレッドを動かし、プロセス内のスレッドが
1つのListにアクセスさせたいのです)



330 :デフォルトの名無しさん:2009/09/27(日) 11:18:27
クラスとインスタンスとスレッドの区別が付いてないような。


331 :デフォルトの名無しさん:2009/09/27(日) 11:29:25
シングルトンすら理解できていないバカもいるのか

332 :デフォルトの名無しさん:2009/09/27(日) 11:36:05
>>331
すみません、まだ勉強中です。
シングルトンで実装すれば、staticのようにJVM内で全てのスレッドにより
参照可能なのでしょうか。
staticでListを宣言するのは、あまり見たことがないので、ためらっていました。

333 :デフォルトの名無しさん:2009/09/27(日) 11:48:51
プロセスリスト?だかをシングルトンで実装すれば済むでしょ
あとは適当にgetInstance().get()とかで好きなようにやればいい

334 :デフォルトの名無しさん:2009/09/27(日) 11:52:33
>>332
別にstaticでも良いと思うけど。
駄目な理由なんてないでしょ。

335 :デフォルトの名無しさん:2009/09/27(日) 12:00:42
>>332
static にすればアクセスし易いが、必要が無い。
アクセスする人に変数を渡すなりすればいいだけ。
これはスレッド云々の話ではない。

336 :デフォルトの名無しさん:2009/09/27(日) 12:01:18
使い方によっては
static final List<Object> hoge=new ArrayList<Object>();

でも正解だったりするわけで

337 :デフォルトの名無しさん:2009/09/27(日) 12:02:50
>>336
素人乙

338 :デフォルトの名無しさん:2009/09/27(日) 12:05:06
finalじゃ、プロセス更新できねーよw
プロセスは常に同じと考えているのかね

339 :デフォルトの名無しさん:2009/09/27(日) 12:18:20
>>338
やってごらん。

340 :デフォルトの名無しさん:2009/09/27(日) 12:37:12
ArrayListじゃ同期は保障されてないよ。
頭の悪い塵がいるようだね。

341 :デフォルトの名無しさん:2009/09/27(日) 12:41:22
やべぇ。超レベル低いなw

342 :デフォルトの名無しさん:2009/09/27(日) 13:06:04
>>338
格納されているオブジェクトもイミュータブルですか?

343 :デフォルトの名無しさん:2009/09/27(日) 13:08:20
Collections.synchronizedList(ArrayList)

344 :デフォルトの名無しさん:2009/09/27(日) 13:10:04
>>337
使い方によってはと書いてるだろ?
素人君はもっと勉強したまえ

345 :デフォルトの名無しさん:2009/09/27(日) 13:44:38
>>344
質問内容と関係ないでしょ。
本筋からそれてる内容で君のような低能じゃレスするまでもないよ。

346 :デフォルトの名無しさん:2009/09/27(日) 14:04:05
>>344
お前みたいな奴が質を下げてるの自覚したほうがいいよ

347 :デフォルトの名無しさん:2009/09/27(日) 14:43:57
どうせメソッド内の全アクセス範囲で synchronized で囲まなきゃならないのに
宣言も Collections.synchronizedList() 使ってる人はたまにに見かける。
そういうのってよくわからずどっかのコーディング規約でつけた知識なのだろう。

348 :デフォルトの名無しさん:2009/09/27(日) 14:53:00
Collections.synchronizedList()で同期化をとれないのですか?
CopyOnWriteArrayListだといけるのですか?
それともaddメソッドをsynchronizedで囲めば大丈夫なのでしょうか?

349 :デフォルトの名無しさん:2009/09/27(日) 15:12:28
少しは自分で調べろよ
馬鹿じゃねーの

350 :デフォルトの名無しさん:2009/09/27(日) 15:39:47
>>348
Collections.synchronizedList()でも、Iteratorでまわしながら更新とかしているとダメ。
普通にaddするだけなら、大丈夫だと思うけど。

351 :デフォルトの名無しさん:2009/09/27(日) 16:03:32
わかりました。ありがとうございます。

352 :デフォルトの名無しさん:2009/09/27(日) 16:05:38
>>348
個々のオペレーションで同期化されていても、プログラムとして正しいとは
限らないぞ。どこからどこまで他のスレッドに割り込まれてはいけないかを
考えて実装する必要がある。
1: value = list.get(0);
2: value += 10;
3: list.set(0, value);
なんて実行しているとき、1と3との間に別スレッドでlist.add(0, hoge)とか
実行されたら明らかに不味いけど、特にエラー等が出るわけじゃない。


353 :デフォルトの名無しさん:2009/09/27(日) 16:09:23
わかりました。ありがとうございます。

354 :デフォルトの名無しさん:2009/09/27(日) 16:10:14
てか Collections.synchronizedList() 付けるだけで済む状況の方がまれだろ。
他のコレクションと同期取ったり、forで廻しながら特定の要素だけ抽出・削除したり。
はっきり言って Collections.synchronizedList() なんか付けるより個々の操作で
synchronized 付ける方が多い。

355 :デフォルトの名無しさん:2009/09/27(日) 19:21:29
Javaから複数スレッドでファイルを読み込むとき、別スレッドが書き込み中であれば
ロックされて読み込みできないのでしょうか?
OSはLinux(RedHat)で、JavaのVersionは1.4です。

356 :デフォルトの名無しさん:2009/09/27(日) 19:28:34
実装依存。
書き込み中でも読み込みしたいのなら FileChannel で共有ロックでもかける。

357 :デフォルトの名無しさん:2009/09/27(日) 19:29:26
自分で試せば?

358 :デフォルトの名無しさん:2009/09/27(日) 21:26:39
java.nio.bytebuffer
で任意の位置から指定された長さのByte[]データを得るにはどうすればいいのでしょうか?

例えば
オフセットが10から18のデータと
オフセットが19から30のデータを取得したいのですが


359 :デフォルトの名無しさん:2009/09/27(日) 21:28:56
buffer.get(buf, 10, 9);
buffer.get(buf, 19, 12);

360 :デフォルトの名無しさん:2009/09/27(日) 21:48:25
もう少し詳しくお願いします
補足が有ると助かります

361 :デフォルトの名無しさん:2009/09/27(日) 21:50:43
いやです。

362 :デフォルトの名無しさん:2009/09/27(日) 21:51:24
>>341
スレタイ読め

363 :デフォルトの名無しさん:2009/09/27(日) 21:55:16
回答者も含めて初心者が集うスレだったのか。
理解してなかった。


364 :デフォルトの名無しさん:2009/09/27(日) 22:02:10
ここはそろそろ初心者じゃなくなったかな?ってころに腕試しするところだろ。
まちがったらたまに熟練工が訂正してくれる。

365 :デフォルトの名無しさん:2009/09/27(日) 22:02:40
Javaプログラマは頭が悪いと聞きましたが
先輩方もやはり頭が悪いのでしょうか?

366 :デフォルトの名無しさん:2009/09/27(日) 22:15:26
このスレは色々教えてくれたり、アドバイスしてくれたり
みんな良い人ばかりだよ。
たまに荒らそうする人もいるけど。たぶん、そういう人は童貞なんだろうね。
童貞ほど悲惨なものは存在しないからね・・・。

で、Java5からsynchronizedは使わなくなったのですか?
使っていると「遅れてるぅ!」と言われたのですが・・・。

367 :デフォルトの名無しさん:2009/09/27(日) 22:16:06
ワクワクしちゃうバグとか〜グダグダすぎる例外と〜♪
全部キャッチして〜かっこで綴じちゃおう!

今日の出来事思い出して〜いつも心がキュンとなって♪
もう資源がないけどリリースしなくっちゃ!

ララ☆また明日♪

368 :デフォルトの名無しさん:2009/09/27(日) 22:34:44
Javaに限らず頭悪いのは多いだろ。

ほんの一握りの出来る人たち以外は
コンピュータの基本も知らん素人ばかりだよ。
勉強もしねーし。

369 :デフォルトの名無しさん:2009/09/27(日) 22:39:02
おいおい、初心者が質問しやすい雰囲気をつくろうぜ!

370 :デフォルトの名無しさん:2009/09/27(日) 22:56:25
いいえ、派遣が初心者叩いて喜ぶスレです。

371 :デフォルトの名無しさん:2009/09/27(日) 22:57:43
>>366
んなこたねーよ。
セマフォ作ってみましたとかならともかく。

372 :デフォルトの名無しさん:2009/09/27(日) 23:02:01
>>366
使わなくても、他の方法で書けるようになった。
別に使っても使わなくてもどちらでもよい。
ただ、timerとか使っているとダサいかも・・・。

373 :デフォルトの名無しさん:2009/09/27(日) 23:14:18
何で?

374 :デフォルトの名無しさん:2009/09/28(月) 00:19:33
SwingTimer・・・

375 :デフォルトの名無しさん:2009/09/28(月) 00:23:10
何で Swing 前提なんだ

376 :デフォルトの名無しさん:2009/09/28(月) 00:32:04
すまん・・・

377 :デフォルトの名無しさん:2009/09/28(月) 01:15:38
>>366
ReentrantLockはtry-finallyを書くのが面倒だ。
シンタックスシュガーでいいから専用のブロック構文を用意して欲しかった。

378 :デフォルトの名無しさん:2009/09/28(月) 12:37:38
>>366

> 使っていると「遅れてるぅ!」と言われたのですが・・・。

そいつはバカだから適当にスルーしておけ


379 :デフォルトの名無しさん:2009/09/28(月) 19:38:21
カスタムタグ作りたいんですけど、どうしたらいいんでしょ。

380 :デフォルトの名無しさん:2009/09/28(月) 19:46:36
作り方調べて作ればいいと思うよ

381 :デフォルトの名無しさん:2009/09/28(月) 19:49:25
>>380
所詮はその程度か
知ってて質問してみりゃ自分がしらねーもんだから曖昧表現だしな
このスレJ2EEには弱いやつしかいねーしな

382 :デフォルトの名無しさん:2009/09/28(月) 20:13:44
次の方どうぞ〜

383 :デフォルトの名無しさん:2009/09/28(月) 20:21:32
随分昔ならいざしらず、最近のJ2EE開発でカスタムタグ作るのってレアじゃない?
何したいのか知らんけど、Viewであまり特殊なことしないほうがいいよ。

384 :デフォルトの名無しさん:2009/09/28(月) 20:22:10
触るなって

385 :デフォルトの名無しさん:2009/09/28(月) 20:25:28
何で?

386 :デフォルトの名無しさん:2009/09/28(月) 20:37:37
無知な>>380が釣れたってこったろ

387 :デフォルトの名無しさん:2009/09/28(月) 20:38:25
eclipseのコンパイラってjavacじゃないんだな。初めて知った。

388 :デフォルトの名無しさん:2009/09/28(月) 20:40:07
>>386
必死すぎワラタ

389 :デフォルトの名無しさん:2009/09/28(月) 20:45:00
だから触るなw

390 :デフォルトの名無しさん:2009/09/28(月) 20:46:27
何で?

391 :デフォルトの名無しさん:2009/09/28(月) 20:48:12
>>387
出力されるバイトコードレベルで癖が違ったりしてるか?
javac も Java だからコンパイラエンジンとしてそのまま中で使っていると思う。
レキシカルアナライザか構文チェックあたりの癖はちょっと違っているが。

392 :デフォルトの名無しさん:2009/09/28(月) 21:01:21
JavaからActiveDirectoryにアクセスするには何がお勧めですか?
JNDIというのでいいですか?

393 :デフォルトの名無しさん:2009/09/28(月) 21:03:11
いいですよ

394 :デフォルトの名無しさん:2009/09/28(月) 21:03:35
それでいいと思うよ

395 :デフォルトの名無しさん:2009/09/28(月) 21:06:07
>>393,394
そうですか。ではこれでいきますね。

396 :デフォルトの名無しさん:2009/09/28(月) 21:10:53
>>387
全く違う
選択できる

低能は困るね

397 :デフォルトの名無しさん:2009/09/28(月) 21:11:10
>>391
javacにないバグ(逆も秦)があることはあるよ。

以前JDTのコンパイラのバグを見付けてjavacとの動作の違いを
レポートしたことがある。
JDTが数値かどうかをCharacter.isDigitで判定していたせいで、
全角数字でリテラルを作れたとゆーw

398 :デフォルトの名無しさん:2009/09/28(月) 21:11:38
>>388
無能乙w

399 :デフォルトの名無しさん:2009/09/28(月) 21:12:20
数値リテラル、ね。


400 :デフォルトの名無しさん:2009/09/28(月) 21:21:54
そんな細かいコンパイラの違いに気付くほど精密なプログラミングをしてるのか君達は

401 :デフォルトの名無しさん:2009/09/28(月) 21:22:39
そうですよ

402 :デフォルトの名無しさん:2009/09/28(月) 21:22:43
文字コードがEUCのものってjavaで扱うと勝手にjavaで使える文字コード(UTF-16とか)に
変換されちゃうんですっけ?

DBで文字コードがEUCの文字をSELECTして、EUCの文字コードのままファイルに書き込むのは不可能?

403 :デフォルトの名無しさん:2009/09/28(月) 21:28:42
>>400
素人さんは困りますね。

404 :デフォルトの名無しさん:2009/09/28(月) 21:29:32
>>402
前者は全く違う
後者はやりよう

405 :デフォルトの名無しさん:2009/09/28(月) 21:32:27
何でもかんでもUTF-8にしときゃいいんだよ

406 :デフォルトの名無しさん:2009/09/28(月) 21:34:59
>>402
前者の変換はその DB の JDBC ドライバが勝手にやります。
後者は書き込むときにプログラマが EUC-JP を指定します。

407 :デフォルトの名無しさん:2009/09/28(月) 21:39:49
>>405
これは同意

>>406
>>404で既にあるよ
2番煎じださい

408 :デフォルトの名無しさん:2009/09/28(月) 21:41:31
>>404-406でいいと思うよ

409 :デフォルトの名無しさん:2009/09/28(月) 21:49:26
>>402です。
JDBC ドライバが、EUC→UTF-8に変換させた時って
”梶hとかの特殊な文字だと文字コードが死んじゃいませんか?
僕の勘違いですかね・・・

410 :デフォルトの名無しさん:2009/09/28(月) 21:54:48
JavaよりJavaScriptのほうが使い前があるような気がする

411 :デフォルトの名無しさん:2009/09/28(月) 21:55:52
>>409
JDBC ドライバが文字コード決めてるんじゃないよ?
Oracleで言えばインスタンス単位で文字コード決める訳よ
全く話がバカレベル

412 :デフォルトの名無しさん:2009/09/28(月) 21:56:39
>>410
JavaとJavaScript(JS)hくぁ別物だよ。

413 :デフォルトの名無しさん:2009/09/28(月) 21:57:47
>>397
あったあったw
あと break;; とか throw ...;; とかすると 2 つめのセミコロンで「到達しない構文」でエラーに
なるのは今でもそうかな。javac 使ってた頃のプロジェクトのソース持ってきた時に 2 つ 3 つ
引っかかったおかげで形式上の障害票書いた事がある。

バイトコードに癖は見られなかったし、コンパイルオプションや IDE 上でエラー箇所示
したりするために構文解析モジュール付近だけ独自実装したような感だけど、ソース読んだ
わけじゃないのでフルスクラッチで作ったかまではシラネが。

>>407
おまえは糞の役にも立ってねぇなw

414 :デフォルトの名無しさん:2009/09/28(月) 21:57:59
>>409
勘違いですよ

415 :デフォルトの名無しさん:2009/09/28(月) 21:58:43
てか、JDBC使ってる現場がおかしーんじゃねーの

416 :デフォルトの名無しさん:2009/09/28(月) 21:59:51
>>414
>>411で出てますよ。2番煎じださい

417 :デフォルトの名無しさん:2009/09/28(月) 22:01:09
>>412
すごく似てるよ。ほとんど一緒。
Javaはコンパイルだとか、なんだかんだ大掛かり。
その点、JavaScriptとPHPがいいのかなあと考えているよ。
自分で楽しむ分には、JAVAは重い

418 :デフォルトの名無しさん:2009/09/28(月) 22:02:17
>>409
それはEUC-JPに含まれない文字だ。x-eucJP-Open でも使っとけ。

419 :デフォルトの名無しさん:2009/09/28(月) 22:03:28
また自分の周囲が世界の標準と勘違いしてる蛙か…

420 :デフォルトの名無しさん:2009/09/28(月) 22:04:04
>>419
だなw

421 :デフォルトの名無しさん:2009/09/28(月) 22:04:54
JDBC使わなかったら何使うの?

422 :デフォルトの名無しさん:2009/09/28(月) 22:05:29
>>417
素人乙ってるな
PHPまでと一緒にされてるとはw
この馬鹿は放置のがよかったか

423 :デフォルトの名無しさん:2009/09/28(月) 22:06:57
>>421
iBatisなんかでかぶせればいいでしょ。

424 :デフォルトの名無しさん:2009/09/28(月) 22:07:47
にぎわってるね

425 :デフォルトの名無しさん:2009/09/28(月) 22:08:57
馬鹿とか言わないでよw
この頃つくづく思うのね
WEBにちょっと貼ろうにもJAVAだと簡単にいかない、
その点JAVASCRIPTだとスイスイいくよ。
PHPも簡単そうだし、ニーズもありそう。

426 :デフォルトの名無しさん:2009/09/28(月) 22:10:22
日本語訳: サンダルが楽だからコンビニ行くのにも山登るのにも便利

427 :デフォルトの名無しさん:2009/09/28(月) 22:14:13
>>425
趣味サイトにJava使う奴なんていないよ…
自分のサイトにちょっと手を加える程度にサーブレットとか使ってたらただの馬鹿だ
凝ったサイトにせいぜいrailsとかそこら辺じゃないのかな

428 :デフォルトの名無しさん:2009/09/28(月) 22:19:07
javaをWEBに貼ろうと思ったらJSPとかいう意味フなの使わないといけないし
面倒だよね。ふつうにさHTMLにぺたっと貼りたいね。

429 :デフォルトの名無しさん:2009/09/28(月) 22:20:43
>>425
Java,PHPとJavaScriptで同等って馬鹿じゃないの?
サーバとクライアントの違いも分かっていないのかね

430 :デフォルトの名無しさん:2009/09/28(月) 22:21:13
そうだね。次の方どぞー

431 :デフォルトの名無しさん:2009/09/28(月) 22:24:05
どうして平気に、人に馬鹿とかいうの?
それでいいのかな。おらは言えねえねえ

432 :デフォルトの名無しさん:2009/09/28(月) 22:25:18
>>431
無能は職務上邪魔

433 :デフォルトの名無しさん:2009/09/28(月) 22:25:52
>>431
悟空…

434 :デフォルトの名無しさん:2009/09/28(月) 22:26:26
あなたの部下じゃないもーーーーーーん


435 :デフォルトの名無しさん:2009/09/28(月) 22:28:12
ぶっちゃけ馬鹿の書くコードにうんざりしてる業界の人って多いでしょ。
もう超人が書いたコード読むの嫌だよ。
なんだよ4000行のメソッドと8段のインデントって。

436 :デフォルトの名無しさん:2009/09/28(月) 22:29:25
わざとやってる釣りなんだから相手しなきゃいいだけ


437 :デフォルトの名無しさん:2009/09/28(月) 22:31:08
strutsのリクエストプロセッサー拡張してんだけど、
メソッド呼び出しで困ってるんだけど、
struts.xmlに記述でメソッド名で呼び出したい
順序も記述通りにしたい
諸先輩方お願いします

438 :デフォルトの名無しさん:2009/09/28(月) 22:32:14
>>435
そりゃカッペが書いたコード
1メソッド100行が妥当だな

439 :デフォルトの名無しさん:2009/09/28(月) 22:32:57
メソッドってなんだろ?ActionMethod?
DispatchAction系を使えばいいんでないの?
2系は知らんけど。

440 :デフォルトの名無しさん:2009/09/28(月) 22:33:15
おら4000行のコードのほうが見やすいね。
空白行やコメントはキライ。ぎっしり詰まったのがいいね。
好みは個人差があるね。

441 :デフォルトの名無しさん:2009/09/28(月) 22:35:16
>>440
凝集度って言葉しってる?

442 :デフォルトの名無しさん:2009/09/28(月) 22:35:49
>>439
メソッドはAction実装クラスです

443 :デフォルトの名無しさん:2009/09/28(月) 22:36:20
>>441
おらはしらない

444 :デフォルトの名無しさん:2009/09/28(月) 22:36:56
>>439
アホかディスパッチャーの上から実装したことないのか
お前じゃFW作れないな

445 :デフォルトの名無しさん:2009/09/28(月) 22:37:47
そんなん結局はActionのexecuteメソッド叩かれるだけなんだから、
メソッドのシグニチャを決められたパラメータ名で渡して、
executeメソッド内から参照->Dispatchすればいいんじゃないの?
リクエストプロセッサに何させたいのかな。

446 :デフォルトの名無しさん:2009/09/28(月) 22:39:50
あ、444詳しいみたいだから頼んだ。

俺一応某企業のStruts系Webアーキテクトだけど
ディスパッチャーの拡張なんてしたことないや。つか必要がなかったしw

447 :デフォルトの名無しさん:2009/09/28(月) 22:40:49
>>445
あれは偽物だ
pojo
struts1.3系で2系みたいなことをやらせたいようだ

448 :デフォルトの名無しさん:2009/09/28(月) 22:42:40
そういう用途ならSAStruts使えばいいんじゃないの。
あれ1.2系で完全pojo実装でいけるよ。

外部フレームワーク依存が嫌ならソースみるだけでも参考になるっしょ。

449 :デフォルトの名無しさん:2009/09/28(月) 22:43:50
まぁさすがに一人分かっているだろう人しかいなかったか
他は何だとばかりにアホ面ならべてるだけだしな
簡易な質問には稚拙な回答で飛びこむ姿勢がうざいんだよ

450 :デフォルトの名無しさん:2009/09/28(月) 22:44:31
>>448
SAStrutsなんぞ馬鹿でも使わんよ

451 :デフォルトの名無しさん:2009/09/28(月) 22:45:32
おら思うんだけどpure JavaにStrutsなどの厚化粧したら、
もはやJavaではないと思うのね。フレームワーク完全依存で、
もうpureには戻れない。中毒患者のよう。
戻れないのだからJavaじゃない。Struts言語だよね。


452 :デフォルトの名無しさん:2009/09/28(月) 22:45:42
>>450
俺が使ってるんだが。

453 :デフォルトの名無しさん:2009/09/28(月) 22:47:15
はぁ。そうですか。w

454 :デフォルトの名無しさん:2009/09/28(月) 22:47:28
>>451
素人はロムってろ

455 :デフォルトの名無しさん:2009/09/28(月) 22:49:34
>>447
キミはいい線いってたよ
知ったかで適当なこと言ってる奴が多くて罠貼ったが
誰もこない、つまり無能だったと
キミは理解していたよ、知らないふりして悪かったな

456 :デフォルトの名無しさん:2009/09/28(月) 22:56:27
>素人はロムってろ
裏ロムですか?ロムってのはですね、
不揮発性の素子なんですよ。作れますか?
ロムるという表現は幼稚ですねえ。
2チャンネルの影響を受けすぎですから自分をしっかり持って
生きていく決心を固めてください。期待しています。

457 :デフォルトの名無しさん:2009/09/28(月) 22:58:20
で、俺スゲーな君は今後このスレで活躍してくれんの?
随分気合入ってるな。まかせたぞ。

458 :デフォルトの名無しさん:2009/09/29(火) 00:32:30
Javaでスレッドの優先度はJavaVMが決めてるんですか?OSが決めてるんですか?

459 :デフォルトの名無しさん:2009/09/29(火) 00:36:11
プログラマブルな部分ではプログラマー
その参考値で実際にどう重み付けするかは OS

460 :デフォルトの名無しさん:2009/09/29(火) 01:35:01
ttp://xy.yu.to/
寂しい人向け
混む時間帯は人気ありすぎて定員オーバーで入れん

24時間荒れ放題の超カオスな絵チャット
本当の本当に完全無法地帯の絵チャット
(2ちゃんとは比較にならない)

荒しとプログラマーと防衛プログラマーの攻防戦
防衛側が強し、求む強力荒しプログラマー
しかも外国サーバー(イギリス)で管理人は荒し容認
殺人予告すらOKっぽい。ログなんて当然取ってないし

461 :デフォルトの名無しさん:2009/09/29(火) 01:56:05
javaの入門書一通り読み終わって、
次webアプリケーションつくりたいなと思うんだけど
良い入門書ある?


462 :デフォルトの名無しさん:2009/09/29(火) 04:18:08
>>460
こんなとこまで宣伝に来るなよ。どんだけ必死なんだお前

463 :デフォルトの名無しさん:2009/09/29(火) 04:55:43
AJP13 (ProxyPass) で Apache - Tomcat を繋げて全部リクエストを Tomcat で処理している
状態なんだけど、特定のファイルやディレクトリへのアクセスを禁止したい場合ってどうする
のが良いかね? 例えば *.ini とか */tmp/* とか。
default サーブレットじゃ禁止パターンとか指定できないし、個別に ProxyPass ... ! でブロック
するしかない?

464 :デフォルトの名無しさん:2009/09/29(火) 05:51:22
>>463
お前はapacheの勉強をしたほうがいいな

465 :デフォルトの名無しさん:2009/09/29(火) 05:58:07
>>461
書籍なんぞその時はちょっとは使えるかも知れんがすぐ時代遅れだよ。

466 :デフォルトの名無しさん:2009/09/29(火) 09:10:01
TomcatのWebアプリケーションでアプリケーションを複数作っても
セッション変数は共通になってしまいます。
セッション変数をアプリケーションごとで別々にしたい場合は
どうすればいいでしょうか?

467 :デフォルトの名無しさん:2009/09/29(火) 09:12:52
>>466
コンテキストを別にしてもダメなのかい?

468 :デフォルトの名無しさん:2009/09/29(火) 09:19:32
>>467
やってみます。さんくす。

469 :デフォルトの名無しさん:2009/09/29(火) 15:20:23
Windowsでドメインにログインしている場合、IEがServletに
そのユーザー/パスワード/ドメインを自動的に渡すことって
できないでしょうか?


470 :デフォルトの名無しさん:2009/09/29(火) 15:37:15
うざ

471 :デフォルトの名無しさん:2009/09/29(火) 15:43:47
>default サーブレットじゃ禁止パターンとか指定できないし
出来るだろう。
JavaScript+PHPがいいみたいですよ

472 :デフォルトの名無しさん:2009/09/29(火) 15:53:48
次の方どぞー

473 :デフォルトの名無しさん:2009/09/29(火) 15:54:10
ハッキリいってJavaScript+PHPさえあれば他はいらないみたいですよ

474 :デフォルトの名無しさん:2009/09/29(火) 16:00:05
そうですねー

475 :デフォルトの名無しさん:2009/09/29(火) 17:54:07
相変わらず無能な素人ばっかりだな

476 :デフォルトの名無しさん:2009/09/29(火) 18:56:25
>>469
Windows鯖な時点で終わってる。

477 :デフォルトの名無しさん:2009/09/29(火) 19:08:49
>>469
UNIXでNTLM認証ならApacheのモジュールが存在するよ。
pythonで実装されたNTLMプロキシもあったはず。

478 :デフォルトの名無しさん:2009/09/29(火) 20:19:29
>>469
できたよ。
昔やったことがある。
詳しいやり方は全く覚えてない。

479 :デフォルトの名無しさん:2009/09/29(火) 20:52:32
はい次の方どうぞー

480 :デフォルトの名無しさん:2009/09/29(火) 21:11:23
>>479
お前はただの無能だろ
いらんレスするな

481 :デフォルトの名無しさん:2009/09/29(火) 23:21:37
インターネット上のあるサイトでの検索結果を取得したいです。
そのサイトで、それぞれプルダウンや入力値を設定し、
検索ボタンを押下した際に表示されるページの、値を取得したいです。



482 :デフォルトの名無しさん:2009/09/29(火) 23:24:15
>>481
HttpUnit?


483 :481:2009/09/29(火) 23:26:59
そのサイトは、strutsで作成されているように思われます(URLが〜doの為)

URLの後ろに、パラメータを指定して(name=satou&addr=sinagawa 等)初期表示した際に、
画面に値が埋め込まれた状態で表示できるのはわかるのですが、
そこから「検索」ボタンを押下したのと同じ処理を実行させる方法がわかりません。

よろしくお願いします。

484 :デフォルトの名無しさん:2009/09/29(火) 23:33:26
>>483
http://www.atmarkit.co.jp/fjava/javatips/069java006.html

485 :483:2009/09/29(火) 23:42:58
>>484
ありがとうございます。
参考に、試してみようと思います。

486 :デフォルトの名無しさん:2009/09/29(火) 23:51:37
ConcurrentHashMapは複数スレッドから同時に書き込み、読込みを行う際、
外部で同期化をしなくても大丈夫なのでしょうか?


487 :デフォルトの名無しさん:2009/09/30(水) 00:02:35
いいんじゃない?

488 :デフォルトの名無しさん:2009/09/30(水) 00:10:55
>>486
個々のオペレーション単独での原子性は保証されてる。
が、読んでから書くまでの間に別のスレッドが割り込まれたら不味い場合は排他制御が必要。

489 :デフォルトの名無しさん:2009/09/30(水) 00:11:54
×別のスレッドが
○別のスレッドに

490 :デフォルトの名無しさん:2009/09/30(水) 00:20:47
どうでも良い質問だけど
64bitのWindowsにしたら8GB以上、javaで使えますか?
Unixじゃないとダメですかね?

491 :デフォルトの名無しさん:2009/09/30(水) 00:21:55
メモリーの事です
EEのEclipseの起動も変更なしで出来るんでしょうか?

492 :デフォルトの名無しさん:2009/09/30(水) 03:19:22
それなんてHOME BACIC?

493 :デフォルトの名無しさん:2009/09/30(水) 08:29:59
エクリプスのEEのインストールすれば分かるが、メモリー不足で起動しない
メモリーが沢山あれば、あのままで動く環境があるはず

494 :デフォルトの名無しさん:2009/09/30(水) 10:25:22
ArrayIntListを最大10個くらい使うときがあるんだけど、
Mapみたいなクラスに入れるのとArrayIntListの配列のどっちがいいと思う?
限られたスコープでしか使わないので、速度を重視して配列がいいと思うけど
オブジェクト指向という点で考えて見たら?ってアドバイスを受けたよ


495 :デフォルトの名無しさん:2009/09/30(水) 10:29:51
オブジェクト指向はぜんぜん関係ないですね、と答えれば良いと思うよ。

496 :デフォルトの名無しさん:2009/09/30(水) 10:56:00
あえてオブジェクト指向の立場でいうと、
性能(速度やメモリ)よりもインターフェイス設計を重視。
性能はあとインターフェイスを変えずに改善。


497 :デフォルトの名無しさん:2009/09/30(水) 11:23:18
オブジェクト指向も分かってない奴らがいるな

498 :デフォルトの名無しさん:2009/09/30(水) 12:00:49
オブジェクロを指向するだけで、
いい加減な概念だよね。
オブジェクト指向を知りたいならPHPがいいね。

499 :デフォルトの名無しさん:2009/09/30(水) 12:17:57
配列はないわ

500 :デフォルトの名無しさん:2009/09/30(水) 12:40:40
こんなクソの先みたいなもん配列で十分だっつーのw

501 :デフォルトの名無しさん:2009/09/30(水) 12:41:22
ケースバイケースでしょ
頭でっかちなコードは迷惑なだけですよ

502 :デフォルトの名無しさん:2009/09/30(水) 13:01:32
好きにしろよw こんなもんほぼ決めの問題とか個人の趣味レベルで
どっちでも良いしすぐ修正出来るだろ。こんなもんにいちいちケースバイ
ケースとか言って答保留してる奴がアフォ。

503 :デフォルトの名無しさん:2009/09/30(水) 15:31:13
JFreeChartでグラフを再描写したいんですが、
参考になるサイトはありませんか?

504 :デフォルトの名無しさん:2009/09/30(水) 15:41:52
アフォではない方がお答えになられます。
暫くお待ちください。

505 :デフォルトの名無しさん:2009/09/30(水) 17:56:34
>>502
こいつ頭おかしいな

506 :デフォルトの名無しさん:2009/09/30(水) 18:06:45
質問です。

Htmlのフォームから、Java Applicationを呼び出すことは技術的に可能でしょうか?

AppletやServletのようにhtmlのフォームを変数にいれてApplicationを起動させたいのですが、
記述方法がいまいちわかりません。

なにかやりかたがありましたらご指導お願いいたします。

507 :デフォルトの名無しさん:2009/09/30(水) 18:08:09
ローカルアプリケーションの GUI に HTML を使いたいって意味だろうか…

508 :デフォルトの名無しさん:2009/09/30(水) 18:16:34
Java Web Startとか?

509 :デフォルトの名無しさん:2009/09/30(水) 18:35:30
>>506
まず質問を簡潔にしろよ
色々ととれるぞ

510 :デフォルトの名無しさん:2009/09/30(水) 19:00:02
PHPってコンパイルしないといけないのですか???

511 :デフォルトの名無しさん:2009/09/30(水) 19:03:44
>>510
しねーよ
スレ違いの低能うざい

512 :デフォルトの名無しさん:2009/09/30(水) 20:32:25
コンパイル不要=糞言語

513 :デフォルトの名無しさん:2009/09/30(水) 20:41:10
静的型付けの重要性は大規模な開発をしてみれば身にしみるはず。
しかし動的言語の初期生産性もやはり大きな魅力ではある。

514 :デフォルトの名無しさん:2009/09/30(水) 21:12:59
最近シェアかなりPHPに食われてない?
webに限るけど・・・

515 :デフォルトの名無しさん:2009/09/30(水) 21:49:57
public Hoge(String patternA) {}
public Hoge(String patternB) {}
みたいに、コンストラクタのシグネチャが同じになった時どうやって回避してる?

public static Hoge getInstancePatternA(String pattern) {}
public static Hoge getInstancePatternB(String pattern) {}
みたいなメソッドを作ってインスタンスを生成するといいよ
とか言う記事を読んだことがあるんだけど

516 :デフォルトの名無しさん:2009/09/30(水) 21:57:12
String の場合は他に適切な型があるんじゃないかと考えてみる
(Pattern とか Document とか File とか)。
どうしても同じになってしまうならその下のようにファクトリメソッド化。
一回実行のどうでも良い作り捨てのプログラムならフラグ渡して
コンストラクタ内で A, B 動作選択。

517 :デフォルトの名無しさん:2009/09/30(水) 22:09:32
Javaは第二のCOBOLらしいね。
JaBolかCovaにしたらいいね
バックヤードに向いていると思う
WEBはPHPが断然動きやすい。

518 :デフォルトの名無しさん:2009/09/30(水) 22:19:36
PHP使ってたから、今更サーバサイドJava始めようとは思わないんだよな。
だれかそんな俺にガツンと言って。

519 :515:2009/09/30(水) 22:21:54
>>516
レスありがとうございます
factory methodはどの例を見ても、継承がなんちゃらって書いてありますが
自分自身をnewして返すってのはバカバカしい事なんですかね?


520 :デフォルトの名無しさん:2009/09/30(水) 22:32:44
>>519
そもそも別々の引数を個別に渡すコンストラクタの意味ってなんだろう。

あるインスタンスから見た時、他方のインスタンスが注目している内部状態とは
まったく別の内部状態にしか関心がないのなら、それらが同一クラスである必要はないのでは?

521 :デフォルトの名無しさん:2009/09/30(水) 22:37:22
>>520
わかりました
ありがとうございます

522 :デフォルトの名無しさん:2009/09/30(水) 22:57:19
PHPは重いんじゃないの?

523 :デフォルトの名無しさん:2009/10/01(木) 00:31:54
Shift_JIS→Unicodeにするとデータのサイズって替わりますかね?

524 :デフォルトの名無しさん:2009/10/01(木) 01:05:29
変わると思っていい。

たとえばUTF-8であれば、1-4バイト(日本語は3バイトと思っていい)
Shift-JISは全角2バイト、半角1バイト

525 :デフォルトの名無しさん:2009/10/01(木) 01:14:21
Dateを1日前の日付にしたいんですが、簡単な方法ないですか?
1日だったら、月を1つ減らして、その月の最後の日にする。
1月1日だったら、さらに年も1つ減らすって処理をすればできますが、
メソッド一発でもっと簡単にできるようなのはないでしょうか?

526 :523:2009/10/01(木) 01:15:37
>>524
わかりました。ありがとうございます

br = new BufferedReader(new InputStreamReader(getInputStream(), "Shift_JIS"));
while((str = br.readLine()) != null) {}
みたいな感じで、shift-jisのデータを読み込んでいるんですが
shift-jisで何バイト読み込んだか知りたいんですが、どうにかなりませんかね?

527 :デフォルトの名無しさん:2009/10/01(木) 01:22:13
shift-jisのままbyte配列かByteBufferつかうとか?

528 :デフォルトの名無しさん:2009/10/01(木) 01:25:28
>>525
Calendar(暦法計算機)クラスのインスタンスに
対象日付を放り込んでマイナス1日を加える。


529 :デフォルトの名無しさん:2009/10/01(木) 01:42:00
>>525
>528の処理を書いたメソッドを作成する

530 :526:2009/10/01(木) 01:43:52
>>527
あんまり、そこら辺は気にしてません
楽にサイズを取得できそうなら別に、何でもいいです

531 :デフォルトの名無しさん:2009/10/01(木) 01:52:30
なにやりたいのかわからんけど、半角文字の文字数カウントして計算するとかでいいんじゃね?

532 :デフォルトの名無しさん:2009/10/01(木) 01:55:34
str.getBytes("Shift_JIS").length を合算すればいいんじゃないの?
br.readLine()の結果には改行付いてないので、実際に読んだ量にする
場合はそこも忘れずに。
というか、元データの改行が1バイトなのか2バイトなのかは分からんような。

あと、サイズには影響しないけど、大抵の場合は Shift_JIS といいつつ
Windows-31J。




533 :530:2009/10/01(木) 02:05:12
>>532
>元データの改行が1バイトなのか2バイトなのかは分からんような。
特定のコンピュータから発生するデータなので、
事前に調べておけば問題はなさそうです

ありがとうございました



534 :デフォルトの名無しさん:2009/10/01(木) 16:41:33
>>532
なんでそんな基礎をべらべら言ってんの?
JavaDoc嫁で終わりでしょ
ガキは覚えた言葉を言いたがるというが、お前はそれに該当する

535 :デフォルトの名無しさん:2009/10/01(木) 17:02:28
脱童貞するとセックスについて話したがるのと同じだ

536 :デフォルトの名無しさん:2009/10/01(木) 17:08:16
>>534
スレタイ嫁
お前はガキじゃないからこのスレじゃお断り

537 :デフォルトの名無しさん:2009/10/01(木) 17:17:10
>>536
初心者ってなんだ?一通り理解しているのが初心者だろ
お前含め低能に分かりすく言えば、水を飲みたいがどうすればいい?ってもんだぞ?
なんならスレタイを無能専用に変更したらどうだい?

538 :デフォルトの名無しさん:2009/10/01(木) 17:22:06
>>536
低能に分はないな

539 :デフォルトの名無しさん:2009/10/01(木) 17:30:29
API見ながら自分で考えられないのは確かに初心者ではないね。
思考回路がちょっと悪い素人といったところかな。

540 :デフォルトの名無しさん:2009/10/01(木) 17:43:53
>初心者ってなんだ?
宇宙刑事「ためらわないことさ」

541 :デフォルトの名無しさん:2009/10/01(木) 17:47:16
>>540
自分の言葉で言えない人間て愚かだよね

542 :デフォルトの名無しさん:2009/10/01(木) 18:01:42
荒らしはほっとけよ


543 :デフォルトの名無しさん:2009/10/01(木) 18:15:16
最近荒らしばかりだな
そもそも【初心者専用】を付けたのが悪い

544 :デフォルトの名無しさん:2009/10/01(木) 18:41:11
理論で返せないと荒らしってのもおかしいとおもうよ
まぁ>>1のスレタイが糞ってのもあったろうけど

545 :デフォルトの名無しさん:2009/10/01(木) 19:07:45
基礎と馬鹿にするだけで、なんら有効な手法を示すわけでもない。
無能や低脳と罵るだけであれば、そこに返すべき理論は存在しない。

546 :デフォルトの名無しさん:2009/10/01(木) 19:17:39
>>544

> 理論で返せない

お前が言うな


547 :デフォルトの名無しさん:2009/10/01(木) 20:09:44
InputStream→InputStreamReader→Stringじゃなくて、
InputStreamReaderを使わずにInputStreamからStringを取り出す方法を教えてください

548 :デフォルトの名無しさん:2009/10/01(木) 20:15:10
>>547
InputStreamはインタフェイスだぞ
低能乙ったな

549 :デフォルトの名無しさん:2009/10/01(木) 20:18:59
>>548
そういう意味じゃないだろ

550 :デフォルトの名無しさん:2009/10/01(木) 20:21:53
>>549
ステップ1
InputStream→InputStreamReader→String
スッテプ2
InputStreamReaderを使わずにInputStreamからStringを取り出す

馬鹿か?

551 :デフォルトの名無しさん:2009/10/01(木) 20:22:10
>>547
Readerを使えない理由は?

552 :デフォルトの名無しさん:2009/10/01(木) 20:26:24
>>547
どんな状況でも使える汎用的な方法はない。

文字列の長さもエンコーディングも既知の場合なら
byte[] array = new byte[文字列の長さ];
inputStream.read(array);
String str = new String(array, エンコーディング);

ほかにもエンコーディングがISO8859_1限定で
文字列が改行かファイル終端で終わるならDataInput#readLine()使う、など。

553 :デフォルトの名無しさん:2009/10/01(木) 20:29:43
自前でやりたいって話なんじゃないの?
InputStreamReaderのソース読め、で終わりだけど。

554 :デフォルトの名無しさん:2009/10/01(木) 20:32:13
>>552
なぜASCII限定なんだい?
バイナリでエンコーディングwwww

555 :デフォルトの名無しさん:2009/10/01(木) 20:33:15
>>551
完全なデータのサイズが必要なため
InputStreamReaderを使うと誤差が発生するから

>>552
わかりました
ありがとうございます

556 :デフォルトの名無しさん:2009/10/01(木) 20:41:37
>>555
InputStream→FilterInputStreamを継承した読み込みバイト数を数える自作クラス
→InputStreamReader→Stringはどうかの?

557 :デフォルトの名無しさん:2009/10/01(木) 20:41:59
>>555
そういう用途なら
InputStream→org.apache.commons.io.input.CountingInputStream→InputStreamReader→Stringして、
全部読み終わった後にCountingInputStream#getByteCount()でバイト数取ってくる方が楽かも。

558 :デフォルトの名無しさん:2009/10/01(木) 20:55:49
冗長な回答しかないな
所詮は無能スレか

559 :デフォルトの名無しさん:2009/10/01(木) 20:57:53
wktk

560 :555:2009/10/01(木) 21:02:24
>>556
FileterInputStreamを継承するのは、ちょっと面倒くさそうですが
少し調べてみることにします

>>557
commons ioにそんな便利なクラスがあったとは知りませんでした
IOUtils.closeQuietly()とかコピー関係のメソッドはよく使いますが、それは知らなかった

561 :555:2009/10/01(木) 21:25:51
>>557 の方法を実践してみたら、欲しい値を求めることが出来ました
ありがとうございました

562 :デフォルトの名無しさん:2009/10/01(木) 22:22:38
class クラスA {
public void メソッドA() {
クラスB.メソッドB();
次の処理
}}

class クラスB {
public void メソッドB() {
Thread t = new Thread(new Runnable() {
public void run() {
}
t.start();
}}
とすると、メソッドBの処理が終わっていなくても「次の処理」をやってくれるの?

563 :デフォルトの名無しさん:2009/10/01(木) 23:01:11
メソッドBの処理が終わらないと次の処理は進まんよ

お前さんが聞きたいのはメソッドBの処理ではなくてrun()の中の処理の話だろ?
それならばBのメソッドを抜けているか、次の処理に進んでいるかなどに関わらず並列に処理される。
ただし、どっちが先に実行されるかとかは制御しようとしない限りは不明(VM次第)

564 :デフォルトの名無しさん:2009/10/01(木) 23:27:14
>>552
read() がマルチバイト挟んだら文字化けするだろ素人

565 :デフォルトの名無しさん:2009/10/01(木) 23:34:41
>>563-564
馬鹿は氏ねよ

566 :デフォルトの名無しさん:2009/10/01(木) 23:36:50
このスレは初心者専用です。
玄人はこのスレにレスすべきではありません。

567 :デフォルトの名無しさん:2009/10/02(金) 00:15:16
意味がわからない
中括弧の位置もおかしいし、セミコロンの位置もおかしい
コンパイルエラー

568 :デフォルトの名無しさん:2009/10/02(金) 00:33:25
スキルの効果時間っていつから増えたの?

569 :デフォルトの名無しさん:2009/10/02(金) 00:59:53
マジレスすると効果時間は増えたんじゃなくて減った。

すごい勢いでスキルの陳腐化が進むように変更されて、
業務以外でも勉強できる人じゃないと前衛に出せない。

新仕様導入されたのは10月1日からってうわさ。

570 :デフォルトの名無しさん:2009/10/02(金) 01:51:57
実装は来年だよ
どうせバグだらけだろうけど

571 :デフォルトの名無しさん:2009/10/02(金) 09:17:54
素人ばっかりだな

572 :506:2009/10/02(金) 10:00:26
詳細遅れて申し訳ありません。

やりたい事としては JavaSwingのインターフェースをhtmlのフォームに置き換えたいと思っています。
そこで、formtype button や submit などで、JavaApplicationを起動し、引数にパラメータを入れたいな
と考えています。

このようなことは、可能でしょうか?

573 :デフォルトの名無しさん:2009/10/02(金) 10:01:29
無理です。

574 :デフォルトの名無しさん:2009/10/02(金) 10:02:35
>>572
つまり鯖側でappをkickするんだな?
受け口からjavaコマンド発行すればいいだろ

575 :デフォルトの名無しさん:2009/10/02(金) 11:52:32
JAppletにしちゃうのやダメ?

576 :デフォルトの名無しさん:2009/10/02(金) 12:07:22
>>575
htと書いてあるだろ
http使うんだろ
頭悪い奴は黙ってろ

577 :デフォルトの名無しさん:2009/10/02(金) 12:16:05
アプリケーションと言うのが、サーバー側なのかクライアント側なのか、はたまたhtml文書事態ローカルなのかさえ分からないしな。
そもそも、そうすることでどんな良いことがあるのか知れない。

578 :デフォルトの名無しさん:2009/10/02(金) 12:28:42
>>572
アプリケーションの一部にブラウザを組み込むってこと?
コマンドの書き方や機能の起動のしかたはともかく、そのブラウザはどこから持ってこようとしているの?
表示はブラウザと関係無くて、同じマシンなりサーバなりのモジュールと HTTP 通信をしたいだけなら簡単な話だけど。

579 :デフォルトの名無しさん:2009/10/02(金) 12:29:53
アプリケーションの一部にWebサーバーを組み込むってことでしょ
よくあうじゃん

580 :デフォルトの名無しさん:2009/10/02(金) 12:31:49
JEditorPaneを使うんじゃない?

581 :デフォルトの名無しさん:2009/10/02(金) 12:49:45
Swing つってるからスタンドアロンアプリの GUI を HTML で組めないかって話だろ。

582 :デフォルトの名無しさん:2009/10/02(金) 12:58:00
>>506 の要求とはまったく別物だけど、↓これ思い出した
http://ikemen.googlepages.com/htmltablepanel

583 :デフォルトの名無しさん:2009/10/02(金) 14:04:48
>>579
聞いたこと無い

584 :デフォルトの名無しさん:2009/10/02(金) 14:24:12
>>583
まだまだ青いですな

585 :デフォルトの名無しさん:2009/10/02(金) 14:25:26
例えばeclipseはヘルプを表示するためにhttpサーバを内蔵している
よくある方法かどうかは知らない

586 :デフォルトの名無しさん:2009/10/02(金) 18:32:06
アプレットでなら似たようなことやったな。キックするのがウェブってだけで後はほとんど通常のSwingアプリ状態。

587 :デフォルトの名無しさん:2009/10/02(金) 18:33:58
アプレットなんてカスしか使わないよ

588 :デフォルトの名無しさん:2009/10/02(金) 18:36:39
5年前の話だが、普通に業務アプリとしてお客のところで動いてたぞ。

589 :デフォルトの名無しさん:2009/10/02(金) 18:39:37
まだawtの時代にアプレット作ったな
うんこみたいな仕事だったよ

590 :デフォルトの名無しさん:2009/10/02(金) 18:54:00
線と線の当たり判定を提供していて、かつ線の太さまで加味したクラス、メソッドってありませんか?
また、こういう処理って Java ではどう書くのがベターなんでしょう?

591 :デフォルトの名無しさん:2009/10/02(金) 18:57:16
Line2DをBasicStroke#createStrokedShapeに渡した戻り値のShapeを使ってintersectsするといいと思う

592 :デフォルトの名無しさん:2009/10/02(金) 18:58:55
と思ったけどShape同士のintersectsは無かった
そのShapeからAreaを構築してArea同士でintersects

593 :デフォルトの名無しさん:2009/10/02(金) 19:06:40
自分で作るって工夫はできないのかね?
頭悪すぎる

594 :デフォルトの名無しさん:2009/10/02(金) 19:13:38
>>591-592
ありがとう。その辺を試してみます。

>>593
利用できるものが用意されてるなら、それを利用したいと思ったまでですよ。
いたってふつうの考え方では?

595 :デフォルトの名無しさん:2009/10/02(金) 19:19:33
自分で調べてなきゃお前の能力がそれまでなんだろ
自分で考えられず猿真似を繰り返す低能じゃ迷惑なだけだよ

596 :デフォルトの名無しさん:2009/10/02(金) 20:22:57
synchronizedをgetメソッドに付ける意味がわからない
というか、synchronizedを付けないと問題が発生する処理の書き方がわからない

597 :デフォルトの名無しさん:2009/10/02(金) 20:36:53
?


598 :デフォルトの名無しさん:2009/10/02(金) 20:45:19
>>596
setter にも synchronized が付いていれば、どこかのスレッドが setter を呼び出して変数を半分だけ書き換えたところで、
get してしまあ

599 :デフォルトの名無しさん:2009/10/02(金) 20:48:03
うことを防げる。

600 :596:2009/10/02(金) 20:54:53
jakarta commonsのコードを読んでいたら、getXXXXにsynchronizedが付いていた

601 :デフォルトの名無しさん:2009/10/02(金) 21:04:15
PHPはコンパイルしなくて使えるの?

602 :デフォルトの名無しさん:2009/10/02(金) 22:17:05
ところでお前らは、break ラベル;を使っていますか?

603 :デフォルトの名無しさん:2009/10/02(金) 22:45:23
>>601
スレ違い

>>602
たまには使うよ

604 :デフォルトの名無しさん:2009/10/02(金) 22:58:56
>>602
CLDCな環境向けにxmlパーサ書いたときに使った

605 :デフォルトの名無しさん:2009/10/02(金) 23:01:14
>>593
おまいのような奴が既にあるものを自作した挙句にバグを埋め込むんだ。
CSVのリーダ/ライタなんか典型例。

606 :デフォルトの名無しさん:2009/10/02(金) 23:09:13
>>592
目的を達成できたので結果報告をば。それと、実はやりたいことが微妙に間違っ
てまして、線と四角の intersects でした。

結局 Area ではだめで、GeneralPath を使いました。Area は線みたいな閉じ
ていない Shape を元に作ろうとすると、空になってしまうぽいです。
GeneralPath ではこの辺をカバーできたので、こちらを使いました。こんな感
じに、うまくいってるぽいです↓

Line2D line = new Line2D.Double(1, 1, 3, 3);
Shape ss = new BasicStroke(2).createStrokedShape(line);
GeneralPath gp = new GeneralPath(ss);
Rectangle2D rect = new Rectangle2D.Double(0, 0, 0.9, 3);

System.out.printf("line.intersects(rect): %s%n", line.intersects(rect));
System.out.printf("gp.intersects(rect): %s%n", gp.intersects(rect));

>line.intersects(rect): false
>gp.intersects(rect): true

貴重なヒントをありがとうございました。

607 :デフォルトの名無しさん:2009/10/02(金) 23:46:15
>>596
ソースみてないからわからんけど、おそらく同期処理の本質が理解できてないと思う。
Javaのメモリモデルとメモリの可視性について勉強してみ。

608 :デフォルトの名無しさん:2009/10/02(金) 23:56:21
回答が客観的過ぎる
もっと具体的にアドバイスしろ

609 :デフォルトの名無しさん:2009/10/03(土) 00:05:18
×客観的
○抽象的

610 :デフォルトの名無しさん:2009/10/03(土) 00:07:47
質問が個別具体(たとえばソースを貼るとか)じゃないから、具体的といわれても難しいな、と思った。
まあ、質問者の聞きたいこととはズレているだろうことは認識してるんだけどさ。

611 :デフォルトの名無しさん:2009/10/03(土) 10:44:09
だったら書くな。このやろー

612 :デフォルトの名無しさん:2009/10/03(土) 11:57:44
また素人がきてるのか

613 :デフォルトの名無しさん:2009/10/03(土) 13:03:00
毎度お世話になっています
Shift_JIS関係で質問した者です

ネットワーク(Shift_JIS)→java(Unicode)→HDD(Shift_JIS)と文字コードを変換すると
ファイルのバイト数が替わってしまうので
ネットワーク(Shift_JIS)→java(Unicode、Shift_JIS)→HDD(Shift_JIS)と、
JavaでUnicodeとShift_JISデータを持ってShift_JISのデータだけをHDDに書き込もうと考えています

そのため、FilterInpuStreamを継承したクラスを作っているですが
public class Hoge extends FilterInputStream {
ArrayByteList byteList = new ArrayByteList();
public Hoge(InputStream in) { super(in); }
@Override
public int Read(byte[] b) throws IOException {
int temp = super.read(b);
for(int i = 0; i < temp; i++) {
byteList.add(b[i]);
}
return temp;
InputStream→Hoge→InputStreamReader→BufferedReader.readLine()の順番で使おうと考えています
という事をやって、Unicodeに変換してしまう前にShift_JISを違う場所に保存しようという作戦です
しかし、public int read()はbyteではなく戻り値がintなのでどう扱うかわかりません
エロい人ヒントをください



614 :デフォルトの名無しさん:2009/10/03(土) 13:07:26
readの戻り値は EOF のときに -1 を返すために int になってるだけだから
-1 の判定した後は byte にキャストしていいよ

615 :デフォルトの名無しさん:2009/10/03(土) 13:34:43
ところで逆に質問だけど、Java上でテキスト(文字列)として扱う必要がある転送なの?


616 :613:2009/10/03(土) 14:02:24
>>614
@Override
public int Read() throws IOException {
int temp = super.read();
if(temp > -1 ){
byteList.add((byte)temp);
}}
こんな感じにしてみました
このコード何か勘違いをしてるよう気がする
もしかしたら、>>613の書き方(説明)が悪かったかもしれません

>>615
文字を表示する事がメインの処理なのですが、表示した文字(ネットから送られてきたデータ)も保存しないといけないんです
しかも、保存する時はネットから送られてきたデータと同じサイズで保存しないといけない
本当はネットワーク(Shift_JIS)→Java(Unicode)→HDD(Shift_JIS)にして、メモリ&CPU?を無駄に消費させないようにしたかったのですが
技術が無いので、FilterInputStreamを継承したクラスを通すことにしました

617 :デフォルトの名無しさん:2009/10/03(土) 16:56:42
いったんバイト列のままファイルに保存して
その後で勝手に String にするほうがいいんでない。

618 :デフォルトの名無しさん:2009/10/03(土) 18:13:57
ネットワークからデータが来るのにFileInputStreamを拡張してんの?
なにがしたいのかわからない。

普通はバイナリデータとしてByte列をメモリ上に保存
1、そのデータをファイルに書き出し
2、文字列へdecodeして表示
のステップでいいと思うが。

619 :デフォルトの名無しさん:2009/10/03(土) 18:15:12
俺が勝手にFileInputStreamと勘違いしただけだった
吊ってくる。

620 :デフォルトの名無しさん:2009/10/03(土) 18:57:06
ClientSocketから直だししない意味が分からない
無能ほど冗長なコードが増えるからな

621 :デフォルトの名無しさん:2009/10/03(土) 19:20:23
ClientSocket?

622 :613:2009/10/03(土) 19:27:27
private static class Hoge extends FilterInputStream {
 ArrayByteList byteList = new ArrayByteList();
 public Hoge(InputStream in) { super(in); }
 public int read(byte[] b) throws IOException {
  int temp = super.read(b);
   if(temp > -1) {
    for(int i = 0; i < temp; i++) {
     byteList.add(b[i]);
    }}
  return temp;}
  public int read(byte[] b, int off, int len) throws IOException {
   int temp = super.read(b, off, len);
    if(temp > -1) {
     for(int i = off; i < temp; i++) {
      byteList.add(b[i]);
    }}
return temp;}
  public ArrayByteList getByteList() {
   return byteList; }
  public void resetByteList() {
   byteList.clear();}}
コードが読みにくいのは2ちゃんねるなので、あきらめてください
>>618
うちのネット回線、すごい遅いんですよ
動画共有サービスで音楽を流しているだけで、ページを開くのがすごく遅くて

>>620
確かに無駄に増えますね、しかもメモリも無駄に使います
でも、苦肉の策なのでやりたくてやってるわけではないんです


623 :デフォルトの名無しさん:2009/10/03(土) 20:24:24
>>622

実際動かしてみればわかると思うけど
20/100点位ってとこか。

まあ、個人の自由だから好きにやればいい


624 :デフォルトの名無しさん:2009/10/03(土) 20:43:19
>>623
既に動かしてみましたが、やっぱり苦肉の策なので
そのうち暇になったらまた考え直します

625 :デフォルトの名無しさん:2009/10/03(土) 21:09:27
質問させて下さい。

「あいう」というような文字列に対して
文字コードへの変換(UTF-8)をしてやることで、
「%E3%81%82%E3%81%84%E3%81%86」という文字列を得たいのですが、
これはどのようにしたら実現可能でしょうか。

626 :デフォルトの名無しさん:2009/10/03(土) 21:13:11
java.net.URLEncoder.encode("あいう", "UTF-8");

627 :デフォルトの名無しさん:2009/10/03(土) 21:17:52
>>626
ありがとうございます!m(_ _)m

628 :デフォルトの名無しさん:2009/10/04(日) 13:24:29
質問よろしいでしょうか?
ユーザー管理用のマスタを作成して、そこに、ユーザーIDとパスワードを登録しておこうと思うのですが
セキュリティのため、パスワードは暗号化してマスタに登録したいのです。
そして、ログイン時に、暗号化したマスタのパスワードを復号化して入力されたパスワードと比較したいのですが
どのようにすればよいでしょうか?



629 :デフォルトの名無しさん:2009/10/04(日) 13:31:35
>>628
"java 暗号化" でググれ。
多分、JCEとかいうのを使えばできる。

630 :デフォルトの名無しさん:2009/10/04(日) 13:52:14
ふつうは、
* 復号する方法のない(一方通行の)方法で暗号化して保存。
* 入力を同じ方法で暗号化して一致するかどうかを見る。
とやる。


631 :デフォルトの名無しさん:2009/10/04(日) 14:46:15
オブジェクトを作るファクトリーメソッドでインスタンスを作るメソッドは
それぞれの作るもので違うメソッドを作るのか、一つのメソッドで引数によって
違うインスタンスをつくるのかどうか教えてください。

632 :デフォルトの名無しさん:2009/10/04(日) 15:03:06
どちらもありうる
例えば Charset#newDecoder() とか Charset#newEncoder() は前者の例
Calendar#getInstance(Locale) とか Cipher#getInstance(String) は後者の例であろう

633 :デフォルトの名無しさん:2009/10/04(日) 15:34:57
最近 IDE (NetBeans) を使い始めました。
ちょっとした作業をするプログラムを手早く書きたいだけでも
プロジェクトを作成する必要があるのでしょうか?
プロジェクトとは無関係の独立したソースを作成して
(あるいは別のエディタで書いたソースを開いて)、
ちょっとコードを書いて、コンパイルする、といったことは出来ますか?

634 :デフォルトの名無しさん:2009/10/04(日) 15:37:20
俺はeclipseだけど、そういう作業専用のプロジェクトを作ってあって、
ちょっとしたプログラムは全部そこに無造作に放り込んである

635 :デフォルトの名無しさん:2009/10/04(日) 16:01:07
作業用プロジェクトで作業するのが普通だな
結局はファイルがあちこち散乱するわけでどっかのプロジェクトに入れておく方が便利

636 :633:2009/10/04(日) 16:06:13
なるほどそういう方法があるんですね。
ありがとうございました。

637 :デフォルトの名無しさん:2009/10/04(日) 18:33:38
NetBeansなんて早く窓から投げ捨てろ

638 :デフォルトの名無しさん:2009/10/04(日) 18:48:10
NetBeansいいよ

639 :デフォルトの名無しさん:2009/10/04(日) 18:54:07
NetBeansはアウトラインの切り替えが楽 重いけど
全体セーブもしやすい

640 :デフォルトの名無しさん:2009/10/04(日) 20:18:59
NetBeasnでjviを使っていると、IDEごと死ぬ時があるので勘弁してくれ

641 :デフォルトの名無しさん:2009/10/04(日) 21:06:14
ここって初心者とは思えないほどレベル高くない?

642 :デフォルトの名無しさん:2009/10/04(日) 21:24:46
2ch自体がレベルの高いインターネットだからな

643 :デフォルトの名無しさん:2009/10/04(日) 21:36:01
ていうか専門的でオタクばっかりってところだろ
それに極めの極地にいる奴ばかりで頭おかしいのも多い
2CHやりすぎると頭が馬鹿になっちゃから気をつけたほうがいいよ

644 :デフォルトの名無しさん:2009/10/04(日) 22:14:34
やってると一定確率で頭おかしいのに遭遇するよなw
2chどっぷりで頭おかしくなってしまってる輩に…
数少ない優良板だけ利用するのが吉

645 :デフォルトの名無しさん:2009/10/04(日) 22:26:15
>>644
おまえがその噂の池沼だろボケ

646 :デフォルトの名無しさん:2009/10/04(日) 22:26:38
馬鹿と天才は紙一重

647 :デフォルトの名無しさん:2009/10/04(日) 22:33:19
たまにフラッシュで細々生計立ててるおっさんが出没するよね。ここ
質問に答えるわけでもなく、javaの愚痴だけいってすぐどっか行っちゃうけど
何あれ?2chやりすぎの馬鹿?w

648 :デフォルトの名無しさん:2009/10/04(日) 22:41:32
>>645
気短すぐるぞもちつけ

649 :デフォルトの名無しさん:2009/10/04(日) 22:43:06
HashMapは複数のスレッドが同時に書き込んだり削除したりすると
データが壊れるときいたのですが、読み込むだけだったら大丈夫なのでしょうか?


650 :デフォルトの名無しさん:2009/10/04(日) 22:48:19
書き込む人が誰もいなくてみんな読み込むだけなら大丈夫

651 :デフォルトの名無しさん:2009/10/04(日) 22:56:28
>>650
ありがとうございます。
書き込んでいる間に読み込んでも、値は保障されなくなるのでしょうか?
Java5のConcurrentHashMaoを使えば、複数スレッドの同時書き込みや
書き込み時に読み込んだりしても大丈夫なのでしょうか?

652 :デフォルトの名無しさん:2009/10/04(日) 23:07:08
HashMapは構造的な変更を行う場合は同期が必要とある
そうでなくても複雑なオブジェクトを格納する場合は可視性の問題が多分残る
ConcurrentHashMapは何しても大丈夫だがclearしてる最中にiterateしたらどうなるとか詳しいことはJavadocに書いてあるから自分で読め
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/HashMap.html
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/concurrent/ConcurrentHashMap.html

653 :デフォルトの名無しさん:2009/10/04(日) 23:10:45
iteratorもあって難しいですね。
removeはどうですか?

654 :デフォルトの名無しさん:2009/10/04(日) 23:23:36
どうって何がどうなのかわからん
どのremoveかもわからんし
言葉を省略しすぎだ
質問は具体的に

655 :デフォルトの名無しさん:2009/10/04(日) 23:38:10
Iterator.removeはどういうときを想定して設計したのかいまいち分かりませんでした。

656 :デフォルトの名無しさん:2009/10/04(日) 23:41:34
2次元のベクトルのクラスを作りたいのですが、携帯Javaでバージョンが1.4なので
ジェネリクスが使えません。
動作の内容が同じでint、floatかだけが違うようなクラスを作る際に
Vector2DI、Vector2DF
みたいに沢山作るのは面倒です。
何か良い方法ないでしょうか

657 :デフォルトの名無しさん:2009/10/04(日) 23:47:32
バージョンを5にする

658 :デフォルトの名無しさん:2009/10/04(日) 23:51:52
ポリモーフィズムで解決する

659 :デフォルトの名無しさん:2009/10/04(日) 23:53:39
>>656
単にエディタで型名を一括置換すれば済むんじゃないか?

660 :デフォルトの名無しさん:2009/10/05(月) 04:23:56
ふつうにObjectでもたせてキャストすればいい

661 :デフォルトの名無しさん:2009/10/05(月) 04:53:56
boxing ?

662 :デフォルトの名無しさん:2009/10/05(月) 09:13:48
class Hoge {
private URL url;
public getURL() {
retrun url;
}

URL sdf = hoge.getURL();
sdfのメソッドを使う処理

って処理をやったとする。この処理をするとHoge.urlに変更が加わるわけじゃん
もしも、Hoge.urlがHogeクラスの中で重要な役割を果たしていたら動きが変になるわけで
どうやって対処すればいいの?

public getURL() {
return new URL(url.toString());
}
ってのは出来ればやりたくない

663 :デフォルトの名無しさん:2009/10/05(月) 09:18:04
>>662
コンパイル通るのかと思って、試してみちゃったじゃないか。

664 :デフォルトの名無しさん:2009/10/05(月) 09:30:38
java.lang.URLはimutableじゃなかったっけ?

665 :デフォルトの名無しさん:2009/10/05(月) 09:49:23
> return new URL(url.toString());
> ってのは出来ればやりたくない
なぜ?
mutableなオブジェクトを副作用させないように外部公開するときの定石だろうが。

そもそもURLはimutableだと思うがね

666 :デフォルトの名無しさん:2009/10/05(月) 10:16:43
× imutable
○ immutable


667 :デフォルトの名無しさん:2009/10/05(月) 18:47:44
キね

668 :デフォルトの名無しさん:2009/10/05(月) 18:54:09
Java厨ってどうして頭悪いの???

669 :662:2009/10/05(月) 19:05:42
適当にURLクラスを選んだだけだから、>>663スマソ

>>665
単純にオブジェクトを作りたくないだけ
static ファクトリーメソッドを使うとなんちゃらってのが本に書いてあった気もするし

670 :デフォルトの名無しさん:2009/10/05(月) 19:15:38
>>668
理解できないおまえが一番頭悪い

671 :デフォルトの名無しさん:2009/10/05(月) 19:55:39
なぜオブジェクトを作りたくないのかわからない。大量に呼ばれるとか?

属性として保持するオブジェクトに対して、外部から操作されることで
自身のデータ一貫性が破られる恐れがあるのなら、
採りうる方策としては普通以下の2パターン。

・そもそもオブジェクトを外部に公開しない
・外部にはCloneされたオブジェクトを渡す(Sharrow、Deepコピーを含む)

672 :デフォルトの名無しさん:2009/10/05(月) 19:57:21
訂正。スマソ

Sharrow -> Shallow


673 :デフォルトの名無しさん:2009/10/05(月) 20:08:01
哀れなスズメ

674 :デフォルトの名無しさん:2009/10/05(月) 21:36:47
>>629>>630
レスありがとう
今日、会社で無事に出来ました。


675 :デフォルトの名無しさん:2009/10/05(月) 22:10:35
>>669
インスタンスの作成くらい気にしていたら何も出来ん
パフォーマンス?
バグ仕込むのとどっちがいいか考えろ
どうせ数ナノ秒しか変わらん

676 :デフォルトの名無しさん:2009/10/06(火) 00:12:38
そういえばJavaのcloneってshallow copyなんだっけ?
すごく使い辛い(というか使えない)と思うんだけど、deepじゃない理由って何かあるの?

677 :デフォルトの名無しさん:2009/10/06(火) 00:28:02
>>676
下手すると一撃でメモリを馬鹿食いするし、複製しちゃいけないもの(singletonとか)を複製して破綻する可能性があるし、そもそも全要素をdeep copyしないといけないケースなんてすごく限られてる。自クラスのインスタンスを引数にしたコンストラクタで十分だろ。


678 :デフォルトの名無しさん:2009/10/06(火) 00:56:36
deep copyされる方が困るだろ・・・
まあ、cloneを使うよりは自前でコピーコンストラクタ作る方が圧倒的に多いけどね

679 :デフォルトの名無しさん:2009/10/06(火) 02:04:25
なぁなぁ、お前らjavaの文法を教える時どうやってる?
友達にStringは==で比較すんな、拡張for文とか基本的な事を教えた
どうやってそいつに、コンストラクタの概念とnewについて教えるか困っている

680 :デフォルトの名無しさん:2009/10/06(火) 02:46:14
ヒープのメモリ図を描きながら説明する。
newでオブジェクトを作るとヒープに新しい領域が確保されて・・・という感じ。
下手な例え話するより聞き手も感動してくれる。

681 :デフォルトの名無しさん:2009/10/06(火) 03:04:32
文法っていうか概念だよな
クラスローダの大雑把な仕組み、ヒープとスタックの仕組み、GCの大雑把な仕組み、あたりを680のように図に書いてやるのがベスト
細かいことはいいからオブジェクトの生成については早めに教えるべき
ついでにStringだけは特殊なんだといえば==で比較とか馬鹿なやつは生まれない


682 :デフォルトの名無しさん:2009/10/06(火) 08:49:34
クラスローダについて教えてくれ

683 :デフォルトの名無しさん:2009/10/06(火) 09:21:25
クラスローダ(初心者向け解説)
クラスのメタデータ(設計図)を管理する仕組み
基本的にはなんらかのクラスがはじめて使用されるタイミングで、クラスのメタデータがclassファイルからロードされ、クラスローダに蓄積される
クラスのインスタンスを作成する場合、クラスローダ内のメタデータからどんなフィールドを持っているかを元に必要なメモリをヒープに確保する
ただし、メソッド情報などは全てのインスタンスで変わらないため、クラスローダ内のメタデータに保持され、共有して使われる

正確性はともかく、初心者でもこのくらいは知っておきたい部分ね

684 :デフォルトの名無しさん:2009/10/06(火) 09:29:08
さっぱりわかりません。

685 :デフォルトの名無しさん:2009/10/06(火) 10:25:38
>>680-681
ヒープの話してわかるかな?
基本情報技術者なのに今度で3回目のチャレンジの人だよ

クラス関係を教えるのは気が重いので、
今日はintとIntegerの違いを(順番おかしい?)教えてみるわ
2人教えているうちの1人は、for文(拡張じゃないよ)の使い方に悩んでいたので
本当にお前ら情報系の学生?って思うわ

686 :デフォルトの名無しさん:2009/10/06(火) 10:37:49
コンピュータサイエンス学科の過半数はfizzbuzzが出来ないという有名な記事があったけど、やはりそうなのか
教えるのも大変そうだな

687 :デフォルトの名無しさん:2009/10/06(火) 10:43:14
. 1. HTML    で検索した結果 1〜10件目 / 約5,040,000,000件
. 2. PHP      で検索した結果 1〜10件目 / 約2,970,000,000件
. 3. Java......   で検索した結果 1〜10件目 / 約 835,000,000件
. 4. Forth.    で検索した結果 1〜10件目 / 約 323,000,000件
. 5. Ruby..    で検索した結果 1〜10件目 / 約 275,000,000件
. 6. perl.....    で検索した結果 1〜10件目 / 約 245,000,000件
. 7. Python...   で検索した結果 1〜10件目 / 約 204,000,000件
. 8. pascal...   で検索した結果 1〜10件目 / 約 170,000,000件
. 9. Delphi    で検索した結果 1〜10件目 / 約 127,000,000件
10. VisualBasic...で検索した結果 1〜10件目 / 約 121,000,000件
11. lisp...      で検索した結果 1〜10件目 / 約.  26,700,000件
12. fortran     で検索した結果 1〜10件目 / 約.  21,300,000件
13. COBOL    で検索した結果 1〜10件目 / 約.  18,500,000件
14. HSP      で検索した結果 1〜10件目 / 約.  12,300,000件
15. FreeBasic.. で検索した結果 1〜10件目 / 約   6,320,000件
16. Tcl/Tk.     で検索した結果 1〜10件目 / 約   4,940,000件
17. QBasic     で検索した結果 1〜10件目 / 約   4,190,000件
18. VisualC....  で検索した結果 1〜10件目 / 約   1,360,000件
19. DarkBASIC. で検索した結果 1〜10件目 / 約   1,320,000件
20. BasicStudio で検索した結果 1〜10件目 / 約    304,000件
21. N88basic.   で検索した結果 1〜10件目 / 約    215,000件
22. f-basic     で検索した結果 1〜10件目 / 約    109,000件
23. ActiveBasic で検索した結果 1〜10件目 / 約.     89,800件
24. 99BASIC.... で検索した結果 1〜10件目 / 約.     11,500件

3Dprogramming で検索した結果 1〜10件目 / 約794,000件
2Dprogramming で検索した結果 1〜10件目 / 約. 57,400件

intel で検索した結果 1〜10件目 / 約729,000,000件
amd で検索した結果 1〜10件目 / 約355,000,000件

688 :デフォルトの名無しさん:2009/10/06(火) 10:46:57
なにこのスレ違いの流れ

689 :デフォルトの名無しさん:2009/10/06(火) 10:49:30
>>688
質問スレッドでむしろスレどおりの話題では?

690 :685:2009/10/06(火) 10:50:47
>>686
VBで課題を作れと言われて、
Dim rnd AS Random みたいにnewをどのタイミングで入れるのわからなくて
ずーっと違う所を見ている奴がいてなorzそいつが俺の友達

だから、どうやってnewとかコンストラクタの概念を教えるか困ってるわけ
せめて、for文くらい迷わず使えるようになれよwwwみたいな

691 :デフォルトの名無しさん:2009/10/06(火) 10:53:16
>>690
vbとjavaを並行して習ってるの?
混乱してるのはそのせい?

692 :デフォルトの名無しさん:2009/10/06(火) 10:58:16
>>685
わかるかな?じゃなくて理解してもらわなければどうにもならんだろ

>for文(拡張じゃないよ)の使い方に悩んでいた
それは明らかに採用が悪い
意味の分からんペーパーテストとかコミュ力とかを測る面接で採用したお前の会社が悪い
30分でもコード書かせれば適正なんて解るだろ

693 :デフォルトの名無しさん:2009/10/06(火) 12:44:55
>>679
newってやるとオブジェクトがメモリにぽこんと作られる
newってやる時の初期化とかできるのがコンストラクタ

コンストラクタは必要なければ作らなくても動く

適当に紙に絵を書きながらこんだけ伝えれば大丈夫だろう

694 :デフォルトの名無しさん:2009/10/06(火) 12:45:59
>>685
そりゃまったく勉強してなかった口だな

695 :デフォルトの名無しさん:2009/10/06(火) 13:27:08
昔の2種はコード書かないといけなかったけど
基本情報はマークシートだからな

696 :デフォルトの名無しさん:2009/10/06(火) 13:27:31
vectorにオブジェクト(BigInteger32個ぶんくらいであまり大きくない数値が入っている)を
入れていくと4000個くらい入れたあたりから急に処理が遅くなって一個入れるのに5秒くらい
掛かるようになります。
どうしたらいいですか?
メモリーは2ギガあります。

697 :デフォルトの名無しさん:2009/10/06(火) 13:32:30
>>696
capacity()であらかじめ十分なサイズを指定する。


698 :デフォルトの名無しさん:2009/10/06(火) 13:33:39
Vectorのコンストラクタに予定個数を渡す

699 :デフォルトの名無しさん:2009/10/06(火) 13:34:03
>>696
JavaVM内のヒープ不足、OSのメモリ不足、CPUのアドレス空間不足
などの可能性はある。
とりあえず、SunのJavaVMなら -Xmxオプションをいじってみたら?


700 :デフォルトの名無しさん:2009/10/06(火) 13:35:42
いまのところ
new Vector(10000,1000);
ってやってたけどだめでした。
それはこれとは違うんですか?

701 :デフォルトの名無しさん:2009/10/06(火) 13:37:40
ArrayListを使う

702 :デフォルトの名無しさん:2009/10/06(火) 13:41:01
>>701
やったけどだめでした。
>>699
やってみます。

703 :デフォルトの名無しさん:2009/10/06(火) 13:46:22
伝家の宝刀

「設計が悪い」

704 :デフォルトの名無しさん:2009/10/06(火) 13:47:13
>>703
正しい設計教えてください。

705 :デフォルトの名無しさん:2009/10/06(火) 13:56:45
確かにその程度で5秒もかかるなんて、重大な欠陥を持っていそうではあるな

706 :デフォルトの名無しさん:2009/10/06(火) 14:02:09
1秒もかからなかったよ

ArrayList<Test> al = new ArrayList<Test>();

System.out.println("start!");
for (int i=0; i< 4000; i++) {
 al.add(new Test());
}

System.out.println("end!");


707 :デフォルトの名無しさん:2009/10/06(火) 14:04:21
ハードの問題だろw

708 :デフォルトの名無しさん:2009/10/06(火) 14:11:37
>>706
Testのメモリーの使用量がが小さい。

709 :デフォルトの名無しさん:2009/10/06(火) 14:13:15
>>706
そもそもソースが汚い
コーディング規約をどこでも意識してない奴は無能だと言う

710 :デフォルトの名無しさん:2009/10/06(火) 14:14:00
というか、これよりいい設計なんていうのは
メモリーに保存しないでハードディスクに書き込むくらいしか思いつかない。
つまり、ハードディスクに保存するベクターがあればいいと思う。

711 :デフォルトの名無しさん:2009/10/06(火) 14:17:07
>>709
じゃあ、ちょっと直して見せてもらおうか。

712 :デフォルトの名無しさん:2009/10/06(火) 14:18:41
<Test>←1文字だろうが。

713 :デフォルトの名無しさん:2009/10/06(火) 14:20:26
Testはこうだよ

public class Test {
 
 ArrayList<BigInteger> al = new ArrayList<BigInteger>();
 
 public Test() {
  
  for (int i=0; i<32; i++) {
   al.add(new BigInteger("0"));
  }
  
 }

}


714 :デフォルトの名無しさん:2009/10/06(火) 14:20:38
>>711
int i=0; i< 4000

この辺とかイラっとするね
ひでぇよこれは

715 :デフォルトの名無しさん:2009/10/06(火) 14:20:57
アホか0はスターティック関数になってるから同じオブジェクト参照なんだよ。

716 :デフォルトの名無しさん:2009/10/06(火) 14:25:57
>>714
それは酷いね

717 :デフォルトの名無しさん:2009/10/06(火) 14:25:59


718 :デフォルトの名無しさん:2009/10/06(火) 14:29:19
>>714
じゃあ、ちょっと直してもらおうか

719 :デフォルトの名無しさん:2009/10/06(火) 14:32:22
int i=0; i<4000

720 :デフォルトの名無しさん:2009/10/06(火) 14:32:25
>>718
顔も汚いんだろうな

721 :デフォルトの名無しさん:2009/10/06(火) 14:33:05
int i = 0; i < 4000;

が一般的だろうね

722 :デフォルトの名無しさん:2009/10/06(火) 14:33:55
単なるマイルールじゃねーかよ

723 :デフォルトの名無しさん:2009/10/06(火) 14:40:33
getとsetをつけるメソッドはフィールドのオブジェクトを取る用で
それ以外には使うなと、このスレ言われました。
かわりに何を使えばいいですか?

724 :デフォルトの名無しさん:2009/10/06(火) 14:41:11
コーディング規約も知らないのかここの奴らは。

725 :デフォルトの名無しさん:2009/10/06(火) 14:41:59
身勝手コードな例:

int i=0; i< 4000

どっちつかずwwww
俺なら修正してコミットかけるね

726 :デフォルトの名無しさん:2009/10/06(火) 14:42:43
1000bitのBigIntegerを50000個追加で1秒

public static void main(String[] args) {
 Vector<BigInteger> list = new Vector<BigInteger>();
 Random rng = new Random();
 long start, end;

 start = System.nanoTime();

 for (int i = 0; i < 50000; i++) {
  list.add(new BigInteger(1000, rng));
 }

 end = System.nanoTime();
 System.out.println((end - start) / 1000000000d);
}

727 :デフォルトの名無しさん:2009/10/06(火) 14:47:44
int i= 0;i <4000

728 :デフォルトの名無しさん:2009/10/06(火) 14:48:18
>>726
その場合は、
144000回繰り返さないといけない。

729 :デフォルトの名無しさん:2009/10/06(火) 14:54:56
>>727
ネタにしてはよくやったなw
だが、これと同等のコードが>>706なのだ

730 :706:2009/10/06(火) 14:58:52
何を盛り上がってるのかと思えばスペースかよw
もっと根本的なところが糞コードかと思ったのに。


731 :デフォルトの名無しさん:2009/10/06(火) 15:02:44
>>728
じゃあこんな感じで

public class Test {
  ArrayList<BigInteger> list = new ArrayList<BigInteger>();
  Test(int num, int bits, Random rng) {
    while(num-- > 0) {
      list.add(new BigInteger(bits, rng));
    }
  }

  public static void main(String[] args) {
    ArrayList<Test> list = new ArrayList<Test>();
    Random rng = new Random();
    long start = System.nanoTime();
    for (int i = 0; i < 10000; i++) {
      list.add(new Test(32, 4096, rng));
    }
    long end = System.nanoTime();
    System.out.println((end - start) / 1000000000d + "秒");
    System.out.println(Runtime.getRuntime().totalMemory() + "バイト");
  }
}

732 :デフォルトの名無しさん:2009/10/06(火) 15:03:37
意識付いてないということはド素人だね。
たかが書き込みでもプロは気にするね。

733 :706:2009/10/06(火) 15:09:49
まあ、俺は回答する身分じゃなく質問する身分

734 :デフォルトの名無しさん:2009/10/06(火) 15:12:18
なんかよく分からんし再現もしないから、
再現するソースとOSやJavaのバージョンの情報をうpして。

735 :デフォルトの名無しさん:2009/10/06(火) 15:57:00
test

736 :デフォルトの名無しさん:2009/10/06(火) 19:51:39
src.zip(JDK)を見ていたらストリームを使い終わった後に、変数にnullを入れていた
br = null;
ストリームはbr.close()した後でも、インスタンスをGCが削除してくれない可能性があるって事なのか?
GCのタイミングが〜、とかってのはなしで

737 :デフォルトの名無しさん:2009/10/06(火) 19:55:05
brのスコープ次第では?

738 :デフォルトの名無しさん:2009/10/06(火) 20:04:21
>>737
なるほどね、確かにそのストリームもフィールドに宣言してあった
これからはフィールドにストリームを宣言した時は、nullを入れるようにするわ

739 :デフォルトの名無しさん:2009/10/06(火) 21:13:42
Fileクラスのlist()でディレクトリ内のファイル名を取得してそのファイルを処理してるんだけど
ファイル数が膨大過ぎてメモリ不足で落ちてしまう(String配列の取得し過ぎで)。
ってな状況なんだけど、なんか解決策ありませんか(´・ω・`)?

ちなみにそのフォルダに投げ込まれるファイルの名前はランダムです。
1件1件取得してく方法とかないでしょうかね?

740 :デフォルトの名無しさん:2009/10/06(火) 21:17:23
どんだけ詰め込んだらlist()だけで落ちるんだよ・・・
全部処理しなければならないのか?
もし、処理している中で落ちるならば処理の方に問題はないか?

741 :デフォルトの名無しさん:2009/10/06(火) 21:18:23
あと実行時のヒープサイズと実行環境のスペックもよろしく

742 :デフォルトの名無しさん:2009/10/06(火) 21:21:45
>>739
当然起動時にオプションでヒープサイズは増やしてるよね?

743 :デフォルトの名無しさん:2009/10/06(火) 21:38:16
(´・ω・`)

744 :739:2009/10/06(火) 21:52:34
実際にぽんぽん落ちてるわけではないんだけど
落ちる可能性を考慮して組まなきゃい状況なんです。
が、その考慮が思いつかなくて・・・

全部処理しなければならないんですが
処理してる最中についての異常系処理(?)はしてあります。
list()で取得する部分だけが思いつかないのです(´・ω・`)

745 :デフォルトの名無しさん:2009/10/06(火) 21:59:28
URL、ページのタイトル、更新日の3つで1セットStringがあるんだけど
これを、30〜50セットくらい作らんといけない
たぶん、4つ目の項目は追加しないと思うし、基本的には参照するだけ

・List x3でデータを管理する
・適当にクラスを作る
・その他
お前らだったらどうする

746 :デフォルトの名無しさん:2009/10/06(火) 22:01:50
(^ω^)

747 :デフォルトの名無しさん:2009/10/06(火) 22:08:00
クラスにする。


748 :デフォルトの名無しさん:2009/10/06(火) 22:09:23
>>744
質問に答えろ

>>745
どうしてクラスを作ることをためらう?

749 :745:2009/10/06(火) 22:13:22
>>748
参照だけなのに、構造体みたいに使うには抵抗があるから
List<String> urlList = new ArrayList<String>();だとちょっと使い辛い気もするけど

夏休み中と比べるとこのスレかなりレベルが上がってきた気がする
変なのも減ったし

750 :デフォルトの名無しさん:2009/10/06(火) 22:15:56
>>744
FilenameFilterでstartsWithすればいいんじゃね。
String[] list(FilenameFilter filter)

そもそも手法そのものを見直したほうがいいと思うけど。

>>749
振る舞いのないObjectがあっていけない理由はないでしょ?

751 :デフォルトの名無しさん:2009/10/06(火) 22:17:44
このスレかなりレベル上がってきた気がする(キリッ

752 :デフォルトの名無しさん:2009/10/06(火) 22:21:45
データを保持するだけのオブジェクト
何も問題無いだろw

753 :745:2009/10/06(火) 22:22:27
>>747-748,>>750
レス見ているとクラス作った方が、楽そうだからクラスを作ってみる事にした
クラスが必要ないと思ったら、List x3にすればいいだけの話だし

トンクス

754 :デフォルトの名無しさん:2009/10/06(火) 22:23:54
というかArrayListもクラスなんですけど。

755 :デフォルトの名無しさん:2009/10/06(火) 22:26:12
>>753
それがいいと思うよ。

ちなみにJ2EEなんかではDTO(DataTransferObject)というのがあってだね、
こいつはまさにデータを保持するだけのオブジェクトだったりするのよ。
(本来の意味はもうちょっと深いんだけど)

756 :デフォルトの名無しさん:2009/10/06(火) 22:51:19
>>755
DTOなんてAWTにもあるわw

757 :デフォルトの名無しさん:2009/10/06(火) 22:55:26
バリューオブジェクトとなにが違うの?

758 :デフォルトの名無しさん:2009/10/06(火) 22:59:21
名前空間に関する質問です
インターフェースクラス及び、インプリメントするクラスに
package com.mod.live;
この宣言がしてあります
c:\package com.mod.live;
この配下でコンパイルをするのですが、「シンボルを見つけられません」とエラーがでてしまいます。
package com.mod.live;
この行をコメントアウトしますと、コンパイルできるのですが、
当該行をコメントアウトせずに、コンパイルできる正しい方法を教えてもらえないでしょうか。

759 :デフォルトの名無しさん:2009/10/06(火) 23:01:05
Eclipseを使うか、階層構造とパッケージの関係について調べてこい

760 :デフォルトの名無しさん:2009/10/06(火) 23:01:41
>>748
すまない(´・ω・)
全部処理しなければならない。
処理してる中で落ちるわけではない。
ヒープサイズは増やしてない。

>>750
ちょっとよくわからないが、調べて見る。
手法そのもの見直したほうが良いのは深く同意なんだが
時間が・・・orz

761 :デフォルトの名無しさん:2009/10/06(火) 23:02:17
>>745
publicのクラスを作りたくないならインナークラスでもいいだろ
別々に管理する方がややこしい

762 :デフォルトの名無しさん:2009/10/06(火) 23:04:17
>>760
標準のJREだとヒープは32MBくらいしかとらない
でかい処理するんだったら128MBくらいとっておくべき
何やるんだか知らないからいくつが適当かは知らん。
あとおまじない程度だが、1ファイル処理した後にループの最後、gcを宣言しておくと改善するかもしれない

763 :デフォルトの名無しさん:2009/10/06(火) 23:08:32
>>756
初耳だな。
つかAWTでプロセスやらコネクション跨ぐシチュエーションって
パターン化するほど普通に出てくるの?

>>757
明確に区別されてる(されるべき)と思う。
ValueObjectはどちらかと言うとプリミティブな値に近い存在で、
immutableとかsingletonにデザインされている(されるべき)なんでは。

764 :デフォルトの名無しさん:2009/10/06(火) 23:13:37
>>758

c:\package com.mod.live;
が何を意味しているのかわからない。

たとえばInterfaceがFoo.java、実装クラスがBar.javaとする。
C:\src\com\mod\live\Foo.java
C:\src\com\mod\live\Bar.java
にファイルを保存し、

> C:
> cd C:\src\
> javac C:\src\com\mod\live\Bar.java
と実行しよう。

765 :デフォルトの名無しさん:2009/10/06(火) 23:14:55
>>763
ValueObjectは別にimmutableやsingletonである必要は全くないな
そうであったほうが良いケースはDTOに比べれば多いけど

クラスとしては振る舞いをほとんど持たないデータクラスであることは変わらないが、
DTOはデータベースなどの永続化システムから、画面などに表示されるまでのデータを一時的に格納する目的で使われるって違いがある程度。
ValueObjectは一般的に値がぶっこまれている程度の緩い定義。
とはいえ、いろんな属性がてんこ盛りだったり子データを持つような場合はあんまりValueObjectとは言わないと思う

766 :デフォルトの名無しさん:2009/10/06(火) 23:24:08
>>765
ValueObjectの解釈は結構広くて、
たしかに不変性を考慮しないケースも実際には多いだろうね。

個人的にはFowlerの提唱するパターンについては
認識していたほうがいいと思う(採用するかは別問題だけど)

http://martinfowler.com/bliki/ValueObject.html

767 :デフォルトの名無しさん:2009/10/06(火) 23:29:56
C++のconstみたいのってJavaにはないんですか?
メソッドで返したクラスの内容を一切変更されないようにしたいです。
(getter以外にはアクセス不能にしたい)

768 :デフォルトの名無しさん:2009/10/06(火) 23:38:38
ない

769 :デフォルトの名無しさん:2009/10/07(水) 00:03:41
C++のconstって例えばconstメンバ関数?
あれって高機能なクラスでまともに機能させるのは大変なんじゃない?

Javaでは防御的にオブジェクトをコピーして返す方法が一般的。
コピーならいくらでも非constメソッド(まぁJavaにはないけど)呼ばれても平気だしね。

770 :デフォルトの名無しさん:2009/10/07(水) 00:13:21
「final」じゃだめなの?

771 :デフォルトの名無しさん:2009/10/07(水) 00:20:20
>>767
getterのみのインターフェースかぶせて、そのインターフェースの型でやりとりするとか。

772 :デフォルトの名無しさん:2009/10/07(水) 00:30:58
>>770
だめ

773 :デフォルトの名無しさん:2009/10/07(水) 00:32:21
>>770

1、クラスに付いていたら継承できなくするため。
2、メソッドに付いてる場合は継承先でOverrideさせないため。
3、仮引数に付いている場合は引数の代入をできなくするため。
4、変数の宣言部で付いてるときは変数の値を再代入できないようにするため。

どれもsetterのようなオブジェクトの内部状態の変更を禁止する用途ではない。

4、のパターンを言ってるのかもしれないけど、
「参照の代入ができるかどうか」、というのと、
「ある参照が指すオブジェクトの属性を書き換えられるかどうか」は別ものかと。

774 :デフォルトの名無しさん:2009/10/07(水) 00:32:40
finalでどうやったらconstメンバ関数を実現できるのか?

775 :デフォルトの名無しさん:2009/10/07(水) 00:33:43
できない

776 :デフォルトの名無しさん:2009/10/07(水) 00:33:44
>>771
そのやり方には本質的な問題がある。
仮に、悪意のあるクライアントがInterfaceで隠蔽されたオブジェクトの本当の型を知っていた場合、
本来の型にキャストした上でオブジェクトの内部状態が変更される可能性がある。

その参照が他のコンテキストからも使用されている場合、
同じ参照を利用する全てのクライアントに影響が及んでしまう。

ある特定のクライアント自身の意思(責任)でオブジェクトの内部状態を変えるのであれば、
その影響が意図しない別のクライアントに及ぶ可能性があってはいけない。

777 :デフォルトの名無しさん:2009/10/07(水) 00:37:15
JDK1.5でコンパイルしたファイルってJDK1.4で実行はできないものなんでしょうか?
JKD1.5特有の記述がなければ動くってことはないのでしょうか?

778 :デフォルトの名無しさん:2009/10/07(水) 00:40:17
>>777
別にソースを見てJVMが動くわけじゃない

779 :デフォルトの名無しさん:2009/10/07(水) 00:43:51
JDK1.5でも1.4互換でコンパイルすれば動く

780 :デフォルトの名無しさん:2009/10/07(水) 00:47:58
classの先頭にバージョン番号が打ってあって、JVMより新しいバージョンだと普通動かない。
できればJDKと実行環境のバージョンはそろえたほうがいいけど、
コンパイル時にオプション「-source 1.4 -target 1.4」を渡せば実行可能なclassは生成できるはず。

781 :デフォルトの名無しさん:2009/10/07(水) 01:32:34
>>776
まさにconst_cast

782 :デフォルトの名無しさん:2009/10/07(水) 04:45:00
>>764
>>758 です、どうもありがとうございます
コンパイルは成功し、いろいろ調べて
cd \src
>java com.mod.live.Bar
このように実行しますと
Exception in thread "main" java.lang.NoSuchMethodError: main
このようなエラーになるのですが?


783 :デフォルトの名無しさん:2009/10/07(水) 04:56:38
>>782
それは、Barの中にmainが無いからだろ

784 :デフォルトの名無しさん:2009/10/07(水) 07:18:52
>>782です
Bar.java のmain メッソッド部分が
public void main(String[] args)
このようになっています
public static void main(String[] args)
このように修正したら、コンパイルも実行も成功するのですが?
これが正解ですよね?

785 :デフォルトの名無しさん:2009/10/07(水) 07:28:30
>>784
オマエの正解は知らないが、試してみればよい話では?

786 :デフォルトの名無しさん:2009/10/07(水) 11:12:14
>>784
mainくらい覚えとけ

787 :デフォルトの名無しさん:2009/10/07(水) 11:43:44
MIDletにmain書いてeclipseでrun as...したら自分で書いた方のmainが実行されてフイタことならある。

788 :デフォルトの名無しさん:2009/10/07(水) 11:47:24
>>787
低能乙

789 :デフォルトの名無しさん:2009/10/07(水) 15:01:41
Helloworldとコンソールに出したいのですが
HelloWorldとなってしまいます。
どうしたらいいのでしょう。

public class Test {
  public static void main(String[] args) {
    System.out.println("HelloWorld");  
  }
}

790 :デフォルトの名無しさん:2009/10/07(水) 15:08:11
プログラミングを諦めるのがいいと思います。

791 :デフォルトの名無しさん:2009/10/07(水) 15:11:02
もうすこしひねりが欲しいですね。まったくおもしろくないですもの。

792 :デフォルトの名無しさん:2009/10/07(水) 20:01:04
>>789
Helloworldはかなり難しいから素人にはオススメできない。
10年くらいのキャリアがあってやっと書けるかどうか。
俺はまだ8年くらいだからかなり無理した。

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

public class Test {
public static void main(String[] args) {
PrintStream ps = System.out;
ByteArrayOutputStream src = new ByteArrayOutputStream();
System.setOut(new PrintStream(src));

System.out.println("HelloWorld");

byte[] baa = ("Helloworld" +
System.getProperty("line.separator")).getBytes();
byte[] ba = src.toByteArray();
for (int i = 0; i < ba.length && i < baa.length; i++)
if (ba[i] != baa[i]) ba[i] = baa[i];
ps.println(new String(ba));
}
}

793 :デフォルトの名無しさん:2009/10/07(水) 20:06:02
>>792
お前天才だなww
俺にはとてもそんなコードは書けねぇwww

794 :デフォルトの名無しさん:2009/10/07(水) 20:08:47
APIスパゲッティ(笑)

795 :デフォルトの名無しさん:2009/10/07(水) 20:12:41
public class Test {
  public static void main(String[] args) {
    System.out.println("Helloworld");
  }
}

でいけるだろ。馬鹿じゃねーのか

796 :メ欄嫁:2009/10/07(水) 20:15:01
>>795
wwwwwwwwwwwwww

797 :デフォルトの名無しさん:2009/10/07(水) 20:16:45
面白いわw

798 :デフォルトの名無しさん:2009/10/07(水) 20:17:47
求む、DarkBASIC・3Dプログラマー。

学歴:高校生程度

必要な知識:三角関数の簡単な知識

求めるもの:広範な探究心

799 :デフォルトの名無しさん:2009/10/07(水) 20:39:09
>>798
http://www.geocities.jp/gmatome/

800 :デフォルトの名無しさん:2009/10/07(水) 20:53:53
受信したメールをDBに登録したいんですが…、どなたかアドバイスを頂けませんか?

801 :デフォルトの名無しさん:2009/10/07(水) 21:03:08
>>800
Youもっと具体的に聞いちゃいなYO

802 :デフォルトの名無しさん:2009/10/07(水) 21:05:27
>>800
使われ方をよく考えてテーブルを設計しろ
何で検索したいかは重要だ

803 :デフォルトの名無しさん:2009/10/07(水) 21:16:23
なにが問題なのかが解りません

804 :デフォルトの名無しさん:2009/10/07(水) 22:27:32
>>801
javaでやる必要があるかどうかは分かりませんけど…、受信したメールをDBに登録して、DBに登録してあるWEBアプリケーションを作りたいです。

>>802
テーブル設計は既に終わっています。
フリーメール等で受信したメールを自動的にDBに登録したりする為にはどうすればいいですか?


805 :デフォルトの名無しさん:2009/10/07(水) 22:28:09
メールとJavaプログラムの連携の仕方を聞いてるんだろ
それぐらい察して適切な回答しろや

806 :デフォルトの名無しさん:2009/10/07(水) 22:28:50
>>801
誤字がありました。
DBに登録してあるメールを表示させるWEBアプリケーションを作りたいです。

807 :デフォルトの名無しさん:2009/10/07(水) 22:43:09
「java mail」と「jdbc」でググレ

808 :デフォルトの名無しさん:2009/10/07(水) 22:43:31
>>806

何が聞きたいのかよくわからない。
具体的に質問したほうが回答付きやすいよ。

JavaMailで受信->永続化のためにデータコンバート->JDBC/適当なORマッパでDBへ永続化
でいいんじゃないの?
自動的にDBに登録っていうのが気になるけど。

809 :デフォルトの名無しさん:2009/10/07(水) 22:48:43
メールサーバからメールを受信してDBに放り込む、というプログラムなら
>>808氏の通り
すでに一般のメールクライアントで受信済みのメールをDBに放り込む、なら
・・・やり方わからん

810 :デフォルトの名無しさん:2009/10/07(水) 22:51:43
>>806
メールサーバ立ててメールはそこに転送する
で、その鯖に適当なWebメールクライアント突っ込む

でいいんじゃない?
Java が御所望なら JAMES があるし

811 :デフォルトの名無しさん:2009/10/07(水) 22:52:15
当然分からないことはぐぐってから質問してるよな?

812 :デフォルトの名無しさん:2009/10/07(水) 22:52:37
意味が分からん。
Javaでメールを受信するのか?
Gmailとかで表示しているメールをどうにかしたいのか?
Outlookとかで受信したメールをどうにかしたいのか?

813 :デフォルトの名無しさん:2009/10/07(水) 22:54:35
baka

814 :デフォルトの名無しさん:2009/10/07(水) 23:02:15
フリーメールって言ってるからwebメールなんじゃね?
自サーバーではなくヤホーとかぐーぐるとかのwebメールを何とかして取り出してDBに入れたいんだろ

815 :デフォルトの名無しさん:2009/10/07(水) 23:10:09
言葉足らずで申し訳ございません。
フリーメールで受信した内容を何とかして取り出してDBに入れたいんですが…、無理でしょうか?



816 :デフォルトの名無しさん:2009/10/07(水) 23:14:09
YahooならPOPで取り出せるけど

817 :デフォルトの名無しさん:2009/10/07(水) 23:15:50
ウェブ系のフリーメールの場合でも、
通常はPOPプロトコルによるメール受信が可能になっている。
POPで受信するだけならJavaMailで簡単に実装できる。

818 :デフォルトの名無しさん:2009/10/07(水) 23:22:35
皆様回答ありがとうございます。

>POPで受信するだけならJavaMailで簡単に実装できる。
その後DBに登録するのも簡単にできますか?

819 :デフォルトの名無しさん:2009/10/07(水) 23:25:15
DBへの保存はJDBCで簡単に出来るよ。
もちろんSQLの基本も理解してないと無理だけど。
テーブル設計できるなら大丈夫だよね?

820 :デフォルトの名無しさん:2009/10/07(水) 23:31:59
そろそろググれこのやろー

821 :デフォルトの名無しさん:2009/10/07(水) 23:34:54
ぶっちゃけ総合的に知識が少なすぎると思われ
まずは、JavaMaildでぐぐってお前さんのメールをダウンロードしてテキストファイルにでも出力とか、そこまでやってみたら?
DB云々はその後に調べて、解らなければまた質問
順番に1つづつ解決していくべき

822 :デフォルトの名無しさん:2009/10/07(水) 23:36:40
本当に皆様稚拙な質問に、回答してくださってありがとうございます。
とりあえず作成してみます。

>>819
今一イメージがわかないのでとりあえず作ってみます。
JDBCとSQLは問題なく大丈夫です。


823 :デフォルトの名無しさん:2009/10/07(水) 23:49:09
>>760
VisualVMあたりでメモリの消費状況見ながら評価しとけ。
C:\Program Files\Java\jdk1.6.0_NN\bin\jvisualvm.exe
「これくらいヒープとっとけば大丈夫」くらいの当たりは付くだろ。

824 :デフォルトの名無しさん:2009/10/08(木) 00:24:50
>>822
うせろage厨房

825 :デフォルトの名無しさん:2009/10/08(木) 07:56:49
>>807
jdbcなんて今やつかわないよ

826 :デフォルトの名無しさん:2009/10/08(木) 08:19:41
>>825
俺は使うよ

827 :デフォルトの名無しさん:2009/10/08(木) 08:20:03
>>825
何使ってんの?

828 :デフォルトの名無しさん:2009/10/08(木) 08:43:00
内部じゃJDBCだろうけど通常はO/Rマッピングでやるよ
iBatisとか
直接いじるくらいならコネクションプール自作できるくらい理解してるのかな?
俺はできるが、オラクルのインスタンスも自在だけどね

829 :デフォルトの名無しさん:2009/10/08(木) 08:43:26
JTAとか使うって意味かな

830 :デフォルトの名無しさん:2009/10/08(木) 08:46:31
俺はできるだけ生が好きだからJDBC生でやるよ。

831 :デフォルトの名無しさん:2009/10/08(木) 08:48:26
>>828
Webサーバでメールが読めるようにって言ってるから、
むき身のJDBCだと大変なのかな?

832 :デフォルトの名無しさん:2009/10/08(木) 08:52:20
勉強になるからかえっていいんじゃね

833 :デフォルトの名無しさん:2009/10/08(木) 08:57:19
>>831
大変うんぬんではないよ
俺が察するにDMデリバリーシステムとして稼働させるつもりなんだろう
俺もかつて作ったことあるけどJDBCが問題なのではない
語弊があったのならすまん

>>832
それも正解だ
最初はJDBCを理解した上で使うもんだと俺も思う

834 :デフォルトの名無しさん:2009/10/08(木) 08:58:27
なんだこのレベルの低さは

835 :デフォルトの名無しさん:2009/10/08(木) 09:00:27
>>834
お前が一番底辺だろ

836 :デフォルトの名無しさん:2009/10/08(木) 09:45:06
っていうかO/RマッパなんてJavaでしか流行ってないし


837 :デフォルトの名無しさん:2009/10/08(木) 09:47:51
>>836
スレタイ読めないking of stupid

838 :デフォルトの名無しさん:2009/10/08(木) 10:05:36
>>836
じゃあ、正解だな。

839 :デフォルトの名無しさん:2009/10/08(木) 12:20:07
JAVAはメモリーがデフォルトで64メガしか使えないみたいだけど、
いちいち使うときにオプション追加してくださいって書くの?
実行時にふやせないんだろ?
64メガ以下しか使わないしょぼいプログラムばっかみんなやってんの?

840 :デフォルトの名無しさん:2009/10/08(木) 12:23:05
>>839
そうですね

841 :デフォルトの名無しさん:2009/10/08(木) 12:37:11
>>839
ランチャも作って設定ファイルから読み込めるようにするとか
exe化ツール使うとメモリ設定できるのもあった気がする

842 :デフォルトの名無しさん:2009/10/08(木) 16:10:46
>>839
あなたのしょぼい脳と同程度のプログラムばかり制作しております。

843 :デフォルトの名無しさん:2009/10/08(木) 16:33:20
>>839
運用時は勝手に拡張されるがな
Tomcatなんかの場合は指定しないとエラー出るけどな

844 :デフォルトの名無しさん:2009/10/08(木) 16:47:27
>>839
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/gc-ergonomics.html
> 最大ヒープサイズ:
> 物理メモリーの 1/4 か、1GB かの小さい方。
> J2SE 5.0 より前のデフォルトの最大ヒープサイズは 64MB。
> このデフォルトは、-Xmx コマンド行オプションを使用してオーバーライドが可能

845 :デフォルトの名無しさん:2009/10/08(木) 18:05:17
>>834,837
なんかさ、おまえが一番寒い

846 :デフォルトの名無しさん:2009/10/08(木) 18:06:29
>>845
お前は存在価値すらないけどな
たいしてJavaできないくせに

847 :デフォルトの名無しさん:2009/10/08(木) 18:08:38
なんつーかこいつの寒さは、ノリノリっていうか70年代のノリなんだよね…
どうせこのバカ、平成ゆとりなんだろうけど、どこにでもいるゴミって感じ

848 :デフォルトの名無しさん:2009/10/08(木) 18:11:49
>>847
お前はそのゴミの中のカスだよ
無能とは怖いね、自分の無知を知らないことは一番恐ろしい

849 :デフォルトの名無しさん:2009/10/08(木) 18:27:34
ファイルを読み込んでいる時に、データが壊れる可能性ってあるけでしょ
そのデータをクラスが読み込んでしまった時、どのように出しているわけ
IOExceptionを出そうかと思うけど、チェックするのが面倒くさい

850 :デフォルトの名無しさん:2009/10/08(木) 18:38:17
>>849
聞き方がなってない
無能の象徴だな

851 :デフォルトの名無しさん:2009/10/08(木) 19:02:24
Eclipse+Tomcat+MySQLでデータソースを利用してデータベースにアクセスすることをしてますけど
Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
というエラーがでます。

EclipseでMySQLのドライバー定義は済ませていて、データベース開発パースペクティブからはデー
タベースを操作できてます。(アプリディレクトリ)/WebContent/META-INF/context.xmlに以下を記述
して実行すれば良いんですよね?

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/selfjsp" auth="Container" type="javax.sql.DataSource" username="root" password="*******"
       driverClassName="com.mysql.jdbc.Driver"
       url="jdbc:mysql://localhost/selfjsp?useUnicode=true&characterEncoding=Windows-31J" maxActive="4"
       maxWait="5000" maxIdle="2" />
</Context>

852 :851:2009/10/08(木) 19:07:39
Resourceの属性はドライバ定義のものを使用してます。
独習Javaサーバサイド版を参考にしているのでデータベース名がselfjspになってます。

853 :デフォルトの名無しさん:2009/10/08(木) 19:10:39
>>851
単純にtomcatからJDBCドライバが見えないとかはないの?

854 :デフォルトの名無しさん:2009/10/08(木) 19:22:14
Tomcat インストールディレクトリ\lib に jdbc ドライバをコピー

855 :851:2009/10/08(木) 19:33:15
プロジェクトの設定で"Java Build Path"のLibrariesタブの"Add External JARs"を
押しmysql-connector-java-x.x.x-bin.jarを"Java Build Path"に追加してますが駄目
ですか?

そういえば"Build Path"だから実行時には影響しないですかね。

(アプリディレクトリ)/WebContent/WEB-INF/libにもconnector-javaは置いてあるの
ですけど。

856 :855:2009/10/08(木) 19:41:02
>>854
仰るディレクトリにjdbcドライバをコピーしたらドライバがロードできました。
(アプリディレクトリ)/WebContent/WEB-INF/libに置くならTomcatの場合web.xmlになんらか
追加する必要があるということですか?

857 :デフォルトの名無しさん:2009/10/08(木) 20:29:36
>>856
auth="Container" だから、コンテナがロードする場所に置いておく必要があるのだと思う(多分)
auth="Applicatoin" なら WEB-INF/lib でいい(多分)

858 :857:2009/10/08(木) 23:44:51
自己レス
データソースを利用する場合、DB アクセスはコンテナが行うので
コンテナの CLASSPATH 上に JDBD ドライバが必要

859 :デフォルトの名無しさん:2009/10/09(金) 00:34:14
>>848
で、ageちゃうんですか?w

860 :デフォルトの名無しさん:2009/10/09(金) 01:24:17
新手の構ってちゃんだろ
こういう奴が一番醜い死ね

861 :デフォルトの名無しさん:2009/10/09(金) 03:53:55
Yahoo!プログラミング言語検索ランキング(今回2009/10/9、前回2009/10/6)

. 1(. 1) HTML      約5,030,000,000件(約5,040,000,000件)-
. 2(. 2) PHP        約2,980,000,000件(約2,970,000,000件)+
. 3(. 3) Java....     約 832,000,000件(約 835,000,000件)--
. 4(. 4) Forth.      約 322,000,000件(約 323,000,000件)-
. 5(. 5) Ruby..      約 274,000,000件(約 275,000,000件)-
. 6(. 6) perl.....      約 244,000,000件(約 245,000,000件)-
. 7(. 7) Python...     約 205,000,000件(約 204,000,000件)+
. 8(. 8) pascal...     約 170,000,000件(約 170,000,000件)0
. 9(. 9) Delphi      約 127,000,000件(約 127,000,000件)0
10(10) VisualBasic...  約 121,000,000件(約 121,000,000件)0
11(11) lisp...        約.  26,700,000件(約.  26,700,000件)0
12(12) fortran.......    約.  21,300,000件(約.  21,300,000件)0
13(13) COBOL.....   約.  17,900,000件(約.  18,500,000件)--
14(14) HSP        約.  12,300,000件(約.  12,300,000件)0
15(15) FreeBasic..   約   6,310,000件(約   6,320,000件)-
16(16) Tcl/Tk......    約   4,940,000件(約   4,940,000件)0
17(17) QBasic.....    約   4,180,000件(約   4,190,000件)-
18(18) VisualC....    約   1,340,000件(約   1,360,000件)--
19(19) DarkBASIC .  約   1,330,000件(約   1,320,000件)+
20(20) BasicStudio   約    302,000件(約    304,000件)--
21(21) N88basic......  約    217,000件(約    215,000件)++
22(22) f-basic.......    約    109,000件(約    109,000件)0
23(23) ActiveBasic   約.     90,100件(約.     89,800件)++
24(24) 99BASIC....   約.     11,300件(約.     11,500件)--

3Dprogramming 約790,000件(約794,000件)--
2Dprogramming 約. 57,600件(約. 57,400件)++
intel 約726,000,000件(約729,000,000件)--
amd 約352,000,000件(約355,000,000件)--

862 :デフォルトの名無しさん:2009/10/09(金) 03:59:11
C  約13,400,000,000件

863 :デフォルトの名無しさん:2009/10/09(金) 07:39:24
(  ゚-゚  )

864 :デフォルトの名無しさん:2009/10/09(金) 09:06:54
Z 約4,430,000,000件

865 :デフォルトの名無しさん:2009/10/09(金) 09:28:12
A .で検索した結果 1〜10件目 / 約31,100,000,000件
I ...で検索した結果 1〜10件目 / 約17,700,000,000件
S .で検索した結果 1〜10件目 / 約14,100,000,000件
C . で検索した結果 1〜10件目 / 約13,400,000,000件
E.....で検索した結果 1〜10件目 / 約11,500,000,000件
O . で検索した結果 1〜10件目 / 約. 9,970,000,000件
M....で検索した結果 1〜10件目 / 約. 8,740,000,000件
P .で検索した結果 1〜10件目 / 約. 8,650,000,000件
D .で検索した結果 1〜10件目 / 約. 8,440,000,000件
B .で検索した結果 1〜10件目 / 約. 8,420,000,000件
U .で検索した結果 1〜10件目 / 約. 7,980,000,000件
N .で検索した結果 1〜10件目 / 約. 7,960,000,000件
T .で検索した結果 1〜10件目 / 約. 7,530,000,000件
Y .で検索した結果 1〜10件目 / 約. 7,490,000,000件
X . で検索した結果 1〜10件目 / 約. 6,850,000,000件
W で検索した結果 1〜10件目 / 約. 6,770,000,000件
L .で検索した結果 1〜10件目 / 約. 6,700,000,000件
V . で検索した結果 1〜10件目 / 約. 6,620,000,000件
F .で検索した結果 1〜10件目 / 約. 6,570,000,000件
R . で検索した結果 1〜10件目 / 約. 6,400,000,000件
G....で検索した結果 1〜10件目 / 約. 5,950,000,000件
H . で検索した結果 1〜10件目 / 約. 5,290,000,000件
K . で検索した結果 1〜10件目 / 約. 5,000,000,000件
J .で検索した結果 1〜10件目 / 約. 4,850,000,000件
Q....で検索した結果 1〜10件目 / 約. 4,300,000,000件
Z .で検索した結果 1〜10件目 / 約. 4,430,000,000件

866 :デフォルトの名無しさん:2009/10/09(金) 09:42:59
>>865
スレ違いうぜーぞ

867 :デフォルトの名無しさん:2009/10/09(金) 12:36:15
文字化けを回避したいんですけど中々うまくいきません。
DB(文字コード:EUC)
 ↓
JDBC
 ↓
SELECT文で’梶fという値を取得
 ↓
System.out.printlnで見ると’梶fが’?’に化ける

SELECTで取得した’梶fの値に文字コード変換をかけて回避しようとしたのですが・・・

 String value = list.get(0); //SELECTで’梶fという値は取得済み、valueに挿入
 System.out.println(value): //この時点で’?’に化けている
 
 value = new String(getByte(value, "EUC_JP"), "8859-1"); //文字コード変換処理
 
 System.out.println(value): //別の変な文字に化けている’。ゥ’のような


文字コード変換が不可能なら’梶fという文字がきたら’(’、’株’、’)’みたいに3つに分けた文字に変える
方法をとりたいのですが、’梶fの文字がきたというのを判断する方法jが分かりません。

どなたか詳しい方アドバイスをお願い致します。

868 :デフォルトの名無しさん:2009/10/09(金) 12:40:07
>>867
鰍フ文字コード知らべたら?低能

869 :デフォルトの名無しさん:2009/10/09(金) 12:41:12
表示に使ってるフォントに鰍ェ無いとかいう話じゃないだろな

870 :デフォルトの名無しさん:2009/10/09(金) 12:42:21
>>867
てか、普通utf-8使うけどね
なぜEUCを使わなければいけない理由を作る方が難しいよ

871 :デフォルトの名無しさん:2009/10/09(金) 12:44:33
>>868
低能

872 :デフォルトの名無しさん:2009/10/09(金) 12:49:53
全角文字の一バイト目を切り出し、その切り出したものをnew Stringすると、対応する文字コードがないので?にへんかんされてしまいます。
一バイト目をバイナリコードとしてStrlngを作る方法はないでしょか。

873 :デフォルトの名無しさん:2009/10/09(金) 12:50:04
>>871
無能

874 :デフォルトの名無しさん:2009/10/09(金) 12:53:57
UTF-8に鰍チてあるの?

875 :デフォルトの名無しさん:2009/10/09(金) 12:54:36
>>873
糞能

876 :デフォルトの名無しさん:2009/10/09(金) 12:56:43
これでよし
System.out.println(new String(s.getBytes("Windows-31J")));


877 :デフォルトの名無しさん:2009/10/09(金) 12:57:13
>>874
UTF-8にはある。EUC-JPにはない。


878 :デフォルトの名無しさん:2009/10/09(金) 12:58:21
>>874
あります。"\xE3\x88\xB1"

879 :デフォルトの名無しさん:2009/10/09(金) 12:59:29
>>876
winでやってるカス発見

880 :デフォルトの名無しさん:2009/10/09(金) 13:02:19
PostgreSQLのデフォはEUCです

881 :デフォルトの名無しさん:2009/10/09(金) 13:08:20
>>880
変更できるしEUC_JPでない理由にはならない

882 :デフォルトの名無しさん:2009/10/09(金) 13:24:54
System.out.println(new String(s.getBytes("UTF-8")));
でできました。



883 :デフォルトの名無しさん:2009/10/09(金) 13:59:40
コード表に鰍ェ複数あって難渋したことがあったっけな。

884 :デフォルトの名無しさん:2009/10/09(金) 14:36:49
>>867です。

>>868
文字コードを調べたらたしか’6311’みたいな感じだったと思うんですけど、
’@’←これも同じ値になったので特定ができない気がしました。

ちなみに’@’も文字化けします。

char c = value.toCharArray();
int num = 0;
for(int i = 0; c.length > i; i++){
num = c[i];
System.out.println(num);
}

上記で調べました。
コーディングちょっと違うかもです、すみません。

>>870
客先の環境なのでDBの文字コードは変更できないのです。

885 :デフォルトの名無しさん:2009/10/09(金) 15:33:05
DBには鰍ェ入っていないと見た

886 :デフォルトの名無しさん:2009/10/09(金) 15:38:03
まがいなりにもプログラミングで金もらってる人間がこんなところでつまらん質問するなよ。
初心者が許されるのは俺達のような小学生までだ。マ板に帰れ。

887 :デフォルトの名無しさん:2009/10/09(金) 17:00:31
>>886
http://kotobank.jp/word/%E6%9B%B2%E3%82%8A%E5%BD%A2
まがい物じゃねーよって言おうと思ったけど、どうだろう…

888 :デフォルトの名無しさん:2009/10/09(金) 17:09:19
JREはGtkに依存しているよね
kde4を使っている俺としては、qt4版みたいなのがあればいいと思うんだけど
何かない?

889 :888:2009/10/09(金) 17:19:28
誤爆した

890 :デフォルトの名無しさん:2009/10/09(金) 20:29:31
>>884
SQL文の時点でUTF-8に変換して取得してみたらどう?

891 :デフォルトの名無しさん:2009/10/09(金) 20:58:51
継承はスーパークラスのコードを自動生成する機能だと聞きましたが、
このときインスタンスはどうなるのでしょう?

クラスAを継承したクラスBがあって、クラスBをnewすると、
クラスBのインスタンスができるだけでなく、クラスAのインスタンスもできるということですか?

892 :デフォルトの名無しさん:2009/10/09(金) 21:07:48
自動生成というよりは引継いでいるというイメージ。
継承先は元クラスの派生という存在で、is-aの関係と呼ばれる。

派生クラスBのコンストラクタが呼ばれると、明示的/暗黙的に親クラスのコンストラクタも
呼ばれるため、親クラスのインスタンスも生成されている。


893 :デフォルトの名無しさん:2009/10/09(金) 21:10:07
>>891
できるインスタンス自体はクラスBのものだけですが、
クラスBはクラスAの機能をすべて受け継いだ上で追加の機能を備えたものですので、
追加の部分を見ないことにするなら単にクラスAとして扱うこともできます
たとえば
A a1 = new A(); //これは普通
B b1 = new B(); //これも普通
A a2 = new B(); //!?

894 :デフォルトの名無しさん:2009/10/09(金) 21:22:20
>>892
>親クラスのインスタンスも生成されている。
これホント?

895 :デフォルトの名無しさん:2009/10/09(金) 21:40:00
当然ウソ

896 :デフォルトの名無しさん:2009/10/09(金) 21:53:38
なんか嘘呼ばわりされて悲しいけど、ちょっとテストコード書いて見たよ。

public class Test {
  public static void main(String[] args) {
    new Concrete();
  }
  public static class Super {}
  public static class Concrete extends Super {}
}

上記コードを実行
java -agentlib:hprof=format=b Test

jhatで分析
jhat java.hprof

http://localhost:7000/にアクセス

↓その結果
All Classes (excluding platform)
Package <Default Package>
class Test [0x500002fc]
class Test$Concrete [0x50000362]
class Test$Super [0x50000361]

内部インスタンスとしてTest$Superが生成されていることがわかる。

897 :デフォルトの名無しさん:2009/10/09(金) 22:43:04
>>896

勘違いしてるな。

それはクラス定義が0x50000361にロードされていることを示しているだけだ。
インスタンスが見たいなら、Test$Superのリンク先でInstancesの中を見ないといけない。
当然サブクラスのインスタンスしか存在していないことがわかる。

898 :デフォルトの名無しさん:2009/10/09(金) 22:44:13
baka

899 :デフォルトの名無しさん:2009/10/09(金) 22:51:31
これがクラスローダという奴か

900 :デフォルトの名無しさん:2009/10/09(金) 22:59:42
>>897
おまえ何様だw
俺にケチつけんなw

901 :デフォルトの名無しさん:2009/10/09(金) 23:07:15
だって間違ってんじゃねーかw

902 :デフォルトの名無しさん:2009/10/09(金) 23:22:10
メモリにロードされることをインスタンスが出来ると言うのではないの?
サブクラスにはスーパークラスのフィールドとメソッドが含まれている以上、
スーパークラスのコードもロードされなければコンピュータはスーパークラスの処理を使えないのでは?

903 :デフォルトの名無しさん:2009/10/09(金) 23:39:38
わろす

904 :デフォルトの名無しさん:2009/10/10(土) 00:18:58
>>902しか読んでないがスーパークラスのクラスがロードされてるんじゃないの?

905 :デフォルトの名無しさん:2009/10/10(土) 00:23:15
スレタイの【初心者】【専用】って、回答する側も初心者でなきゃならないってことだったのか。

906 :デフォルトの名無しさん:2009/10/10(土) 00:54:12
>>896
逃げたの?

907 :デフォルトの名無しさん:2009/10/10(土) 01:00:16
こんにちわ。

 mainpanelをJPanelにて作成し、レイアウトにGridBagLayoutを設定しました。
表状にデータが表示されたのですが、その表示エリア部分の高さが
mainpanelの中心部に表示になってしまっております。
表示エリアはmainpanelの最上部から表示させたいのですが、
良いやり方があれば教えていただけませんでしょうか

908 :デフォルトの名無しさん:2009/10/10(土) 01:49:03
>>884
「@」も「梶vも「EUC-JPには存在しない」文字だ。
存在しないんだから変換できるわけがない。
「x-eucJP-Open」使え。
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/intl/encoding.doc.html

909 :デフォルトの名無しさん:2009/10/10(土) 02:08:27
無能糞乙

910 :デフォルトの名無しさん:2009/10/10(土) 03:07:12
自己紹介乙

911 :デフォルトの名無しさん:2009/10/10(土) 13:35:07
今不思議なバグに遭遇した
aに6が入ってる状態で
b=a;
としたらbは6が代入されたがaは1減って5になった
デバッグでステップ実行しても同じ、途中で他の割り込みに飛んでる様子もない
ためしにこう実行してみても
b=a;
a=b;
aは5から変化はなかった
環境が壊れてるとは思えないし不思議だ

912 :デフォルトの名無しさん:2009/10/10(土) 13:46:14
 Eclipseを使って簡単なアプレットに挑戦している
超初心者です。 
 実行すると”アプレットが開始されました”という
表示がビューアに出ますが、背景が真白で何も表示
されません。init()以下のコードも何度も見直しましたが、
間違いないとおもいます。試しに無料サイトでアプレットを
ダウンロードして実行してみると表示できるので環境は
問題ないとおもいます。
 環境、ソースコードの間違い以外で考えられることを
教えてください。

913 :デフォルトの名無しさん:2009/10/10(土) 14:04:07
アプレットで表示されないのはいろいろ考えられるんですよ。
だからいろいろな可能性があってイチイチ面倒なので、このスレで叩かれる前にちゃんと表示できる程度のスキルをつけてから来たほうがいいですよ。

914 :911:2009/10/10(土) 14:05:54
メイン部とキー割り込み部が同時に並列で動いてしまうのだろうか?
keyPressed割り込みを一時的に禁止するにはどうすればいいですか?

915 :デフォルトの名無しさん:2009/10/10(土) 14:22:41
>>914
排他制御に失敗してるだけじゃないのか? 再現コードがなきゃわからねーよ。

916 :デフォルトの名無しさん:2009/10/10(土) 14:26:52
>>914
素人wwww

917 :デフォルトの名無しさん:2009/10/10(土) 14:46:37
>>914
っせえ
黙ってろ

918 :デフォルトの名無しさん:2009/10/10(土) 19:04:21
このスレは初心者が質問すると荒れるね

919 :デフォルトの名無しさん:2009/10/10(土) 21:28:12
ということは初心者専用っていうのは熟練者が質問して初心者が答えることを想定したスレってことか

920 :デフォルトの名無しさん:2009/10/10(土) 23:04:36
XMLでDocumentを作ったんだけど、
普通はデータを参照する時にsaxとかdomに変換するのか

921 :デフォルトの名無しさん:2009/10/10(土) 23:06:12
あたりまえだのクラッカー

922 :デフォルトの名無しさん:2009/10/10(土) 23:14:38
saxとdomは同じレベルのクラスという事は分かるんだが、
DocumentとJaxpの関係がいまいちわからん

アプリケーション
--------
sax dom
--------
jaxp

みたいな感じでおk?

923 :デフォルトの名無しさん:2009/10/10(土) 23:26:10
SAXとDOMは同レベルではないんだが、SAXのほうが低レベル。

924 :デフォルトの名無しさん:2009/10/10(土) 23:35:20
そうなのか、知らなかった
眠いから寝る
>>923 thx

925 :デフォルトの名無しさん:2009/10/10(土) 23:45:37
DOM(Document Object Model)は、XMLの木構造をクラス化したもの。
DOMで操作する、というのは「XMLファイル全体を読んで要素をツリー
化してから操作する」ということ。

SAX(Simple API for XML)は、XMLを頭から読んで、要素開始、テキスト
開始、テキスト終了、要素終了のようなタイミングごとにやることを指定
して処理する方法。


926 :デフォルトの名無しさん:2009/10/11(日) 01:08:52
つーかその程度のレベルは自分で調べろよ低脳

927 :デフォルトの名無しさん:2009/10/11(日) 01:28:21
>>922
SAX/DOMの実装依存部分を吸収する目的で定義されたインターフェースがJAXP
Sunのリファレンス実装以外に、ApacheのXerces2とかも提供している。

928 :デフォルトの名無しさん:2009/10/11(日) 12:51:06
SAXとは何かを初心者レベルでもわかるように説明しろっつってんだよクズ

929 :デフォルトの名無しさん:2009/10/11(日) 13:10:49
SEX

930 :デフォルトの名無しさん:2009/10/11(日) 14:42:13
class Sampleb
{
public static void main(String args[])
{
int num;
num =3;
System.out.println("変数numの値は" + num + );

num =4;
System.out.println("新しい値は" + num + "です");
}

}

式の開始が不正と出ました。

931 :デフォルトの名無しさん:2009/10/11(日) 14:43:37
で?


932 :デフォルトの名無しさん:2009/10/11(日) 14:45:40
どこが間違ってるか教えてください。

933 :デフォルトの名無しさん:2009/10/11(日) 14:58:37
その行のprintlnの中身。

934 :デフォルトの名無しさん:2009/10/11(日) 15:07:20
詳しく教えてください。
手抜きは止めてください。

935 :デフォルトの名無しさん:2009/10/11(日) 15:10:05
932です。
全く検討がつきません。


936 :デフォルトの名無しさん:2009/10/11(日) 15:10:41
+で終わってるとこ。その+を取るか、後ろに何か足すモノを書け。


937 :デフォルトの名無しさん:2009/10/11(日) 15:14:01
「開始が不正」ってのは分かりづらいかもな。
javacの視点で見ると、「+」があったので、次に何か足す式が来る、と思うわけだ。
ところが次に来たのは閉じカッコ。
「ありゃりゃ? 閉じカッコで終わる式なんかありませんよ」というエラー。


938 :デフォルトの名無しさん:2009/10/11(日) 15:14:37
なんだかわかりません。
ここは初心者ですよね?手抜きは止めてもらえますか?

939 :デフォルトの名無しさん:2009/10/11(日) 15:15:08
まちげーた。
「閉じカッコで*始まる*式なんかありませんよ」ね。


940 :デフォルトの名無しさん:2009/10/11(日) 15:16:53
>>936
JAVAって優秀なんですよね?
それぐらい出来ないんですかぁ?

941 :デフォルトの名無しさん:2009/10/11(日) 15:17:57
なるほど!出来ました。
+の意味がわかりました。
ありがとうございます。

942 :デフォルトの名無しさん:2009/10/11(日) 15:18:01
>>940
釣り宣言か

943 :デフォルトの名無しさん:2009/10/11(日) 16:06:03
WTPでmysqlの使い方説明してるサイトとかありませんか?

944 :デフォルトの名無しさん:2009/10/11(日) 16:31:39
ここは初心者じゃないんですか?

945 :デフォルトの名無しさん:2009/10/11(日) 17:31:55
>>944
【初心者】【専用】は上級者から見た初心者であって、
文法とかJavaの一般常識は身につけてて当たり前の人が、質問するスレです

946 :sage:2009/10/11(日) 18:07:08
javamailを利用して、フリメのメール自動で受信する方法をご教授頂きたいんですが…。
今のプログラムでは、手動で受信しなければいけません。
メールサーバーにメールがきたら、自動で受信するようにしたいんですがどうすればいいでしょうか?

947 :デフォルトの名無しさん:2009/10/11(日) 18:18:30
ご教授は大学でお求め下さい
准教授の場合お安くできますのでご検討下さいますようお願い申し上げます

948 :デフォルトの名無しさん:2009/10/11(日) 18:21:41
>>946
そんなの、面倒くさいからcronで妥協すればいいじゃん

949 :デフォルトの名無しさん:2009/10/11(日) 18:23:51
メールクライアントを常駐させておき、
一定時間間隔で新規に受信があったかどうかをクライアントから確認にいく。
一定間隔でなくてもいいけど。

950 :デフォルトの名無しさん:2009/10/11(日) 18:23:53
>>948
javaで実現するのはあまり良いやり方ではないんですか?
cronで設定するのが一番いいんですかね?

951 :デフォルトの名無しさん:2009/10/11(日) 18:43:18
>>950
そんなの、お前じゃないから知らんがな
でも、俺だったら面倒いから作らないで、cronを使うな〜
メモリとかの事を考えたら、cronの方が少ない気もするし(本当か?)

952 :デフォルトの名無しさん:2009/10/11(日) 19:20:01
>>947
叩き売りワロタw

953 :デフォルトの名無しさん:2009/10/11(日) 20:03:55
>>950
しらねーよ
Javaでスケジューリングしてやってもいいしやらなくてもいい、他の奴が決める話じゃねぇ

954 :デフォルトの名無しさん:2009/10/11(日) 22:39:41
ちょっと質問なんですけど。
以下の条件で
1.OracleのDBの文字コードがEUC
2.クライアント側はSJIS
3.扱う文字は’梶f
普通にDBから’梶f取得して出力させたら’?’になるんですけど、
これはjavaの内部コードがUTF-16で、まずEUC→UTF-16の変換が行われて、
UTF-16に’梶fが対応していないので文字コードが失われる。
結果デフォルト表記である’?’になってしまう。

ということはJavaで文字コード変換をかけるのは無意味(文字コードが失われているので)。

ちなみにこれまでの調べによるとSJIS→UTF-16でも’梶fが対応していないので、
上記のDBの文字コードが仮にSJISであっても同じことがおこる(出力結果は’?’)。

っていう個人的な結論が出たんですけど合ってますか?

955 :デフォルトの名無しさん:2009/10/11(日) 22:45:59
何このデジャブ。もしかして同一人物の長ったらしい釣りなのか?

956 :デフォルトの名無しさん:2009/10/11(日) 23:36:53
分からないならレスしなくていいです。

957 :デフォルトの名無しさん:2009/10/12(月) 00:21:58
★Java2SEのソースコードについて質問です

java.util.Arraysクラスのメソッドsortのソースコードが知りたいのですが、
公開しているサイトはありますか?

Arraysクラスに限らず他のクラスのソースコードも読んでみたいので、
知っている方がいましたら教えてください

よろしくお願いします。

958 :デフォルトの名無しさん:2009/10/12(月) 00:25:22
>>957
Eclipseで見れたキガス(バージョン高いやつじゃないとダメかも)
違ったらごめんなさい

>>955
釣りじゃないです必死なんです


959 :デフォルトの名無しさん:2009/10/12(月) 00:25:37
SDKの中に含まれているだろ・・・お前はなにを言ってるんだ?

960 :デフォルトの名無しさん:2009/10/12(月) 00:26:47
>>958
>400 あたりからの流れを嫁

961 :デフォルトの名無しさん:2009/10/12(月) 00:41:28
>>960
せめてjavaでの回避が不可能という確証が得られれば
代案を提示できるんですけど
もし現行案で回避できると後で分かったらあの先輩に何を言われるか・・・
もう胃が痛いです


962 :デフォルトの名無しさん:2009/10/12(月) 00:53:16
>>954
postgresqlでutf8のDBで鰍ヘ表示できたよ。

963 :デフォルトの名無しさん:2009/10/12(月) 00:53:36
知らんがな

964 :デフォルトの名無しさん:2009/10/12(月) 01:05:05
だから

>UTF-16に’梶fが対応していないので文字コードが失われる。

ってことはないんじゃないかと

965 :デフォルトの名無しさん:2009/10/12(月) 01:14:56
>>963
他力本願ですしそう言われるのも承知で書き込んでます
だからそういう発言ドンとこいです!
でも最近胃が本気でグチョグチョになりかけてるので
できればお手柔らかにお願いします

>>962-964
UTF-8は対応しているということでしょうか
http://ash.jp/code/unitbl21.htm
この文字コード表はどう解釈したらいいのか分からなくなってきましたorz

966 :デフォルトの名無しさん:2009/10/12(月) 01:16:30
元データが壊れてんじゃないの?
検証できないんだから調べようがないわ

967 :デフォルトの名無しさん:2009/10/12(月) 01:24:17
すみません、質問です。

【やろうとしてること】テキストファイルの入力
【ハマってること】FileInputStreamのコンストラクタで「ソースが見つかりません」となる
【ソース】
import java.io.*;
public class practice {
public static void main(String[] args) {
File f;
FileInputStream fis;
f = new File("a.txt");
System.out.println(f.getName()); // [1]
fis = new FileInputStream(f); // [2]
} // try~catchは省略

すみません、、
なんとか自分で調べて解決しようとしていたのですが、
半日ほど調べても原因がさっぱりわからなかったので質問しました。
[1]では正常にファイル名が出力されますが、[2]でエラーとなります。
【やってみたこと】
FileReaderを使う → ×
ファイル名にフルパス → ×
FileInputStreamのコンストラクタにフルパス → ×

FileInputStreamのみでデバッグ中に対象ファイルをリネームしようとしたら
Windowsに怒られたので、ファイルは掴んでいるようなのですが、、、
JavaDocでは「FileNotFoundException - ファイルが存在しないか、普通のファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合」
と有るのですが、ファイルは存在しますし(前述)、普通のテキストファイルです。
「なんらかの理由」??であるとすると見当がつきません。
長文で失礼しますが、何卒ご教示のほどよろしくお願いいたします。

968 :デフォルトの名無しさん:2009/10/12(月) 01:30:29
>>965
まずはjavaで鰍書き込んでみるこった。

969 :デフォルトの名無しさん:2009/10/12(月) 01:42:02
>>967
まだ開いていない (FileInputStreamを呼べていない) 段階でファイルを掴んでいるはずはないので、
他のプログラム (テキストエディタとか) がそのファイルを掴んでいるのではないか?

970 :デフォルトの名無しさん:2009/10/12(月) 02:13:23
画像を多めに開いた場合のフリーズするトラブルは、x64化すると解決することが多い

971 :デフォルトの名無しさん:2009/10/12(月) 02:31:58
スレッドとかよくわからないんですけどわかりやすく教えて下さい
入門本がなんとか分かるぐらいの人対象の説明でおねがいします
わかりやすい説明が書かれたサイトの紹介でも可

972 :デフォルトの名無しさん:2009/10/12(月) 03:03:26
UTF-16に’梶fが対応していないのではなく
DB(EUC)→Java(UTF-16)のマッピングに’梶fの対応が無い
という表現が正しい気がしています。

結局Javaでは無理という結論なのですが(Javaに渡った時点で文字コードが失われているため)。

973 :デフォルトの名無しさん:2009/10/12(月) 03:07:52
二番煎じだとネタにもならんな

974 :デフォルトの名無しさん:2009/10/12(月) 03:13:35
>>971
PCの中では、たくさんのプログラムが同時に動いてるだろ
今見てるブラウザの後ろで、メディアプレイヤーが音楽鳴らしながら、
メールソフトがメールチェックしてて、タスクバーの時計が時間を刻んでて、って感じで
ブラウザだけでも、マウスやキーボードの入力を処理しながら同時にサーバとの通信も処理してるだろ
そんなふうにPCの中で同時にたくさん動いてる処理のそれぞれがスレッド
同時に3つの処理をしたい場合は、3個のスレッドを使う
1つしか処理をしない場合でも、1個のスレッドを使っている

975 :デフォルトの名無しさん:2009/10/12(月) 04:12:24
そんな馬鹿っぽい質問にマジレスとか優しすぎる

976 :デフォルトの名無しさん:2009/10/12(月) 09:13:50
>>972
バイト列として直接引っ張り出してこちら側で変換するとか。
"株 EUC"で検索してみると判るけど、
「(株)」はJIS的には2つコードポイントがあって、
それが面倒な話に繋がっているのかもしれない。

977 :デフォルトの名無しさん:2009/10/12(月) 10:08:16
select convert(hoge, 'UTF-8') from tbl
じゃ、だめ?

978 :デフォルトの名無しさん:2009/10/12(月) 11:41:42
>>972
せめて同じスレのレスくらい見直せ。
Unicode(UTF-8/16/32)には「梶vがある。
Shift_JISには「梶vは無いが、Windows-31Jには「梶vがある。
EUC-JPには「梶vは無いが、x-eucJP-Openは「梶vがある。

979 :デフォルトの名無しさん:2009/10/12(月) 11:48:54
でもjava以外からは鰍ェ見えてるんだよね?

980 :デフォルトの名無しさん:2009/10/12(月) 12:01:54
>>957
C:\Program Files\Java\jdk*\src.zip
*の部分はバージョン依存 (最新は1.6.0_16)

Swing等、src.zipに無いものは、
http://openjdk.java.net/
(Sunが配布してるバイナリと100%一致してるわけじゃないけど)

981 :デフォルトの名無しさん:2009/10/12(月) 12:38:19
データの変換に失敗したみたいなチェック例外ってない?

982 :デフォルトの名無しさん:2009/10/12(月) 12:56:42
OracleのJA16EUCを、EUC-JPとして扱っているJDBCがおかしいってことか。
JA16EUCが、あくまで文字エンコーディングしか規定しないのかもしれないけど。
Oracleが文字セットを正しく認識した上で扱っているのなら、
>977 の方法でうまくいきそうだな。

983 :デフォルトの名無しさん:2009/10/12(月) 13:35:16
>>982
コネクションに鰍読めるキャラセットを指定しなきゃダメなんじゃないの。

984 :デフォルトの名無しさん:2009/10/12(月) 14:57:26
生のバイト列取ってきて文字コード見ればいいんじゃね?

985 :デフォルトの名無しさん:2009/10/12(月) 15:33:00
Calendar cal = Calendar.getInstance();
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.DATE));
なんで、2つめの出力の時に9がでるのさ?
PCの時計はちゃんとした時間なんだけどな〜何でだろ

986 :デフォルトの名無しさん:2009/10/12(月) 15:42:34
>>985
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Calendar.html#MONTH
> get および set のための、月を示すフィールド値です。これはカレンダ固有の値です。
> グレゴリオ暦とユリウス暦の年の最初の月は JANUARY で 、0 となります。
> 最後の月は、1 年の月の数によります。

987 :デフォルトの名無しさん:2009/10/12(月) 15:42:52
>>985
それは Calendar.OCTOBER が 9 だからだ

988 :デフォルトの名無しさん:2009/10/12(月) 15:45:59
>>986
なるほど、カレンダーなんて意識した事がなかったからな〜
thx

989 :デフォルトの名無しさん:2009/10/12(月) 15:53:41
意識しなくともおかしかったらドキュメント嫁や

990 :デフォルトの名無しさん:2009/10/12(月) 17:45:06
Yahoo!プログラミング言語検索ランキング(今回2009/10/12、前回2009/10/9)

. 1(. 1) HTML      約5,020,000,000件(約5,030,000,000件)-
. 2(. 2) PHP        約3,000,000,000件(約2,980,000,000件)++
. 3(. 3) Java....     約 832,000,000件(約 832,000,000件)0
. 4(. 4) Forth.      約 324,000,000件(約 322,000,000件)++
. 5(. 5) Ruby..      約 274,000,000件(約 274,000,000件)0
. 6(. 6) perl.....      約 245,000,000件(約 244,000,000件)+
. 7(. 7) Python...     約 209,000,000件(約 205,000,000件)++
. 8(. 8) pascal...     約 168,000,000件(約 170,000,000件)--
. 9(. 9) Delphi      約 128,000,000件(約 127,000,000件)+
10(10) VisualBasic...  約 120,000,000件(約 121,000,000件)-
11(11) lisp...        約.  26,600,000件(約.  26,700,000件)-
12(12) fortran.......    約.  21,300,000件(約.  21,300,000件)0
13(13) COBOL.....   約.  17,100,000件(約.  17,900,000件)--
14(14) HSP        約.  12,400,000件(約.  12,300,000件)+
15(15) FreeBasic..   約   6,300,000件(約   6,310,000件)-
16(16) Tcl/Tk......    約   4,820,000件(約   4,940,000件)--
17(17) QBasic.....    約   4,160,000件(約   4,180,000件)--
18(18) VisualC....    約   1,340,000件(約   1,340,000件)0
19(19) DarkBASIC .  約   1,330,000件(約   1,330,000件)0
20(20) BasicStudio   約    302,000件(約    302,000件)0
21(21) N88basic......  約    218,000件(約    217,000件)+
22(22) f-basic.......    約    109,000件(約    109,000件)0
23(23) ActiveBasic   約.     90,600件(約.     90,100件)++
24(24) 99BASIC....   約.     11,300件(約.     11,300件)0

3Dprogramming 約792,000件(約790,000件)++
2Dprogramming 約. 57,100件(約. 57,600件)--
intel 約714,000,000件(約726,000,000件)--
amd 約349,000,000件(約352,000,000件)--

991 :デフォルトの名無しさん:2009/10/12(月) 22:01:47
>>969殿
原因は別にありましたが、無事解決しました。
お騒がせしてすみませんでした。

992 :デフォルトの名無しさん:2009/10/13(火) 09:26:58
>>985
javadocくらい読めよ、馬鹿が

993 :デフォルトの名無しさん:2009/10/13(火) 10:55:43
JavaやっててUTF-8統一しないのはカスである

994 :デフォルトの名無しさん:2009/10/13(火) 10:56:08
OracleにEUCのDB作ってみたけど鰍ヘ?になるな。
getBytesで取り出したらefbc9fになるな。
こりゃどうしようもないな。

995 :デフォルトの名無しさん:2009/10/13(火) 10:56:57
>>994
DBのエンコードがなんだろうが、文字化けせずに取り出せるよ

996 :デフォルトの名無しさん:2009/10/13(火) 10:57:37
>>994
insertの時点で化けてなんじゃないの?

997 :デフォルトの名無しさん:2009/10/13(火) 11:00:11
>>996
sqlplusでinsert into tbl values ('');
select test from tbl;
ですでに?になる。

998 :デフォルトの名無しさん:2009/10/13(火) 11:09:23
>>997
じゃあ、sqlplusとDBが噛み合っていない
winのクライアント使ってるならデフォルトでSJISになってるはず

999 :デフォルトの名無しさん:2009/10/13(火) 11:54:45
どうやったらかみ合うんかなー

1000 :デフォルトの名無しさん:2009/10/13(火) 12:08:19
>>999
sqlplusの設定あるだろ
teratermなんかに似ている

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

236 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)