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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa73-AAco [106.132.135.194])
垢版 |
2018/11/19(月) 11:37:06.10ID:C68x9bSia

プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

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

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド181★★
https://mevius.5ch.net/test/read.cgi/tech/1518252580/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
2019/12/26(木) 12:26:40.52ID:EWaoVvrbM
スレ違いも甚だしい
2019/12/26(木) 15:19:27.46ID:6rKDuvH70
balancedC
692デフォルトの名無しさん (アウアウクー MM1f-K4/I [36.11.225.139 [上級国民]])
垢版 |
2019/12/26(木) 16:33:20.56ID:P2pgmRUJM
>>689
目的なく言語選びをしても意味がない。
2019/12/26(木) 16:40:18.13ID:REAQMzC80
受験勉強の弊害だろ、何の為にするのかが考えられない
694デフォルトの名無しさん (アウアウウー Sa57-1jI+ [106.132.121.87])
垢版 |
2019/12/26(木) 20:59:53.58ID:jGVvGCFqa
               .|  
               .|  
    ∩___∩    |  
    | ノ\   ,_ ヽ  .|  
   /  ●゛  ● |   .J  
   | ∪  ( _●_) ミ 
  彡、   |∪|   |     
 /     ∩ノ ⊃  ヽ
 (  \ / _ノ |  |
  \  "  /  | |
   \ / ̄ ̄ ̄ /
      ̄ ̄ ̄ ̄
695デフォルトの名無しさん (アウアウウー Sa57-hoej [106.132.126.245])
垢版 |
2019/12/26(木) 23:41:10.21ID:n7PujD85a
ポインタは処理速度が速いからね。
(代入処理が少なくなるせい)
696デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/26(木) 23:46:20.90ID:AOHRGRKj0
恐らく逆じゃないかな。
スタック上にオブジェクトを作れるとメモリーの確保が必要ないし常にキャッシュに載るので速い。
ポインタがない言語はだいたいポインタと同程度の大きさを持ついくつかのプリミティブしかスタック上に配置できないので、常にポインタを介した演算と同程度の速度しか出せない。
ってことでは。
2019/12/26(木) 23:55:41.06ID:7SX4HwC3a
ポインタと実際の実装はまた別の話では?
コンパイラが頑張ればかなり最適化できるが
698デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:00:34.84ID:2RWoWvTN0
すべてのオブジェクトをスタックにしか置けないと、事前にすべてのオブジェクト領域を用意しないといけない。
それは現実的ではないのでヒープが必要になり、ヒープへの効率的アクセスにポインタが用意される。
という順番かと。
699デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:01:57.53ID:2RWoWvTN0
スタックポインタの指す場所をキャッシュしないプロセッサはないので、コンパイラ関係なくスタック上は有利じゃないでしょうかね。
キャッシュミスで1000クロック失うこともあるわけですし。
700デフォルトの名無しさん (アウアウウー Sa57-hoej [106.132.126.245])
垢版 |
2019/12/27(金) 00:13:29.51ID:FGT7rX6da
ポインタの利点は、メモリ上でデータコピーの頻度が下がることだよ。
ポインタはデータを参照するだけで、コピー(代入)しないから。
701デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:20:45.16ID:2RWoWvTN0
>>700
Javaのオブジェクトもコピーしませんよ。
702デフォルトの名無しさん (ワッチョイ cf8f-hoej [118.7.1.66])
垢版 |
2019/12/27(金) 00:41:11.11ID:TGHw1m2h0
まじで?
703デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:42:32.50ID:2RWoWvTN0
そりゃそうでしょう。
プリミティブ以外は全部参照という割り切った仕様なんですから。
704デフォルトの名無しさん (ワッチョイ cf8f-hoej [118.7.1.66])
垢版 |
2019/12/27(金) 00:44:18.84ID:TGHw1m2h0
じゃあJAVAのオブジェクトが持つデータの本体はどこにあるの?
705デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:44:57.33ID:2RWoWvTN0
>>704
GC上にありますよ。
706デフォルトの名無しさん (ワッチョイ cf8f-hoej [118.7.1.66])
垢版 |
2019/12/27(金) 00:52:40.10ID:TGHw1m2h0
あーそういう事ね。
それは話にならん。
結局、変数宣言する度にGC上にエリアとるんでしょ。
それじゃ遅いんだよ。
707デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 00:57:03.69ID:2RWoWvTN0
ポインタと同様遅いということです。
708デフォルトの名無しさん (ワッチョイ 5b5f-1gZu [106.72.163.96 [上級国民]])
垢版 |
2019/12/27(金) 03:23:21.04ID:zc200dFE0
ポインタは物理アドレスを辿れることにメリットがある。

当然、重大バグを埋め込み安くなる。
709デフォルトの名無しさん (ワッチョイ 4301-Mkmj [126.242.217.97])
垢版 |
2019/12/27(金) 03:51:35.21ID:2RWoWvTN0
いまどきJavaが使われるような用途でプログラムは物理アドレスにアクセスできませんよ。
物理アドレスはOSが管理しているので、言語によって変わる事は有りません。
2019/12/27(金) 11:00:48.46ID:Z74RNOkKa
1. ポインタを使う言語(具体的になに?)
2. Java
3. ポインタを使わない言語(具体的に何?)

で、どれがどう早いのかまとめてくれ
2019/12/27(金) 11:11:52.93ID:eoDvpAED0
答え スレチ
712デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/27(金) 13:15:25.80ID:zc200dFE0
>>709
文法も内容もおかしいぞ?
713デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/27(金) 13:16:21.22ID:zc200dFE0
>>710
早い遅いの話だったのか?
714デフォルトの名無しさん (アウアウウー Sa57-1jI+ [106.132.120.196])
垢版 |
2019/12/27(金) 13:54:39.03ID:OSUAtXdGa
君たちにはこれをプレゼントしよう。

NullPointerException
2019/12/27(金) 14:38:37.47ID:29a4DvgC0
throw GUT
716デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/27(金) 16:23:18.89ID:zc200dFE0
>>714
それ単に誤ったところにアクセスしようとしたという意味で、それを頻発させるプログラマはダメすぎる。
717デフォルトの名無しさん (アウアウウー Sa57-1jI+ [106.132.120.196])
垢版 |
2019/12/27(金) 19:43:06.37ID:OSUAtXdGa
Javaにはポインターが無いと聞いていたのにいきなりこんなもんが出ちゃってインド人もびっくり。

NullPointerException
718デフォルトの名無しさん (アウアウクー MM1f-K4/I [36.11.224.140 [上級国民]])
垢版 |
2019/12/27(金) 19:47:41.94ID:c4efkuh5M
ポインタ変数とポインタの区別がつかない阿呆
2019/12/27(金) 20:26:01.32ID:S+olTiDxM
>>717
ぬるぽはオブジェクトがヌルのときに投げられるから
Javaのポインタはオブジェクトを指すものなのだろうね

C言語のポインタはメモリアドレスを指す

名前は同じだけど概念が違う
2019/12/27(金) 20:53:02.39ID:uD1rHSskM
おいおいマジかよw
ちなみに「指すもの」を英語でpointerと言います。
2019/12/27(金) 20:57:44.42ID:9iE1xeZJ0
>>717
Java は c++ のある種の進化系・理想形ですからね、今でも c++ で丁寧に書こうと思ったら自然に Java に近くなりますよ
2019/12/27(金) 22:29:49.28ID:2d2dVtvP0
初心者です。問題集で勉強中です
宜しくお願いします。

会員顧客データを更新する時のプログラムなんですが
未実装と記入ある箇所にどうのようなコードを入れてら良いでしょうか
ざっくりで申し訳ありません


/**
* 顧客情報テーブルの指定の顧客情報を更新する
* @param cutomer 顧客情報Bean
* @return エラーメッセージ(処理成功時、null)
*/
public String update(CustomerBean cutomer) {
LogUtil.println(this.getClass().getSimpleName() + "#update");

// TODO 未実装
return null;
}
2019/12/27(金) 22:37:53.02ID:XCpPzAzW0
>>722
// TODO 未実装
return null;

これを

// なぜか更新できない
return "エラーです";

って直すを呼び出した人が治してくれると思う。
724デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/27(金) 23:39:06.28ID:zc200dFE0
>>722
未実装もなにも、なんも書かれていないメソッドだろうにw
725デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/27(金) 23:41:14.61ID:zc200dFE0
ログ出力しているだけw
2019/12/27(金) 23:47:00.87ID:lxjmCiaLM
突っ込むところがズレてて気持ち悪い
727デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/27(金) 23:50:52.21ID:zc200dFE0
>>726
自分が面白いと思っているの?
2019/12/28(土) 00:07:06.19ID:Nw+g0oHm0
>>724
はい。ここに何を書き込むべきか教えてください
729デフォルトの名無しさん (ワッチョイ 6f01-hoej [126.83.84.73])
垢版 |
2019/12/28(土) 02:36:10.83ID:Rw3GVoxd0
更新すべき項目と更新値を書けばいいんじゃない?
730デフォルトの名無しさん (ワッチョイ 2fd2-Bxcu [221.191.212.228])
垢版 |
2019/12/28(土) 15:01:05.86ID:VCBq52Cm0
java インターフェイスでググると
インターフェイスを実装したクラスを作って
そのクラスのインスタンスからインターフェイスのメソッドを使うやり方しか
でてこないんだけど
インターフェイスって基底クラスみたいにつかえないの?
2019/12/28(土) 15:18:09.71ID:jHoXf9TZ0
坂口渚沙
http://up.ahhhh.info/eIhmUC.jpeg
2019/12/28(土) 15:48:54.66ID:Nw+g0oHm0
>>729
有難うございます
もうちっと考えてみます
733デフォルトの名無しさん (アウアウクー MM1f-K4/I [36.11.225.235 [上級国民]])
垢版 |
2019/12/28(土) 18:20:50.79ID:p8R0Q+BHM
>>730
インターフェイスの意味がわかっていますか?
2019/12/28(土) 19:53:00.32ID:KI7KpILmM
>>730
基底クラスみたいに使う、って漠然としすぎだけど、
Java8からinterfaceに実装を記述できるようにはなったよ。
2019/12/29(日) 11:49:13.66ID:IzML/7jR0
>>606
Proguard使えよタコ
736デフォルトの名無しさん (ワッチョイ abb0-yGK/ [180.46.73.208])
垢版 |
2019/12/30(月) 19:30:26.98ID:ZLko78Lo0
Java シルバー取りたいんだけどSE8と11なら11にしておいた方がいいの?
2019/12/30(月) 20:31:48.82ID:u0MtUvRs0
しらんがなー
2019/12/30(月) 20:36:19.50ID:yKHaMa8w0
11にしようぜ
たいして難しくなってないし、知識としてあえて古い方に限定することもない
2019/12/30(月) 21:14:40.48ID:3kEURnema
初心者で2月に受けるけど全く黒本がわからない
なんとなくコードは打てる
理解っているの?Java
2019/12/30(月) 22:16:53.88ID:Za1Wf1ynr
初心者から脱する気が無いなら理解する必要は無いよ
ただ初心者のまま時間が経つとそれはもう初心者じゃなくてただの無能だからね
741デフォルトの名無しさん (ワッチョイ ff01-NWon [111.90.14.57])
垢版 |
2019/12/30(月) 22:17:58.31ID:fFRqMrLq0
謎のマウンティング開始
2019/12/31(火) 01:49:08.07ID:tPXUyNvp0
数値の比較などの判定式の結果boolean型の仕組みが理解できていません
int count =3;
int limit =2;
System.out.println(count <= limit);
結果はfalseなのですが、「3<=2」がなぜfalseなのでしょうか。
比較の左側ならfalse、右側ならtrue、などあるのでしょうか
743デフォルトの名無しさん (ワッチョイ 7fad-SvJ4 [27.139.41.170])
垢版 |
2019/12/31(火) 01:55:01.88ID:wQOusfvX0
>>742
君は3が2以下だと思うのかい?
744デフォルトの名無しさん (ワッチョイ ff01-NWon [111.90.14.57])
垢版 |
2019/12/31(火) 01:57:35.04ID:yv9yhyfZ0
>>742
<=は小なりイコールの演算子だから
左の値が右の値より小さいか、もしくは左の値と右の値が同じときtrueになる

3 <= 2は、3は2以下であるということを表してて当然false
745デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/31(火) 02:57:47.47ID:II4RvmaH0
>>742
まずはif文から勉強してくださいよ。
746デフォルトの名無しさん (ワッチョイ 5b5f-K4/I [106.72.163.96 [上級国民]])
垢版 |
2019/12/31(火) 02:58:58.61ID:II4RvmaH0
数学もわかっていないのかな?
2019/12/31(火) 03:19:08.80ID:tPXUyNvp0
>>744
適切な解答有難うございます
「左の値が右の値より小さいか、もしくは左の値と右の値が同じときtrueになる」
この文章で理解できました。
2019/12/31(火) 13:29:22.42ID:9+YIWQboa
言葉で書くとかえってわかりにくいよね
2020/01/01(水) 03:24:48.37ID:yEYEASGU0
>>744
本当に有難うございます。
性格イケメンさんの解説のお陰で適切に解答できるようになりました
2020/01/01(水) 03:27:37.39ID:yEYEASGU0
>>748
問題集やってると混乱してきます
私48の婆なんですが
>>744の性格イケメンさんに高3の娘を嫁に出したいわ。
751デフォルトの名無しさん (ワッチョイ 9fad-cEPd [27.139.77.105])
垢版 |
2020/01/01(水) 20:37:50.12ID:fUaq4dOi0
>>706
よかったな。めでたしめでたし。

           おわり
752デフォルトの名無しさん (ワッチョイ 9fad-cEPd [27.139.77.105])
垢版 |
2020/01/01(水) 20:38:19.57ID:fUaq4dOi0
アンカミスった
753デフォルトの名無しさん (ワッチョイ 7d46-CCy/ [58.88.17.246])
垢版 |
2020/01/09(木) 00:07:25.24ID:r2AVr9JT0
JavaでGUI作ろうと思ってJavaFXの情報探そうと思ったら全然出てきません……
日本語の本でまともなのってないですか?
2020/01/09(木) 00:31:43.96ID:mNT5CRRbM
>>753
JavaFXはもう終わりでしょ
需要ないしろくに本も無いのでは?
2020/01/09(木) 00:33:05.00ID:r2AVr9JT0
ネット見た感じ取り敢えずSwingは終わりっぽいのでOpenJFX使って開発しようと思ったんですが、どちらも厳しいんですかね?
2020/01/09(木) 01:33:41.97ID:TONSU376a
終わるとか以前に、JavaでGUIは始まったことすらない
ガチで今も昔も誰も使ってない
2020/01/09(木) 07:57:06.34ID:wvbDpdNb0
昔は性能が悪くて使われず
今はクライアントアプリが斜陽
2020/01/09(木) 18:03:22.21ID:r2AVr9JT0
皆さん返答ありがとうございました、参考になります
JavaではGUIアプリを作るのは取り敢えず辞めにして、コンソールで適当なゲームでも作って覚えることにします
759デフォルトの名無しさん (ワッチョイ a301-ErPi [221.33.176.17])
垢版 |
2020/01/10(金) 12:19:03.17ID:MA7SUINg0
javaのソースコードの見方がわからない
androidアプリをとりあえず逆コンパイルして.classを抽出して中身のコードを見ることはできるようになったんだけど
沢山.classのファイルがあってどこが何がスタートになってるの?
順番ってどうなってるの?
そのアプリはa.class b.class c.classってタイトルが全部アルファベットなんだけど
2020/01/10(金) 13:53:24.38ID:kNTR9GPN0
aとかbとかは君のように解析しようとする試みを防ぐため難読化されてるってこと。
エントリポイントはActivityを継承したクラス見っけて...かな?
2020/01/10(金) 14:29:37.98ID:zQO7dZXUd
zxingでQRコードとJANコードが入った画像を読み取りたいんだけど
JANコードだけを読み取りたい。みたいな事ってできない?
762デフォルトの名無しさん (ワッチョイ a301-tgR8 [221.33.176.3])
垢版 |
2020/01/10(金) 15:04:57.68ID:+8yrOvaU0
>>760
メソッド名は“main”である(すべて小文字)

どっかにmainってファイルが必ずあるはずで、これがこのアプリの入口になってて他のclassのファイルは小部屋みたいなもんなんでしょ?
mainってファイルがどこ探してもないんだけどこれどういうことなん?
2020/01/10(金) 15:08:39.67ID:9j5+BVSIr
メソッドって自分で言ってんのにファイル名探すとは
2020/01/10(金) 18:11:08.65ID:D+gtbuRW0
C#erに、まだフィールド使って接頭語にアンダースコア付けてるんでしょ?と言われて何か悔しいです。
ギャフンと言わせる方法はあるでしょうか?
2020/01/10(金) 18:13:03.87ID:ujZrkvpm0
音楽プレーヤーをカスタマイズしたいのですが教えてください

https://imgur.com/a/jQqzGGM

今アルバムタイトルの下に情報が並んでいます
この最後に任意のFieldに書き込んだ文字を表示させることは出来ますでしょうか?

スクリプトファイルを開くと

//---> INFO
if (showGroupInfo) {

var infoX = leftPad;
var infoY = groupY + artistH + albumH;
var infoH = h;
var infoW = w - x - infoX;

var bitspersample = $("$Info(bitspersample)", metadb);
var samplerate = $("$Info(samplerate)", metadb);
var sample = ((bitspersample > 16 || samplerate > 44100) ? " " + bitspersample + "bit/" + samplerate / 1000 + "kHz" : ""); 
var codec = $("$ext(%path%)", metadb) ;
2020/01/10(金) 18:13:27.27ID:ujZrkvpm0
if (codec == "cue"){
codec = $("$ext($Info(referenced_file))", metadb);
} else if (codec == "mpc") {
codec = codec + " " + $("$Info(codec_profile)", metadb).replace("quality ", "q"); 
}
else if ($("$Info(encoding)", metadb) == "lossy") {
if ($("$Info(codec_profile)", metadb) == "CBR") codec = codec + " " + $("%bitrate%", metadb) + "kbps"; 
else codec = codec + " " + $("$Info(codec_profile)", metadb); 
}
if (codec) {
codec = codec + sample;
} else {
codec = path;
2020/01/10(金) 18:15:06.30ID:ujZrkvpm0
}
var iCount = itemCount[ID.groupNr];
var genre = radio ? "" : (groupedID ? "%genre% | " : "");
var discNumber = (groupedID != 2 ? "" : $("[ | Disc: %discnumber%/%totaldiscs%]", metadb));
var info = $(genre + codec + discNumber + "[ | %replaygain_album_gain%]", metadb)
+ (radio ? "" : " | " + iCount + (iCount == 1 ? " Track" : " Tracks")
+ " | Time: " + calculateGroupLength(firstItem[groupNr], lastItem[groupNr]));
var w = w - x - 10;
g.DrawString(info, infoFont, infoColor, infoX, infoY, infoW, infoH, StringFormat(0, 0, 3, 0x1000));

var infoStringH = Math.ceil(gr.MeasureString(info, infoFont, 0, 0, 0, 0).Height + 5);
var lineX1 = infoX,
lineX2 = 20 + w,
lineY = infoY + infoStringH;
(lineX2 - lineX1 > 0) && g.DrawLine(lineX1, lineY, lineX2, lineY, 1, lineColor);

}

となっていました
これはJavaでしょうか?
上記URLに任意のFieldを追加するにはどうすればよいでしょうか?

よろしくお願いいたします
2020/01/10(金) 18:50:23.24ID:915LIh+yM
>>764
言語面ではJavaはあらゆる面でC#に劣るから、正攻法で戦ってはいけない
C#er相手にマウントを取るには、でもWindowsなんでしょ?wwwが一番効く
お前もWindowsでJavaを運用していたり、そのC#erが.NET CoreをLinuxで運用してたりUnity開発者だったりするなら諦めろ
769デフォルトの名無しさん (ワッチョイ 5b01-zcZG [111.90.14.57])
垢版 |
2020/01/10(金) 22:38:24.06ID:ALcwyMXE0
>>765
foobar2000のJavaScriptっぽいなー
770デフォルトの名無しさん (ワッチョイ 23ad-UU8b [27.139.41.170])
垢版 |
2020/01/10(金) 23:24:28.51ID:u5Uqllm50
>>761
EANReaderってQR反応したっけ?
2020/01/11(土) 02:43:04.54ID:14sFduQs0
>>764
・ゴメン俺Haskellに乗り換えたからJavaやってねーんだわ
・ゴメン俺マネジメントが忙しくて最近プログラミングさせてもらえねーわ
好きなほうどーぞ
Haskellは嘘だろと追及されそうならKotlinかLombokで
772デフォルトの名無しさん (ワッチョイ a301-tgR8 [221.33.176.3])
垢版 |
2020/01/11(土) 08:57:49.30ID:qa2D3VNz0
>>763
>メソッド名は“main”である(すべて小文字)

これネットでggって書いてあったんだけど
じゃあファイル名はもう何かわからないってこと?mainメソッドの拡張子も.class?
この沢山ある**.classファイルの数々からmainを自分で見つけるしかないってこと?
773デフォルトの名無しさん (ワッチョイ 2361-alJZ [61.245.59.106])
垢版 |
2020/01/11(土) 09:07:22.58ID:+T4LytQN0
AndroidはJVMじゃないし。
2020/01/11(土) 10:10:11.51ID:vwcaMfZA0
テキスト検索すらできない実力でリバースエンジニアリングできると思ってるの?
煽りじゃないよ
775デフォルトの名無しさん (ワッチョイ a301-tgR8 [221.33.176.3])
垢版 |
2020/01/11(土) 11:18:07.93ID:qa2D3VNz0
うん思ってる
776デフォルトの名無しさん (ワッチョイ a301-tgR8 [221.33.176.3])
垢版 |
2020/01/11(土) 11:42:50.55ID:qa2D3VNz0
指定した全部のファイルから
メソッドだろうが修飾子だろうが全部の文字列検索してるツールとかってないの?
javaDecompiler使ってるんだけど、なぜか修飾子検索してくんないから全く使い物にならない
2020/01/11(土) 11:52:19.94ID:as9AOr230
普段プログラム書くのに使ってるツールにgrep機能が付いてないの?
2020/01/11(土) 13:39:02.07ID:5ateKhzY0
Androidのアプリならmainメソッド探しても仕方ないよ。
mainメソッドはアプリ側でなくてAndroidのシステム側にあるから。
(って話はすでに>>760が書いてくれてるんだけど)

というか、解析したいアプリがどんなものかわからないけど、
- Native Activityで実装されていればdexファイルではなくsoになってる
- Unityとかで開発されていれば実質的なアプリ本体はC#なりで実装されている
とか普通にあるんで、必ずしもdexをclassにしてデコンパイルすれば中身見放題ってわけじゃないです。
779デフォルトの名無しさん (ワッチョイ a301-tgR8 [221.33.176.3])
垢版 |
2020/01/11(土) 14:48:30.35ID:qa2D3VNz0
わかりました。
どうやらそのようです。
soファイルありました。
どうもありがとうございました。
780デフォルトの名無しさん (ワッチョイ a301-tgR8 [221.33.176.3])
垢版 |
2020/01/11(土) 14:49:56.63ID:qa2D3VNz0
詳しく教えてくれてありがとうございました。
ggったら全く同じ事が書いてありました。
2020/01/11(土) 15:29:29.31ID:MXX/X4cZ0
>>762
Javaの場合、mainという名前のメソッドはテスト用にどのクラスでもそれぞれ書いても良いとされている。
Androidの場合、Activityを継承したクラスに所属している main という名前のメソッドからプログラムが開始される。
public指定されて外にexportされているクラスの名前を XXX とすると、そのクラスを書くソースファイルの名前は、XXX.javaとなる。
XXX.javaをコンパイルするとXXX.classになる。
本物のJavaは、XXX.classをまとめたものが、*.jarであるが、Androidの場合は、まず、*.classが*.dexに変換された後、さまざまなファイルとアーカイブされて*.aptになる。
2020/01/11(土) 15:35:49.54ID:MXX/X4cZ0
>>781
すまん。Activityの場合は、main()ではなく、onCreate()メソッドだったかも知れん。
Androidの場合でも、dexコマンドで直接起動するようなCUIプログラムの場合は、main()でよかったと思う。
ただし、Javaの場合は外部関数がないので当たり前かもしれないが、このmainは、C/C++のような外部関数ではなく、メンバ関数。
783デフォルトの名無しさん (ワッチョイ 2361-6Ucs [123.230.238.221])
垢版 |
2020/01/11(土) 16:27:06.17ID:MXX/X4cZ0
>>781
*.aptじゃなく、*.apk。
dexも細かい関係性は忘れた。
784デフォルトの名無しさん (ワッチョイ fd61-alJZ [112.136.82.104])
垢版 |
2020/01/11(土) 17:33:12.71ID:lHngeS9z0
ActivityじゃなくてApplicationだ。
答える方もわかってないしスレ違いだし、いい加減向こうでやれや。
785デフォルトの名無しさん (アウアウウー Sa19-JQ6m [106.154.130.141])
垢版 |
2020/01/11(土) 19:55:11.85ID:Dn3xIqPda
Javaの有償化について教えてください
PC内に入っているものは「Java SE Development kit 8」なのですが
これでアプリ作って公開したら有償ですか?
Kotlin使っても有償になるのでしょうか?
2020/01/11(土) 21:34:49.76ID:1VjCQQNwM
Javaをやろうとするやつは総じてバカなのか? それともこのスレだけなのか?
最近pythonやろうとしてるやつも大概バカばっかだがここはそれ以上
2020/01/11(土) 23:44:29.27ID:Fe8pyJct0
私思うんです
他のクラスに変数を受け渡すとき
例えばclass1からd=class2(a,b,c);みたいにひとつずつ変数を渡さないで
d=class2(this);にすればいいと思うんです
私思うんです
2020/01/12(日) 00:46:32.13ID:7vCp3mje0
>>769

はい、foobarです
これって専用なのですね?
専門のページで質問してみます
有難うございました
2020/01/12(日) 00:51:10.15ID:FbSdnFnB0
>>787
モジュールの結合度について学び今後意識していくとよいでしょう
密結合になると変更に弱くなります
弱くなります
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況