- 1 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:54:45 ]
- プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド118【歓迎】 pc11.2ch.net/test/read.cgi/tech/1218360111/ 次スレは>>990あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
- 152 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:08:59 ]
- Javaクラスファイルの難読化ソフトであるDonQuixote ttp://donquixote.cafebabe.jp/index.html
を使っている人いますか? Solaris10 for x86(5/08)上で使おうとしているのですが,BCELをとってきて CLASSPATH=/PATH/TO/bcel-5.2.jar:... のように設定しても Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/bcel/util/Repository Caused by: java.lang.ClassNotFoundException: org.apache.bcel.util.Repository というエラーメッセージが出ます どのようにすれば動くのでしょうか?
- 153 名前:デフォルトの名無しさん [2008/09/07(日) 16:06:05 ]
- >>151
いいかげんにおまえが糞ってことに気がついたらどうよ?
- 154 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 17:09:22 ]
- JSAPIの実装にFreeTTSがありますが、
日本語に対応したオープンソースのJava APIってありますでしょうか? nativeライブラリだと見つかるので、JavaAPIがないようならJNI使って呼び出すか、 外部プロセス起動で実行させるかしかないですよね・・・
- 155 名前:デフォルトの名無しさん [2008/09/07(日) 18:17:13 ]
- exeなんて古生代の形式に戻す必要あるのか
- 156 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:22:04 ]
- Javaのプログラムをjarファイルにしても
解凍ソフトでjarを解凍してクラスが抽出できるから Jadとか使って逆コンパイルすると ソースを見られてしまうのですが これを防ぐ方法はありますか?
- 157 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:23:14 ]
- 難読化でぐぐれ
- 158 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:23:23 ]
- javaを使用しない
- 159 名前:デフォルトの名無しさん [2008/09/07(日) 18:23:46 ]
- 難読化はできるが完全に読めなくすることは不可能
てか、ソースを見られてなにか困るのか? どんなプログラムでも基本的に解析しようとすれば解析できる 少なくともコンピュータには理解できるわけだからな
- 160 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:25:01 ]
- 完全に読めなくすることは可能
- 161 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:26:16 ]
- >>156
逆コンパイルする気にさえならないようなソフトは無敵
- 162 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:26:26 ]
- 実行もできなくなるけどな
- 163 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:29:11 ]
- Javaのソースコードに暗号化をかけることはできますか
- 164 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:30:11 ]
- >>163
>>162 暗号化でなく署名なら出来る
- 165 名前:デフォルトの名無しさん [2008/09/07(日) 18:41:46 ]
- >>163
古生代の暗号なら出来るんじゃねーの?
- 166 名前:デフォルトの名無しさん [2008/09/07(日) 18:49:20 ]
- >>155
いつもスルーされて淋しいよな…
- 167 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 19:26:06 ]
- めちゃくちゃソースを分かり難く書いて、
解析する時間が無駄と思わせるようなソースにすればいいんじゃない? 部分的に流用可能なソースも難しいように、スパゲティ構造にしてw 難読化ソフトって使ったことないのだが、上記のようなソースに変換してくれるものとは違うのかな?
- 168 名前:152 mailto:sage [2008/09/07(日) 20:07:31 ]
- 難読化ソフトの話題は多分 >>152 に端を発したということでどなたか私めにお答えを...
作者様のBLOG ttp://www.oikaze.jp/~tamada/Diary/cat_e99ba3e8aaade58c96.html を見ると 「・DonQuixote 3.0 Java バイトコード操作フレームワークとして,DonQuixote 3.0 を公開しました.」 とあるのですが,パスワードがかかっていていただくことができません. DonQuixote1.0を最新のJDK1.6.0-07に使っているのが悪いのでしょうか? >>152 のエラーメッセージは信用できるように思えるのですが maven2 を使ったのが初めてなので何か設定が足りないのかもしれません なお ttp://proguard.sourceforge.net/ の Alternatives にリンクが張られている フリーの処理形をすべて試してみましたが期待通り動くものはほとんどありませんでした 他に良い難読化ソフトがありましたらお教えくださいませませ
- 169 名前:デフォルトの名無しさん [2008/09/07(日) 20:27:00 ]
- 解読しても価値のないプログラムを書けばOK
- 170 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 20:29:32 ]
- 【コミュニティーサイト作成有志募集!】
現在コミュニティーサイトGaccoで有志を募集しています。 詳しい概要等は →www36.atwiki.jp/vipvipschool/ こちらをご覧下さい。 ・プログラミングができる方 (現在技術陣は6名です) ・ウェブデザイン・画像編集能力がある方 (現在デザイン陣は2名です) ・宣伝能力のある方 (人員募集やサイト完成後の宣伝等。動画編集ができると○。) を募集しています。 気軽にIRCに参加、またはsuteあっと2ch.bona.jpまでメールを下さい。 スレッド:ttp://ex14.vip2ch.com/test/read.cgi/news4gep/1219068297/l50
- 171 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 21:08:52 ]
- 難読化?HSPで書いたら完ぺきだな。
自分でも読む気失せるぞあれは。
- 172 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 21:22:12 ]
- 言語がJavaでなくていいなら、intercalかAPLが最強で最凶で最狂でしょ。
- 173 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 21:35:44 ]
- バイナリエディタでマシン語じか打ちだろ。
ソースコード?存在しません。
- 174 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 21:50:01 ]
- 逆アセンブルでソースになっちゃう
- 175 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 00:36:37 ]
- それは目的と手段を間違えている
- 176 名前:デフォルトの名無しさん [2008/09/08(月) 01:12:45 ]
- UbuntuでJavaできないんですけど。。。
ちなみに8.04です
- 177 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 01:40:29 ]
- int []a=new int[5];
a[ZERO]=0: a[ONE]=1; … こんな感じで配列を定数で置き換えたいときってどういう方法がメジャでしょうか? interface NUM{int ZERO=0;int ONE=1;…} class Hoge implements NUM{} class Hoge{ private final int ZERO=0; private final int ONE=1; …} enum NUM{ZERO,ONE,…} … int []a=new int[5]; a[NUM.ZERO.ordinal()]=7; 列挙で扱いたい気がするけれど、javaの場合整数値と直接結びつかないから ordinalを呼ばないといけないし、理由は忘れましたがordinalを使うようなやり方は 止めるべきという話を以前見聞きした気がします。
- 178 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 03:03:20 ]
- なんでそんなことしたいの??
- 179 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 04:10:47 ]
- 良く分からんが、とりあえず、EnumMap
- 180 名前:デフォルトの名無しさん [2008/09/08(月) 06:08:38 ]
- 普通に
final int ZEEL=-1;
- 181 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 06:35:01 ]
- >>176
Synaptic で JRE 入れれば動くはず。 あとは gcj とかぶってないか確認しろ。
- 182 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 11:55:39 ]
- >>177
ZEROでa[0]にアクセス、ONEでa[1]にアクセス、…てことなら、 配列そのものをクラスに包んでアクセサ作るのが言語的に”メジャ”っぽいと思う。 class Foo { enum Num { ZERO, ONE, … }; private int[] a = new int[〜]; int get(Num num) { switch(num) { case ZERO: return a[0]; case ONE: return a[1]; : }} void set(Num num, int value) { switch(num) { case ZERO: a[0]=value; case ONE: a[1]=value; : }}}
- 183 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 15:04:00 ]
- なんでスイッチ…
- 184 名前:182 mailto:sage [2008/09/08(月) 16:36:16 ]
- すまん、EnumMap使ったことないもんだから。
こう? class Foo { enum Num { ZERO, ONE, … }; private Map<Num,Integer> a = new EnumMap<Num,Integer>(Num.class); int get(Num num) { return (a.containsKey(num) ? a.get(num) : 0); } void set(Num num, int value) { a.put(num, value); } }
- 185 名前:デフォルトの名無しさん [2008/09/08(月) 17:11:39 ]
- 効率悪い
- 186 名前:167 [2008/09/08(月) 17:35:46 ]
- enum Mum
{ ZERO { public int getValue() { return 0; } } , ONE { public int getValue() { return 1; } } , ; public abstract int getValue(); }
- 187 名前:186 [2008/09/08(月) 17:36:37 ]
- ごめそ167というのは間違い。
- 188 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 17:53:16 ]
- >>185
効率を心配するほどのもの?
- 189 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 17:54:07 ]
- www.atmarkit.co.jp/fjava/rensai2/javaent02/javaent02.html
ここ見て勉強しているのですけど、 メモリを使用するタイミングはどのタイミングなのでしょうか? 変数やメソッドの呼び出しなどがあったときにメモリを消費しているのか、 それとも変数やメソッドを呼ばなくても、定義してるだけで消費するのか。 どちらなのでしょう? 後者なら継承を繰り返すたびにメモリ使用量の多いプログラムになると思うので、 前者だとは思うのですが。
- 190 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:40:44 ]
- なんで素人がやたらメモリとか気にするわけ?
- 191 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:47:36 ]
- 参照してる記事がメモリうんぬんと書いてるから、気になったんだろうな。
全く気にしないのも問題だが、それで勉強してるレベルなら、まだ早いよ。
- 192 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:50:08 ]
- >>190
素人だからこそ気にするべきなんだろ そんなのもわからない阿呆はやめちまえ
- 193 名前:デフォルトの名無しさん [2008/09/08(月) 18:52:44 ]
- メモリもそうだけど、配列アクセスの方がCPUに大きく影響するよ。
あまり記事になってないけど、arr[k]は範囲チェックが必ず入るから、arr[k]を一回アクセスするだけで、 JVM内では(隠れて) if (0<=k && k<arr.length) が呼び出されてる。 だからメモリを気にしながら設計するのも大事だけど、byte[1000*32]とか良く作るんだし、配列アクセスの方を気にしたほうがいいよ。
- 194 名前:デフォルトの名無しさん [2008/09/08(月) 18:56:34 ]
- メモリの方は、PCだけの人は気にならないんだろうけど、携帯とかアプレットとかあるし。
アプレットはまだ携帯とか小型端末じゃみれないけど、そういう小型機器はメモリが極小64kbとかだから、 メモリの方も気にしなければいけない。
- 195 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 18:58:28 ]
- 性能に頼ってプログラミングしている気でいる現代の若者を見てると
おじさん悲しくなってくるよ
- 196 名前:189 mailto:sage [2008/09/08(月) 19:01:45 ]
- みなさんレスありがとうございます。
それで結局のところどちらなのでしょう・・? おかしな質問だとは自覚しているのですが、気になって仕方がありません。 どうかよろしくお願いします。 >>193 配列って使うんですか? コレクションフレームワークのほうが高機能なので配列よりそちらを使うようなことを書いてましたが。
- 197 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:12:53 ]
- 素人が気にし出すとろくなことにならんよ
ちゃんと理解出来ないんだから勘違いの嵐
- 198 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 19:15:53 ]
- >>196
変数やメソッドの種類と、JVMによる。
- 199 名前:189 mailto:sage [2008/09/08(月) 19:37:23 ]
- >>197
そうは言いますが、素人向けの説明でメモリの話が出てきてるのだから、 やはり重要だと思うのですが・・・ たとえ今は理解できないとしても、ステップとして踏んでおくべきだというのが私の考えです。 書籍やWebからの情報でも、100%ちゃんとした説明できる人のほうが少ないと思うので、 勘違いがあるのは当然だと思います。 そういうのは後々間違いに気づいていくので、 はじめの段階では特に問題視する必要はないと思います。 お答えいただけないようなので別のとこで質問しなおしたいと思います。 というわけで質問しめます。
- 200 名前:デフォルトの名無しさん [2008/09/08(月) 19:43:46 ]
- 配列はね、CharBufferとかでよく使うよ。
素人向けの解説だとStringBuilderとかなのかもしれないけど… 初心者の壁を越えられるかどうかは、java.nioの解説やAPIを熟読して理解できたかどうかだろうけど、ネイティブのファイル・アクセスとメモリ(ポインタなど)は難しいからな…
- 201 名前:デフォルトの名無しさん [2008/09/08(月) 19:47:18 ]
- >お答えいただけないようなので別のとこで質問しなおしたいと思います。
こういうのは生意気だし、「ばくちゃん、まだ身の程をわかってません!」って感じww
- 202 名前:189 mailto:sage [2008/09/08(月) 19:50:30 ]
- >>200
ありがとうございます。 あとでそのクラスを調べてみます。 >>201 私は自分のことを客観的に見ることができるんです。 あなたとは違うんです。
- 203 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:00:03 ]
- なんだ釣りか
- 204 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:01:09 ]
- スレに張り付いてまでいちいち煽るくらいなら
少しのヒントを出すぐらいすれば まだ自分の優位性をアピールできるだろうに。 気持ち悪いやつだ
- 205 名前:189 mailto:sage [2008/09/08(月) 20:17:22 ]
- >>203
ちょっと生意気な閉め方したら食いついてくる人がいると思って、 最近はやりだったから言ってみたかったんです。すみません。 変な質問だとは自覚してましたが、本当に聞きたかったことなので、 またで直します。
- 206 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:33:24 ]
- 質問をお願いします.
java.awt.event.KeyEvent を使用してキーの同時押しを持ってきたいのですが、 スペース 押下時に、 上 と 左 の同時押し(結果的に3つ) を取ろうとすると、 KeyEvent.VK_UP と KeyEvent.VK_LEFT が帰ってきません。 順番を逆にし、上左押下時のスペースは持ってこれます。 他の組み合わせ(スペース + 上右、下左、下右)はどれも正常に動作します。 KeyEventについて詳しくないのですが、これはどういうことなのでしょうか?
- 207 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:38:38 ]
- コーディングが悪いんでないの?
if文の順番が変とか。 ソース晒してみ
- 208 名前:206 mailto:sage [2008/09/08(月) 20:39:22 ]
- すみません訂正です
>順番を逆にし、上左押下時のスペースは持ってこれます。 これも KeyEvent.VK_SPACE がもってこれません
- 209 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:39:24 ]
- >>206
pc11.2ch.net/test/read.cgi/tech/1204155623/640
- 210 名前:206 mailto:sage [2008/09/08(月) 20:51:54 ]
- >>209
なるほど、ありがとうございました。 スレ違ったようですみません >>207 おかげさまで原因がわかりました ありがとうございました。
- 211 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 20:57:03 ]
- >>205
ここにはもう来ないで欲しい
|

|