【初心者】Java質問・相談スレッド132【専用】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/09/01(火) 14:20:50JavaScript, 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/
0002デフォルトの名無しさん
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/
0003デフォルトの名無しさん
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
0004デフォルトの名無しさん
2009/09/01(火) 14:30:49なにか有ったら、よろしく。
0005デフォルトの名無しさん
2009/09/08(火) 16:25:22swingでJPanelを用意しましたが、JFrameに貼り付けることができません。
レイアウトマネージャーは他の部分との兼ね合いでnullに設定しております。
ググッてもレイアウトマネージャーを使ったものばかりで見付かりません。
例)getContentPane().add(JPanel, BorderLayout.CENTER);
レイアウトマネージャーをnullにしてもJPanelを貼り付けられる方法を教えてください
0006デフォルトの名無しさん
2009/09/08(火) 16:26:24お前は調べが足りない
0007デフォルトの名無しさん
2009/09/08(火) 16:38:19すみません。一応javaDriveとかも見て回ったのですがなかなか見付からず・・・
検索ワードだけでもいいので教えてください
0008デフォルトの名無しさん
2009/09/08(火) 16:44:45レイアウトマネージャを設定しないということは
そのコンテナのレイアウトに関してお前自身が責任を持つということを宣言したということだ
お前はレイアウトマネージャに頼らずレイアウトを行う責任を果たさなければならない
要点はコンテナ内の各コンポーネントの大きさと位置だ
0009デフォルトの名無しさん
2009/09/08(火) 16:49:26どうせ初心者スレと銘打って立てるんなら、
紛らわしいことせずにくだスレを復活させろよ。
0010デフォルトの名無しさん
2009/09/08(火) 17:02:56となるとBorderLayout.CENTERの部分を自己責任でやる必要があるわけですよね?
代わりに適当な座標を入力したのですが表示されません。
0011デフォルトの名無しさん
2009/09/08(火) 17:08:50これでちゃんと表示されたぞ
お前が何か間違ってるんだ
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);
}
}
0012デフォルトの名無しさん
2009/09/08(火) 17:43:32ほんとにわかりやすい話と、具体例をありがとうございます。
0013デフォルトの名無しさん
2009/09/10(木) 14:04:02JAVAを今日から勉強しようと思い立ち開発環境を準備しようと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に同梱されているゲームのインターネット ハーツのようなものです。
よろしくお願いします
0014デフォルトの名無しさん
2009/09/10(木) 14:24:20開発環境は NetBeans と Eclipse が人気だけど、
普通のテキストエディタとコマンドプロンプトだけでも特に問題はない
001513
2009/09/10(木) 14:42:00SunのサイトからJDK 6 Update 16 with Java EEをDLしてきました。
0016デフォルトの名無しさん
2009/09/10(木) 16:53:21つーかこれどうすればいいんだろ・・・
0017デフォルトの名無しさん
2009/09/10(木) 17:09:403Dに興味があるならやってみてもいいんじゃない
興味も必要もないなら手を出すことはないかと
0018デフォルトの名無しさん
2009/09/10(木) 17:23:42でもいきなりは大変だろ
001913
2009/09/10(木) 22:51:35そこで質問なのですが、JAVA言語を習得する上でここまでできて初心者卒業、
ここまでできたら中級者などだいたいの目安は何かあるでしょうか。
何時間でこのくらいまでいけた、などの体験談でも構いませんのでアドバイスお願いします。
また、参考になるサイトは何かないでしょうか?
0020デフォルトの名無しさん
2009/09/10(木) 23:05:46処理クラスにコンポーネントを順に呼び出すビジネスロジックを記述できて新人
大量データ処理・再帰処理をまともなパフォーマンスで実装できて普通のマ
プロジェクトの基本設計やらコンポーネントの設計まかされるようになって中級者
人の話が全て頭のなかでJavaのコードに自動変換されるようになって上級者
やさしいJavaみたいな本かって一通り勉強してみれば?
クイックソートを実装できるようになれば大体のプログラムは書けるようになってる。
0021デフォルトの名無しさん
2009/09/11(金) 02:30:01とりあえず初歩の勉強ならエディタでもいいが、アプリ作る気まんまんならeclipseいれとけ。
http://www.eclipse.org/downloads/ のEclipse IDE for Java Developers な。
初心者サイトはたくさんあるけど、やりたいことの幅がひろいようなので「JavaでHelloWorld」でコードを片っ端から試すとかいんじゃないか。
目安として、仕事でJava使ってる奴なら↑のサイトにあることの半分以上は知識とフィーリングでなんとでもなるかな。
まあ俺の場合は設定ファイルの書き方とかは知ってても本やネットで調べるが・・w
0022デフォルトの名無しさん
2009/09/11(金) 07:57:57002313
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に設定するのがいいですか。
違いが分からないのでアドバイスお願いします。
0024デフォルトの名無しさん
2009/09/11(金) 19:31:350025デフォルトの名無しさん
2009/09/11(金) 22:49:06http://www.koiroha.org/xmllib/
HTML の読み込みなら↑が強力。SAX も DOM 化にも対応してるので
XML とほとんど同じ様に扱える。
002613
2009/09/11(金) 23:49:58package 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)
と出てしまいます。
何が悪いのかアドバイスお願いします
0027デフォルトの名無しさん
2009/09/11(金) 23:56:490028デフォルトの名無しさん
2009/09/11(金) 23:59:490029デフォルトの名無しさん
2009/09/12(土) 00:12:28初心者はパッケージとカレントディレクトリの関係に戸惑うのかもしれないね。
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を実行するのも当然別物。
003029
2009/09/12(土) 00:14:41以下訂正
c:
cd C:\java\step001\src
javac test\HelloWorld.java
java test.HelloWorld
003113
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を実行しなさい。
で合っていますか。
(パッケージとクラスが何なのか今調べている途中です)
0032デフォルトの名無しさん
2009/09/12(土) 00:58:37開発環境から本番稼動の別サーバにデプロイ(クラスファイルを配置)
するような状況がなければ特に気にしなくてよい。
SDKをインストールして、そっちのjavaコマンドから実行することもあるのであれば、
SunのSDKを指定しておけばいい。
javaコマンドの意味は
「カレントディレクトリをクラスパスとして、testパッケージのHelloWorldクラスを実行せよ」
javacの場合は
「カレントディレクトリをソースパス&クラスパスとして、testディレクトリのHelloWorld.javaファイルをコンパイルせよ」
クラスパスは実行時やコンパイル時に、自分が作ったクラスや、それ以外のクラス
たとえばApacheのcommonsライブラリを使うソースを書いた場合は、
そのライブラリがどこにおいてあるかなどを指定するために使う。
実行するプログラムが使用する(依存している)全てのクラスはクラスパス配下から探せなくてはならない。
ソースパスはjavacがコンパイルするときに、
コンパイルするソースやソース自身が依存する別のソースを探すための場所として使われる。
003313
2009/09/12(土) 01:17:09調べてみるとパッケージとクラスは苗字と名前の関係のようでした。
クラス名が同じものがあると混同してしまうのでパッケージ名も付けて区別するようです。
そのためパッケージ名まで同じにならないように自分の所属する企業名やドメインを逆さにするようです。
これからは特色のあるパッケージ名にしてみます。
0034デフォルトの名無しさん
2009/09/12(土) 01:49:06東京に住む山田一郎さんと、大阪の山田一郎さんは、
同じ名前でも別人。できることも体重身長もそれぞれ違う。
Javaは常にパッケージ名・クラス名の組み合わせで.classを探している。
「どこから」クラスを探せばいいのかを(クラスパスとして)教えてやらないといけない。
教えられた場所から「パッケージ名はディレクトリ」「クラス名はファイル名」として、
実際の.classファイルを読み取ることができる。
大規模な組織でJava開発を行うと、パッケージが10階層くらいになってて笑える。
jp.co.グループ名.会社名.事業所.カテゴリ名.プロジェクト名.アプリケーション名.本当のパッケージ名...
003513
2009/09/13(日) 00:27:15APIやクラスライブラリがまだよく分からないので飛ばしました。
今はインスタンスの勉強中です。
メソッドや戻り値とか分からない単語が増えてきてだんだん覚えきれなくなってきたのですが、
先輩の皆さんは初心者の頃はノートやメモなどを取ったりしましたか。
覚えられないものはひとまずおいてどんどん先に進むのがいいですか。
0036デフォルトの名無しさん
2009/09/13(日) 00:33:59ベストなのは、プログラムを自作して動作を理解する事
これが一番の近道
わからないまま進んでも、いけない事はないけど、真の理解には
つながらない
0037デフォルトの名無しさん
2009/09/13(日) 00:40:420038デフォルトの名無しさん
2009/09/13(日) 00:47:24インスタンスがわかってないと、クラスメソッドとインスタンスメソッド
の違いが理解できなくね?
0039デフォルトの名無しさん
2009/09/13(日) 01:09:18javaのクラスパスにはドット(.)が含まれないと読んだのですが、
java -classpath で何かを指定したときは含まれない、
-classpath を何も指定しない場合は、現在のディレクトリも
検索パスになると理解したら良いのですかね?
-classpathを何も指定しない場合は、現在のディレクトリの
クラスを読みに行けているので。
0040デフォルトの名無しさん
2009/09/13(日) 01:17:30http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/windows/classpath.html
0041デフォルトの名無しさん
2009/09/13(日) 09:54:41Javaを始めていきなりクラスとかインスタンスとか覚えれるのかな・・?
とりあえずmainメソッドで四則演算とか入出力とかで慣れるのが普通だと思ってたわ。。
0042デフォルトの名無しさん
2009/09/13(日) 15:32:32なんかソフトいるの?
0043デフォルトの名無しさん
2009/09/13(日) 15:45:47javaはインタプリタ言語だから、CPUネイティブなコード生成はできない
バイトコード=実行ファイルという意味なら、javacなどのコンパイラでおk
0044デフォルトの名無しさん
2009/09/13(日) 16:23:440045デフォルトの名無しさん
2009/09/13(日) 16:26:55いまは、それぞれのプラットフォームごとにネイティブ対応してるんじゃ
なかったっけ>OpenOffice.org
0046デフォルトの名無しさん
2009/09/13(日) 17:04:07(他にもあるようだけど)
Mac版は、以前は本家はUIにXが必要で、他の実装としてUIにJavaを
使ったNeoOfficeという派生物がある。現在は本家もX不要でAqua
になってる。
0047デフォルトの名無しさん
2009/09/13(日) 18:50:01gcj でぐぐれ
0048デフォルトの名無しさん
2009/09/13(日) 19:00:33jgcとjavacどっちが主流なの?
0049デフォルトの名無しさん
2009/09/13(日) 19:02:06訂正
gcjとjavac
0050デフォルトの名無しさん
2009/09/13(日) 20:07:040051デフォルトの名無しさん
2009/09/13(日) 20:09:48から、使用されてるシェアがgcjの方が多いのかなと思って
0052デフォルトの名無しさん
2009/09/13(日) 20:13:27バイナリを吐くコンパイラならメジャーなのはgcjくらいだ
これでいいか?
0053デフォルトの名無しさん
2009/09/13(日) 20:21:31javaで書いても、gcj使うと、バイナリで出せるんだ
知らんかった
プラットフォーム依存になるけど、JVM要らないってこと?
0054デフォルトの名無しさん
2009/09/14(月) 00:22:270055デフォルトの名無しさん
2009/09/15(火) 14:33:55javaアプリケーションで、JPanel上に2枚の画像を載せます。(A,Bとします)
Aの画像はJPanel全体に表示させ、Bの画像はその上に置くようにして載せたいと思っています。
画像のサイズはAが700*700で、Bの画像は10*10ほどです。
どちらか片方だけ載せるのはできるのですが、その上にもう一つ載せようとすると、
先に載せたほうが潰れてしまいます。
どうすればうまく載せれるのでしょうか
よろしくおねがいします
0056デフォルトの名無しさん
2009/09/15(火) 15:43:280057デフォルトの名無しさん
2009/09/15(火) 15:48:31表示されなくなります。後に載せたほうだけが表示されます
0058デフォルトの名無しさん
2009/09/15(火) 15:54:200059デフォルトの名無しさん
2009/09/15(火) 15:59:14それと、Bは画像を使わないで直接描写でも良くなりました。
なのでJPanelに載せた画像の上から絵を描ければ大丈夫です
0060デフォルトの名無しさん
2009/09/15(火) 16:26:34レイアウトマネージャがnullなら、自分で位置とサイズを指定しないといけないけれど、そのへんは大丈夫?
0061デフォルトの名無しさん
2009/09/15(火) 16:29:55JLabel使ってます。
大丈夫です。
0062デフォルトの名無しさん
2009/09/15(火) 16:36:26その参照したいクラスが多数あった場合、どうやったらスマートだろう?
そのクラスのインスタンスを引数で渡すにも、参照したいクラスが10個以上あるし
インスタンスを引数で渡す方法が良いとは思えない
もうちょっと状況を詳しく書くと
main.javaというクラスがあるとして、このクラスは他の全てのクラスのインスタンスを保有
クラスAから、他のクラスB〜Zのprivateのメンバ変数を参照したい
クラスB〜Zは、public のゲッタ/セッタを保有
この場合、クラスAからクラスB〜Zのメンバ変数を参照するにはどうすれば
うまいやり方でできる?
0063デフォルトの名無しさん
2009/09/15(火) 16:38:12クラスAにクラスmainを持たせて、main経由で参照すればいいかと
0064デフォルトの名無しさん
2009/09/15(火) 16:53:56AとBのaddする順番を逆にしてみるとか
0065デフォルトの名無しさん
2009/09/15(火) 16:56:21すいません、説明がちょっと抜けてた
クラスmainが保有する各クラスのインスタンスはprivateなんです
なので、mainのインスタンスをクラスAに渡してもそのまま参照できず
それぞれにゲッタが必要で、その数もまた膨大なので
何か良い方法が無いかなと
そもそもクラスのインスタンスをprivateで保有するという考え方が
おかしいのかなぁ
0066デフォルトの名無しさん
2009/09/15(火) 17:08:04やってみましたが、結局後に書いた方だけが表示されます
0067デフォルトの名無しさん
2009/09/15(火) 17:08:54他の開発環境は知らんが・・・
0068デフォルトの名無しさん
2009/09/15(火) 18:35:24private 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つだけが処理を行うような仕組みです。
ですが、実際は重複して実行しているようです。
このマップを使う事が間違いでしょうか?
0069デフォルトの名無しさん
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();
}
}
}
}
0070デフォルトの名無しさん
2009/09/15(火) 18:48:02使い方が正しくない
containsKeyとputの間に他のスレッドが割り込む可能性がある
その操作はアトミックにやらないとだめ
if (tmpMap.putIfAbsent(data, uniqueKey) == null) {
somethingDoTask();
}
こんな感じで
0071デフォルトの名無しさん
2009/09/15(火) 19:06:58ありがとうございます。
そんなメソッドあったんですね 笑
割り込みは許容してます。
で、4スレッドでユニークに振り分けたキーでputし最終取得者を
String tmpLocalKey = tmpMap.get(data);
if(uniqueKey.equals(tmpLocalKey ) { }
で割り出しているつもりだったんですが、間違いですか?
0072デフォルトの名無しさん
2009/09/15(火) 19:10:42実行対象になってしまったりしてるんで確実に間違いだとは思います。
CuncurrentHashMapの使い方の認識違いなのかな?
0073デフォルトの名無しさん
2009/09/15(火) 19:16:02間違いです。
2つ以上のスレッドが同時にcontainsKeyとputの間に来た状況を想像してください。
まず、1つめのスレッドが自分のuniqueKeyをtmpMapにputしgetすると、自分のuniqueKeyが取得できるのでequalsはtrueを返します。
次に、2つめのスレッドが自分のuniqueKeyをtmpMapにputしgetすると、自分のuniqueKeyが取得できるのでまたもやequalsはtrueを返します。
0074デフォルトの名無しさん
2009/09/15(火) 19:31:50ありがとうございます。
理解できました
synchronizedあたり使わないとまずいですね
0075デフォルトの名無しさん
2009/09/15(火) 19:40:54なんのためにputIfAbsentが追加されたと思って・・・
0076デフォルトの名無しさん
2009/09/15(火) 20:30:11ありがとうございます。
もういいです
0077デフォルトの名無しさん
2009/09/15(火) 20:38:44背景塗りつぶしで表示するメソッドrepaint()(だっけ?w)が
呼ばれてて、後に絵を表示すると、panelの背景がまっさらになってる
だけとかだったりしない?単に。
0078デフォルトの名無しさん
2009/09/15(火) 20:48:04超適当
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();
}});}}
0079デフォルトの名無しさん
2009/09/15(火) 21:02:33repaintなしで作ったプログラムでもやっぱりなってしまいます
なんかすいません
0080デフォルトの名無しさん
2009/09/15(火) 21:19:37JLabelのサイズ設定とかは大丈夫なんだよね?
例えば、
label.setPreferredSize(new Dimension(size_x, size_y));
みたいな感じで。
画像A, Bが入ったそれぞれのLabelでこのサイズが同じだと
かぶった部分が消えちゃうと思うけど
0081デフォルトの名無しさん
2009/09/16(水) 01:05:01Randomクラスを用いて乱数を生成して、4桁のパスワードはどうやればいいのでしょうか?
現在、下記の形で書いているのですが、1桁などがでてきてしまって困っています。
初心者なもので、すみません。
Random rnd = new Random();
int ran = rnd.nextInt(10000);
0082デフォルトの名無しさん
2009/09/16(水) 01:09:47printlnなんかじゃ前のゼロは表示されないが (0001とか変だからな)
0083デフォルトの名無しさん
2009/09/16(水) 02:15:280084デフォルトの名無しさん
2009/09/16(水) 02:29:52String pass = String.valueOf(ran + 10000).substring(1);
0085デフォルトの名無しさん
2009/09/16(水) 05:49:480086デフォルトの名無しさん
2009/09/16(水) 11:54:07LabelのサイズのOKです。
今やりたいことはPanelに画像を貼って、
それをscrollPaneを使ってスクロールできるようにしたいわけです。
そうなるとpanelに貼るというよりはまず
labelに画像を貼って、viewPortにセットして、
そのviewPortをscrollPaneと連動させて、最後にそれをPanelに貼るという流れになるわけです。
そのあとframeにも貼り付けてますがそれは置いておいて。
今回の原因はviewPortにlabelを貼る際に、viewPort全体に張るようにしてしまっているからだと思います。
なのでviewPortに貼る際に座標指定をして張ることができれば解決できると思うのですが、そのやり方がわからない・・
0087デフォルトの名無しさん
2009/09/16(水) 12:26:18こういう感じ?
JFrame
+- JPanel
+- JScrollPane
+- JViewport
+- JPanel
+- JLabel (画像A)
+- JLabel (画像B)
0088デフォルトの名無しさん
2009/09/16(水) 12:52:11違います。
008986
2009/09/16(水) 14:53:57そうです。>>88はわたしじゃないので気にしないでください。
上の方のJPanelと下のJPanelは別物と認識していいですよね。
まったく同じ方法で今行っていますが、画像の方はうまくいきました。
なぜかScrollPaneがうまく動かないですが、がんばってみます
0090デフォルトの名無しさん
2009/09/17(木) 00:10:040091デフォルトの名無しさん
2009/09/17(木) 01:00:41マップとして、持っていなくてはいけないメソッドの集合のこと
0092デフォルトの名無しさん
2009/09/17(木) 01:21:33無いと思いますが・・・
0093デフォルトの名無しさん
2009/09/17(木) 05:59:240094デフォルトの名無しさん
2009/09/17(木) 09:52:04return 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と違う値を返すことがありました
直接返すか、一度変数に代入するかの違いです
これを説明できる方いますか?
0095デフォルトの名無しさん
2009/09/17(木) 10:25:25その違う数値が返ってきた引数は?
0096デフォルトの名無しさん
2009/09/17(木) 10:46:30でも以前も同じようなことがあったんです
変数に代入しないと正しい値を返さなかったということが
0097デフォルトの名無しさん
2009/09/17(木) 10:48:11勘違いだろ
素人にはよくあること
0098デフォルトの名無しさん
2009/09/17(木) 13:25:17勘違いだろ
素人にはよくあること
009986
2009/09/17(木) 15:58:35他の条件はすべて同じにして、JLabelを貼り付けてみたのですが、これだとうまくいきます。
JPanelをJViewProtに貼り付けることはできないのでしょうか?
0100デフォルトの名無しさん
2009/09/17(木) 16:17:48JPanelのレイアウトマネージャはnullなんだっけ?
そのせいでJPanelの大きさを計算できないのかもしれない
JPanel#setPreferredSizeかJViewport#setViewSizeで大きさを指定してみたらどうかな
010186
2009/09/17(木) 16:28:00レイアウトマネージャーはnullにしてあります。
JPanelのサイズは1,2ともsetBounds(new Rectangle(int,int,int,int));で設定してあります。
JViewportのサイズはsetViewSize(getViewSize())で設定しましたができませんでした。
0102デフォルトの名無しさん
2009/09/17(木) 16:34:07setBoundsはJViewportに変更されるからだめ。
setViewSizeはJPanelのスクロールサイズを知らないJViewportにスクロールサイズを教えるために使うわけだから、JViewportからgetしても0が返るだけで意味がない。
自分の希望する値を指定しる。
010386
2009/09/17(木) 16:43:05とりあえずsetBoundsをsetPreferredSizeにしてみました。スクロールできるようになりましたが
もっとスクロールできるはずなのに短い距離分しかスクロールしません。
わかりにくいですが、本来右に100スクロールするとしたら10くらいしかスクロールしません。数字は適当です。
setViewSizeは引数がDimensionとかで使いかたがイマイチよくわからないのですが
010486
2009/09/17(木) 16:56:01できました。Panelのサイズを貼る画像のサイズにしたらうまくいきました。
ありがとうございます!
0105デフォルトの名無しさん
2009/09/17(木) 17:07:17いいってことよ
0106デフォルトの名無しさん
2009/09/17(木) 18:31:39それじゃ、Javaの存在意義は?
これからJavaを独学しようかと思っているのだが・・・・・・。
最初からCを覚えた方がマシ?
テキストエディタを作りたくて、何か言語を覚えようかと思っている。
プラットホームに依存しないところがいいかなーと思った。
それと、Cに似ているとの事なので、Javaを覚えればCにもとっつきやすかなーとか、思った。
何か、大いなるカン違いしているのかな?
・・・・・・テキストエディタなんて、何で作っても大丈夫とか言われそうだが。
0107デフォルトの名無しさん
2009/09/17(木) 18:43:230108デフォルトの名無しさん
2009/09/17(木) 18:49:05"||"は「または」という意味がありますが、
"|"はどういう意味があるのでしょうか。
例などを教えていただけると嬉しいです。
0109デフォルトの名無しさん
2009/09/17(木) 19:30:09論理和
例は検索すれば山ほど出てくるはず。
0110デフォルトの名無しさん
2009/09/17(木) 22:30:28存在意義なんてどうでもええやん
0111デフォルトの名無しさん
2009/09/18(金) 01:00:32JavaにはCのioctl関数のようなものはないのでしょうか?
0112デフォルトの名無しさん
2009/09/18(金) 01:14:570113111
2009/09/18(金) 01:20:14標準以外のAPIに存在する、または他に実現する方法があるということでしょうか?
もしよろしければ是非教えて頂きたいです
0114デフォルトの名無しさん
2009/09/18(金) 01:54:190115デフォルトの名無しさん
2009/09/18(金) 02:02:48最近これで復習中
0116111
2009/09/18(金) 02:03:53JNIのwikiによると
>標準クラスライブラリからはアクセスできないオペレーティングシステムの機能
とあるのですが…やはりJava自体にioctlの代わりはないのですね、ありがとうございました
0117デフォルトの名無しさん
2009/09/18(金) 04:13:020118デフォルトの名無しさん
2009/09/18(金) 23:21:59「プログラミング言語Java 第4版」はamazonだと酷評だけどそんなに良いですか?
他者の感想を鵜呑みにするわけではないですが、やはり他者の感想も大事なので気になります。
良ければどの辺がいい点ですか?
0119デフォルトの名無しさん
2009/09/19(土) 00:38:41俺がいいといったらいいんだよ
0120デフォルトの名無しさん
2009/09/19(土) 01:02:37Integer#hashCodeとInteger#equalsがIntegerがラップしてるint valueをそのまま返すだけみたいなんで。
0121デフォルトの名無しさん
2009/09/19(土) 01:32:28トイレットペーパーの方がまだまし
0122デフォルトの名無しさん
2009/09/19(土) 02:42:14ただしIntegerをキーとして自然にマッピングできるようなケースは限定的な気がするけど。
0123デフォルトの名無しさん
2009/09/19(土) 02:44:58他のどんな本より基本が詳しく乗ってる
0124デフォルトの名無しさん
2009/09/19(土) 04:25:28ヒープのフラグメントで遅くなりそうな悪寒。あれって
Integer.valueOf() みたいな簡易 Singleton 実装じゃないよね?
0125デフォルトの名無しさん
2009/09/19(土) 07:40:240126デフォルトの名無しさん
2009/09/19(土) 09:34:19サンクス!
0127デフォルトの名無しさん
2009/09/19(土) 10:06:57どういたしまして
0128デフォルトの名無しさん
2009/09/19(土) 10:43:44どうコーディングするのが奇麗でしょうか。
尚、コーディング規約では、ループには基本的に拡張for文を使えということになっています…。
0129デフォルトの名無しさん
2009/09/19(土) 10:50:02for(int i=0; i<array.length; i++){
if(i != 0) b.append(' ');
b.append(array[i]);
}
0130デフォルトの名無しさん
2009/09/19(土) 11:43:40ありがとうございます。ただ、配列の数が多い場合,
最初以外でカウンタが0かどうか判断するのは余計なステップになるかなと思いました。
そう思って、下記のような処理を考えました。
StringBuilder b = new StringBuilder();
b.append(array[0]);
int i=1;
while(i<array.length){
b.append(' ');
b.append(array[i]);
i++;
}
コストとしては多分こっちの方が少ないと思ったのですが、
配列の中身を書き出すappend文が別の箇所に出てくるようになりました。
ループの最初もしくは最後だけ特殊な場合は、ループの中でその判断を行うのが普通なのでしょうか。
それとも、ループの範囲自体から最初もしくは最後の部分を外して処理を切り出すべきなんでしょうか。
(後者は,保守性が下がる気がしますが…。)
0131デフォルトの名無しさん
2009/09/19(土) 11:48:000132デフォルトの名無しさん
2009/09/19(土) 11:54:080133デフォルトの名無しさん
2009/09/19(土) 12:11:14StringBuffer b = new StringBuffer();
for (String s; array) {
s.append(s + " ");
}
s.deleteCharAt(s.length() - 1);
最後は↓でもいい
String v = s.substring(0, s.length() - 1);
0134デフォルトの名無しさん
2009/09/19(土) 12:12:440135デフォルトの名無しさん
2009/09/19(土) 12:13:010136デフォルトの名無しさん
2009/09/19(土) 12:13:390137デフォルトの名無しさん
2009/09/19(土) 12:36:24public 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();
}
0138デフォルトの名無しさん
2009/09/19(土) 12:40:030139デフォルトの名無しさん
2009/09/19(土) 12:44:29やん(///)
0140デフォルトの名無しさん
2009/09/19(土) 19:00:17public 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();
}
0141デフォルトの名無しさん
2009/09/20(日) 07:35:27プロはこんなところでバグが出かねないコーディングはしない。
public static String join(String delim, String... elements) {
return org.apache.commons.lang.StringUtils.join(array, delim);
}
0142デフォルトの名無しさん
2009/09/20(日) 07:40:53この程度のコードでデプロイ管理チームに作業が降るようなやり方はしない。
0143デフォルトの名無しさん
2009/09/20(日) 08:17:07NetBeansのプラグインでエディタを操作する方法を教えて下さい
エディタにコード補完のようなポップアップを表示したいんです
0144デフォルトの名無しさん
2009/09/20(日) 09:06:300145デフォルトの名無しさん
2009/09/20(日) 09:13:320146デフォルトの名無しさん
2009/09/20(日) 09:34:430147デフォルトの名無しさん
2009/09/20(日) 09:38:21それがプロの美学なり
0148デフォルトの名無しさん
2009/09/20(日) 09:40:57ゆるゆる規約のサーバサイドしかやったことがありません。
0149デフォルトの名無しさん
2009/09/20(日) 09:56:56適用条件出したりヒヤリングもせず押しつける技術屋なんていねーよ。
ていうかプロって言いだけの社会人二年目くらいじゃ。
0150デフォルトの名無しさん
2009/09/20(日) 17:19:280151デフォルトの名無しさん
2009/09/20(日) 17:38:32単体アプリや組み込み開発に至ってはバカかと言われるレベル。
君の住んでる世界が全てじゃないんだよ。
0152デフォルトの名無しさん
2009/09/20(日) 17:44:45> プロはこんなところでバグが出かねないコーディングはしない。
と言いつつも、書いてるコードが既にバグってるわけで、とてもプロが書いたとは思えないな。
0153デフォルトの名無しさん
2009/09/20(日) 17:52:400154デフォルトの名無しさん
2009/09/20(日) 18:05:58Java1.5以降は特にそうだ。
0155デフォルトの名無しさん
2009/09/20(日) 19:10:210156デフォルトの名無しさん
2009/09/20(日) 20:15:110157デフォルトの名無しさん
2009/09/21(月) 21:55:52サーブレット、JSP、JavaBeansで開発したことはあるけど、
StrutsもSpringもHibernateも使ったことない。
「Seasar入門 はじめてのDI&AOP」を読んでるけどさっぱりわかりません。
何かお勧めの勉強方ありますか?
0158デフォルトの名無しさん
2009/09/21(月) 22:04:510159デフォルトの名無しさん
2009/09/21(月) 22:14:26まわりにいないんですよ...
ちなみにStruts、Spring、Hibernateを先にやったほうがよい?それとも時間の無駄?
0160デフォルトの名無しさん
2009/09/21(月) 22:17:00DIやAOPから入ると逆に分かりづらいかもしれない。
0161デフォルトの名無しさん
2009/09/21(月) 22:23:09まだ不明。というか向こうも割り振り決めてないと思う。
DI、AOPでお勧めの本とかありますか?
0162デフォルトの名無しさん
2009/09/21(月) 22:27:28Factory書くのめんどくさいよねー。フレームワークに登録しといていつでもObject取り出せればよくね?
ってのが出発点なんだし。あとはAOPするのに必要ってぐらいじゃん。
Seasarでスマートデプロイ(Hotデプロイ)使うと開発効率はかなりいいと思う。
推奨のパッケージ構成は、実際のプロジェクト規模に応じて適用性は考慮する余地がある。
0163デフォルトの名無しさん
2009/09/21(月) 22:34:45うーむ。もう少し彷徨ってみます。
0164デフォルトの名無しさん
2009/09/21(月) 22:38:20Web層が無法地帯になるとまともなレイヤー構成が維持できなくなるとおも。
画面ポンなシンプル業務ならそれでもいいけど。
エンタープライズな業務ならActionから先で業務独自フレームワークを構築したほうがいい。
そっから先で業務ロジック+ドメイン+永続層を扱わせて、Web層はActionまでですっぱり分ける。
どうせWeb+バッチ処理+Webサービスみたいにプレゼンテーションが一本でおさまらないから。
0165デフォルトの名無しさん
2009/09/21(月) 22:42:26わかりました。
0166デフォルトの名無しさん
2009/09/21(月) 22:47:39MVCくらいは理解してる...つもり
>>165
あなたはだーれ?w
0167デフォルトの名無しさん
2009/09/21(月) 22:52:26具体的になにがわからないの?
実際の作業的には「Seasar2入門」のほうがわかりやすい(Ver的な意味で)
0168デフォルトの名無しさん
2009/09/21(月) 23:13:03アクションマップを取得して削除してみてもアクセラレータは動いてしまいました。。。
0169デフォルトの名無しさん
2009/09/21(月) 23:38:050170デフォルトの名無しさん
2009/09/22(火) 00:30:450171デフォルトの名無しさん
2009/09/22(火) 00:49:03私は情報科でJavaを学んできました。
今、大学の上司(?)のような立場の人から1つ課題を貰っていてその課題の実現方法が分からず困っています。
課題は、「特定のIEブラウザを定期的に更新(F5)する仕組みを作ってみて」というものです。
検索すると、その機能を持つフリーソフトやブラウザの情報が出てくるだけで、
自分でプログラミングして何とかするような情報は出てきませんでした。
どなたか「この言語でこういうロジックで出来るんじゃない?」とか、
「そもそもプログラミングなどせずにこうすれば要求を満たせるよ」など、助言をお願いできないでしょうか。
どうやって機能実現出来るのかさっぱり分からず手が出ない状態なのです。
0172デフォルトの名無しさん
2009/09/22(火) 01:03:44仮想キーボードを作成して定期的に対象ブラウザに対してF5の仮想キーおくりゃいいじゃん
後はタイマー組み合わせれば出来るだろう
0173デフォルトの名無しさん
2009/09/22(火) 01:23:00Javaで直接別アプリへキー送信するのは無理
普通はWin32APIを使って
IEのHwnd取得 → PostMessageでF5キー送信だと思う。
CがわかるならBorland C++ Compilerがフリーで落とせる。
またはC#のExpressで[DllImport("user32.dll")] すればOK
0174デフォルトの名無しさん
2009/09/22(火) 01:25:06それで出来るかどうか知らんが。
0175デフォルトの名無しさん
2009/09/22(火) 01:28:09無理やりなJNIとのハイブリッドか、174の言うような力技になるのかな。
0176171
2009/09/22(火) 01:55:59言語はJavaでは無くても問題無く、またF5キーにこだわる必要も無いと思われます。
多分、放っておくとタイムアウトしてしまうサイトに対して、
自動で定期的に更新をかけてタイムアウトしない機能が目的の様です。
情報が後出しですみません。
>>172
すみません、私が知識不足でよく理解できません。
言語やクラス等固有名詞があると調べやすくて助かります。
>>173
C++かC#ならIEのコントロールが出来て、定期更新が可能という事ですか?
Cはかじった程度なのですが難易度は高いのでしょうか?
0177デフォルトの名無しさん
2009/09/22(火) 01:58:04それならjavascriptで定期的にサブミットしてやりゃええんじゃないかな
自サイトに仕掛けるもんじゃなかったらすまんが
0178デフォルトの名無しさん
2009/09/22(火) 02:04:11すみませんl、対象サイトは一応外部のものです。
大学内部のイントラですが。
0179176
2009/09/22(火) 02:40:38http://www.pagereboot.com/ie/
このサイトにURL入れれば勝手に更新してくれる。
同じようにブックマークレット(ショートカット埋め込みのJavaScript)
で自動更新用Frameを作って、イントラのページを更新かけてもいい。
詳しくはググッてくれ。
IEはWindowsアプリケーションなので、普通にいじろうとするなら
WindowsのAPIを利用することになる。
WindowsのAPIはC、またはVisual Studioファミリのなんらかの言語から
利用することができるので、そのような言語を使用することになる。
難易度的にはWindowsAPIの入門レベル。シンプルな実装なら30行で終わる。
0180デフォルトの名無しさん
2009/09/22(火) 06:21:150181デフォルトの名無しさん
2009/09/22(火) 06:35:30JVMの上でCのプログラムを実行させる事が出来ますか?
0182デフォルトの名無しさん
2009/09/22(火) 07:16:55自演乙
0183デフォルトの名無しさん
2009/09/22(火) 07:18:14機能を全部作れば出来るだろ。
それならJavの文法に従った方が楽だがな。
0184デフォルトの名無しさん
2009/09/22(火) 07:50:39○Java
0185デフォルトの名無しさん
2009/09/22(火) 07:53:230186デフォルトの名無しさん
2009/09/22(火) 08:01:32ソースをアップして下さい
0187デフォルトの名無しさん
2009/09/22(火) 08:14:06クロックアップして下さい
0188デフォルトの名無しさん
2009/09/22(火) 09:14:450189デフォルトの名無しさん
2009/09/22(火) 11:10:580190デフォルトの名無しさん
2009/09/22(火) 13:43:01こういうグラフはどのようにして生成してUPしているのでしょうか?
0191デフォルトの名無しさん
2009/09/22(火) 14:44:28Javaでそういうグラフを描きたいということ?
drawLineで線描いたりfillRectで棒描いたりすればよいのでは?
0192176
2009/09/22(火) 14:48:51ありがとうございます。
C++でプログラミングして、教えて頂いたBorland C++ Compilerで
コンパイルするという方法でやってみようと思います。
ちなみにご案内頂いてるリンクページなのですが、
ページ下部のブックマークレットが上手く使えません。
下記の方法で正しいですよね?
�@ページ下部ブックマークレットのリンクをお気に入りに追加
�A自動更新させたいページに移動
�Bお気に入りから追加したブックマークレットを選択
0193179
2009/09/22(火) 20:26:40スレ違いなんで簡単に。
まったく初心者がいきなり作るの大変だろうからちょっと助けてあげよう。
エラー処理やらタイマー、個別の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;
}
ブックマークレットについてはただググって引っかかったサイト紹介しただけなのでスルーさせて。
実行の仕方は間違ってないはず。
0194179
2009/09/22(火) 20:46:20FindWindowExの行はprintfの後に移動してくり。
コメント書いてるときにずらしてしもーた。
スマソ。
0195デフォルトの名無しさん
2009/09/22(火) 20:58:390196デフォルトの名無しさん
2009/09/22(火) 21:35:41親フレームが作成したダイアログからダイアログを閉じないで変更することは可能でしょうか?
0197デフォルトの名無しさん
2009/09/22(火) 21:58:150198デフォルトの名無しさん
2009/09/22(火) 22:07:220199デフォルトの名無しさん
2009/09/22(火) 22:32:090200デフォルトの名無しさん
2009/09/22(火) 22:43:340201デフォルトの名無しさん
2009/09/22(火) 23:36:200202デフォルトの名無しさん
2009/09/23(水) 08:42:350203デフォルトの名無しさん
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のインスタンスとして生成したさいのメモリアドレスはメモリ内に残っているのですか。
回答をよろしくお願いします。
0204デフォルトの名無しさん
2009/09/23(水) 09:12:56class 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);
}
0205デフォルトの名無しさん
2009/09/23(水) 09:16:50long SessionID = (long)combo2.getSelectedItem();
の部分でObjectをlongにキャストできませんと
コンパイルエラーがおきました。
どのようにすれば解決できるのでしょうか?
0206デフォルトの名無しさん
2009/09/23(水) 09:19:18基礎的なことが書かれた入門書よんでこい
簡単に説明すれば
Simplex a = new SimpleX();//変数aをSimplXのインスタンスとして生成
これが間違い
Simplex a = new SimpleX();//SimpleXのインスタンスを生成して、変数aで参照する
したがって、
a = b; //変数bの参照先を、変数aで参照する
0207デフォルトの名無しさん
2009/09/23(水) 09:20:40Java1.5以上にする
または
long SessionID = ((Long) combo2.getSelectedItem()).longValue();
ただし、実行時エラーがおきるかどうかは知らん
0208デフォルトの名無しさん
2009/09/23(水) 09:21:361.5なら、
long SessionID = (Long)combo2.getSelectedItem();
でOK
0209デフォルトの名無しさん
2009/09/23(水) 09:22:30どこでコンパイルエラーが発生したかくらい書けよ
0210デフォルトの名無しさん
2009/09/23(水) 09:23:47「javap -c」を調べてみましょう。
>>204
発生した例外の名前とおりの理由です。発生した例外クラスの説明はJavaのAPIリファレンスに書いてあります。
>>205
combo2が定義されいません。
私はコンパイルエラーを吐きます。
0211デフォルトの名無しさん
2009/09/23(水) 09:25:56import 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();
} }
0212デフォルトの名無しさん
2009/09/23(水) 09:29:001つ読み込んで、終わったら次を読み込めばいい
0213デフォルトの名無しさん
2009/09/23(水) 09:32:050214デフォルトの名無しさん
2009/09/23(水) 09:35:200215デフォルトの名無しさん
2009/09/23(水) 13:21:30また、なぜservletは使用できないのでしょうか?
0216デフォルトの名無しさん
2009/09/23(水) 13:23:19サーブレットはサーバ上で動かすので、サーバがサーブレットを動かせるようになってないと動きません。
0217デフォルトの名無しさん
2009/09/23(水) 13:24:07動作するのはブラウザの中だから鯖への負荷もない。
サーブレットは、認知度が低い・受け入れが鯖にとって面倒、
レンタル用の貧相な鯖でJava VMを動かす必要がある。
といったところか。
0218デフォルトの名無しさん
2009/09/23(水) 13:30:160219デフォルトの名無しさん
2009/09/23(水) 13:40:080220デフォルトの名無しさん
2009/09/23(水) 13:45:57とはいえバージョンが固定されていたり使い物にはならない
基本的にVPSでもいいからルート権限のある有償鯖でないと無理
ちなみにちょっと試すならばAmazonがベスト
0221デフォルトの名無しさん
2009/09/23(水) 13:49:270222デフォルトの名無しさん
2009/09/23(水) 14:01:020223203=13
2009/09/23(水) 14:10:13何度も読み見返してみて以下のようになりました。
SimpleX a = new SimpleX();//SimpleX型の変数aをSimplXのインスタンスとして生成してそのメモリアドレスを参照する
a = b; //変数aは変数bの参照先を、参照する
でいいですか。
そのため、203のコードではインスタンスが2種類メモリに確保されるが、片方は使われないと考えていいですか。
javap -cはどうもDumpというメモリ内のデータを見れる方法みたいですが、後で調べておきます。
022413
2009/09/23(水) 14:15:291.SimpleX a = new SimpleX();//SimpleX型の変数aをSimplXのインスタンスとして生成してそのメモリアドレスを参照する
2.SimpleX a = new SimpleX();//SimpleX型の変数aはSimplXのインスタンスを生成してそのメモリアドレスを参照する
よろしくお願いします。
0225デフォルトの名無しさん
2009/09/23(水) 14:18:453. SimpleXインスタンスを生成し、その参照を変数aに格納する。
0226デフォルトの名無しさん
2009/09/23(水) 15:01:10変数とインスタンスは別だって解らないなら諦めた方がいいよ
022713
2009/09/23(水) 15:59:02今やっと、分かりました。
224はどちらも正しくありませんでした。
40時間程勉強してやっとここまできました。
今度はメソッドと戻り値を勉強してみようと思います。
0228デフォルトの名無しさん
2009/09/23(水) 16:55:07Java2Dのアフィン変換をかける方法ってありますか?
今はImageIconをJLabelに貼ってJScrollPaneに追加という形を
取ってるんですが、この方法だとpaint()の中でg.drawImage()しないので、
アフィン変換出来ないんですよね・・・
それから、画像に範囲指定枠などを重ねて表示したいんですが、
これも、上記の方法では実現出来ないんでしょうか??
0229デフォルトの名無しさん
2009/09/23(水) 17:04:53範囲指定枠もイメージ上に描いてしまうとか
0230デフォルトの名無しさん
2009/09/23(水) 17:06:360231デフォルトの名無しさん
2009/09/23(水) 17:56:04つ JavaFX
023213
2009/09/23(水) 18:37:48javap -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ツールでお勧めのソフトはありませんか。
023313
2009/09/23(水) 18:45:06b =a以前のコードでは
変数aには変数aのアドレスと100という数値が格納されていて
変数bには変数bのアドレスと200という数値が格納されているはずです。
b = a以後のコードでは以下のどちらになっていますか。
1.変数bには変数bのアドレスと100という数値が格納されている。
2.変数bには変数aのアドレスと100という数値が格納されている。
231のバイトコードを見る限りでは2のような気がします。
長文が続いてしまいましたが回答をよろしくお願いします。
0234デフォルトの名無しさん
2009/09/23(水) 18:52:390235デフォルトの名無しさん
2009/09/23(水) 19:18:56JITコンパイラがあるので、Javaのバイトコードがそのまま実行されるわ
けじゃない。なので、メモリをダンプしても無意味。
>>233に関しては、どっちも違う。代入前で
・変数aはインスタンスAのアドレスを格納している。
インスタンスAは.xに100を格納している
・変数bはインスタンスBのアドレスを格納している。
インスタンスBは.xに200を格納している
だとして、代入後は
・変数bはインスタンスAのアドレスを格納している。
になると考える。
0236デフォルトの名無しさん
2009/09/23(水) 19:24:270237デフォルトの名無しさん
2009/09/23(水) 19:28:020238デフォルトの名無しさん
2009/09/23(水) 19:28:47ダンプツールとしてはjmapが標準搭載されています。
根本的に変数とオブジェクト(インスタンス)の関係が理解できていないのではありませんか?
> 1.変数bには変数bのアドレスと100という数値が格納されている。
> 2.変数bには変数aのアドレスと100という数値が格納されている。
aもbも参照しか保持していません。上記はどちらも間違いです。
「bの参照先オブジェクトがもつxの値は100」は正しいです。
上記は住所と家の関係で考えるとよいかもしれません。
・住所欄に記入するのは住所です。
実際の家が住所欄に埋め込まれているわけではありません。
・あなたの住所は、引越しをする度に別の住所へ書き換えられます。
元の住所にあった家はそのままであり、
新しい住所の家に元の住所の家を移築するわけでは(普通)ありません。
・住所は家の位置を表していますが、家そのものではありません。
住所自体には風呂やトイレはついていません。
・履歴書の住所欄に記入した住所と、通販ページで記入した住所、
どちらも同じ住所であれば、同じ家をあらわしています。
・あなたがトイレに花瓶をおいたとしたら、
履歴書でも通販ページでも、
住所欄の住所に存在する家のトイレには花瓶が置いてあるでしょう。
*住所欄は変数、住所は参照、家はオブジェクト、花瓶は値に置き換えましょう。
0239デフォルトの名無しさん
2009/09/23(水) 19:30:11024013
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);
}
}
よろしくお願いします。
0241デフォルトの名無しさん
2009/09/23(水) 21:03:280242デフォルトの名無しさん
2009/09/23(水) 21:04:220243デフォルトの名無しさん
2009/09/23(水) 21:05:35いいと思うけど、変数とインスタンスに同じa,bを付けると紛らわしいから、
インスタンスには別の記号(A,Bとかx,yとか1,2とかア,イとか)を付ける方がいいよ
あと、実際のプログラムにそのコメント量はウザイ
理解できたら、もう書かないように
0244デフォルトの名無しさん
2009/09/23(水) 21:06:240245デフォルトの名無しさん
2009/09/23(水) 21:45:58大変遅れましたがご意見ありがとうございました。
コードを参考にさせて頂き、Cを勉強してみます。
0246デフォルトの名無しさん
2009/09/23(水) 22:10:47swingを使用しています。
トップ画面に戻るボタンがあり最初の画面では無効、別のボタンを押して画面が切り替わると戻るボタンが使えるようにしたいです。
回答をよろしくお願いします。
0247デフォルトの名無しさん
2009/09/23(水) 22:38:340248デフォルトの名無しさん
2009/09/23(水) 23:03:22イネービリティをチェンジすれば良いわけですね。サーバを立てれば良いのでしょうか。
0249デフォルトの名無しさん
2009/09/23(水) 23:04:280250デフォルトの名無しさん
2009/09/23(水) 23:09:210251デフォルトの名無しさん
2009/09/23(水) 23:19:240252デフォルトの名無しさん
2009/09/23(水) 23:20:25画面遷移の履歴をリストかスタックに入れといて、履歴が空なら無効、それ以外は有効にするとか。
それを判定するタイミングは画面を切り替えるボタンのアクションリスナーとか。
0253デフォルトの名無しさん
2009/09/23(水) 23:26:380254デフォルトの名無しさん
2009/09/23(水) 23:47:430255デフォルトの名無しさん
2009/09/23(水) 23:51:240256デフォルトの名無しさん
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
0257デフォルトの名無しさん
2009/09/24(木) 10:07:58System.out.println("素人ばっかりだな");
}
0258デフォルトの名無しさん
2009/09/24(木) 10:49:22System.out.println(">>257おまえモナー");
}
0259デフォルトの名無しさん
2009/09/24(木) 11:20:06public static void main(String[] args) {
while(1) {
if (>>257 == Hume.get()) {
break;
} else {
System.out.println(">>257は塵");
}
}
}
0260デフォルトの名無しさん
2009/09/24(木) 18:27:41http://yutori7.2ch.net/test/read.cgi/news4vip/1253780112/
0261デフォルトの名無しさん
2009/09/24(木) 18:35:28> while(1) {
コンパイルエラー
0262デフォルトの名無しさん
2009/09/24(木) 18:37:34己の無能を発揮したね
Cなら通るよ
0263デフォルトの名無しさん
2009/09/24(木) 18:38:27ここは何のスレだ?
0264デフォルトの名無しさん
2009/09/24(木) 18:42:10Javaしかできない汎用性もない低能か
0265デフォルトの名無しさん
2009/09/24(木) 18:45:22>public static void main(String[] args) {
>System.out.println(">>257は塵");
Cねえ…
0266デフォルトの名無しさん
2009/09/24(木) 18:48:220267デフォルトの名無しさん
2009/09/24(木) 19:00:39柔軟性がない
0268デフォルトの名無しさん
2009/09/24(木) 19:02:360269デフォルトの名無しさん
2009/09/24(木) 19:05:20お前じゃ能ないしな
0270デフォルトの名無しさん
2009/09/24(木) 19:06:35俺には無理なんで、よろしく頼む
期待してるぞ
0271デフォルトの名無しさん
2009/09/24(木) 19:48:520272デフォルトの名無しさん
2009/09/24(木) 20:35:450273デフォルトの名無しさん
2009/09/24(木) 20:53:200274デフォルトの名無しさん
2009/09/24(木) 21:43:47なんか毎日入門書読みながら抽象クラスとかインターフェースとか勉強しつつ
簡単なプログラム書いて楽しんでんだけどこんなんでいいのか不安だ
Cで計算機プログラミング?やってたときと同じことやってる気がSystem.out.println();
一通り入門書読み終わったらみんな次どんなステップ踏んでるの?
分厚いウェブブラウザをつくるみたいな買って読んでんの?
0275デフォルトの名無しさん
2009/09/24(木) 21:45:06System.out.println();
↓
する
に変換して読んでください
0276デフォルトの名無しさん
2009/09/24(木) 21:47:470277デフォルトの名無しさん
2009/09/24(木) 21:50:31将来的に作りたいのは、
ウェブ上でブレインストーミングできるようなものが作りたいなとおもってるんだけど
無理なのかな
0278デフォルトの名無しさん
2009/09/24(木) 21:56:35だがウェブで動くものを作るのは色々と前提知識が多くて実は面倒。
つまり、創るJava最強
0279デフォルトの名無しさん
2009/09/24(木) 22:00:12たとえばこんな感じのものか?
ttp://www.mindmeister.com/
0280デフォルトの名無しさん
2009/09/24(木) 22:08:29出来ればeclipseで創ってるもののほうがよかった
けど、amazonのレビューみたら結構評判良かったから
明日本屋で立ち読みしてくる
>>279
そうそう
もっと自由配置リアルタイム更新型のチャットみたいなのを
つくるイメージでいたけど、大体はこんな感じ
0281デフォルトの名無しさん
2009/09/24(木) 22:11:25もう既に競合がたくさんいるのに、あえて後発組になって作るのか?
ビジネスじゃなくて趣味なんだったら何も言わんが。
0282デフォルトの名無しさん
2009/09/24(木) 22:20:37あくまでも趣味というか勉強のため
というか
どのくらいのスキルで、
どのくらいのものが出来るのかまだわかってない
それ以外にもなんかの専ブラとか創りたいものはたくさんあるんだけど
1つ完成させれば色々応用聞くかなと思って
ビジネスは今の時点では考えてないから、
ソースごとxoopsのモジュールとかで無料配布して
自分のサーバーに乗せて仲間内で使ってねって感じで出そうかなとか思ってた
0283デフォルトの名無しさん
2009/09/24(木) 22:23:18どんなに本格的で良いツールでも営業とか広告とかマーケティング
しねぇとユーザ集まらねーぜ? 勉強目的ならいいけどそこまでする気あるかい?
運営も鯖のメンテ面倒だし。
0284デフォルトの名無しさん
2009/09/24(木) 22:27:57好きなだけやって飽きたら辞めれば
それに運用することで得られるスキルは確実にあるわけだから無駄ではない
0285デフォルトの名無しさん
2009/09/24(木) 22:33:33現時点ではない
30人に使ってもらえたら自分としてすごくうれしいという感じだから
しかも自分はプロじゃないから
>本格的で良いツール
がすぐには実現できないと思う
もし出来たらそういうことも考えようと思ってるけど
まだまだ先の話だと考えてる
0286デフォルトの名無しさん
2009/09/24(木) 22:45:22> まだまだ先の話だと考えてる
俺も昔Webサービス系で夢を追いかけたクチから、
本気でやる時のためにアドバイスをやる。
まずビジネス側面から考えろ。
「使いたい人だけ使えばいい」
なんてものを作ってもそれはオナニーだ。
そんなものは一人も使わん。一人もだ。
0287デフォルトの名無しさん
2009/09/24(木) 22:55:26WindowsXPです。
スクリーンショット
↓
http://gazox.com/gpTH1jXBmLx.html
0288デフォルトの名無しさん
2009/09/24(木) 23:01:41そうなのか
そのことも踏まえて考えてみる
アドバイスありがとう
>>287
http://www.mapee.jp/wlh/netbeans65consolas.html
ここ読んでみたら
0289デフォルトの名無しさん
2009/09/24(木) 23:02:11ほれ
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-jee-galileo-win32.zip
0290デフォルトの名無しさん
2009/09/24(木) 23:18:15商用でなくてもオープンコミュニティで必死こいてサポートしないと
今時は一人も来ないんだよな。
そんなんよりエロ動画のダウソアプリ作った方がよっぽど利用者多い罠。
0291デフォルトの名無しさん
2009/09/24(木) 23:30:500292デフォルトの名無しさん
2009/09/25(金) 00:10:59ありがとうございました
0293デフォルトの名無しさん
2009/09/25(金) 03:50:32がんばれ
0294デフォルトの名無しさん
2009/09/25(金) 15:33:48XOR R1, R2
XOR R2, R1
XOR R1, R2
の手順でやっても変数が0になってしまうのですが・・
0295デフォルトの名無しさん
2009/09/25(金) 16:44:18(R1とR2ではなく)R1とR1だと両方ゼロになる、
というXOR交換の仕様の話じゃないよね?
0296デフォルトの名無しさん
2009/09/25(金) 16:56:12取得した値が???になるんですけどどこを疑えばいいでしょうか?
送信側は値をURLエンコードしています。
URLエンコードしてるのでASCII文字を送信してるので
化ける理由がわからないので困ってます。
よろしくお願いします。
0297デフォルトの名無しさん
2009/09/25(金) 17:03:39int i = 1, j = 2;
i ^= j; j ^= i; i ^= j;
System.out.println(i + "," + j);
でできる。もしかしてXOR交換を
i ^= j ^= i ^= j;
のように記述していない?
Cならこの書き方でもできるけどJavaではCと評価順序が違うのでできない
0298デフォルトの名無しさん
2009/09/25(金) 17:06:070299デフォルトの名無しさん
2009/09/25(金) 17:19:21さんくす
0300デフォルトの名無しさん
2009/09/25(金) 21:34:22文字列が長くなってもJLabelのサイズを、初期のままにする事は出来ますか?
0301デフォルトの名無しさん
2009/09/25(金) 21:40:500302デフォルトの名無しさん
2009/09/25(金) 21:43:33ありがとうございます。
0303デフォルトの名無しさん
2009/09/25(金) 22:22:300304デフォルトの名無しさん
2009/09/25(金) 22:28:080305303
2009/09/25(金) 22:33:58>Windows だからという理由で何でも遅いと思ってるバカはただの厨房だから無視して良し。
はてなダイアリーでwindowsのswing(どのコンポーネントかは知らん)が10倍速くなったって記事を読んだから(本当なのか?)
windowsの方が早い気がするってレスしたんだけど
私のレスがあなたにとって何か問題がありますか?
0306デフォルトの名無しさん
2009/09/25(金) 22:43:060307デフォルトの名無しさん
2009/09/25(金) 22:47:120308デフォルトの名無しさん
2009/09/25(金) 22:50:490309デフォルトの名無しさん
2009/09/25(金) 22:54:19オメーの事じゃねぇよ。そういう話をしてる奴が居たらという話。
0310303
2009/09/25(金) 23:02:37windowsのJREはDirectXで描写しているのか、それは知らなかった
そんじゃ、本気出せば.netと同じくらいの速さにできる可能性があるってことか
しかし、M$はそんなことを許してくれないと思うけど
0311デフォルトの名無しさん
2009/09/25(金) 23:04:32どっちが速いの?
0312デフォルトの名無しさん
2009/09/25(金) 23:04:53スレッド使いまくりの Java がまともに使える環境としてはかなり後出だったな。
GUI に関してもグラボのアクセラレーションは期待できないし、取り立てて
I/O が強いわけでもない。
0313デフォルトの名無しさん
2009/09/25(金) 23:05:23紛らわしいレスしてんじゃねーよ
0314デフォルトの名無しさん
2009/09/25(金) 23:10:54誤解が解けたなら良いじゃねぇか。落ち着けよチンカス
0315デフォルトの名無しさん
2009/09/25(金) 23:11:37もうちょっとwindows以外のOSにも力を入れてくれれば面白いのにな〜
0316デフォルトの名無しさん
2009/09/25(金) 23:49:29OSX や商用 Unix あたりの、ハードに対応した専用ドライバがあって
それ向けに実装された JDK を持ってる環境で遜色を感じた事はない。
GUI なしなら変わらん、と言いたいところだが AIX なんかの商用 Unix
に比べて高負荷でアップアップ状態に陥るのも早い。
だから使えねーというレベルはないが。
0317デフォルトの名無しさん
2009/09/26(土) 01:16:150318デフォルトの名無しさん
2009/09/26(土) 01:20:12促されたからといって、するとは限らない。
0319デフォルトの名無しさん
2009/09/26(土) 01:24:430321デフォルトの名無しさん
2009/09/26(土) 01:35:32仕様上は確実に実行されることが保証されていないが、大抵の実装では直ちに実行される。
0323デフォルトの名無しさん
2009/09/26(土) 23:42:26トップページ表示するだけで数十秒待たされる
昔からこんな感じなんですか?
0324デフォルトの名無しさん
2009/09/27(日) 00:13:080325デフォルトの名無しさん
2009/09/27(日) 09:40:55どうすればよいのでしょうか?
多くのスレッドが一度に書き込み、読込みを行うので、効率よくそのListに
アクセスする方法も教えていただきたいです。
よろしくお願いします。
0326デフォルトの名無しさん
2009/09/27(日) 11:02:04普通に変数を作れば、その変数がスコープに入る全てのスレッドからアクセスできる。
ただ、ArrayList とかを工夫無しに皆でアクセスすると、競合する(誰かがかきかえてい
0327デフォルトの名無しさん
2009/09/27(日) 11:05:28書き換えている最中に読んでしまう)ので、
synchronized() で括ってアクセスするようにするか、Vector を使うなどする。
0328デフォルトの名無しさん
2009/09/27(日) 11:07:33implements List
java.util.ArrayList
java.util.concurrent.locks.ReentrantReadWriteLock
で自分で作れば?
継承するか実装するのかは個人の自由だけど。
スレッドセーフだけどListに入れた物を処理途中で消す処理があるなら
Queueとか使ったほうがいいと思うけど。
0329デフォルトの名無しさん
2009/09/27(日) 11:14:59>>326
普通にArrayListの変数を宣言した場合、複数のクラスから
使用することができませんでした。
ArrayListの宣言したクラスを使用するとき、そのクラスをnewするため、
新しいArrayListができて、複数のクラスから使用できなかったのです。
(複数のクラスで複数スレッドを動かし、プロセス内のスレッドが
1つのListにアクセスさせたいのです)
0330デフォルトの名無しさん
2009/09/27(日) 11:18:270331デフォルトの名無しさん
2009/09/27(日) 11:29:250332デフォルトの名無しさん
2009/09/27(日) 11:36:05すみません、まだ勉強中です。
シングルトンで実装すれば、staticのようにJVM内で全てのスレッドにより
参照可能なのでしょうか。
staticでListを宣言するのは、あまり見たことがないので、ためらっていました。
0333デフォルトの名無しさん
2009/09/27(日) 11:48:51あとは適当にgetInstance().get()とかで好きなようにやればいい
0334デフォルトの名無しさん
2009/09/27(日) 11:52:33別にstaticでも良いと思うけど。
駄目な理由なんてないでしょ。
0335デフォルトの名無しさん
2009/09/27(日) 12:00:42static にすればアクセスし易いが、必要が無い。
アクセスする人に変数を渡すなりすればいいだけ。
これはスレッド云々の話ではない。
0336デフォルトの名無しさん
2009/09/27(日) 12:01:18static final List<Object> hoge=new ArrayList<Object>();
でも正解だったりするわけで
0337デフォルトの名無しさん
2009/09/27(日) 12:02:50素人乙
0338デフォルトの名無しさん
2009/09/27(日) 12:05:06プロセスは常に同じと考えているのかね
0339デフォルトの名無しさん
2009/09/27(日) 12:18:20やってごらん。
0340デフォルトの名無しさん
2009/09/27(日) 12:37:12頭の悪い塵がいるようだね。
0341デフォルトの名無しさん
2009/09/27(日) 12:41:220342デフォルトの名無しさん
2009/09/27(日) 13:06:04格納されているオブジェクトもイミュータブルですか?
0343デフォルトの名無しさん
2009/09/27(日) 13:08:200344デフォルトの名無しさん
2009/09/27(日) 13:10:04使い方によってはと書いてるだろ?
素人君はもっと勉強したまえ
0345デフォルトの名無しさん
2009/09/27(日) 13:44:38質問内容と関係ないでしょ。
本筋からそれてる内容で君のような低能じゃレスするまでもないよ。
0346デフォルトの名無しさん
2009/09/27(日) 14:04:05お前みたいな奴が質を下げてるの自覚したほうがいいよ
0347デフォルトの名無しさん
2009/09/27(日) 14:43:57宣言も Collections.synchronizedList() 使ってる人はたまにに見かける。
そういうのってよくわからずどっかのコーディング規約でつけた知識なのだろう。
0348デフォルトの名無しさん
2009/09/27(日) 14:53:00CopyOnWriteArrayListだといけるのですか?
それともaddメソッドをsynchronizedで囲めば大丈夫なのでしょうか?
0349デフォルトの名無しさん
2009/09/27(日) 15:12:28馬鹿じゃねーの
0350デフォルトの名無しさん
2009/09/27(日) 15:39:47Collections.synchronizedList()でも、Iteratorでまわしながら更新とかしているとダメ。
普通にaddするだけなら、大丈夫だと思うけど。
0351デフォルトの名無しさん
2009/09/27(日) 16:03:320352デフォルトの名無しさん
2009/09/27(日) 16:05:38個々のオペレーションで同期化されていても、プログラムとして正しいとは
限らないぞ。どこからどこまで他のスレッドに割り込まれてはいけないかを
考えて実装する必要がある。
1: value = list.get(0);
2: value += 10;
3: list.set(0, value);
なんて実行しているとき、1と3との間に別スレッドでlist.add(0, hoge)とか
実行されたら明らかに不味いけど、特にエラー等が出るわけじゃない。
0353デフォルトの名無しさん
2009/09/27(日) 16:09:230354デフォルトの名無しさん
2009/09/27(日) 16:10:14他のコレクションと同期取ったり、forで廻しながら特定の要素だけ抽出・削除したり。
はっきり言って Collections.synchronizedList() なんか付けるより個々の操作で
synchronized 付ける方が多い。
0355デフォルトの名無しさん
2009/09/27(日) 19:21:29ロックされて読み込みできないのでしょうか?
OSはLinux(RedHat)で、JavaのVersionは1.4です。
0356デフォルトの名無しさん
2009/09/27(日) 19:28:34書き込み中でも読み込みしたいのなら FileChannel で共有ロックでもかける。
0357デフォルトの名無しさん
2009/09/27(日) 19:29:260358デフォルトの名無しさん
2009/09/27(日) 21:26:39で任意の位置から指定された長さのByte[]データを得るにはどうすればいいのでしょうか?
例えば
オフセットが10から18のデータと
オフセットが19から30のデータを取得したいのですが
0359デフォルトの名無しさん
2009/09/27(日) 21:28:56buffer.get(buf, 19, 12);
0360デフォルトの名無しさん
2009/09/27(日) 21:48:25補足が有ると助かります
0361デフォルトの名無しさん
2009/09/27(日) 21:50:430362デフォルトの名無しさん
2009/09/27(日) 21:51:24スレタイ読め
0363デフォルトの名無しさん
2009/09/27(日) 21:55:16理解してなかった。
0364デフォルトの名無しさん
2009/09/27(日) 22:02:10まちがったらたまに熟練工が訂正してくれる。
0365デフォルトの名無しさん
2009/09/27(日) 22:02:40先輩方もやはり頭が悪いのでしょうか?
0366デフォルトの名無しさん
2009/09/27(日) 22:15:26みんな良い人ばかりだよ。
たまに荒らそうする人もいるけど。たぶん、そういう人は童貞なんだろうね。
童貞ほど悲惨なものは存在しないからね・・・。
で、Java5からsynchronizedは使わなくなったのですか?
使っていると「遅れてるぅ!」と言われたのですが・・・。
0367デフォルトの名無しさん
2009/09/27(日) 22:16:06全部キャッチして〜かっこで綴じちゃおう!
今日の出来事思い出して〜いつも心がキュンとなって♪
もう資源がないけどリリースしなくっちゃ!
ララ☆また明日♪
0368デフォルトの名無しさん
2009/09/27(日) 22:34:44ほんの一握りの出来る人たち以外は
コンピュータの基本も知らん素人ばかりだよ。
勉強もしねーし。
0369デフォルトの名無しさん
2009/09/27(日) 22:39:020370デフォルトの名無しさん
2009/09/27(日) 22:56:250371デフォルトの名無しさん
2009/09/27(日) 22:57:43んなこたねーよ。
セマフォ作ってみましたとかならともかく。
0372デフォルトの名無しさん
2009/09/27(日) 23:02:01使わなくても、他の方法で書けるようになった。
別に使っても使わなくてもどちらでもよい。
ただ、timerとか使っているとダサいかも・・・。
0373デフォルトの名無しさん
2009/09/27(日) 23:14:180374デフォルトの名無しさん
2009/09/28(月) 00:19:330375デフォルトの名無しさん
2009/09/28(月) 00:23:100376デフォルトの名無しさん
2009/09/28(月) 00:32:040377デフォルトの名無しさん
2009/09/28(月) 01:15:38ReentrantLockはtry-finallyを書くのが面倒だ。
シンタックスシュガーでいいから専用のブロック構文を用意して欲しかった。
0378デフォルトの名無しさん
2009/09/28(月) 12:37:38> 使っていると「遅れてるぅ!」と言われたのですが・・・。
そいつはバカだから適当にスルーしておけ
0379デフォルトの名無しさん
2009/09/28(月) 19:38:210380デフォルトの名無しさん
2009/09/28(月) 19:46:360381デフォルトの名無しさん
2009/09/28(月) 19:49:25所詮はその程度か
知ってて質問してみりゃ自分がしらねーもんだから曖昧表現だしな
このスレJ2EEには弱いやつしかいねーしな
0382デフォルトの名無しさん
2009/09/28(月) 20:13:440383デフォルトの名無しさん
2009/09/28(月) 20:21:32何したいのか知らんけど、Viewであまり特殊なことしないほうがいいよ。
0384デフォルトの名無しさん
2009/09/28(月) 20:22:100385デフォルトの名無しさん
2009/09/28(月) 20:25:280386デフォルトの名無しさん
2009/09/28(月) 20:37:370387デフォルトの名無しさん
2009/09/28(月) 20:38:250388デフォルトの名無しさん
2009/09/28(月) 20:40:07必死すぎワラタ
0389デフォルトの名無しさん
2009/09/28(月) 20:45:000390デフォルトの名無しさん
2009/09/28(月) 20:46:270391デフォルトの名無しさん
2009/09/28(月) 20:48:12出力されるバイトコードレベルで癖が違ったりしてるか?
javac も Java だからコンパイラエンジンとしてそのまま中で使っていると思う。
レキシカルアナライザか構文チェックあたりの癖はちょっと違っているが。
0392デフォルトの名無しさん
2009/09/28(月) 21:01:21JNDIというのでいいですか?
0393デフォルトの名無しさん
2009/09/28(月) 21:03:110394デフォルトの名無しさん
2009/09/28(月) 21:03:350395デフォルトの名無しさん
2009/09/28(月) 21:06:07そうですか。ではこれでいきますね。
0396デフォルトの名無しさん
2009/09/28(月) 21:10:53全く違う
選択できる
低能は困るね
0397デフォルトの名無しさん
2009/09/28(月) 21:11:10javacにないバグ(逆も秦)があることはあるよ。
以前JDTのコンパイラのバグを見付けてjavacとの動作の違いを
レポートしたことがある。
JDTが数値かどうかをCharacter.isDigitで判定していたせいで、
全角数字でリテラルを作れたとゆーw
0398デフォルトの名無しさん
2009/09/28(月) 21:11:38無能乙w
0399デフォルトの名無しさん
2009/09/28(月) 21:12:200400デフォルトの名無しさん
2009/09/28(月) 21:21:540401デフォルトの名無しさん
2009/09/28(月) 21:22:390402デフォルトの名無しさん
2009/09/28(月) 21:22:43変換されちゃうんですっけ?
DBで文字コードがEUCの文字をSELECTして、EUCの文字コードのままファイルに書き込むのは不可能?
0403デフォルトの名無しさん
2009/09/28(月) 21:28:42素人さんは困りますね。
0404デフォルトの名無しさん
2009/09/28(月) 21:29:32前者は全く違う
後者はやりよう
0405デフォルトの名無しさん
2009/09/28(月) 21:32:270406デフォルトの名無しさん
2009/09/28(月) 21:34:59前者の変換はその DB の JDBC ドライバが勝手にやります。
後者は書き込むときにプログラマが EUC-JP を指定します。
0407デフォルトの名無しさん
2009/09/28(月) 21:39:49これは同意
>>406
>>404で既にあるよ
2番煎じださい
0408デフォルトの名無しさん
2009/09/28(月) 21:41:310409デフォルトの名無しさん
2009/09/28(月) 21:49:26JDBC ドライバが、EUC→UTF-8に変換させた時って
”�梶hとかの特殊な文字だと文字コードが死んじゃいませんか?
僕の勘違いですかね・・・
0410デフォルトの名無しさん
2009/09/28(月) 21:54:480411デフォルトの名無しさん
2009/09/28(月) 21:55:52JDBC ドライバが文字コード決めてるんじゃないよ?
Oracleで言えばインスタンス単位で文字コード決める訳よ
全く話がバカレベル
0412デフォルトの名無しさん
2009/09/28(月) 21:56:39JavaとJavaScript(JS)hくぁ別物だよ。
0413デフォルトの名無しさん
2009/09/28(月) 21:57:47あったあったw
あと break;; とか throw ...;; とかすると 2 つめのセミコロンで「到達しない構文」でエラーに
なるのは今でもそうかな。javac 使ってた頃のプロジェクトのソース持ってきた時に 2 つ 3 つ
引っかかったおかげで形式上の障害票書いた事がある。
バイトコードに癖は見られなかったし、コンパイルオプションや IDE 上でエラー箇所示
したりするために構文解析モジュール付近だけ独自実装したような感だけど、ソース読んだ
わけじゃないのでフルスクラッチで作ったかまではシラネが。
>>407
おまえは糞の役にも立ってねぇなw
0414デフォルトの名無しさん
2009/09/28(月) 21:57:59勘違いですよ
0415デフォルトの名無しさん
2009/09/28(月) 21:58:430416デフォルトの名無しさん
2009/09/28(月) 21:59:51>>411で出てますよ。2番煎じださい
0417デフォルトの名無しさん
2009/09/28(月) 22:01:09すごく似てるよ。ほとんど一緒。
Javaはコンパイルだとか、なんだかんだ大掛かり。
その点、JavaScriptとPHPがいいのかなあと考えているよ。
自分で楽しむ分には、JAVAは重い
0418デフォルトの名無しさん
2009/09/28(月) 22:02:17それはEUC-JPに含まれない文字だ。x-eucJP-Open でも使っとけ。
0419デフォルトの名無しさん
2009/09/28(月) 22:03:280420デフォルトの名無しさん
2009/09/28(月) 22:04:04だなw
0421デフォルトの名無しさん
2009/09/28(月) 22:04:540422デフォルトの名無しさん
2009/09/28(月) 22:05:29素人乙ってるな
PHPまでと一緒にされてるとはw
この馬鹿は放置のがよかったか
0423デフォルトの名無しさん
2009/09/28(月) 22:06:57iBatisなんかでかぶせればいいでしょ。
0424デフォルトの名無しさん
2009/09/28(月) 22:07:470425デフォルトの名無しさん
2009/09/28(月) 22:08:57この頃つくづく思うのね
WEBにちょっと貼ろうにもJAVAだと簡単にいかない、
その点JAVASCRIPTだとスイスイいくよ。
PHPも簡単そうだし、ニーズもありそう。
0426デフォルトの名無しさん
2009/09/28(月) 22:10:220427デフォルトの名無しさん
2009/09/28(月) 22:14:13趣味サイトにJava使う奴なんていないよ…
自分のサイトにちょっと手を加える程度にサーブレットとか使ってたらただの馬鹿だ
凝ったサイトにせいぜいrailsとかそこら辺じゃないのかな
0428デフォルトの名無しさん
2009/09/28(月) 22:19:07面倒だよね。ふつうにさHTMLにぺたっと貼りたいね。
0429デフォルトの名無しさん
2009/09/28(月) 22:20:43Java,PHPとJavaScriptで同等って馬鹿じゃないの?
サーバとクライアントの違いも分かっていないのかね
0430デフォルトの名無しさん
2009/09/28(月) 22:21:130431デフォルトの名無しさん
2009/09/28(月) 22:24:05それでいいのかな。おらは言えねえねえ
0432デフォルトの名無しさん
2009/09/28(月) 22:25:18無能は職務上邪魔
0433デフォルトの名無しさん
2009/09/28(月) 22:25:52悟空…
0434デフォルトの名無しさん
2009/09/28(月) 22:26:260435デフォルトの名無しさん
2009/09/28(月) 22:28:12もう超人が書いたコード読むの嫌だよ。
なんだよ4000行のメソッドと8段のインデントって。
0436デフォルトの名無しさん
2009/09/28(月) 22:29:250437デフォルトの名無しさん
2009/09/28(月) 22:31:08メソッド呼び出しで困ってるんだけど、
struts.xmlに記述でメソッド名で呼び出したい
順序も記述通りにしたい
諸先輩方お願いします
0438デフォルトの名無しさん
2009/09/28(月) 22:32:14そりゃカッペが書いたコード
1メソッド100行が妥当だな
0439デフォルトの名無しさん
2009/09/28(月) 22:32:57DispatchAction系を使えばいいんでないの?
2系は知らんけど。
0440デフォルトの名無しさん
2009/09/28(月) 22:33:15空白行やコメントはキライ。ぎっしり詰まったのがいいね。
好みは個人差があるね。
0441デフォルトの名無しさん
2009/09/28(月) 22:35:16凝集度って言葉しってる?
0442デフォルトの名無しさん
2009/09/28(月) 22:35:49メソッドはAction実装クラスです
0443デフォルトの名無しさん
2009/09/28(月) 22:36:20おらはしらない
0444デフォルトの名無しさん
2009/09/28(月) 22:36:56アホかディスパッチャーの上から実装したことないのか
お前じゃFW作れないな
0445デフォルトの名無しさん
2009/09/28(月) 22:37:47メソッドのシグニチャを決められたパラメータ名で渡して、
executeメソッド内から参照->Dispatchすればいいんじゃないの?
リクエストプロセッサに何させたいのかな。
0446デフォルトの名無しさん
2009/09/28(月) 22:39:50俺一応某企業のStruts系Webアーキテクトだけど
ディスパッチャーの拡張なんてしたことないや。つか必要がなかったしw
0447デフォルトの名無しさん
2009/09/28(月) 22:40:49あれは偽物だ
pojo
struts1.3系で2系みたいなことをやらせたいようだ
0448デフォルトの名無しさん
2009/09/28(月) 22:42:40あれ1.2系で完全pojo実装でいけるよ。
外部フレームワーク依存が嫌ならソースみるだけでも参考になるっしょ。
0449デフォルトの名無しさん
2009/09/28(月) 22:43:50他は何だとばかりにアホ面ならべてるだけだしな
簡易な質問には稚拙な回答で飛びこむ姿勢がうざいんだよ
0450デフォルトの名無しさん
2009/09/28(月) 22:44:31SAStrutsなんぞ馬鹿でも使わんよ
0451デフォルトの名無しさん
2009/09/28(月) 22:45:32もはやJavaではないと思うのね。フレームワーク完全依存で、
もうpureには戻れない。中毒患者のよう。
戻れないのだからJavaじゃない。Struts言語だよね。
0452デフォルトの名無しさん
2009/09/28(月) 22:45:42俺が使ってるんだが。
0453デフォルトの名無しさん
2009/09/28(月) 22:47:150454デフォルトの名無しさん
2009/09/28(月) 22:47:28素人はロムってろ
0455デフォルトの名無しさん
2009/09/28(月) 22:49:34キミはいい線いってたよ
知ったかで適当なこと言ってる奴が多くて罠貼ったが
誰もこない、つまり無能だったと
キミは理解していたよ、知らないふりして悪かったな
0456デフォルトの名無しさん
2009/09/28(月) 22:56:27裏ロムですか?ロムってのはですね、
不揮発性の素子なんですよ。作れますか?
ロムるという表現は幼稚ですねえ。
2チャンネルの影響を受けすぎですから自分をしっかり持って
生きていく決心を固めてください。期待しています。
0457デフォルトの名無しさん
2009/09/28(月) 22:58:20随分気合入ってるな。まかせたぞ。
0458デフォルトの名無しさん
2009/09/29(火) 00:32:300459デフォルトの名無しさん
2009/09/29(火) 00:36:11その参考値で実際にどう重み付けするかは OS
0460デフォルトの名無しさん
2009/09/29(火) 01:35:01寂しい人向け
混む時間帯は人気ありすぎて定員オーバーで入れん
24時間荒れ放題の超カオスな絵チャット
本当の本当に完全無法地帯の絵チャット
(2ちゃんとは比較にならない)
荒しとプログラマーと防衛プログラマーの攻防戦
防衛側が強し、求む強力荒しプログラマー
しかも外国サーバー(イギリス)で管理人は荒し容認
殺人予告すらOKっぽい。ログなんて当然取ってないし
0461デフォルトの名無しさん
2009/09/29(火) 01:56:05次webアプリケーションつくりたいなと思うんだけど
良い入門書ある?
0462デフォルトの名無しさん
2009/09/29(火) 04:18:08こんなとこまで宣伝に来るなよ。どんだけ必死なんだお前
0463デフォルトの名無しさん
2009/09/29(火) 04:55:43状態なんだけど、特定のファイルやディレクトリへのアクセスを禁止したい場合ってどうする
のが良いかね? 例えば *.ini とか */tmp/* とか。
default サーブレットじゃ禁止パターンとか指定できないし、個別に ProxyPass ... ! でブロック
するしかない?
0464デフォルトの名無しさん
2009/09/29(火) 05:51:22お前はapacheの勉強をしたほうがいいな
0465デフォルトの名無しさん
2009/09/29(火) 05:58:07書籍なんぞその時はちょっとは使えるかも知れんがすぐ時代遅れだよ。
0466デフォルトの名無しさん
2009/09/29(火) 09:10:01セッション変数は共通になってしまいます。
セッション変数をアプリケーションごとで別々にしたい場合は
どうすればいいでしょうか?
0467デフォルトの名無しさん
2009/09/29(火) 09:12:52コンテキストを別にしてもダメなのかい?
0468デフォルトの名無しさん
2009/09/29(火) 09:19:32やってみます。さんくす。
0469デフォルトの名無しさん
2009/09/29(火) 15:20:23そのユーザー/パスワード/ドメインを自動的に渡すことって
できないでしょうか?
0470デフォルトの名無しさん
2009/09/29(火) 15:37:150471デフォルトの名無しさん
2009/09/29(火) 15:43:47出来るだろう。
JavaScript+PHPがいいみたいですよ
0472デフォルトの名無しさん
2009/09/29(火) 15:53:480473デフォルトの名無しさん
2009/09/29(火) 15:54:100474デフォルトの名無しさん
2009/09/29(火) 16:00:050475デフォルトの名無しさん
2009/09/29(火) 17:54:070476デフォルトの名無しさん
2009/09/29(火) 18:56:25Windows鯖な時点で終わってる。
0477デフォルトの名無しさん
2009/09/29(火) 19:08:49UNIXでNTLM認証ならApacheのモジュールが存在するよ。
pythonで実装されたNTLMプロキシもあったはず。
0478デフォルトの名無しさん
2009/09/29(火) 20:19:29できたよ。
昔やったことがある。
詳しいやり方は全く覚えてない。
0479デフォルトの名無しさん
2009/09/29(火) 20:52:320480デフォルトの名無しさん
2009/09/29(火) 21:11:23お前はただの無能だろ
いらんレスするな
0481デフォルトの名無しさん
2009/09/29(火) 23:21:37そのサイトで、それぞれプルダウンや入力値を設定し、
検索ボタンを押下した際に表示されるページの、値を取得したいです。
0482デフォルトの名無しさん
2009/09/29(火) 23:24:15HttpUnit?
0483481
2009/09/29(火) 23:26:59URLの後ろに、パラメータを指定して(name=satou&addr=sinagawa 等)初期表示した際に、
画面に値が埋め込まれた状態で表示できるのはわかるのですが、
そこから「検索」ボタンを押下したのと同じ処理を実行させる方法がわかりません。
よろしくお願いします。
0484デフォルトの名無しさん
2009/09/29(火) 23:33:26http://www.atmarkit.co.jp/fjava/javatips/069java006.html
0486デフォルトの名無しさん
2009/09/29(火) 23:51:37外部で同期化をしなくても大丈夫なのでしょうか?
0487デフォルトの名無しさん
2009/09/30(水) 00:02:350488デフォルトの名無しさん
2009/09/30(水) 00:10:55個々のオペレーション単独での原子性は保証されてる。
が、読んでから書くまでの間に別のスレッドが割り込まれたら不味い場合は排他制御が必要。
0489デフォルトの名無しさん
2009/09/30(水) 00:11:54○別のスレッドに
0490デフォルトの名無しさん
2009/09/30(水) 00:20:4764bitのWindowsにしたら8GB以上、javaで使えますか?
Unixじゃないとダメですかね?
0491デフォルトの名無しさん
2009/09/30(水) 00:21:55EEのEclipseの起動も変更なしで出来るんでしょうか?
0492デフォルトの名無しさん
2009/09/30(水) 03:19:220493デフォルトの名無しさん
2009/09/30(水) 08:29:59メモリーが沢山あれば、あのままで動く環境があるはず
0494デフォルトの名無しさん
2009/09/30(水) 10:25:22Mapみたいなクラスに入れるのとArrayIntListの配列のどっちがいいと思う?
限られたスコープでしか使わないので、速度を重視して配列がいいと思うけど
オブジェクト指向という点で考えて見たら?ってアドバイスを受けたよ
0495デフォルトの名無しさん
2009/09/30(水) 10:29:510496デフォルトの名無しさん
2009/09/30(水) 10:56:00性能(速度やメモリ)よりもインターフェイス設計を重視。
性能はあとインターフェイスを変えずに改善。
0497デフォルトの名無しさん
2009/09/30(水) 11:23:180498デフォルトの名無しさん
2009/09/30(水) 12:00:49いい加減な概念だよね。
オブジェクト指向を知りたいならPHPがいいね。
0499デフォルトの名無しさん
2009/09/30(水) 12:17:570500デフォルトの名無しさん
2009/09/30(水) 12:40:400501デフォルトの名無しさん
2009/09/30(水) 12:41:22頭でっかちなコードは迷惑なだけですよ
0502デフォルトの名無しさん
2009/09/30(水) 13:01:32どっちでも良いしすぐ修正出来るだろ。こんなもんにいちいちケースバイ
ケースとか言って答保留してる奴がアフォ。
0503デフォルトの名無しさん
2009/09/30(水) 15:31:13参考になるサイトはありませんか?
0504デフォルトの名無しさん
2009/09/30(水) 15:41:52暫くお待ちください。
0505デフォルトの名無しさん
2009/09/30(水) 17:56:34こいつ頭おかしいな
0506デフォルトの名無しさん
2009/09/30(水) 18:06:45Htmlのフォームから、Java Applicationを呼び出すことは技術的に可能でしょうか?
AppletやServletのようにhtmlのフォームを変数にいれてApplicationを起動させたいのですが、
記述方法がいまいちわかりません。
なにかやりかたがありましたらご指導お願いいたします。
0507デフォルトの名無しさん
2009/09/30(水) 18:08:090508デフォルトの名無しさん
2009/09/30(水) 18:16:340509デフォルトの名無しさん
2009/09/30(水) 18:35:30まず質問を簡潔にしろよ
色々ととれるぞ
0510デフォルトの名無しさん
2009/09/30(水) 19:00:020511デフォルトの名無しさん
2009/09/30(水) 19:03:44しねーよ
スレ違いの低能うざい
0512デフォルトの名無しさん
2009/09/30(水) 20:32:250513デフォルトの名無しさん
2009/09/30(水) 20:41:10しかし動的言語の初期生産性もやはり大きな魅力ではある。
0514デフォルトの名無しさん
2009/09/30(水) 21:12:59webに限るけど・・・
0515デフォルトの名無しさん
2009/09/30(水) 21:49:57public Hoge(String patternB) {}
みたいに、コンストラクタのシグネチャが同じになった時どうやって回避してる?
public static Hoge getInstancePatternA(String pattern) {}
public static Hoge getInstancePatternB(String pattern) {}
みたいなメソッドを作ってインスタンスを生成するといいよ
とか言う記事を読んだことがあるんだけど
0516デフォルトの名無しさん
2009/09/30(水) 21:57:12(Pattern とか Document とか File とか)。
どうしても同じになってしまうならその下のようにファクトリメソッド化。
一回実行のどうでも良い作り捨てのプログラムならフラグ渡して
コンストラクタ内で A, B 動作選択。
0517デフォルトの名無しさん
2009/09/30(水) 22:09:32JaBolかCovaにしたらいいね
バックヤードに向いていると思う
WEBはPHPが断然動きやすい。
0518デフォルトの名無しさん
2009/09/30(水) 22:19:36だれかそんな俺にガツンと言って。
0519515
2009/09/30(水) 22:21:54レスありがとうございます
factory methodはどの例を見ても、継承がなんちゃらって書いてありますが
自分自身をnewして返すってのはバカバカしい事なんですかね?
0520デフォルトの名無しさん
2009/09/30(水) 22:32:44そもそも別々の引数を個別に渡すコンストラクタの意味ってなんだろう。
あるインスタンスから見た時、他方のインスタンスが注目している内部状態とは
まったく別の内部状態にしか関心がないのなら、それらが同一クラスである必要はないのでは?
0521デフォルトの名無しさん
2009/09/30(水) 22:37:22わかりました
ありがとうございます
0522デフォルトの名無しさん
2009/09/30(水) 22:57:190523デフォルトの名無しさん
2009/10/01(木) 00:31:540524デフォルトの名無しさん
2009/10/01(木) 01:05:29たとえばUTF-8であれば、1-4バイト(日本語は3バイトと思っていい)
Shift-JISは全角2バイト、半角1バイト
0525デフォルトの名無しさん
2009/10/01(木) 01:14:211日だったら、月を1つ減らして、その月の最後の日にする。
1月1日だったら、さらに年も1つ減らすって処理をすればできますが、
メソッド一発でもっと簡単にできるようなのはないでしょうか?
0526523
2009/10/01(木) 01:15:37わかりました。ありがとうございます
br = new BufferedReader(new InputStreamReader(getInputStream(), "Shift_JIS"));
while((str = br.readLine()) != null) {}
みたいな感じで、shift-jisのデータを読み込んでいるんですが
shift-jisで何バイト読み込んだか知りたいんですが、どうにかなりませんかね?
0527デフォルトの名無しさん
2009/10/01(木) 01:22:130528デフォルトの名無しさん
2009/10/01(木) 01:25:28Calendar(暦法計算機)クラスのインスタンスに
対象日付を放り込んでマイナス1日を加える。
0529デフォルトの名無しさん
2009/10/01(木) 01:42:00>528の処理を書いたメソッドを作成する
0531デフォルトの名無しさん
2009/10/01(木) 01:52:300532デフォルトの名無しさん
2009/10/01(木) 01:55:34br.readLine()の結果には改行付いてないので、実際に読んだ量にする
場合はそこも忘れずに。
というか、元データの改行が1バイトなのか2バイトなのかは分からんような。
あと、サイズには影響しないけど、大抵の場合は Shift_JIS といいつつ
Windows-31J。
0533530
2009/10/01(木) 02:05:12>元データの改行が1バイトなのか2バイトなのかは分からんような。
特定のコンピュータから発生するデータなので、
事前に調べておけば問題はなさそうです
ありがとうございました
0534デフォルトの名無しさん
2009/10/01(木) 16:41:33なんでそんな基礎をべらべら言ってんの?
JavaDoc嫁で終わりでしょ
ガキは覚えた言葉を言いたがるというが、お前はそれに該当する
0535デフォルトの名無しさん
2009/10/01(木) 17:02:280536デフォルトの名無しさん
2009/10/01(木) 17:08:16スレタイ嫁
お前はガキじゃないからこのスレじゃお断り
0537デフォルトの名無しさん
2009/10/01(木) 17:17:10初心者ってなんだ?一通り理解しているのが初心者だろ
お前含め低能に分かりすく言えば、水を飲みたいがどうすればいい?ってもんだぞ?
なんならスレタイを無能専用に変更したらどうだい?
0538デフォルトの名無しさん
2009/10/01(木) 17:22:06低能に分はないな
0539デフォルトの名無しさん
2009/10/01(木) 17:30:29思考回路がちょっと悪い素人といったところかな。
0540デフォルトの名無しさん
2009/10/01(木) 17:43:53宇宙刑事「ためらわないことさ」
0541デフォルトの名無しさん
2009/10/01(木) 17:47:16自分の言葉で言えない人間て愚かだよね
0542デフォルトの名無しさん
2009/10/01(木) 18:01:420543デフォルトの名無しさん
2009/10/01(木) 18:15:16そもそも【初心者専用】を付けたのが悪い
0544デフォルトの名無しさん
2009/10/01(木) 18:41:11まぁ>>1のスレタイが糞ってのもあったろうけど
0545デフォルトの名無しさん
2009/10/01(木) 19:07:45無能や低脳と罵るだけであれば、そこに返すべき理論は存在しない。
0546デフォルトの名無しさん
2009/10/01(木) 19:17:39> 理論で返せない
お前が言うな
0547デフォルトの名無しさん
2009/10/01(木) 20:09:44InputStreamReaderを使わずにInputStreamからStringを取り出す方法を教えてください
0548デフォルトの名無しさん
2009/10/01(木) 20:15:10InputStreamはインタフェイスだぞ
低能乙ったな
0549デフォルトの名無しさん
2009/10/01(木) 20:18:59そういう意味じゃないだろ
0550デフォルトの名無しさん
2009/10/01(木) 20:21:53ステップ1
InputStream→InputStreamReader→String
スッテプ2
InputStreamReaderを使わずにInputStreamからStringを取り出す
馬鹿か?
0551デフォルトの名無しさん
2009/10/01(木) 20:22:10Readerを使えない理由は?
0552デフォルトの名無しさん
2009/10/01(木) 20:26:24どんな状況でも使える汎用的な方法はない。
文字列の長さもエンコーディングも既知の場合なら
byte[] array = new byte[文字列の長さ];
inputStream.read(array);
String str = new String(array, エンコーディング);
ほかにもエンコーディングがISO8859_1限定で
文字列が改行かファイル終端で終わるならDataInput#readLine()使う、など。
0553デフォルトの名無しさん
2009/10/01(木) 20:29:43InputStreamReaderのソース読め、で終わりだけど。
0554デフォルトの名無しさん
2009/10/01(木) 20:32:13なぜASCII限定なんだい?
バイナリでエンコーディングwwww
0555デフォルトの名無しさん
2009/10/01(木) 20:33:15完全なデータのサイズが必要なため
InputStreamReaderを使うと誤差が発生するから
>>552
わかりました
ありがとうございます
0556デフォルトの名無しさん
2009/10/01(木) 20:41:37InputStream→FilterInputStreamを継承した読み込みバイト数を数える自作クラス
→InputStreamReader→Stringはどうかの?
0557デフォルトの名無しさん
2009/10/01(木) 20:41:59そういう用途なら
InputStream→org.apache.commons.io.input.CountingInputStream→InputStreamReader→Stringして、
全部読み終わった後にCountingInputStream#getByteCount()でバイト数取ってくる方が楽かも。
0558デフォルトの名無しさん
2009/10/01(木) 20:55:49所詮は無能スレか
0559デフォルトの名無しさん
2009/10/01(木) 20:57:530560555
2009/10/01(木) 21:02:24FileterInputStreamを継承するのは、ちょっと面倒くさそうですが
少し調べてみることにします
>>557
commons ioにそんな便利なクラスがあったとは知りませんでした
IOUtils.closeQuietly()とかコピー関係のメソッドはよく使いますが、それは知らなかった
0562デフォルトの名無しさん
2009/10/01(木) 22:22:38public void メソッドA() {
クラスB.メソッドB();
次の処理
}}
class クラスB {
public void メソッドB() {
Thread t = new Thread(new Runnable() {
public void run() {
}
t.start();
}}
とすると、メソッドBの処理が終わっていなくても「次の処理」をやってくれるの?
0563デフォルトの名無しさん
2009/10/01(木) 23:01:11お前さんが聞きたいのはメソッドBの処理ではなくてrun()の中の処理の話だろ?
それならばBのメソッドを抜けているか、次の処理に進んでいるかなどに関わらず並列に処理される。
ただし、どっちが先に実行されるかとかは制御しようとしない限りは不明(VM次第)
0564デフォルトの名無しさん
2009/10/01(木) 23:27:14read() がマルチバイト挟んだら文字化けするだろ素人
0565デフォルトの名無しさん
2009/10/01(木) 23:34:41馬鹿は氏ねよ
0566デフォルトの名無しさん
2009/10/01(木) 23:36:50玄人はこのスレにレスすべきではありません。
0567デフォルトの名無しさん
2009/10/02(金) 00:15:16中括弧の位置もおかしいし、セミコロンの位置もおかしい
コンパイルエラー
0568デフォルトの名無しさん
2009/10/02(金) 00:33:250569デフォルトの名無しさん
2009/10/02(金) 00:59:53すごい勢いでスキルの陳腐化が進むように変更されて、
業務以外でも勉強できる人じゃないと前衛に出せない。
新仕様導入されたのは10月1日からってうわさ。
0570デフォルトの名無しさん
2009/10/02(金) 01:51:57どうせバグだらけだろうけど
0571デフォルトの名無しさん
2009/10/02(金) 09:17:540572506
2009/10/02(金) 10:00:26やりたい事としては JavaSwingのインターフェースをhtmlのフォームに置き換えたいと思っています。
そこで、formtype button や submit などで、JavaApplicationを起動し、引数にパラメータを入れたいな
と考えています。
このようなことは、可能でしょうか?
0573デフォルトの名無しさん
2009/10/02(金) 10:01:290574デフォルトの名無しさん
2009/10/02(金) 10:02:35つまり鯖側でappをkickするんだな?
受け口からjavaコマンド発行すればいいだろ
0575デフォルトの名無しさん
2009/10/02(金) 11:52:320576デフォルトの名無しさん
2009/10/02(金) 12:07:22htと書いてあるだろ
http使うんだろ
頭悪い奴は黙ってろ
0577デフォルトの名無しさん
2009/10/02(金) 12:16:05そもそも、そうすることでどんな良いことがあるのか知れない。
0578デフォルトの名無しさん
2009/10/02(金) 12:28:42アプリケーションの一部にブラウザを組み込むってこと?
コマンドの書き方や機能の起動のしかたはともかく、そのブラウザはどこから持ってこようとしているの?
表示はブラウザと関係無くて、同じマシンなりサーバなりのモジュールと HTTP 通信をしたいだけなら簡単な話だけど。
0579デフォルトの名無しさん
2009/10/02(金) 12:29:53よくあうじゃん
0580デフォルトの名無しさん
2009/10/02(金) 12:31:490581デフォルトの名無しさん
2009/10/02(金) 12:49:450582デフォルトの名無しさん
2009/10/02(金) 12:58:00http://ikemen.googlepages.com/htmltablepanel
0583デフォルトの名無しさん
2009/10/02(金) 14:04:48聞いたこと無い
0584デフォルトの名無しさん
2009/10/02(金) 14:24:12まだまだ青いですな
0585デフォルトの名無しさん
2009/10/02(金) 14:25:26よくある方法かどうかは知らない
0586デフォルトの名無しさん
2009/10/02(金) 18:32:060587デフォルトの名無しさん
2009/10/02(金) 18:33:580588デフォルトの名無しさん
2009/10/02(金) 18:36:390589デフォルトの名無しさん
2009/10/02(金) 18:39:37うんこみたいな仕事だったよ
0590デフォルトの名無しさん
2009/10/02(金) 18:54:00また、こういう処理って Java ではどう書くのがベターなんでしょう?
0591デフォルトの名無しさん
2009/10/02(金) 18:57:160592デフォルトの名無しさん
2009/10/02(金) 18:58:55そのShapeからAreaを構築してArea同士でintersects
0593デフォルトの名無しさん
2009/10/02(金) 19:06:40頭悪すぎる
0594デフォルトの名無しさん
2009/10/02(金) 19:13:38ありがとう。その辺を試してみます。
>>593
利用できるものが用意されてるなら、それを利用したいと思ったまでですよ。
いたってふつうの考え方では?
0595デフォルトの名無しさん
2009/10/02(金) 19:19:33自分で考えられず猿真似を繰り返す低能じゃ迷惑なだけだよ
0596デフォルトの名無しさん
2009/10/02(金) 20:22:57というか、synchronizedを付けないと問題が発生する処理の書き方がわからない
0597デフォルトの名無しさん
2009/10/02(金) 20:36:530598デフォルトの名無しさん
2009/10/02(金) 20:45:19setter にも synchronized が付いていれば、どこかのスレッドが setter を呼び出して変数を半分だけ書き換えたところで、
get してしまあ
0599デフォルトの名無しさん
2009/10/02(金) 20:48:030600596
2009/10/02(金) 20:54:530601デフォルトの名無しさん
2009/10/02(金) 21:04:150602デフォルトの名無しさん
2009/10/02(金) 22:17:050603デフォルトの名無しさん
2009/10/02(金) 22:45:23スレ違い
>>602
たまには使うよ
0604デフォルトの名無しさん
2009/10/02(金) 22:58:56CLDCな環境向けにxmlパーサ書いたときに使った
0605デフォルトの名無しさん
2009/10/02(金) 23:01:14おまいのような奴が既にあるものを自作した挙句にバグを埋め込むんだ。
CSVのリーダ/ライタなんか典型例。
0606デフォルトの名無しさん
2009/10/02(金) 23:09:13目的を達成できたので結果報告をば。それと、実はやりたいことが微妙に間違っ
てまして、線と四角の 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
貴重なヒントをありがとうございました。
0607デフォルトの名無しさん
2009/10/02(金) 23:46:15ソースみてないからわからんけど、おそらく同期処理の本質が理解できてないと思う。
Javaのメモリモデルとメモリの可視性について勉強してみ。
0608デフォルトの名無しさん
2009/10/02(金) 23:56:21もっと具体的にアドバイスしろ
0609デフォルトの名無しさん
2009/10/03(土) 00:05:18○抽象的
0610デフォルトの名無しさん
2009/10/03(土) 00:07:47まあ、質問者の聞きたいこととはズレているだろうことは認識してるんだけどさ。
0611デフォルトの名無しさん
2009/10/03(土) 10:44:090612デフォルトの名無しさん
2009/10/03(土) 11:57:440613デフォルトの名無しさん
2009/10/03(土) 13:03:00Shift_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なのでどう扱うかわかりません
エロい人ヒントをください
0614デフォルトの名無しさん
2009/10/03(土) 13:07:26-1 の判定した後は byte にキャストしていいよ
0615デフォルトの名無しさん
2009/10/03(土) 13:34:430616613
2009/10/03(土) 14:02:24@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を継承したクラスを通すことにしました
0617デフォルトの名無しさん
2009/10/03(土) 16:56:42その後で勝手に String にするほうがいいんでない。
0618デフォルトの名無しさん
2009/10/03(土) 18:13:57なにがしたいのかわからない。
普通はバイナリデータとしてByte列をメモリ上に保存
1、そのデータをファイルに書き出し
2、文字列へdecodeして表示
のステップでいいと思うが。
0619デフォルトの名無しさん
2009/10/03(土) 18:15:12吊ってくる。
0620デフォルトの名無しさん
2009/10/03(土) 18:57:06無能ほど冗長なコードが増えるからな
0621デフォルトの名無しさん
2009/10/03(土) 19:20:230622613
2009/10/03(土) 19:27:27ArrayByteList 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
確かに無駄に増えますね、しかもメモリも無駄に使います
でも、苦肉の策なのでやりたくてやってるわけではないんです
0623デフォルトの名無しさん
2009/10/03(土) 20:24:24実際動かしてみればわかると思うけど
20/100点位ってとこか。
まあ、個人の自由だから好きにやればいい
0624デフォルトの名無しさん
2009/10/03(土) 20:43:19既に動かしてみましたが、やっぱり苦肉の策なので
そのうち暇になったらまた考え直します
0625デフォルトの名無しさん
2009/10/03(土) 21:09:27「あいう」というような文字列に対して
文字コードへの変換(UTF-8)をしてやることで、
「%E3%81%82%E3%81%84%E3%81%86」という文字列を得たいのですが、
これはどのようにしたら実現可能でしょうか。
0626デフォルトの名無しさん
2009/10/03(土) 21:13:110627デフォルトの名無しさん
2009/10/03(土) 21:17:52ありがとうございます!m(_ _)m
0628デフォルトの名無しさん
2009/10/04(日) 13:24:29ユーザー管理用のマスタを作成して、そこに、ユーザーIDとパスワードを登録しておこうと思うのですが
セキュリティのため、パスワードは暗号化してマスタに登録したいのです。
そして、ログイン時に、暗号化したマスタのパスワードを復号化して入力されたパスワードと比較したいのですが
どのようにすればよいでしょうか?
0629デフォルトの名無しさん
2009/10/04(日) 13:31:35"java 暗号化" でググれ。
多分、JCEとかいうのを使えばできる。
0630デフォルトの名無しさん
2009/10/04(日) 13:52:14* 復号する方法のない(一方通行の)方法で暗号化して保存。
* 入力を同じ方法で暗号化して一致するかどうかを見る。
とやる。
0631デフォルトの名無しさん
2009/10/04(日) 14:46:15それぞれの作るもので違うメソッドを作るのか、一つのメソッドで引数によって
違うインスタンスをつくるのかどうか教えてください。
0632デフォルトの名無しさん
2009/10/04(日) 15:03:06例えば Charset#newDecoder() とか Charset#newEncoder() は前者の例
Calendar#getInstance(Locale) とか Cipher#getInstance(String) は後者の例であろう
0633デフォルトの名無しさん
2009/10/04(日) 15:34:57ちょっとした作業をするプログラムを手早く書きたいだけでも
プロジェクトを作成する必要があるのでしょうか?
プロジェクトとは無関係の独立したソースを作成して
(あるいは別のエディタで書いたソースを開いて)、
ちょっとコードを書いて、コンパイルする、といったことは出来ますか?
0634デフォルトの名無しさん
2009/10/04(日) 15:37:20ちょっとしたプログラムは全部そこに無造作に放り込んである
0635デフォルトの名無しさん
2009/10/04(日) 16:01:07結局はファイルがあちこち散乱するわけでどっかのプロジェクトに入れておく方が便利
0636633
2009/10/04(日) 16:06:13ありがとうございました。
0637デフォルトの名無しさん
2009/10/04(日) 18:33:380638デフォルトの名無しさん
2009/10/04(日) 18:48:100639デフォルトの名無しさん
2009/10/04(日) 18:54:07全体セーブもしやすい
0640デフォルトの名無しさん
2009/10/04(日) 20:18:590641デフォルトの名無しさん
2009/10/04(日) 21:06:140642デフォルトの名無しさん
2009/10/04(日) 21:24:460643デフォルトの名無しさん
2009/10/04(日) 21:36:01それに極めの極地にいる奴ばかりで頭おかしいのも多い
2CHやりすぎると頭が馬鹿になっちゃから気をつけたほうがいいよ
0644デフォルトの名無しさん
2009/10/04(日) 22:14:342chどっぷりで頭おかしくなってしまってる輩に…
数少ない優良板だけ利用するのが吉
0645デフォルトの名無しさん
2009/10/04(日) 22:26:15おまえがその噂の池沼だろボケ
0646デフォルトの名無しさん
2009/10/04(日) 22:26:380647デフォルトの名無しさん
2009/10/04(日) 22:33:19質問に答えるわけでもなく、javaの愚痴だけいってすぐどっか行っちゃうけど
何あれ?2chやりすぎの馬鹿?w
0648デフォルトの名無しさん
2009/10/04(日) 22:41:32気短すぐるぞもちつけ
0649デフォルトの名無しさん
2009/10/04(日) 22:43:06データが壊れるときいたのですが、読み込むだけだったら大丈夫なのでしょうか?
0650デフォルトの名無しさん
2009/10/04(日) 22:48:190651デフォルトの名無しさん
2009/10/04(日) 22:56:28ありがとうございます。
書き込んでいる間に読み込んでも、値は保障されなくなるのでしょうか?
Java5のConcurrentHashMaoを使えば、複数スレッドの同時書き込みや
書き込み時に読み込んだりしても大丈夫なのでしょうか?
0652デフォルトの名無しさん
2009/10/04(日) 23:07:08そうでなくても複雑なオブジェクトを格納する場合は可視性の問題が多分残る
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
0653デフォルトの名無しさん
2009/10/04(日) 23:10:45removeはどうですか?
0654デフォルトの名無しさん
2009/10/04(日) 23:23:36どのremoveかもわからんし
言葉を省略しすぎだ
質問は具体的に
0655デフォルトの名無しさん
2009/10/04(日) 23:38:100656デフォルトの名無しさん
2009/10/04(日) 23:41:34ジェネリクスが使えません。
動作の内容が同じでint、floatかだけが違うようなクラスを作る際に
Vector2DI、Vector2DF
みたいに沢山作るのは面倒です。
何か良い方法ないでしょうか
0657デフォルトの名無しさん
2009/10/04(日) 23:47:320658デフォルトの名無しさん
2009/10/04(日) 23:51:520659デフォルトの名無しさん
2009/10/04(日) 23:53:39単にエディタで型名を一括置換すれば済むんじゃないか?
0660デフォルトの名無しさん
2009/10/05(月) 04:23:560661デフォルトの名無しさん
2009/10/05(月) 04:53:560662デフォルトの名無しさん
2009/10/05(月) 09:13:48private URL url;
public getURL() {
retrun url;
}
URL sdf = hoge.getURL();
sdfのメソッドを使う処理
って処理をやったとする。この処理をするとHoge.urlに変更が加わるわけじゃん
もしも、Hoge.urlがHogeクラスの中で重要な役割を果たしていたら動きが変になるわけで
どうやって対処すればいいの?
public getURL() {
return new URL(url.toString());
}
ってのは出来ればやりたくない
0663デフォルトの名無しさん
2009/10/05(月) 09:18:04コンパイル通るのかと思って、試してみちゃったじゃないか。
0664デフォルトの名無しさん
2009/10/05(月) 09:30:380665デフォルトの名無しさん
2009/10/05(月) 09:49:23> ってのは出来ればやりたくない
なぜ?
mutableなオブジェクトを副作用させないように外部公開するときの定石だろうが。
そもそもURLはimutableだと思うがね
0666デフォルトの名無しさん
2009/10/05(月) 10:16:43○ immutable
0667デフォルトの名無しさん
2009/10/05(月) 18:47:440668デフォルトの名無しさん
2009/10/05(月) 18:54:090669662
2009/10/05(月) 19:05:42>>665
単純にオブジェクトを作りたくないだけ
static ファクトリーメソッドを使うとなんちゃらってのが本に書いてあった気もするし
0670デフォルトの名無しさん
2009/10/05(月) 19:15:38理解できないおまえが一番頭悪い
0671デフォルトの名無しさん
2009/10/05(月) 19:55:39属性として保持するオブジェクトに対して、外部から操作されることで
自身のデータ一貫性が破られる恐れがあるのなら、
採りうる方策としては普通以下の2パターン。
・そもそもオブジェクトを外部に公開しない
・外部にはCloneされたオブジェクトを渡す(Sharrow、Deepコピーを含む)
0672デフォルトの名無しさん
2009/10/05(月) 19:57:21Sharrow -> Shallow
0673デフォルトの名無しさん
2009/10/05(月) 20:08:010674デフォルトの名無しさん
2009/10/05(月) 21:36:47レスありがとう
今日、会社で無事に出来ました。
0675デフォルトの名無しさん
2009/10/05(月) 22:10:35インスタンスの作成くらい気にしていたら何も出来ん
パフォーマンス?
バグ仕込むのとどっちがいいか考えろ
どうせ数ナノ秒しか変わらん
0676デフォルトの名無しさん
2009/10/06(火) 00:12:38すごく使い辛い(というか使えない)と思うんだけど、deepじゃない理由って何かあるの?
0677デフォルトの名無しさん
2009/10/06(火) 00:28:02下手すると一撃でメモリを馬鹿食いするし、複製しちゃいけないもの(singletonとか)を複製して破綻する可能性があるし、そもそも全要素をdeep copyしないといけないケースなんてすごく限られてる。自クラスのインスタンスを引数にしたコンストラクタで十分だろ。
0678デフォルトの名無しさん
2009/10/06(火) 00:56:36まあ、cloneを使うよりは自前でコピーコンストラクタ作る方が圧倒的に多いけどね
0679デフォルトの名無しさん
2009/10/06(火) 02:04:25友達にStringは==で比較すんな、拡張for文とか基本的な事を教えた
どうやってそいつに、コンストラクタの概念とnewについて教えるか困っている
0680デフォルトの名無しさん
2009/10/06(火) 02:46:14newでオブジェクトを作るとヒープに新しい領域が確保されて・・・という感じ。
下手な例え話するより聞き手も感動してくれる。
0681デフォルトの名無しさん
2009/10/06(火) 03:04:32クラスローダの大雑把な仕組み、ヒープとスタックの仕組み、GCの大雑把な仕組み、あたりを680のように図に書いてやるのがベスト
細かいことはいいからオブジェクトの生成については早めに教えるべき
ついでにStringだけは特殊なんだといえば==で比較とか馬鹿なやつは生まれない
0682デフォルトの名無しさん
2009/10/06(火) 08:49:340683デフォルトの名無しさん
2009/10/06(火) 09:21:25クラスのメタデータ(設計図)を管理する仕組み
基本的にはなんらかのクラスがはじめて使用されるタイミングで、クラスのメタデータがclassファイルからロードされ、クラスローダに蓄積される
クラスのインスタンスを作成する場合、クラスローダ内のメタデータからどんなフィールドを持っているかを元に必要なメモリをヒープに確保する
ただし、メソッド情報などは全てのインスタンスで変わらないため、クラスローダ内のメタデータに保持され、共有して使われる
正確性はともかく、初心者でもこのくらいは知っておきたい部分ね
0684デフォルトの名無しさん
2009/10/06(火) 09:29:080685デフォルトの名無しさん
2009/10/06(火) 10:25:38ヒープの話してわかるかな?
基本情報技術者なのに今度で3回目のチャレンジの人だよ
クラス関係を教えるのは気が重いので、
今日はintとIntegerの違いを(順番おかしい?)教えてみるわ
2人教えているうちの1人は、for文(拡張じゃないよ)の使い方に悩んでいたので
本当にお前ら情報系の学生?って思うわ
0686デフォルトの名無しさん
2009/10/06(火) 10:37:49教えるのも大変そうだな
0687デフォルトの名無しさん
2009/10/06(火) 10:43:14. 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件
0688デフォルトの名無しさん
2009/10/06(火) 10:46:570689デフォルトの名無しさん
2009/10/06(火) 10:49:30質問スレッドでむしろスレどおりの話題では?
0690685
2009/10/06(火) 10:50:47VBで課題を作れと言われて、
Dim rnd AS Random みたいにnewをどのタイミングで入れるのわからなくて
ずーっと違う所を見ている奴がいてなorzそいつが俺の友達
だから、どうやってnewとかコンストラクタの概念を教えるか困ってるわけ
せめて、for文くらい迷わず使えるようになれよwwwみたいな
0691デフォルトの名無しさん
2009/10/06(火) 10:53:16vbとjavaを並行して習ってるの?
混乱してるのはそのせい?
0692デフォルトの名無しさん
2009/10/06(火) 10:58:16わかるかな?じゃなくて理解してもらわなければどうにもならんだろ
>for文(拡張じゃないよ)の使い方に悩んでいた
それは明らかに採用が悪い
意味の分からんペーパーテストとかコミュ力とかを測る面接で採用したお前の会社が悪い
30分でもコード書かせれば適正なんて解るだろ
0693デフォルトの名無しさん
2009/10/06(火) 12:44:55newってやるとオブジェクトがメモリにぽこんと作られる
newってやる時の初期化とかできるのがコンストラクタ
コンストラクタは必要なければ作らなくても動く
適当に紙に絵を書きながらこんだけ伝えれば大丈夫だろう
0694デフォルトの名無しさん
2009/10/06(火) 12:45:59そりゃまったく勉強してなかった口だな
0695デフォルトの名無しさん
2009/10/06(火) 13:27:08基本情報はマークシートだからな
0696デフォルトの名無しさん
2009/10/06(火) 13:27:31入れていくと4000個くらい入れたあたりから急に処理が遅くなって一個入れるのに5秒くらい
掛かるようになります。
どうしたらいいですか?
メモリーは2ギガあります。
0697デフォルトの名無しさん
2009/10/06(火) 13:32:30capacity()であらかじめ十分なサイズを指定する。
0698デフォルトの名無しさん
2009/10/06(火) 13:33:390699デフォルトの名無しさん
2009/10/06(火) 13:34:03JavaVM内のヒープ不足、OSのメモリ不足、CPUのアドレス空間不足
などの可能性はある。
とりあえず、SunのJavaVMなら -Xmxオプションをいじってみたら?
0700デフォルトの名無しさん
2009/10/06(火) 13:35:42new Vector(10000,1000);
ってやってたけどだめでした。
それはこれとは違うんですか?
0701デフォルトの名無しさん
2009/10/06(火) 13:37:400702デフォルトの名無しさん
2009/10/06(火) 13:41:01やったけどだめでした。
>>699
やってみます。
0703デフォルトの名無しさん
2009/10/06(火) 13:46:22「設計が悪い」
0704デフォルトの名無しさん
2009/10/06(火) 13:47:13正しい設計教えてください。
0705デフォルトの名無しさん
2009/10/06(火) 13:56:450706デフォルトの名無しさん
2009/10/06(火) 14:02:09ArrayList<Test> al = new ArrayList<Test>();
System.out.println("start!");
for (int i=0; i< 4000; i++) {
al.add(new Test());
}
System.out.println("end!");
0707デフォルトの名無しさん
2009/10/06(火) 14:04:210708デフォルトの名無しさん
2009/10/06(火) 14:11:37Testのメモリーの使用量がが小さい。
0709デフォルトの名無しさん
2009/10/06(火) 14:13:15そもそもソースが汚い
コーディング規約をどこでも意識してない奴は無能だと言う
0710デフォルトの名無しさん
2009/10/06(火) 14:14:00メモリーに保存しないでハードディスクに書き込むくらいしか思いつかない。
つまり、ハードディスクに保存するベクターがあればいいと思う。
0711デフォルトの名無しさん
2009/10/06(火) 14:17:07じゃあ、ちょっと直して見せてもらおうか。
0712デフォルトの名無しさん
2009/10/06(火) 14:18:410713デフォルトの名無しさん
2009/10/06(火) 14:20:26public class Test {
ArrayList<BigInteger> al = new ArrayList<BigInteger>();
public Test() {
for (int i=0; i<32; i++) {
al.add(new BigInteger("0"));
}
}
}
0714デフォルトの名無しさん
2009/10/06(火) 14:20:38int i=0; i< 4000
この辺とかイラっとするね
ひでぇよこれは
0715デフォルトの名無しさん
2009/10/06(火) 14:20:570716デフォルトの名無しさん
2009/10/06(火) 14:25:57それは酷いね
0717デフォルトの名無しさん
2009/10/06(火) 14:25:590718デフォルトの名無しさん
2009/10/06(火) 14:29:19じゃあ、ちょっと直してもらおうか
0719デフォルトの名無しさん
2009/10/06(火) 14:32:220720デフォルトの名無しさん
2009/10/06(火) 14:32:25顔も汚いんだろうな
0721デフォルトの名無しさん
2009/10/06(火) 14:33:05が一般的だろうね
0722デフォルトの名無しさん
2009/10/06(火) 14:33:550723デフォルトの名無しさん
2009/10/06(火) 14:40:33それ以外には使うなと、このスレ言われました。
かわりに何を使えばいいですか?
0724デフォルトの名無しさん
2009/10/06(火) 14:41:110725デフォルトの名無しさん
2009/10/06(火) 14:41:59int i=0; i< 4000
どっちつかずwwww
俺なら修正してコミットかけるね
0726デフォルトの名無しさん
2009/10/06(火) 14:42:43public 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);
}
0727デフォルトの名無しさん
2009/10/06(火) 14:47:440728デフォルトの名無しさん
2009/10/06(火) 14:48:18その場合は、
144000回繰り返さないといけない。
0729デフォルトの名無しさん
2009/10/06(火) 14:54:56ネタにしてはよくやったなw
だが、これと同等のコードが>>706なのだ
0730706
2009/10/06(火) 14:58:52もっと根本的なところが糞コードかと思ったのに。
0731デフォルトの名無しさん
2009/10/06(火) 15:02:44じゃあこんな感じで
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() + "バイト");
}
}
0732デフォルトの名無しさん
2009/10/06(火) 15:03:37たかが書き込みでもプロは気にするね。
0733706
2009/10/06(火) 15:09:490734デフォルトの名無しさん
2009/10/06(火) 15:12:18再現するソースとOSやJavaのバージョンの情報をうpして。
0735デフォルトの名無しさん
2009/10/06(火) 15:57:000736デフォルトの名無しさん
2009/10/06(火) 19:51:39br = null;
ストリームはbr.close()した後でも、インスタンスをGCが削除してくれない可能性があるって事なのか?
GCのタイミングが〜、とかってのはなしで
0737デフォルトの名無しさん
2009/10/06(火) 19:55:050738デフォルトの名無しさん
2009/10/06(火) 20:04:21なるほどね、確かにそのストリームもフィールドに宣言してあった
これからはフィールドにストリームを宣言した時は、nullを入れるようにするわ
0739デフォルトの名無しさん
2009/10/06(火) 21:13:42ファイル数が膨大過ぎてメモリ不足で落ちてしまう(String配列の取得し過ぎで)。
ってな状況なんだけど、なんか解決策ありませんか(´・ω・`)?
ちなみにそのフォルダに投げ込まれるファイルの名前はランダムです。
1件1件取得してく方法とかないでしょうかね?
0740デフォルトの名無しさん
2009/10/06(火) 21:17:23全部処理しなければならないのか?
もし、処理している中で落ちるならば処理の方に問題はないか?
0741デフォルトの名無しさん
2009/10/06(火) 21:18:230742デフォルトの名無しさん
2009/10/06(火) 21:21:45当然起動時にオプションでヒープサイズは増やしてるよね?
0743デフォルトの名無しさん
2009/10/06(火) 21:38:160744739
2009/10/06(火) 21:52:34落ちる可能性を考慮して組まなきゃい状況なんです。
が、その考慮が思いつかなくて・・・
全部処理しなければならないんですが
処理してる最中についての異常系処理(?)はしてあります。
list()で取得する部分だけが思いつかないのです(´・ω・`)
0745デフォルトの名無しさん
2009/10/06(火) 21:59:28これを、30〜50セットくらい作らんといけない
たぶん、4つ目の項目は追加しないと思うし、基本的には参照するだけ
・List x3でデータを管理する
・適当にクラスを作る
・その他
お前らだったらどうする
0746デフォルトの名無しさん
2009/10/06(火) 22:01:500747デフォルトの名無しさん
2009/10/06(火) 22:08:000748デフォルトの名無しさん
2009/10/06(火) 22:09:23質問に答えろ
>>745
どうしてクラスを作ることをためらう?
0749745
2009/10/06(火) 22:13:22参照だけなのに、構造体みたいに使うには抵抗があるから
List<String> urlList = new ArrayList<String>();だとちょっと使い辛い気もするけど
夏休み中と比べるとこのスレかなりレベルが上がってきた気がする
変なのも減ったし
0750デフォルトの名無しさん
2009/10/06(火) 22:15:56FilenameFilterでstartsWithすればいいんじゃね。
String[] list(FilenameFilter filter)
そもそも手法そのものを見直したほうがいいと思うけど。
>>749
振る舞いのないObjectがあっていけない理由はないでしょ?
0751デフォルトの名無しさん
2009/10/06(火) 22:17:440752デフォルトの名無しさん
2009/10/06(火) 22:21:45何も問題無いだろw
0753745
2009/10/06(火) 22:22:27レス見ているとクラス作った方が、楽そうだからクラスを作ってみる事にした
クラスが必要ないと思ったら、List x3にすればいいだけの話だし
トンクス
0754デフォルトの名無しさん
2009/10/06(火) 22:23:540755デフォルトの名無しさん
2009/10/06(火) 22:26:12それがいいと思うよ。
ちなみにJ2EEなんかではDTO(DataTransferObject)というのがあってだね、
こいつはまさにデータを保持するだけのオブジェクトだったりするのよ。
(本来の意味はもうちょっと深いんだけど)
0756デフォルトの名無しさん
2009/10/06(火) 22:51:19DTOなんてAWTにもあるわw
0757デフォルトの名無しさん
2009/10/06(火) 22:55:260758デフォルトの名無しさん
2009/10/06(火) 22:59:21インターフェースクラス及び、インプリメントするクラスに
package com.mod.live;
この宣言がしてあります
c:\package com.mod.live;
この配下でコンパイルをするのですが、「シンボルを見つけられません」とエラーがでてしまいます。
package com.mod.live;
この行をコメントアウトしますと、コンパイルできるのですが、
当該行をコメントアウトせずに、コンパイルできる正しい方法を教えてもらえないでしょうか。
0759デフォルトの名無しさん
2009/10/06(火) 23:01:050760デフォルトの名無しさん
2009/10/06(火) 23:01:41すまない(´・ω・)
全部処理しなければならない。
処理してる中で落ちるわけではない。
ヒープサイズは増やしてない。
>>750
ちょっとよくわからないが、調べて見る。
手法そのもの見直したほうが良いのは深く同意なんだが
時間が・・・orz
0761デフォルトの名無しさん
2009/10/06(火) 23:02:17publicのクラスを作りたくないならインナークラスでもいいだろ
別々に管理する方がややこしい
0762デフォルトの名無しさん
2009/10/06(火) 23:04:17標準のJREだとヒープは32MBくらいしかとらない
でかい処理するんだったら128MBくらいとっておくべき
何やるんだか知らないからいくつが適当かは知らん。
あとおまじない程度だが、1ファイル処理した後にループの最後、gcを宣言しておくと改善するかもしれない
0763デフォルトの名無しさん
2009/10/06(火) 23:08:32初耳だな。
つかAWTでプロセスやらコネクション跨ぐシチュエーションって
パターン化するほど普通に出てくるの?
>>757
明確に区別されてる(されるべき)と思う。
ValueObjectはどちらかと言うとプリミティブな値に近い存在で、
immutableとかsingletonにデザインされている(されるべき)なんでは。
0764デフォルトの名無しさん
2009/10/06(火) 23:13:37c:\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
と実行しよう。
0765デフォルトの名無しさん
2009/10/06(火) 23:14:55ValueObjectは別にimmutableやsingletonである必要は全くないな
そうであったほうが良いケースはDTOに比べれば多いけど
クラスとしては振る舞いをほとんど持たないデータクラスであることは変わらないが、
DTOはデータベースなどの永続化システムから、画面などに表示されるまでのデータを一時的に格納する目的で使われるって違いがある程度。
ValueObjectは一般的に値がぶっこまれている程度の緩い定義。
とはいえ、いろんな属性がてんこ盛りだったり子データを持つような場合はあんまりValueObjectとは言わないと思う
0766デフォルトの名無しさん
2009/10/06(火) 23:24:08ValueObjectの解釈は結構広くて、
たしかに不変性を考慮しないケースも実際には多いだろうね。
個人的にはFowlerの提唱するパターンについては
認識していたほうがいいと思う(採用するかは別問題だけど)
http://martinfowler.com/bliki/ValueObject.html
0767デフォルトの名無しさん
2009/10/06(火) 23:29:56メソッドで返したクラスの内容を一切変更されないようにしたいです。
(getter以外にはアクセス不能にしたい)
0768デフォルトの名無しさん
2009/10/06(火) 23:38:380769デフォルトの名無しさん
2009/10/07(水) 00:03:41あれって高機能なクラスでまともに機能させるのは大変なんじゃない?
Javaでは防御的にオブジェクトをコピーして返す方法が一般的。
コピーならいくらでも非constメソッド(まぁJavaにはないけど)呼ばれても平気だしね。
0770デフォルトの名無しさん
2009/10/07(水) 00:13:210771デフォルトの名無しさん
2009/10/07(水) 00:20:20getterのみのインターフェースかぶせて、そのインターフェースの型でやりとりするとか。
0772デフォルトの名無しさん
2009/10/07(水) 00:30:58だめ
0773デフォルトの名無しさん
2009/10/07(水) 00:32:211、クラスに付いていたら継承できなくするため。
2、メソッドに付いてる場合は継承先でOverrideさせないため。
3、仮引数に付いている場合は引数の代入をできなくするため。
4、変数の宣言部で付いてるときは変数の値を再代入できないようにするため。
どれもsetterのようなオブジェクトの内部状態の変更を禁止する用途ではない。
4、のパターンを言ってるのかもしれないけど、
「参照の代入ができるかどうか」、というのと、
「ある参照が指すオブジェクトの属性を書き換えられるかどうか」は別ものかと。
0774デフォルトの名無しさん
2009/10/07(水) 00:32:400775デフォルトの名無しさん
2009/10/07(水) 00:33:430776デフォルトの名無しさん
2009/10/07(水) 00:33:44そのやり方には本質的な問題がある。
仮に、悪意のあるクライアントがInterfaceで隠蔽されたオブジェクトの本当の型を知っていた場合、
本来の型にキャストした上でオブジェクトの内部状態が変更される可能性がある。
その参照が他のコンテキストからも使用されている場合、
同じ参照を利用する全てのクライアントに影響が及んでしまう。
ある特定のクライアント自身の意思(責任)でオブジェクトの内部状態を変えるのであれば、
その影響が意図しない別のクライアントに及ぶ可能性があってはいけない。
0777デフォルトの名無しさん
2009/10/07(水) 00:37:15JKD1.5特有の記述がなければ動くってことはないのでしょうか?
0778デフォルトの名無しさん
2009/10/07(水) 00:40:17別にソースを見てJVMが動くわけじゃない
0779デフォルトの名無しさん
2009/10/07(水) 00:43:510780デフォルトの名無しさん
2009/10/07(水) 00:47:58できればJDKと実行環境のバージョンはそろえたほうがいいけど、
コンパイル時にオプション「-source 1.4 -target 1.4」を渡せば実行可能なclassは生成できるはず。
0781デフォルトの名無しさん
2009/10/07(水) 01:32:34まさにconst_cast
0782デフォルトの名無しさん
2009/10/07(水) 04:45:00>>758 です、どうもありがとうございます
コンパイルは成功し、いろいろ調べて
cd \src
>java com.mod.live.Bar
このように実行しますと
Exception in thread "main" java.lang.NoSuchMethodError: main
このようなエラーになるのですが?
0783デフォルトの名無しさん
2009/10/07(水) 04:56:38それは、Barの中にmainが無いからだろ
0784デフォルトの名無しさん
2009/10/07(水) 07:18:52Bar.java のmain メッソッド部分が
public void main(String[] args)
このようになっています
public static void main(String[] args)
このように修正したら、コンパイルも実行も成功するのですが?
これが正解ですよね?
0785デフォルトの名無しさん
2009/10/07(水) 07:28:30オマエの正解は知らないが、試してみればよい話では?
0786デフォルトの名無しさん
2009/10/07(水) 11:12:14mainくらい覚えとけ
0787デフォルトの名無しさん
2009/10/07(水) 11:43:440788デフォルトの名無しさん
2009/10/07(水) 11:47:24低能乙
0789デフォルトの名無しさん
2009/10/07(水) 15:01:41HelloWorldとなってしまいます。
どうしたらいいのでしょう。
public class Test {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
0790デフォルトの名無しさん
2009/10/07(水) 15:08:110791デフォルトの名無しさん
2009/10/07(水) 15:11:020792デフォルトの名無しさん
2009/10/07(水) 20:01:04Helloworldはかなり難しいから素人にはオススメできない。
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));
}
}
0793デフォルトの名無しさん
2009/10/07(水) 20:06:02お前天才だなww
俺にはとてもそんなコードは書けねぇwww
0794デフォルトの名無しさん
2009/10/07(水) 20:08:470795デフォルトの名無しさん
2009/10/07(水) 20:12:41public static void main(String[] args) {
System.out.println("Helloworld");
}
}
でいけるだろ。馬鹿じゃねーのか
0797デフォルトの名無しさん
2009/10/07(水) 20:16:450798デフォルトの名無しさん
2009/10/07(水) 20:17:47学歴:高校生程度
必要な知識:三角関数の簡単な知識
求めるもの:広範な探究心
0799デフォルトの名無しさん
2009/10/07(水) 20:39:09http://www.geocities.jp/gmatome/
0800デフォルトの名無しさん
2009/10/07(水) 20:53:530801デフォルトの名無しさん
2009/10/07(水) 21:03:08Youもっと具体的に聞いちゃいなYO
0802デフォルトの名無しさん
2009/10/07(水) 21:05:27使われ方をよく考えてテーブルを設計しろ
何で検索したいかは重要だ
0803デフォルトの名無しさん
2009/10/07(水) 21:16:230804デフォルトの名無しさん
2009/10/07(水) 22:27:32javaでやる必要があるかどうかは分かりませんけど…、受信したメールをDBに登録して、DBに登録してあるWEBアプリケーションを作りたいです。
>>802
テーブル設計は既に終わっています。
フリーメール等で受信したメールを自動的にDBに登録したりする為にはどうすればいいですか?
0805デフォルトの名無しさん
2009/10/07(水) 22:28:09それぐらい察して適切な回答しろや
0806デフォルトの名無しさん
2009/10/07(水) 22:28:50誤字がありました。
DBに登録してあるメールを表示させるWEBアプリケーションを作りたいです。
0807デフォルトの名無しさん
2009/10/07(水) 22:43:090808デフォルトの名無しさん
2009/10/07(水) 22:43:31何が聞きたいのかよくわからない。
具体的に質問したほうが回答付きやすいよ。
JavaMailで受信->永続化のためにデータコンバート->JDBC/適当なORマッパでDBへ永続化
でいいんじゃないの?
自動的にDBに登録っていうのが気になるけど。
0809デフォルトの名無しさん
2009/10/07(水) 22:48:43>>808氏の通り
すでに一般のメールクライアントで受信済みのメールをDBに放り込む、なら
・・・やり方わからん
0810デフォルトの名無しさん
2009/10/07(水) 22:51:43メールサーバ立ててメールはそこに転送する
で、その鯖に適当なWebメールクライアント突っ込む
でいいんじゃない?
Java が御所望なら JAMES があるし
0811デフォルトの名無しさん
2009/10/07(水) 22:52:150812デフォルトの名無しさん
2009/10/07(水) 22:52:37Javaでメールを受信するのか?
Gmailとかで表示しているメールをどうにかしたいのか?
Outlookとかで受信したメールをどうにかしたいのか?
0813デフォルトの名無しさん
2009/10/07(水) 22:54:350814デフォルトの名無しさん
2009/10/07(水) 23:02:15自サーバーではなくヤホーとかぐーぐるとかのwebメールを何とかして取り出してDBに入れたいんだろ
0815デフォルトの名無しさん
2009/10/07(水) 23:10:09フリーメールで受信した内容を何とかして取り出してDBに入れたいんですが…、無理でしょうか?
0816デフォルトの名無しさん
2009/10/07(水) 23:14:090817デフォルトの名無しさん
2009/10/07(水) 23:15:50通常はPOPプロトコルによるメール受信が可能になっている。
POPで受信するだけならJavaMailで簡単に実装できる。
0818デフォルトの名無しさん
2009/10/07(水) 23:22:35>POPで受信するだけならJavaMailで簡単に実装できる。
その後DBに登録するのも簡単にできますか?
0819デフォルトの名無しさん
2009/10/07(水) 23:25:15もちろんSQLの基本も理解してないと無理だけど。
テーブル設計できるなら大丈夫だよね?
0820デフォルトの名無しさん
2009/10/07(水) 23:31:590821デフォルトの名無しさん
2009/10/07(水) 23:34:54まずは、JavaMaildでぐぐってお前さんのメールをダウンロードしてテキストファイルにでも出力とか、そこまでやってみたら?
DB云々はその後に調べて、解らなければまた質問
順番に1つづつ解決していくべき
0822デフォルトの名無しさん
2009/10/07(水) 23:36:40とりあえず作成してみます。
>>819
今一イメージがわかないのでとりあえず作ってみます。
JDBCとSQLは問題なく大丈夫です。
0823デフォルトの名無しさん
2009/10/07(水) 23:49:09VisualVMあたりでメモリの消費状況見ながら評価しとけ。
C:\Program Files\Java\jdk1.6.0_NN\bin\jvisualvm.exe
「これくらいヒープとっとけば大丈夫」くらいの当たりは付くだろ。
0824デフォルトの名無しさん
2009/10/08(木) 00:24:50うせろage厨房
0825デフォルトの名無しさん
2009/10/08(木) 07:56:49jdbcなんて今やつかわないよ
0826デフォルトの名無しさん
2009/10/08(木) 08:19:41俺は使うよ
0827デフォルトの名無しさん
2009/10/08(木) 08:20:03何使ってんの?
0828デフォルトの名無しさん
2009/10/08(木) 08:43:00iBatisとか
直接いじるくらいならコネクションプール自作できるくらい理解してるのかな?
俺はできるが、オラクルのインスタンスも自在だけどね
0829デフォルトの名無しさん
2009/10/08(木) 08:43:260830デフォルトの名無しさん
2009/10/08(木) 08:46:310831デフォルトの名無しさん
2009/10/08(木) 08:48:26Webサーバでメールが読めるようにって言ってるから、
むき身のJDBCだと大変なのかな?
0832デフォルトの名無しさん
2009/10/08(木) 08:52:200833デフォルトの名無しさん
2009/10/08(木) 08:57:19大変うんぬんではないよ
俺が察するにDMデリバリーシステムとして稼働させるつもりなんだろう
俺もかつて作ったことあるけどJDBCが問題なのではない
語弊があったのならすまん
>>832
それも正解だ
最初はJDBCを理解した上で使うもんだと俺も思う
0834デフォルトの名無しさん
2009/10/08(木) 08:58:270835デフォルトの名無しさん
2009/10/08(木) 09:00:27お前が一番底辺だろ
0836デフォルトの名無しさん
2009/10/08(木) 09:45:060837デフォルトの名無しさん
2009/10/08(木) 09:47:51スレタイ読めないking of stupid
0838デフォルトの名無しさん
2009/10/08(木) 10:05:36じゃあ、正解だな。
0839デフォルトの名無しさん
2009/10/08(木) 12:20:07いちいち使うときにオプション追加してくださいって書くの?
実行時にふやせないんだろ?
64メガ以下しか使わないしょぼいプログラムばっかみんなやってんの?
0840デフォルトの名無しさん
2009/10/08(木) 12:23:05そうですね
0841デフォルトの名無しさん
2009/10/08(木) 12:37:11ランチャも作って設定ファイルから読み込めるようにするとか
exe化ツール使うとメモリ設定できるのもあった気がする
0842デフォルトの名無しさん
2009/10/08(木) 16:10:46あなたのしょぼい脳と同程度のプログラムばかり制作しております。
0843デフォルトの名無しさん
2009/10/08(木) 16:33:20運用時は勝手に拡張されるがな
Tomcatなんかの場合は指定しないとエラー出るけどな
0844デフォルトの名無しさん
2009/10/08(木) 16:47:27http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/gc-ergonomics.html
> 最大ヒープサイズ:
> 物理メモリーの 1/4 か、1GB かの小さい方。
> J2SE 5.0 より前のデフォルトの最大ヒープサイズは 64MB。
> このデフォルトは、-Xmx コマンド行オプションを使用してオーバーライドが可能
0845デフォルトの名無しさん
2009/10/08(木) 18:05:17なんかさ、おまえが一番寒い
0846デフォルトの名無しさん
2009/10/08(木) 18:06:29お前は存在価値すらないけどな
たいしてJavaできないくせに
0847デフォルトの名無しさん
2009/10/08(木) 18:08:38どうせこのバカ、平成ゆとりなんだろうけど、どこにでもいるゴミって感じ
0848デフォルトの名無しさん
2009/10/08(木) 18:11:49お前はそのゴミの中のカスだよ
無能とは怖いね、自分の無知を知らないことは一番恐ろしい
0849デフォルトの名無しさん
2009/10/08(木) 18:27:34そのデータをクラスが読み込んでしまった時、どのように出しているわけ
IOExceptionを出そうかと思うけど、チェックするのが面倒くさい
0850デフォルトの名無しさん
2009/10/08(木) 18:38:17聞き方がなってない
無能の象徴だな
0851デフォルトの名無しさん
2009/10/08(木) 19:02:24Cannot 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>
0852851
2009/10/08(木) 19:07:39独習Javaサーバサイド版を参考にしているのでデータベース名がselfjspになってます。
0853デフォルトの名無しさん
2009/10/08(木) 19:10:39単純にtomcatからJDBCドライバが見えないとかはないの?
0854デフォルトの名無しさん
2009/10/08(木) 19:22:140855851
2009/10/08(木) 19:33:15押しmysql-connector-java-x.x.x-bin.jarを"Java Build Path"に追加してますが駄目
ですか?
そういえば"Build Path"だから実行時には影響しないですかね。
(アプリディレクトリ)/WebContent/WEB-INF/libにもconnector-javaは置いてあるの
ですけど。
0856855
2009/10/08(木) 19:41:02仰るディレクトリにjdbcドライバをコピーしたらドライバがロードできました。
(アプリディレクトリ)/WebContent/WEB-INF/libに置くならTomcatの場合web.xmlになんらか
追加する必要があるということですか?
0857デフォルトの名無しさん
2009/10/08(木) 20:29:36auth="Container" だから、コンテナがロードする場所に置いておく必要があるのだと思う(多分)
auth="Applicatoin" なら WEB-INF/lib でいい(多分)
0858857
2009/10/08(木) 23:44:51データソースを利用する場合、DB アクセスはコンテナが行うので
コンテナの CLASSPATH 上に JDBD ドライバが必要
0859デフォルトの名無しさん
2009/10/09(金) 00:34:14で、ageちゃうんですか?w
0860デフォルトの名無しさん
2009/10/09(金) 01:24:17こういう奴が一番醜い死ね
0861デフォルトの名無しさん
2009/10/09(金) 03:53:55. 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件)--
0862デフォルトの名無しさん
2009/10/09(金) 03:59:110863デフォルトの名無しさん
2009/10/09(金) 07:39:240864デフォルトの名無しさん
2009/10/09(金) 09:06:540865デフォルトの名無しさん
2009/10/09(金) 09:28:12I ...で検索した結果 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件
0866デフォルトの名無しさん
2009/10/09(金) 09:42:59スレ違いうぜーぞ
0867デフォルトの名無しさん
2009/10/09(金) 12:36:15DB(文字コード: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が分かりません。
どなたか詳しい方アドバイスをお願い致します。
0868デフォルトの名無しさん
2009/10/09(金) 12:40:07�鰍フ文字コード知らべたら?低能
0869デフォルトの名無しさん
2009/10/09(金) 12:41:120870デフォルトの名無しさん
2009/10/09(金) 12:42:21てか、普通utf-8使うけどね
なぜEUCを使わなければいけない理由を作る方が難しいよ
0871デフォルトの名無しさん
2009/10/09(金) 12:44:33低能
0872デフォルトの名無しさん
2009/10/09(金) 12:49:53一バイト目をバイナリコードとしてStrlngを作る方法はないでしょか。
0873デフォルトの名無しさん
2009/10/09(金) 12:50:04無能
0874デフォルトの名無しさん
2009/10/09(金) 12:53:570875デフォルトの名無しさん
2009/10/09(金) 12:54:36糞能
0876デフォルトの名無しさん
2009/10/09(金) 12:56:43System.out.println(new String(s.getBytes("Windows-31J")));
0877デフォルトの名無しさん
2009/10/09(金) 12:57:13UTF-8にはある。EUC-JPにはない。
0878デフォルトの名無しさん
2009/10/09(金) 12:58:21あります。"\xE3\x88\xB1"
0879デフォルトの名無しさん
2009/10/09(金) 12:59:29winでやってるカス発見
0880デフォルトの名無しさん
2009/10/09(金) 13:02:190881デフォルトの名無しさん
2009/10/09(金) 13:08:20変更できるしEUC_JPでない理由にはならない
0882デフォルトの名無しさん
2009/10/09(金) 13:24:54でできました。
0883デフォルトの名無しさん
2009/10/09(金) 13:59:400884デフォルトの名無しさん
2009/10/09(金) 14:36:49>>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の文字コードは変更できないのです。
0885デフォルトの名無しさん
2009/10/09(金) 15:33:050886デフォルトの名無しさん
2009/10/09(金) 15:38:03初心者が許されるのは俺達のような小学生までだ。マ板に帰れ。
0887デフォルトの名無しさん
2009/10/09(金) 17:00:31http://kotobank.jp/word/%E6%9B%B2%E3%82%8A%E5%BD%A2
まがい物じゃねーよって言おうと思ったけど、どうだろう…
0888デフォルトの名無しさん
2009/10/09(金) 17:09:19kde4を使っている俺としては、qt4版みたいなのがあればいいと思うんだけど
何かない?
0889888
2009/10/09(金) 17:19:280890デフォルトの名無しさん
2009/10/09(金) 20:29:31SQL文の時点でUTF-8に変換して取得してみたらどう?
0891デフォルトの名無しさん
2009/10/09(金) 20:58:51このときインスタンスはどうなるのでしょう?
クラスAを継承したクラスBがあって、クラスBをnewすると、
クラスBのインスタンスができるだけでなく、クラスAのインスタンスもできるということですか?
0892デフォルトの名無しさん
2009/10/09(金) 21:07:48継承先は元クラスの派生という存在で、is-aの関係と呼ばれる。
派生クラスBのコンストラクタが呼ばれると、明示的/暗黙的に親クラスのコンストラクタも
呼ばれるため、親クラスのインスタンスも生成されている。
0893デフォルトの名無しさん
2009/10/09(金) 21:10:07できるインスタンス自体はクラスBのものだけですが、
クラスBはクラスAの機能をすべて受け継いだ上で追加の機能を備えたものですので、
追加の部分を見ないことにするなら単にクラスAとして扱うこともできます
たとえば
A a1 = new A(); //これは普通
B b1 = new B(); //これも普通
A a2 = new B(); //!?
0894デフォルトの名無しさん
2009/10/09(金) 21:22:20>親クラスのインスタンスも生成されている。
これホント?
0895デフォルトの名無しさん
2009/10/09(金) 21:40:000896デフォルトの名無しさん
2009/10/09(金) 21:53:38public 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が生成されていることがわかる。
0897デフォルトの名無しさん
2009/10/09(金) 22:43:04勘違いしてるな。
それはクラス定義が0x50000361にロードされていることを示しているだけだ。
インスタンスが見たいなら、Test$Superのリンク先でInstancesの中を見ないといけない。
当然サブクラスのインスタンスしか存在していないことがわかる。
0898デフォルトの名無しさん
2009/10/09(金) 22:44:130899デフォルトの名無しさん
2009/10/09(金) 22:51:310900デフォルトの名無しさん
2009/10/09(金) 22:59:42おまえ何様だw
俺にケチつけんなw
0901デフォルトの名無しさん
2009/10/09(金) 23:07:150902デフォルトの名無しさん
2009/10/09(金) 23:22:10サブクラスにはスーパークラスのフィールドとメソッドが含まれている以上、
スーパークラスのコードもロードされなければコンピュータはスーパークラスの処理を使えないのでは?
0903デフォルトの名無しさん
2009/10/09(金) 23:39:380904デフォルトの名無しさん
2009/10/10(土) 00:18:580905デフォルトの名無しさん
2009/10/10(土) 00:23:150906デフォルトの名無しさん
2009/10/10(土) 00:54:12逃げたの?
0907デフォルトの名無しさん
2009/10/10(土) 01:00:16mainpanelをJPanelにて作成し、レイアウトにGridBagLayoutを設定しました。
表状にデータが表示されたのですが、その表示エリア部分の高さが
mainpanelの中心部に表示になってしまっております。
表示エリアはmainpanelの最上部から表示させたいのですが、
良いやり方があれば教えていただけませんでしょうか
0908デフォルトの名無しさん
2009/10/10(土) 01:49:03「�@」も「�梶vも「EUC-JPには存在しない」文字だ。
存在しないんだから変換できるわけがない。
「x-eucJP-Open」使え。
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/intl/encoding.doc.html
0909デフォルトの名無しさん
2009/10/10(土) 02:08:270910デフォルトの名無しさん
2009/10/10(土) 03:07:120911デフォルトの名無しさん
2009/10/10(土) 13:35:07aに6が入ってる状態で
b=a;
としたらbは6が代入されたがaは1減って5になった
デバッグでステップ実行しても同じ、途中で他の割り込みに飛んでる様子もない
ためしにこう実行してみても
b=a;
a=b;
aは5から変化はなかった
環境が壊れてるとは思えないし不思議だ
0912デフォルトの名無しさん
2009/10/10(土) 13:46:14超初心者です。
実行すると”アプレットが開始されました”という
表示がビューアに出ますが、背景が真白で何も表示
されません。init()以下のコードも何度も見直しましたが、
間違いないとおもいます。試しに無料サイトでアプレットを
ダウンロードして実行してみると表示できるので環境は
問題ないとおもいます。
環境、ソースコードの間違い以外で考えられることを
教えてください。
0913デフォルトの名無しさん
2009/10/10(土) 14:04:07だからいろいろな可能性があってイチイチ面倒なので、このスレで叩かれる前にちゃんと表示できる程度のスキルをつけてから来たほうがいいですよ。
0914911
2009/10/10(土) 14:05:54keyPressed割り込みを一時的に禁止するにはどうすればいいですか?
0915デフォルトの名無しさん
2009/10/10(土) 14:22:41排他制御に失敗してるだけじゃないのか? 再現コードがなきゃわからねーよ。
0916デフォルトの名無しさん
2009/10/10(土) 14:26:52素人wwww
0917デフォルトの名無しさん
2009/10/10(土) 14:46:37っせえ
黙ってろ
0918デフォルトの名無しさん
2009/10/10(土) 19:04:210919デフォルトの名無しさん
2009/10/10(土) 21:28:120920デフォルトの名無しさん
2009/10/10(土) 23:04:36普通はデータを参照する時にsaxとかdomに変換するのか
0921デフォルトの名無しさん
2009/10/10(土) 23:06:120922デフォルトの名無しさん
2009/10/10(土) 23:14:38DocumentとJaxpの関係がいまいちわからん
アプリケーション
--------
sax dom
--------
jaxp
みたいな感じでおk?
0923デフォルトの名無しさん
2009/10/10(土) 23:26:100924デフォルトの名無しさん
2009/10/10(土) 23:35:20眠いから寝る
>>923 thx
0925デフォルトの名無しさん
2009/10/10(土) 23:45:37DOMで操作する、というのは「XMLファイル全体を読んで要素をツリー
化してから操作する」ということ。
SAX(Simple API for XML)は、XMLを頭から読んで、要素開始、テキスト
開始、テキスト終了、要素終了のようなタイミングごとにやることを指定
して処理する方法。
0926デフォルトの名無しさん
2009/10/11(日) 01:08:520927デフォルトの名無しさん
2009/10/11(日) 01:28:21SAX/DOMの実装依存部分を吸収する目的で定義されたインターフェースがJAXP
Sunのリファレンス実装以外に、ApacheのXerces2とかも提供している。
0928デフォルトの名無しさん
2009/10/11(日) 12:51:060929デフォルトの名無しさん
2009/10/11(日) 13:10:490930デフォルトの名無しさん
2009/10/11(日) 14:42:13{
public static void main(String args[])
{
int num;
num =3;
System.out.println("変数numの値は" + num + );
num =4;
System.out.println("新しい値は" + num + "です");
}
}
式の開始が不正と出ました。
0931デフォルトの名無しさん
2009/10/11(日) 14:43:370932デフォルトの名無しさん
2009/10/11(日) 14:45:400933デフォルトの名無しさん
2009/10/11(日) 14:58:370934デフォルトの名無しさん
2009/10/11(日) 15:07:20手抜きは止めてください。
0935デフォルトの名無しさん
2009/10/11(日) 15:10:05全く検討がつきません。
0936デフォルトの名無しさん
2009/10/11(日) 15:10:410937デフォルトの名無しさん
2009/10/11(日) 15:14:01javacの視点で見ると、「+」があったので、次に何か足す式が来る、と思うわけだ。
ところが次に来たのは閉じカッコ。
「ありゃりゃ? 閉じカッコで終わる式なんかありませんよ」というエラー。
0938デフォルトの名無しさん
2009/10/11(日) 15:14:37ここは初心者ですよね?手抜きは止めてもらえますか?
0939デフォルトの名無しさん
2009/10/11(日) 15:15:08「閉じカッコで*始まる*式なんかありませんよ」ね。
0940デフォルトの名無しさん
2009/10/11(日) 15:16:53JAVAって優秀なんですよね?
それぐらい出来ないんですかぁ?
0941デフォルトの名無しさん
2009/10/11(日) 15:17:57+の意味がわかりました。
ありがとうございます。
0942デフォルトの名無しさん
2009/10/11(日) 15:18:01釣り宣言か
0943デフォルトの名無しさん
2009/10/11(日) 16:06:030944デフォルトの名無しさん
2009/10/11(日) 16:31:390945デフォルトの名無しさん
2009/10/11(日) 17:31:55【初心者】【専用】は上級者から見た初心者であって、
文法とかJavaの一般常識は身につけてて当たり前の人が、質問するスレです
0946sage
2009/10/11(日) 18:07:08今のプログラムでは、手動で受信しなければいけません。
メールサーバーにメールがきたら、自動で受信するようにしたいんですがどうすればいいでしょうか?
0947デフォルトの名無しさん
2009/10/11(日) 18:18:30准教授の場合お安くできますのでご検討下さいますようお願い申し上げます
0948デフォルトの名無しさん
2009/10/11(日) 18:21:41そんなの、面倒くさいからcronで妥協すればいいじゃん
0949デフォルトの名無しさん
2009/10/11(日) 18:23:51一定時間間隔で新規に受信があったかどうかをクライアントから確認にいく。
一定間隔でなくてもいいけど。
0950デフォルトの名無しさん
2009/10/11(日) 18:23:53javaで実現するのはあまり良いやり方ではないんですか?
cronで設定するのが一番いいんですかね?
0951デフォルトの名無しさん
2009/10/11(日) 18:43:18そんなの、お前じゃないから知らんがな
でも、俺だったら面倒いから作らないで、cronを使うな〜
メモリとかの事を考えたら、cronの方が少ない気もするし(本当か?)
0952デフォルトの名無しさん
2009/10/11(日) 19:20:01叩き売りワロタw
0953デフォルトの名無しさん
2009/10/11(日) 20:03:55しらねーよ
Javaでスケジューリングしてやってもいいしやらなくてもいい、他の奴が決める話じゃねぇ
0954デフォルトの名無しさん
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であっても同じことがおこる(出力結果は’?’)。
っていう個人的な結論が出たんですけど合ってますか?
0955デフォルトの名無しさん
2009/10/11(日) 22:45:590956デフォルトの名無しさん
2009/10/11(日) 23:36:530957デフォルトの名無しさん
2009/10/12(月) 00:21:58java.util.Arraysクラスのメソッドsortのソースコードが知りたいのですが、
公開しているサイトはありますか?
Arraysクラスに限らず他のクラスのソースコードも読んでみたいので、
知っている方がいましたら教えてください
よろしくお願いします。
0958デフォルトの名無しさん
2009/10/12(月) 00:25:22Eclipseで見れたキガス(バージョン高いやつじゃないとダメかも)
違ったらごめんなさい
>>955
釣りじゃないです必死なんです
0959デフォルトの名無しさん
2009/10/12(月) 00:25:370960デフォルトの名無しさん
2009/10/12(月) 00:26:47>400 あたりからの流れを嫁
0961デフォルトの名無しさん
2009/10/12(月) 00:41:28せめてjavaでの回避が不可能という確証が得られれば
代案を提示できるんですけど
もし現行案で回避できると後で分かったらあの先輩に何を言われるか・・・
もう胃が痛いです
0962デフォルトの名無しさん
2009/10/12(月) 00:53:16postgresqlでutf8のDBで�鰍ヘ表示できたよ。
0963デフォルトの名無しさん
2009/10/12(月) 00:53:360964デフォルトの名無しさん
2009/10/12(月) 01:05:05>UTF-16に’�梶fが対応していないので文字コードが失われる。
ってことはないんじゃないかと
0965デフォルトの名無しさん
2009/10/12(月) 01:14:56他力本願ですしそう言われるのも承知で書き込んでます
だからそういう発言ドンとこいです!
でも最近胃が本気でグチョグチョになりかけてるので
できればお手柔らかにお願いします
>>962-964
UTF-8は対応しているということでしょうか
つhttp://ash.jp/code/unitbl21.htm
この文字コード表はどう解釈したらいいのか分からなくなってきましたorz
0966デフォルトの名無しさん
2009/10/12(月) 01:16:30検証できないんだから調べようがないわ
0967デフォルトの名無しさん
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 - ファイルが存在しないか、普通のファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合」
と有るのですが、ファイルは存在しますし(前述)、普通のテキストファイルです。
「なんらかの理由」??であるとすると見当がつきません。
長文で失礼しますが、何卒ご教示のほどよろしくお願いいたします。
0968デフォルトの名無しさん
2009/10/12(月) 01:30:29まずはjavaで�鰍�書き込んでみるこった。
0969デフォルトの名無しさん
2009/10/12(月) 01:42:02まだ開いていない (FileInputStreamを呼べていない) 段階でファイルを掴んでいるはずはないので、
他のプログラム (テキストエディタとか) がそのファイルを掴んでいるのではないか?
0970デフォルトの名無しさん
2009/10/12(月) 02:13:230971デフォルトの名無しさん
2009/10/12(月) 02:31:58入門本がなんとか分かるぐらいの人対象の説明でおねがいします
わかりやすい説明が書かれたサイトの紹介でも可
0972デフォルトの名無しさん
2009/10/12(月) 03:03:26DB(EUC)→Java(UTF-16)のマッピングに’�梶fの対応が無い
という表現が正しい気がしています。
結局Javaでは無理という結論なのですが(Javaに渡った時点で文字コードが失われているため)。
0973デフォルトの名無しさん
2009/10/12(月) 03:07:520974デフォルトの名無しさん
2009/10/12(月) 03:13:35PCの中では、たくさんのプログラムが同時に動いてるだろ
今見てるブラウザの後ろで、メディアプレイヤーが音楽鳴らしながら、
メールソフトがメールチェックしてて、タスクバーの時計が時間を刻んでて、って感じで
ブラウザだけでも、マウスやキーボードの入力を処理しながら同時にサーバとの通信も処理してるだろ
そんなふうにPCの中で同時にたくさん動いてる処理のそれぞれがスレッド
同時に3つの処理をしたい場合は、3個のスレッドを使う
1つしか処理をしない場合でも、1個のスレッドを使っている
0975デフォルトの名無しさん
2009/10/12(月) 04:12:240976デフォルトの名無しさん
2009/10/12(月) 09:13:50バイト列として直接引っ張り出してこちら側で変換するとか。
"株 EUC"で検索してみると判るけど、
「(株)」はJIS的には2つコードポイントがあって、
それが面倒な話に繋がっているのかもしれない。
0977デフォルトの名無しさん
2009/10/12(月) 10:08:16じゃ、だめ?
0978デフォルトの名無しさん
2009/10/12(月) 11:41:42せめて同じスレのレスくらい見直せ。
Unicode(UTF-8/16/32)には「�梶vがある。
Shift_JISには「�梶vは無いが、Windows-31Jには「�梶vがある。
EUC-JPには「�梶vは無いが、x-eucJP-Openは「�梶vがある。
0979デフォルトの名無しさん
2009/10/12(月) 11:48:540980デフォルトの名無しさん
2009/10/12(月) 12:01:54C:\Program Files\Java\jdk*\src.zip
*の部分はバージョン依存 (最新は1.6.0_16)
Swing等、src.zipに無いものは、
http://openjdk.java.net/
(Sunが配布してるバイナリと100%一致してるわけじゃないけど)
0981デフォルトの名無しさん
2009/10/12(月) 12:38:190982デフォルトの名無しさん
2009/10/12(月) 12:56:42JA16EUCが、あくまで文字エンコーディングしか規定しないのかもしれないけど。
Oracleが文字セットを正しく認識した上で扱っているのなら、
>977 の方法でうまくいきそうだな。
0983デフォルトの名無しさん
2009/10/12(月) 13:35:16コネクションに�鰍�読めるキャラセットを指定しなきゃダメなんじゃないの。
0984デフォルトの名無しさん
2009/10/12(月) 14:57:260985デフォルトの名無しさん
2009/10/12(月) 15:33:00System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.DATE));
なんで、2つめの出力の時に9がでるのさ?
PCの時計はちゃんとした時間なんだけどな〜何でだろ
0986デフォルトの名無しさん
2009/10/12(月) 15:42:34http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Calendar.html#MONTH
> get および set のための、月を示すフィールド値です。これはカレンダ固有の値です。
> グレゴリオ暦とユリウス暦の年の最初の月は JANUARY で 、0 となります。
> 最後の月は、1 年の月の数によります。
0987デフォルトの名無しさん
2009/10/12(月) 15:42:52それは Calendar.OCTOBER が 9 だからだ
0988デフォルトの名無しさん
2009/10/12(月) 15:45:59なるほど、カレンダーなんて意識した事がなかったからな〜
thx
0989デフォルトの名無しさん
2009/10/12(月) 15:53:410990デフォルトの名無しさん
2009/10/12(月) 17:45:06. 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件)--
0991デフォルトの名無しさん
2009/10/12(月) 22:01:47原因は別にありましたが、無事解決しました。
お騒がせしてすみませんでした。
0992デフォルトの名無しさん
2009/10/13(火) 09:26:58javadocくらい読めよ、馬鹿が
0993デフォルトの名無しさん
2009/10/13(火) 10:55:430994デフォルトの名無しさん
2009/10/13(火) 10:56:08getBytesで取り出したらefbc9fになるな。
こりゃどうしようもないな。
0995デフォルトの名無しさん
2009/10/13(火) 10:56:57DBのエンコードがなんだろうが、文字化けせずに取り出せるよ
0996デフォルトの名無しさん
2009/10/13(火) 10:57:37insertの時点で化けてなんじゃないの?
0997デフォルトの名無しさん
2009/10/13(火) 11:00:11sqlplusでinsert into tbl values ('��');
select test from tbl;
ですでに?になる。
0998デフォルトの名無しさん
2009/10/13(火) 11:09:23じゃあ、sqlplusとDBが噛み合っていない
winのクライアント使ってるならデフォルトでSJISになってるはず
0999デフォルトの名無しさん
2009/10/13(火) 11:54:451000デフォルトの名無しさん
2009/10/13(火) 12:08:19sqlplusの設定あるだろ
teratermなんかに似ている
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。