- 1 名前:仕様書無しさん mailto:sage [03/09/24 05:33]
- このスレッドは、Sun認定Java資格の
SJC-P Sun Certified Programmer for the JAVA 2 Platform 1.4 Sun Certified Programmer for the JAVA 2 Platform 1.2 に関して、具体的な『実用情報』を集めるために立てました。 過去スレ・関連スレ>>2 受験手続き・チケット情報>>3 関連書籍 >>4 リンクなど >>5 ▼▼▼▼▼▼▼▼▼▼ ↓注目 ▼▼▼▼▼▼▼▼▼▼ このスレッドでは、 次の書き込みや議論は『 不要 』です。 「資格なんて意味ねーよ」 「実務経験関係なしにiStudyシコシコやってればとれる資格に意味ねぇ」 「3日で取れないやつはクソ」etc スレッドを荒らすだけの発言はこっち↓でやってください。 うひょ。 pc.2ch.net/test/read.cgi/prog/1062656417/ pc.2ch.net/test/read.cgi/prog/1042882513/ ▲▲▲▲▲▲▲▲▲▲ ↑注目 ▲▲▲▲▲▲▲▲▲▲ 前向きに、 SJC-Pに関する実用情報を議論するための スレッドにしましょう。 資格、万歳! 資格、マンセー!
- 387 名前:仕様書無しさん mailto:sage [04/01/17 00:40]
- ほけんしょよう。
がんばれよう。
- 388 名前:382 mailto:sage [04/01/17 01:18]
- >>383
ありがとう。 当方Java経験は1年ちょい。 ただしここ半年は実務でコード書いてない。 しかもプログラミングやってたといっても ほとんどコピペでOKのようなとこだったので 全然身についてなかった(と1回目不合格で悟る) 今回はスレッドを重点的にやった。 スレッドの正解率Upのおかげで滑り込みセーフ。 がんばってください。
- 389 名前:仕様書無しさん [04/01/17 01:23]
- Thread#join()とかObject#wait()、notify()、notifyAll()とかあの辺いまだにわからん。
困ったものだ。
- 390 名前:仕様書無しさん mailto:sage [04/01/17 02:10]
- まあ、みんな嫌いなとこだわな
- 391 名前:仕様書無しさん [04/01/17 11:46]
- >>389
当然テストによって違うのだろうけど、 私の時はスレッドの問題が10問くらい連続で出ました。 その辺の範囲は絶対捨てない方がいいですよ。
- 392 名前:仕様書無しさん mailto:sage [04/01/17 12:47]
- スレッドって結構出るって聞くよね?
地道にやらないと。
- 393 名前:仕様書無しさん mailto:sage [04/01/17 14:48]
- テンプレにある、スレッド本読破するといいと思います。
載っているコードは実際打ち込んで実行した方が良いだろうけど。 SJC-WCに向けて、XML勉強中・・・ふぅ。
- 394 名前:仕様書無しさん [04/01/17 17:54]
- スレッド関連は実際にコード書いて動かすことをやらないと、なかなか覚えられないだろうよ。
自分でマルチスレッド物を作って動かしてみ。 ちゃんと動いたら感動するから。
- 395 名前:仕様書無しさん mailto:sage [04/01/18 01:57]
- 【Java経験】なし(自習)
【言語経験】C, PL/SQL, VB, Ruby(趣味) 【試験番号】310-035(SJC-P) 【 正解数 】35/61 = 57% 【受験回数】1 【勉強期間】約1ヶ月(実質1週間程度) 【使用教材】日経BP 【出題内容】実行結果をテキストボックスに記述する方式の問題があって一瞬面食らいました。 同一範囲の知識を問う問題が連続して出題されていたように感じました。 【感想など】スレッドは皆さん仰るとおり難問でした。実際にコードを書いて理解したつもりでも 50%程度の正答率に留まりました。
- 396 名前:395 [04/01/18 02:04]
- 来月から実務なので自習を兼ねて資格取得しました。このスレは大変参考に
なりました。ありがとうございました。
- 397 名前:仕様書無しさん mailto:釣りだよ釣り [04/01/18 04:08]
- SJCとったら、JavaVM仕様の勉強かな。
特にGCの仕組みは学んでおかないと現場ではウンコ扱いだからな。 エデンとか、サバイバーとか領域の意味をしっかり把握して どんなタイミングでFullGCが走るか、ちゃんと勉強しておくようにな。 まぁ、派遣とかその他もろもろのウンコPGには関係の無い話かもな。
- 398 名前:仕様書無しさん mailto:sage [04/01/18 04:54]
- >>397
SunJREのローカル実装にこだわってる馬鹿発見。
- 399 名前:仕様書無しさん mailto:sage [04/01/18 09:55]
- アホは放置で
- 400 名前:仕様書無しさん [04/01/18 10:06]
- 今月のC magazineはjavaのThread特集だよ。
- 401 名前:仕様書無しさん mailto:sage [04/01/18 14:29]
- >>398,399
>>397のメール欄みろ。
- 402 名前:仕様書無しさん mailto:sage [04/01/18 15:03]
- >>397
おまいの言うウンコPGが二匹も釣れたようだ。 良かったな。
- 403 名前:399 mailto:sage [04/01/18 18:22]
- >>401
見てましたよ。 >>402 いえ、学生です。情報学科の
- 404 名前:仕様書無しさん mailto:sage [04/01/18 20:05]
- 実務でやり始めたが、ウンコPGが作ったプログラムを引き継ぐのは大変だ。
1つのファイル(モジュール)に、複数のクラスが入っている。(インナークラスでは無い) システム設計書なし、機能仕様書なし、外部設計書なし ソフトウェア設計書なし、デバッグ仕様書なし、デバッグ報告書1枚、 画面遷移の取り扱い説明書、あり つまり、無い無いずくし。 なんだかな〜。(阿藤快風に)
- 405 名前:仕様書無しさん mailto:sage [04/01/18 21:01]
- プログラミング未経験なんですが、SJC-Pを取ろうと
勉強しています。 よく、上達するには何かを作ってみろとか言われますが、 初心者の時、どんなのプログラムを書いてましたか? (もちろんレベルで出来る物の差はありますけど) サンプルコードを書き換えたりはしますが 何かを作れと言われても、具体的にどんなのを作れば良いのか 浮かばなくて…
- 406 名前:仕様書無しさん mailto:sage [04/01/18 21:44]
- >>405
3つの数字を用意して、それぞれ1〜100の間を繰り返し上下に動くようにする。 その変化するスピードは、3つそれぞれで異なるものとする。 その変化の様子をアプレットなり、コンソールなり、ウインドウなりで、 表示させる。 こんな感じでやってみては? とりあえず、制御構文と、スレッドの応用になります。 また、ボタンを作ってその数字を停止させたり、動かしたりを操作できるようにすれば、 wait(), notify()の練習にもなります。 (範囲外ですが、GUIの勉強にもなります) 「3つの数字」の「3」の部分をfinal int型で示すようにするなどして、 汎用性を持たせるようにするとよいかとおもいます。
- 407 名前:仕様書無しさん mailto:sage [04/01/18 21:57]
- >>404
ウンコPGがいるような会社にいるお前も・・・
- 408 名前:仕様書無しさん mailto:sage [04/01/18 23:31]
- とりあえず、コレクション簡単なんだから覚えてください。。
Vectorとか、Hashtableとかじゃないですよ
- 409 名前:仕様書無しさん mailto:sage [04/01/19 00:25]
- >>404
よく上司許したね。 ってか、クビ?
- 410 名前:仕様書無しさん [04/01/19 01:51]
- すいません質問です。
試験のチケットは有効期限ってどのくらいですか? 今自分は振込み用紙が来たところです。
- 411 名前:ジャバヒロ mailto:sage [04/01/19 02:36]
- public class Sample{
public static void main(String args[]){ int x = new int[1]; func(x); System.out.println(String.valueOf(x[0])); } static void func(int x[]){ x[0] = 100; } } ↑これって「100」と出力されるんですけど、どうしてですか? main()メソッドのx[0]は0で初期化されますよね? で、func()メソッドの引数として獲得されるx[]には main()メソッドで定義したx[]配列への参照がコピーして 渡されるんですよね? func()メソッド内で x[0] = 100; としたところで func()メソッドで獲得した引数としてのx[]の参照先が 変わるだけで、main()メソッドで定義したx[]配列には 影響ないんじゃないの?でも、「100」と出力されちゃう。 どなたか説明していただけませんか? 私の勘違いを指摘してください。
- 412 名前:仕様書無しさん mailto:sage [04/01/19 03:26]
- >>411
「参照」って言葉の意味を理解してますか? newとかで明示的に作成しない限り、基本的にオブジェクトそのものの数は増えない、と。
- 413 名前:仕様書無しさん mailto:sage [04/01/19 07:18]
- >>411
ん? 「func()メソッドで獲得した引数としてのx[]の参照先が 変わるだけで・・・」 ここがおかしいんでない? 確かにmain内の変数xとfunc内の変数xは別物だけど 参照先の実体は同じハズ
- 414 名前:仕様書無しさん mailto:sage [04/01/19 07:57]
- >411 func()メソッドで獲得した引数としてのx[]の最初の参照先はどこなのでしょう?
それがわかれば解決かと。プリミティブ型と参照型がごっちゃになっているのでしょう。 それと、 int x = new int[1];だとコンパイルエラーがでるはずですが。 int[] x = new int[1];が正しいかと......。
- 415 名前:仕様書無しさん mailto:sage [04/01/19 07:58]
- public class Sample{
public static void main(String args[]){ int[]x = new int[1]; func(x); System.out.println(String.valueOf(x[0])); } //引数名でxを使うとややこしいので、x_copyにしました。 static void func(int x_copy[]){ x_copy[0] = 100; } } 1. int型の配列xはx[0]の領域を指しています。 x→x[0] これはよさそう。 2. func(int型の配列の参照);メソッドにxを渡します。 3. x_copyはxがコピーされる。 ここで言うコピーとは、xの値(参照型なのでアドレス)とx_copyの値(当然アドレス) は同じということです。 x の値が0x0001(参照先のアドレス)ならば x_copy の値も0x0001(参照先のアドレス)となる。 参照が指している先は同じということなんですけれど、図にするとこんな感じ。 x →→→→→→→ 0x0001 ↑ x_copy →→→→→ ↑
- 416 名前:仕様書無しさん mailto:sage [04/01/19 07:59]
- x →→→→→→→ 0x0001
↑ x_copy →→→→→ ↑ 4. x_copyの0番目x_copy[0]に100を入れる つまり、0x0001アドレスの値を100にする 5. 表示したら100になる xが指しているアドレスとx_copyが指しているアドレスは 同じなので、アドレス内の値が変更されたら、当然xの値も変わっている。 説明するっていうことはむつかしいな。 この問題の重要な点は「参照」ではなく、staticメソッドは、 他のstaticメソッドへアクセスすることができるということを言いたいのかと思ったが..... 411がむばれ。
- 417 名前:仕様書無しさん mailto:sage [04/01/19 08:01]
- 同じところを指している図をつくりたいんだけれど、うまくいかないよ〜
うわ〜ん。 x →→→→→→→ 0x0001 ↑ x_copy →→→→→ ↑
- 418 名前:仕様書無しさん [04/01/19 12:35]
- >411
配列はオブジェクトと同じ扱いです。たとえint型だろうとね。 だから、メソッドにオブジェクトの参照を渡して、メソッド内でその参照に対して計算なり何なりすると、元々作ったオブジェクト中身も計算に伴って変化します。 これはとても理に叶ってると思いませんか?
- 419 名前:ジャバヒロ mailto:sage [04/01/19 13:19]
- >>412 〜 >>418
レスありがとうございます。 配列xの参照先アドレスと配列x_copyの参照先アドレスが同じなので func()メソッド内で配列x_copyの要素1番目に100を入れると main()メソッド内の配列xの要素1番目も0から100に変わるということですね。
- 420 名前:ジャバヒロ mailto:sage [04/01/19 13:31]
- ということは、以下のような場合は文字列"NG"の
参照先アドレスがstr_copyの参照先アドレスと違うということですか? public class Sample{ public static void main(String[] args){ String str = "OK"; func(str); System.out.println(str); } static void func(String str_copy){ str_copy = "NG"; } } この場合の出力結果は「OK」です。 func()メソッド内でstr_copyに文字列"NG"を入れるまでは str_copyの参照先アドレスはstrの参照先アドレスと同じだった。 func()メソッドの引数として渡されているstr_copyの参照先アドレスは この時点でははmain()メソッド内で定義したstrの参照先アドレスのコピーだから。 でも、func()メソッド内で出てくる文字列"NG"は別の参照先アドレスでぇ。。 (この辺で分からなくなってきてます) str_copyの参照先アドレスはstrのコピーから"NG"の参照先アドレスへ変わったけど main()メソッド内のstrの参照先アドレスには影響しないってことですか? 影響しないんですか?
- 421 名前:414-417 mailto:sage [04/01/19 14:33]
- intやdouble型とは違い、StringというやつはJavaの中で別物と思ったほうが良いです。
おそらく、初心者Java本では[equals]あたりを調べるとStringオブジェクトは特別なんですよ〜 的なことが書いてあると思うのですが。 public class Sample{ public static void main(String[] args){ @ String str = "OK"; String str2 = "OK"; A String str = "NG"; System.out.println(str); }
- 422 名前:414-417 mailto:sage [04/01/19 14:37]
-
メソッドが介在すると、わからなくなる(複雑に考えちゃったりするんですよね)ので、 普通の変数で考えてみましょう @では str →→→→→→→ 0x0001("OK"が入っているアドレス) ↑ str2 →→→→→→ ↑ となっていることは分かりますか?Str2のために新しい領域を確保していないのです。 A str →→→→→→ 0x0111("NG"が入っているアドレス) str2 →→→→→→ 0x0001("OK"が入っているアドレス) となるのは分かりますか? ちょっとトイレにいくので、じっくり考えてみてください。
- 423 名前:414-417 mailto:sage [04/01/19 15:03]
- ウンコしてすっきりしました。
問題文の間違えに気がつきました(悲) A String str = "NG"; → str = "NG";です。すみません。 上記のことがわかれば、メソッドにしても同じだと考えてよいです。 String型の参照str_copyにstrの値(アドレス)をコピーすると str →→→→→→→ 0x0001("OK"が入っているアドレス) ↑ str_copy →→→→→ ↑ こうなのですが、新しい文字列を格納すると、新しい領域を確保することになるのです。 参考書のString型とStringBuffer型について書いてあるページに目を通すと よくわかると思います。 こんなことも書いてあるかと↓ String型をnewをすると、任意に新しい領域がつくられます。 @ String str = "OK"; String str2 = new String("OK"); だとすると str →→→→→→ 0x0001("OK"が入っているアドレス) str2 →→→→→→ 0x00FF("OK"が入っているアドレス) newは新たな領域を任意に作成してほしい時に書いたりするのです。 ああっむつかしいな。
- 424 名前:414-417 mailto:sage [04/01/19 15:04]
-
ここはSJC-P用スレッドなので、そろそろ引っ込みます。 このあたりは基本文法なので、他のスレッドでお聞きになったほうがよろしいのかもしれませんね。 ウンコPGだが、一つ一つ理解していくと、りっぱなウンコになれたりして、かなり臭いので、 給料あがったりします。 ここのスレには大変お世話になりました。来週試験受けます。 結果報告します。 ジャバヒロもがむばれ。
- 425 名前:ジャバヒロ mailto:sage [04/01/19 15:22]
- <<424
意味分かりましたよ〜。ありがとうございます☆ 確かに板違いかもしれなかったです。すいません。 私ももっと学んで今年中には合格できるようにします。 本当にありがとうございました。
- 426 名前:仕様書無しさん mailto:sage [04/01/19 15:50]
- >>422
スマソ,直接スレと関係ないけど良ければ教えてください。 >str2のために新しい領域を確保していないのです。 クラス型の変数は例外なく参照先のアドレスを格納 するために4バイト分のメモリ領域を確保するのでは? 確保しないのであれば,変数str2そのものの情報は どこに記憶しておくの? メモリの中身には関心があるんだけど,こういうことを 詳しく説明している参考書ってあるのかな? 近くに大きい本屋さんがないもので。
- 427 名前:414-417および421-424 mailto:sage [04/01/19 20:39]
- >>426
もう一度、きちんと調べなおしたりして(W 試験前のウンコPGなので、嘘ついてしまわないようにしなければいけないと。 当方の説明が悪かったために誤解を招いてしまったようです。すみません。 たしかに、あの図だと勘違いしてしまいますね。 ご指摘の通り、クラス型変数は4バイト分の領域を確保します。 それが、strとstr2なんです。strとstr2は4バイトの領域にそれぞれの名前で確保されているます。 strとstr2の値(つまりオブジェクトを指すアドレス)が一緒(0x0001としましたよね) だと伝えたかったのです。 str の値(0x0001) ↑ str2の値(0x0001) のように書くべきでしたね。
- 428 名前:414-417および421-424 mailto:sage [04/01/19 21:07]
- 参考書には次のように書いてあります。
文字列リテラルは内部的にStringオブジェクトで表される。 その祭、同じ文字列のリテラルは同じStringオブジェクトで表すことになってる。 ......なんか、分かるんだがな、もうちょっと砕いたかつ、つっこんだ説明がほしいですね。 当方アフォですし(悲) String型(Stringクラス型と言ったほうが区別がはっきりしていいですね。) のオブジェクトというのはヒープ上(Staticな人達が存在する、すぐに消滅したりしないメモリ上のエリア) に生成されるんです。 Stringオブジェクトが作られた時にJVMはヒープ上で同じ文字列があるかどうかを探しくれます。 もし、あったらその「文字列が収まっているアドレス」をクラス型の変数に格納するのです。
- 429 名前:414-417および421-424 mailto:sage [04/01/19 21:08]
- 上記を理解すると
String str = "OK"; この時ヒープ上に("OK")が格納されているStringオブジェクトが生成 そのオブジェクトのアドレス(0x0001番とする)をstrに格納 String str2 = "OK"; JVMはヒープ上に("OK")が格納されているStringオブジェクトがあるかどうか 探して、("OK")Stringオブジェクトみつけたので、そのアドレス(0x0001番) をstr2に格納する String str3 = new String("OK") これはJVMに("OK")が格納されているStringオブジェクトを探さずに 新たなオブジェクトを作ってくれよと明示的に命令していることになります したがって、str3には新たな("OK")Stringオブジェクトのアドレス (0x00FF番とする)が格納される 結果 str(0x0011)→→→→→→→ ("OK")オブジェクト(アドレスは0x0001) ↑ str2(0x0011) →→→→→→ ↑ str3(0x00FF) →→→→→→ ("OK")オブジェクト(アドレスは0x00FF) となるんです。
- 430 名前:414-417および421-424 mailto:sage [04/01/19 21:18]
- さらに、上記がわかるとObjectクラスの@==とAequalsメソッドの使い分けが理解できます。
(受験者は必須の知識です。) @ if(str == str2) == は同じStringオブジェクトを参照しているかどうかをたずねています。 つまり、strとstr2の中の値(アドレス)が同じかどうかをたずねられています。 strとsrt2の値(アドレス)は同じなので、if(str == str2)はtrueになり、 strとsrt3の値(アドレス)は異なるので、if(str == str3)はtrueになります。 A if(str.equals(str2)) equalsはstrとstr2が同じ文字列を保持しているかどうか つまり、strとstr2が指すStringオブジェクトのインスタンスの中身が同じかたずねています。 この場合str、str2、str3が指すオブジェクトのインスタンスの中身は全て("OK")ですので、 どの組み合わせでもtrueになります。
- 431 名前:414-417および421-424 mailto:sage [04/01/19 21:19]
- さて、メモリに関してですが、BP本はこちらで良本とされているのでもっていますが、書籍としては私も入手していないですね。良い本があったら、どなたか教えてください。基本情報とかソフ開とかの資格の本なんかで結構いいのがあるのかもしれませんね。
自分がこれはよい説明だなと思ったのは↓です。 ttp://www.atmarkit.co.jp/fjava/rensai2/javaent02/javaent02.html 変数について、分かるような、分からないような 「俺、いまいち、いけてないな」という方は一読の価値があります。(1ページですし) 非常に分かりやすい、かつ正しい説明だと思います。 自分もこういう説明ができるようになりたい(悲) >426 こんなんでよろしいでしょうか?
- 432 名前:414-417および421-424 mailto:sage [04/01/19 21:23]
- ああっまた、まちがえた。
>430の@ strとsrt2の値(アドレス)は同じなので、if(str == str2)はtrueになり、 strとsrt3の値(アドレス)は異なるので、if(str == str3)はfalseになります。 です。ごめん。
- 433 名前:日経BP社 [04/01/19 21:33]
- 『Sun Java2認定ガイド』正誤表
store.nikkeibp.co.jp/teisei/seigo.html#8168X 【第1版1刷】をお持ちの方 ▼p.144の問題1と問題2の問題文 「アクセス修飾子」を 「アクセス修飾子またはアクセス制御」に直す ▼p.211の問題9の解答と解説 正答の「B」を「C」に、解説の1行目の 「1回」を「1回ずつ」に直す ▼p.232の「試験のポイント」 コードの2行目中の「,」を「;」に直す コードの下の文章で、「無効です」の前に 「forループ外では」を挿入する ▼p.263の2番目の段落 3行目の「可能です」を 「可能かもしれません」に直す ▼p.435の問題4の解説 誤答中の「C」を「B」に直す ▼p.511の表9-2 一番左の3行目の「nitifyAll()」を 「notifyAll()」に直す
- 434 名前:仕様書無しさん mailto:sage [04/01/19 21:50]
- Java FAQ www.gimlay.org/~javafaq/javafaq.html
のStringとか、 String#intern() とか immutableとかで検索すれば いろいろ出てくるはず。
- 435 名前:426 mailto:sage [04/01/20 06:05]
- >427-432
なるほど。理解できました。ご丁寧にありがd。 試験頑張ってください。 >434 サンクス。参考にさせて頂きます。
- 436 名前:仕様書無しさん [04/01/21 00:59]
- 今月のC magaのThread特集だけど、
一番最初のプログラム、Hello、Java、 Worldそれぞれ100個ずつ、 計300個表示されるとあるけど、どうなのかなぁ? if節って、直後の行が改行だと何もしないのかなぁ? それだったら意味がわかるんだけど。 皆さんどう思いますか?
- 437 名前:仕様書無しさん mailto:sage [04/01/21 23:39]
- >>436
自分で書いて試してみましょう。
- 438 名前:仕様書無しさん mailto:sage [04/01/23 01:04]
- >>430
Cで書いたほうが、ポインタでわかりやすいかな。。 const char *str1 = "OK"; const char *str2 = "OK"; char *str3 = (char *) malloc(8); strcpy(str3, "NG"); こんな感じ
- 439 名前:430およびウンコPG mailto:sage [04/01/23 01:49]
- >438
なるほど、ありがとうございます。 あれれ?ちょいと教えてください。 const str1もstr2ポインタが指す(指すというか、1次元配列ですね)の それぞれの値("OK")のメモリー領域は別だと思うのですが、 違うのでしょうか? この場合 str1とstr2の値(アドレス)は同じなのでしょうか? 自分は違うと思っていましたが..... Cはちょっとしかやっていなかったので、既に忘れてしまっているものでして.... constなんだか懐かしいです。あの時も理解が出来ず辛かった(W まあ、ポインタを理解していれば、 メモリがどのように使われるのかが分かっているはずなので、Stringクラスの メモリの使われ方なんていうのは糞にもならない「ハナクソ」程度に思われるのでしょうね。 しかし、ウンコPGって本当に良い命名だと思います。 とても気に入っています。この名前いただきますです。 今日はコレクションのお勉強です。これもいまいち分かりづらいので困ります。
- 440 名前:仕様書無しさん mailto:sage [04/01/23 02:14]
- >>439
C言語ならコンパイラ依存。ものによりけり。オプションで可能なものもありますよね。 Javaなら仕様で必ず同じですが。
- 441 名前:仕様書無しさん mailto:sage [04/01/23 14:44]
- >>21 に、
>最後に、前スレでカンペを張ってくれた人、大変助かりました。ありがとー ってあるんだけど、誰かログ持ってる人張ってくれませんか?お願いします。
- 442 名前:仕様書無しさん mailto:sage [04/01/23 20:46]
- はいよ♪
001) インターフェース内で宣言された変数はpublic static finalになるので再代入できない 002) インターフェース内で宣言されたメソッドはpublic abstructになるので実装クラスではpublicメソッドでオーバーライドする 003) メソッドの宣言なのにセミコロンで終わっている場合は抽象メソッドなのでクラスにもabstructが必要 004) インタフェースは複数のインターフェースをextendsできる 005) int型以下のサイズ同士の計算結果はint型 006) 配列のインデックスはint型。byte・short・charが使われるとint型に変換される 007) defaultが常に最後に無くてもかまわない 008) system.out.print("hoge" + 5 + 8);の場合の+演算子は文字列連結。結果はhoge58 009) シフトされるビット数は常に右オペランドをその基本データ型のビット数で割った余り 010) x>>3はx*2*2*2と同じ、x<<3はx/2/2/2と同じ 011) &は両方1の時、|はどちらかが1の時、^は一方が1の時のみ1 012) &&は左がfalseなら、||は左がtrueなら残りは評価しない 013) for文の反復式が実行されるのは正常に反復が1回終わった後 014) printStackTrace()でスタックトレースを表示することができる 015) if文の{}の省略は直後の1文のみがif文。インデントなど紛らわしいものに注意 016) チェック例外はどこかで処理しないとコンパイルできない 017) オーバーライドに失敗しているメソッドはオーバーロードに成功していないかに注意 018) RuntimeExceptionは処理も宣言も必要ない 019) アサーションフラグは、基本的に左側から順に評価される 020) シフト演算子は整数型のオペランドにのみ適用される 021) voidを返すメソッドをassert文の第二文に使えない。何らかの値を返す必要がある 022) どのオーバーライドメソッドを使うかは実行時のオブジェクト型で決まる 023) どのオーバーロードメソッドを使うかはコンパイル時の参照型で決まる 024) コンストラクタは継承されない 025) デフォルトコンストラクタはクラスと同じアクセスレベル
- 443 名前:仕様書無しさん mailto:sage [04/01/23 20:47]
- 025) デフォルトコンストラクタはクラスと同じアクセスレベル
026) インターフェースにはコンストラクタはない 027) 抽象クラスにはコンストラクタがある 028) 戻り値の型がオブジェクト参照のメソッドは戻り値型に暗黙的にキャストできるものなら何でも良い 029) x.lengthは配列の属性、x.length()はStringのメソッド 030) 連鎖メソッド(result=method1().method2().method3();)は左から順に評価される 031) NumberFormatExceptionはperseXxx()とvalueOf()が投げる 032) ceilとfloorは引数・戻り値共にdouble型のみ 033) substring()の第二引数のインデックスは1から始まる 034) インスタンスメソッドはオブジェクト型・staticメソッドは参照型で決められる 035) 例外がキャッチされないと、先にfinallyブロックが実行される 036) max min abs はdouble・float・long・intの戻り値・引数を取る4バージョンある 037) round はint・longの戻り値・引数を取る2バージョンある 038) sqrt()は負数を引数にとるとNaNになる 039) ceilは繰り上げ・floorは繰り下げ 040) Boolean型変数を条件文に使えない 041) primitive xxxValue() 、primitive parseXxx(String) 、Warapper valueOf(String)。 042) equals()でラッパークラスの比較をする場合、同じ物でないとfalseになる。同じクラスでもなく階層ツリーでもないため 043) 2つのオブジェクトがequals()メソッドで等しいと判断される場合、両方のハッシュコードは同じにならないといけない 044) ソート済みで順序なしのコレクションはない(ソートされたら並んでる) 045) ArrayList HashSet HashMapはシンプルなコレクション 046) RandomAccessインターフェースを実装しているのはVectorとArrayListのみ 047) LinkedList LinkedHashSet LinkedHashMap は順序付き(Linkedは順序ありと暗記) 048) TreeSet・TreeMapはソート済み、順序あり(Treeはソート済みで順序ありと暗記) 049) Vector Hashtable は同期化されている(古くからあるのは同期されてると暗記) 050) HashMapはnullキーがいくつあっても良い。Hashtableはnullキーはダメ、LinkedHashMapは1つだけ
- 444 名前:仕様書無しさん mailto:sage [04/01/23 20:49]
- 051) equals()・hashCode()はObjectクラスのパブリックメソッド。finalize()はObjectクラスのprotectedメソッド
052) finally()はガーベッジコレクションの前に一度だけ実行される 053) アウタークラス内でインナークラスをインスタンス化 → new MyInner() 他のクラス内では → new MyOuter().new MyInner() 054) アウタークラスのインスタンスが既にあるときにインナークラスをインスタンス化 → outerObjRef.new MyInner() 055) メソッドの中で定義されるインナークラスはそのメソッド内でのみインスタンス化できる 056) メソッドローカルなインナークラスはメソッドの一時変数にはアクセスできない。ただしfinalがついている場合はよい。 057) ローカルクラスにつけられる修飾子はfinalとabstructのみ可能 058) インナークラスにつけられる修飾子はアクセス修飾子・final・abstruct・static・strictfp 059) 無名クラスは{}のあとに;をつける 060) スーパークラス内に定義されていないメソッドを無名インナークラスの参照に対して呼び出すとコンパイルエラーになる 061) インターフェースをインスタンス化しようとしている時、それは無名インナークラスによるインターフェースの実装クラスでないといけない 062) };で終わるのは配列の初期化か無名インナークラス、};)で終わるのはメソッド引数として定義された無名インナークラス 063) 静的ネストクラスをインスタンス化するにはアウタークラス名.インナークラス名の両方のクラス名を使う 064) 静的ネストクラスもアウタークラスのインスタンス変数やインスタンスメソッドにアクセスできない 065) isAlive()メソッドでスレッドが生きているかを調べることができる
- 445 名前:仕様書無しさん mailto:sage [04/01/23 20:50]
- 065) isAlive()メソッドでスレッドが生きているかを調べることができる
066) スレッドの起動はstart()メソッド。run()メソッドを呼び出してあたかもスレッドを起動させたような選択肢に注意する 067) setName()メソッドでスレッドに名前を付けることができる 068) getName()メソッドでスレッドの名前を得ることができる 069) Thread.currentThread()は現在のスレッド参照を返す、setName()でスレッドに名前をつけ、getName()で名前を得る。 070) 一度死んだスレッドを再度実行することはできない。終了したスレッドにstart()を呼ぶと例外 071) sleep()は他のスレッドはsleepさせることはできない。呼び出したスレッドが眠る 072) スレッドの優先度はスレッドを作成したスレッドと同じになる(デフォルトで5というのと間違えないように) 073) yield()メソッドを呼んで実行中から実行可能状態に戻してもすぐにそのスレッドが再実行状態になることもある 074) スレッドに関してJavaが保証しているものは何もない 075) join()メソッドの待機先のスレッドが死んでいたら実行中状態を維持する 076) ロックが解放されるのは、同期メソッドを抜けたとき 077) 同期かはパフォーマンスを低下させる 078) ロックを取得したままスリープする。ロックは複数取得できる。 079) メソッドのロックにはメソッドを呼び出したオブジェクトのロックを取得する。 同期ブロックの場合はどのオブジェクトのロックを使うか指定する必要があり、第三者のオブジェクトも指定できる 080) sleep()とwait()とjoin()はInterruptedExceptionを投げることがある。 081) notify()やwait()は対象となるオブジェクトのロックを取得する必要がある。 082) wait()を呼び出すとすぐにロックを解放する。 083) notifyAll()は特定のオブジェクトを待機している全スレッドにまとめて通知する。全てのオブジェクトをもつ全スレッドではない。 084) catch文 finally文共にreturnで値を戻せる 085) Thread.holdsLock(obj)でobjのロック状態を取得する 086) -8%-3も-8%3も結果は-2。左オペランドの符号に依存する これでええ?
- 446 名前:441 mailto:sage [04/01/23 21:04]
- >>442
おお!結構あるんですね。感謝です。 これでちょっとは受かる確率が上がりました。
- 447 名前:仕様書無しさん mailto:sage [04/01/24 08:27]
- JAVAの言語入門書イラナイみたいなのですが
言語使用の知識を知る資格なんですか?
- 448 名前:仕様書無しさん mailto:sage [04/01/24 09:52]
- >>447
は? 言語の入門書は一通り流した上で、 さらに細かな言語仕様を問う試験だよ。 この資格を受けて勉強することにより、 オブジェクト指向を知らないCプログラマ崩れよりも きれいなプログラムは作れると思う。 Cプログラマ崩れのウンコPGのJavaプログラムは Stackをint配列でスクラッチ(自己)実装してたよ。w もう、アホかと。 そいつが手放さないため、まだ引継ぎは出来ていないが、 プロジェクトは結構長く続くみたいなのと、 3000行程度だから作り直す予定。 ウンコPGの作ったのは、プロトタイプだったということで...。
- 449 名前:仕様書無しさん [04/01/24 21:43]
- 受かった人はソフトバンク本どれくらい点数取ってるの?
- 450 名前:仕様書無しさん [04/01/24 22:39]
- 本日受けてきました。
【Java経験】 研修のみ 【言語経験】 なし 2年目のセールスSE 【試験番号】 310-035(SJC-P) 【. 正解数 .】 39/61 = 63% 【受験回数】 初めて 【勉強期間】 2週間 【使用教材】 istudyのみ 【出題内容】 istudyで見たような問題がいくつかあった。 アサーションの問題は難問だった。 【.感想など】 istudyの模擬試験で毎回80%以上だったが、 本試験はむずかしかった。 実務経験は無いが、一発で合格できたので、引っ掛け問題 を見抜く訓練がかなり重要なのではないでしょうか? 自腹でistudyを購入したけど受かってよかった。
- 451 名前:仕様書無しさん mailto:sage [04/01/25 00:49]
- ここの情報から、
ソフトバンク本・ソフトバンクシルバー・スレッド本を使って 合格しました。ありがとうございました。m(..)m 【Java経験】 なし(趣味で2ヶ月ほど学習) 【言語経験】 なし(趣味程度1年以内VB, C, C++など) 【試験番号】 310-035(SJC-P) 【. 正解数 .】 57/61 = 93% 【受験回数】 初めて 【勉強期間】 4週間(試験対策としての期間) 【使用教材】 ソフトバンク本・ソフトバンクシルバー・スレッド本 【出題内容】 スレッドで、抽象的な問題がありました。 単線の線路でトンネルに入る場合・・・のような感じでした。 【.感想など】 どこで間違ったかはわかりません。 というより、こんなに高得点とは思いませんでした。 オブジェクトの動きがわかるようになると、 どの分野の問題でも結構簡単かもしれません。 コレクションとパッケージは即答できるので、 勉強しておいた方がよいと思います。 スレッドの問題には、スレッド本が非常に役立ちました。
- 452 名前:仕様書無しさん mailto:sage [04/01/25 02:45]
- >>451
93%で合格ってこれまで報告があった中で最高かも。やるね〜
- 453 名前:439およびウンコPG [04/01/25 18:26]
- >440
そうでしたか。。。。 コンパイラによってですか。 ありがとうございます。
- 454 名前:仕様書無しさん [04/01/26 23:15]
- プログラム経験はまったくなしの状態で、JAVAを2ヶ月弱勉強しました。
明後日、310-035の試験があります。ソフトバンクのシルバーの模試で、 模試1,2共に80点でした。本番の試験はこの模試と比べて、難易度はどう ですか?分かる方いらっしゃったら教えてください! 正しい記述を複数回答する問題は何問ぐらい出るのでしょう? コードを追っていく問題と比べて、点数が取りやすいので。 それと、複数回答する場合、回答数は表示されるのでしょうか?
- 455 名前:仕様書無しさん mailto:sage [04/01/26 23:40]
- >>454
実際のテストは、問題集と同程度だと思います。 ただし、日本語の言い回しが独特であったりするので、油断しないようにした方がいいです。 シルバー本の模試で80点取れているなら、もう既に仕上げ段階だと思います。 油断せずに、後二日で90点台後半取れるようにがんばってください。 その際、回答を覚えてしまうと思いますが、それでもいいかと思います。 ただし、全ての問題、全ての選択肢で書いてある意味が理解できるようになった方がいいと思います。 スコアシートには、全体の正解率だけでなく、セクションごとの正解率も出ます。 自分の実力を示すものなので、少しでもいい数字を残してください。 残り時間は少ないですが、落ち着いて、油断せずに〆の勉強をがんばってください。 試験合格後に、本などに掲載されているコードをご覧になってみてください。 見方が変わり、手に取るように内容がわかっているはずです。
- 456 名前:仕様書無しさん mailto:sage [04/01/27 00:10]
- シルバー本って好評みたいですね。
自分は今、日経BPのを使ってますが読むの大変です。 コレクションのequals()やhashCode()とかスレッドの章が チョッと理解し辛いような… スレッドは本を買って勉強したいですけど、お金と時間が。゚(゚´Д`゚)゚。 日経の自己診断テストのレベルは本試験と比べてどうなんでしょうか…?
- 457 名前:仕様書無しさん [04/01/27 18:46]
- 3回落ちるとアメリカにメールを出して同意を得ないと受験できないが、
どういう理由なら同意を得られるのかしりたい。 メール出した人どうよ。 言語系の試験は弱いので不安。
- 458 名前:仕様書無しさん [04/01/27 20:53]
- まずは受かることを考えるべし。
金曜日受験だ。 softbank本あまり取れなかったけど大丈夫かな?
- 459 名前:仕様書無しさん mailto:sage [04/01/27 21:01]
- この資格を取ろうと思い
Java言語プログラミングレッスンを読み始めたのですが この本を熟読すれば合格は可能でしょうか?
- 460 名前:仕様書無しさん mailto:sage [04/01/27 21:02]
- 素直に資格本かいなされ
- 461 名前:仕様書無しさん mailto:sage [04/01/27 22:08]
- >>460
JAVA言語の知識が無いのですが・・・
- 462 名前:仕様書無しさん [04/01/27 22:26]
- 私は言語自体の知識がない状態から2ヶ月の勉強で資格を取得しました。
初めの一ヶ月は入門書で、残りの一ヶ月で、資格本で勉強です。 Java言語の知識がない状態で、資格本なしでは合格は無理だと思います。 資格本に目を通せば分かります。
- 463 名前:仕様書無しさん [04/01/27 22:49]
- 私は言語自体の知識がない状態から2ヶ月の勉強で資格を取得しました。
初めの一ヶ月は入門書で、残りの一ヶ月で、資格本で勉強です。 Java言語の知識がない状態で、資格本なしでは合格は無理だと思います。 資格本に目を通せば分かります。
- 464 名前:仕様書無しさん [04/01/27 23:58]
- アスキー本とか一部の本に025のほうの範囲も載っているやつってない?
なんか損した気分。
- 465 名前:仕様書無しさん mailto:sage [04/01/28 12:44]
- 入門書にはインナー、アサーションが載ってない
- 466 名前:仕様書無しさん [04/01/28 18:33]
- 【Java経験】 入門書で1ヶ月勉強。試験用の勉強は1ヶ月。計2ヶ月。
【言語経験】 なし 【試験番号】 310-035(SJC-P) 【. 正解数 .】 52/61 = 85% 【受験回数】 初めて 【勉強期間】 4週間(試験対策としての期間) 【使用教材】 ソフトバンク・シルバー、BP社 【出題内容】 スレッドの問題はコードを追っていくのはなく、 正しい記述を選択する問題が多くありました。 wait等の正確な知識が必要です。 【.感想など】 得に難しく感じませんでした。日経BP社の本だけで 合格できるとおもいます。ひっかけはあまりありませんでした。 ソフトバンクシルバーの模試で80%とれるぐらいで大丈夫だと思います。 ガッベージコレクタがむずかしかったというか意味がわからないというか かなりてこずりました。33%しかとれなかったです。
- 467 名前:仕様書無しさん mailto:sage [04/01/28 18:46]
- >>466さん
合格オメです。 日経のに比べるとシルバー本って 少し簡単かなって思うんですけど 実際の問題と比べてどうでした? 自分にとっては日経の章末問題って 難しいのも結構あって苦労してます…
- 468 名前: mailto:sage [04/01/29 03:16]
- シルバー本、ようやく7章まできました。
初心者本読みつつ、やってます。前の章の問題見ると 頭からすっかり知識が消え去っていたりする毎日です。 466さんも同じような境遇だったので、とても勇気づけ られました。これでまた頑張れそうです。
- 469 名前:仕様書無しさん mailto:sage [04/01/29 15:35]
- >前の章の問題見ると
頭からすっかり知識が消え去っていたりする毎日です。 自分も同じで困ってますw ところでソフトバンク本のCDの問題(Ten-Trex)って 使ってますか?
- 470 名前:仕様書無しさん [04/01/29 18:11]
- >>469
付属CDはつかわなくちゃ。 ところで当方明日試験だ。 どうなるかなぁ。
- 471 名前:仕様書無しさん mailto:sage [04/01/29 20:10]
- >>470
何座?
- 472 名前:仕様書無しさん mailto:sage [04/01/30 01:01]
- >>470
がんがれ〜!! >>468,469 >前の章の問題見ると頭からすっかり知識が消え去っていたりする毎日です。 今、LPI102のベンキョーしているけど、同じ状況...。
- 473 名前:仕様書無しさん mailto:sage [04/01/30 19:46]
- >>470
どうでした? こっちも明日試験です。 1回落ちてるんで、今度こそは受かりたい・・・
- 474 名前:仕様書無しさん [04/01/30 20:17]
- 質問なんですが、
署名付き証明書はカードの健康保険証でも大丈夫ですか?
- 475 名前:仕様書無しさん [04/01/30 20:22]
- >>474
自己解決しました。
- 476 名前:470 [04/01/30 20:39]
- >>473
【Java経験】 実務未経験趣味のみ 【言語経験】 VB6.0(4年) java(3年) C,C++(訳わからなくて挫折) 【試験番号】 310-035(SJC-P) 【. 正解数 .】 43/61 = 70% 【受験回数】 1 【勉強期間】 およそ半年前にASCII本購入、3ヶ月前にiStudy購入 【使用教材】 ASCII本、ソーテック本、iStudy 【出題内容】 iStudyとまるっきり同じ問題が3問程度でた。 【.感想など】 iStudyやASCII本のCDの模試シュミレーターでだいたい6割から9割でした。 最低でも6割になったということで、試験に申し込みました。 なお、最後のころにはほとんど問題を覚えてしまっていました。 【詳細】 宣言アクセス制御 37%(以下同単位) スロー制御アサーション例外 66 ガベージコレクション 100 基礎 60 演算子と代入 87 オーバーロード・ライド、実行時のデータの型、オブジェクト指向 66 スレッド 87 java.lang 66 コレクションフレームワーク 100 がんばってください。自分は最初のアンケートですべてC(初心者)を選択しました。 その問題において、スレッドはけっこう得点源でした。 Thread.sleep() Thread.yeald() Thread#join() Object#wait(),notify(),notifyAll() なんていうのは必須でした。
- 477 名前:仕様書無しさん mailto:sage [04/01/30 20:52]
- >>470さん
おめでとうございます。 >Thread.sleep() >Thread.yeald() >Thread#join() >Object#wait(),notify(),notifyAll() >なんていうのは必須でした。 どんな問題でした? wait,notify,notifyAllはObjectのあるか無いかって 感じの問題とかですか? SOFTBANK(シルバーでは無い方)の章末問題は その手の問題が多いみたいなんですが… 後、wait,notify,notifyAll,interrupt,holdsLock, join,sleep,yieldstart,run,set(get)Priority位しか 知らないんですが他に覚えるメソッドってありますか? 覚える事が一杯で疲れてきた。
- 478 名前:仕様書無しさん [04/01/31 04:25]
- >>477
がんばってください。 スレッドは 「wait、notifyは呼ぶスレッドは呼び出し先のオブジェクトのロックを取得している必要がある。」 Threadobject.run();の引っ掛け問題(スレッドのスタートはあくまでstart()) などが出てました。 ほとんど参考書と同じような問題でした。 立ち読みですけど、ソフトバンク本の問題は難しいのが多かったような気がします。 holdsLock()なんてはじめて聞きました。interrupt()はでないと思います。 set(get)Propertyはたまたま出ませんでしたが、後は全部出ました。
- 479 名前:仕様書無しさん mailto:sage [04/01/31 08:59]
- ビジネスコンポーネントデベロッパ
はじまったな
- 480 名前:仕様書無しさん mailto:sage [04/01/31 13:03]
- >>470さん
ありがとうございます。 スレッドに関してそれ程難問は出ないみたいですね。 試験までに一度ASCIIを立ち読みして来ますw >holdsLock()なんてはじめて聞きました。 そうですか、初耳なんですかw ちなみに引数に指定されたオブジェクトの ロックを持っていればtrueを返すらしいですよw 暗記が辛いけどがんばろうっと…
- 481 名前:仕様書無しさん mailto:sage [04/01/31 18:49]
- 日経の本で第2章の問題の正解率が27%だった。
もうあきらめたほうがいいのかも
- 482 名前:仕様書無しさん mailto:sage [04/01/31 19:46]
- Thread一生懸命覚えたとして、実務では良く使うのかな?
- 483 名前:仕様書無しさん mailto:sage [04/01/31 20:34]
- >>481
焦らずに。 俺も相当焦った時期があったけど 焦らずやってるYO! 今はある程度理解出来てきてるので 地道に行こう。 ってか俺は第7章の「オブジェクトとコレクション」が 全体的によく解らない… hashCode()が特に理解できてないな…
- 484 名前:仕様書無しさん mailto:sage [04/02/01 01:51]
- コレクションなんて1問かそこいらしかでなかったが
- 485 名前:473 mailto:sage [04/02/01 02:59]
- >>470さん
合格おめでとうございます。こっちも無事合格しました。 【Java経験】 なし。試験勉強のみ。 【言語経験】 COBOL(YPSCOBOL)を1年、VBとVCを2〜3年(趣味)、N88-BASIC(かなり昔) 【試験番号】 310-035(SJC-P) 【 正解数 】 44/61 = 72% 【受験回数】 2回目 【勉強期間】 間を空けながら1年くらい。 【使用教材】 ソフトバンク本、ソフトバンクシルバー本、技術評論社本 【出題内容】 だいたいは本で見たような問題だった気がします。 【感想など】 ひっかけ問題は思ったより少ないかも。 できるだけたくさんの問題を練習すれば合格に近づくと思います。 あまり理解できないところは、実際にコーディングして、値を変えたりして 結果を自分の目で確かめるとわかりやすいと思います。 【詳細】 宣言とアクセス制御 62% フロー制御アサーション例外 77% ガーベジコレクション 33% 基礎 60% 演算子と代入 87% オーバーロード・ライド、実行時のデータの型、オブジェクト指向 83% スレッド 87% java.lang 66% コレクションフレームワーク 66%
- 486 名前:仕様書無しさん mailto:sage [04/02/02 19:40]
- ちょっと質問です。
試験ってジャンルって言うか章ごとに出題されるんですか? それともランダムで出題ですか? 多分ランダムなんでしょうけど。 SOFTBANKの模擬CDやってみたけど 70〜80%の正解率… 合格にはまだ微妙な感じかな…?
- 487 名前:仕様書無しさん [04/02/02 21:01]
- ランダムですよ〜
|

|