1 名前:1 mailto:sage [2009/06/11(木) 02:08:56 ] Sun認定Java資格 実用情報 4 【SJC-P用】 このスレッドは、Sun認定Java資格の Sun Certified Programmer for Java 2 Platform 5.0 Sun Certified Programmer for the Java 2 Platform 1.4 Sun Certified Programmer for the Java 2 Platform 1.2 に関して、具体的な『実用情報』を集めるために立てました。 過去スレ、関連スレ、受験報告用テンプレ、関連書籍、リンクなどは >>2-10 ▼▼▼▼▼▼▼▼▼▼ ↓注目 ▼▼▼▼▼▼▼▼▼▼ このスレッドでは、 次の書き込みや議論は『 不要 』です。 「資格なんて意味ねーよ」 「実務経験関係なしにiStudyシコシコやってればとれる資格に意味ねぇ」 「3日で取れないやつはクソ」etc スレッドを荒らすだけの発言は他でやってください。 ▲▲▲▲▲▲▲▲▲▲ ↑注目 ▲▲▲▲▲▲▲▲▲▲ 前向きに、 SJC-Pに関する実用情報を議論するための スレッドにしましょう。
298 名前:仕様書無しさん mailto:sage [2009/09/07(月) 12:23:23 ] ぶっちゃけ一回でもまともなモン作った経験がないならともかく 経験ありでわからんなら相当向いてないぞ
299 名前:仕様書無しさん mailto:sage [2009/09/07(月) 12:44:24 ] 0で割る処理をコンパイル時にエラーにするとしたらどうなると思う? int i = 1 / 0; ならいいけど int i = 1 / Interger.parseInt(args[0]); とかだったらコンパイル時に成功するかどうか分からないよね。 実行時エラーというのはコンパイル時には検出できないから、 仕方なく実行時に検出してるものだと思うのが手っ取り早い。
300 名前:仕様書無しさん mailto:sage [2009/09/07(月) 13:17:53 ] コンパイル時に成功するかどうかなんて、 ・構文が正しいか? ・クラス、メソッドの存在と、引数や戻り値の型が正しいか? くらいしかないだろ 尚、 int i = 1 / Interger.parseInt(args[0]); Intergerというクラスはないので、コンパイルエラー。 >実行時エラーというのはコンパイル時には検出できないから、 >仕方なく実行時に検出してるものだと思うのが手っ取り早い。 それは間違いの元 コンパイルエラーってのは一言で言えば「Javaでおk」、コンパイラが解釈できないってこと。 実行時エラーってのはAPIやJava言語自体の仕様によるもの 仕方なくとか関係なく、まったく別。
301 名前:仕様書無しさん mailto:sage [2009/09/07(月) 20:50:37 ] public class Interger extends Integer
302 名前:仕様書無しさん mailto:sage [2009/09/07(月) 21:05:14 ] Integerってfinalじゃね?
303 名前:仕様書無しさん mailto:sage [2009/09/07(月) 21:13:34 ] てな感じで1問落とすんだよなw この試験 rに注目してもう一回読んでみると…
304 名前:296 mailto:sage [2009/09/07(月) 23:06:07 ] レスありがとうございます。 今日やっててエラーの判別がつかなかったのは ・publicがついてない変数を他パッケージから呼び出す →コンパイルエラー ・Integer num;(初期化されてnull) をメソッド実行時にintに変換 (オートボクシングかアンボクシングで/どっちがどっちか忘れた) →実行時エラー(解説呼んだらnullpointer〜だってわかったが..) ちなみにJava経験はほとんどなし 二ヵ月前に初めてプログラミング。 しっかりしたプログラムは作ったことない。 黒本2周目です。
305 名前:仕様書無しさん mailto:sage [2009/09/07(月) 23:08:31 ] いいんじゃないか? そのまましっかり2週すれば5割はいけるはず 3週すれば7割はいくと思うから、ガンガレ
306 名前:仕様書無しさん mailto:sage [2009/09/08(火) 06:05:39 ] >>299 IntergerじゃなくてIntegerだな
307 名前:仕様書無しさん mailto:sage [2009/09/09(水) 20:33:26 ] オマイラ何で、そんなに短期間で受かるんだよ。 いったい、いつ勉強してるんだよ。 1日に何時間勉強してるんだよ。 俺は半年勉強しているが受かりそうにない。Orz
308 名前:仕様書無しさん mailto:sage [2009/09/09(水) 20:50:57 ] 勉強の仕方が悪いんじゃねーの? 良いプログラム書くには才能が必要だけど、資格取るだけなら丸暗記でも何とかなるぞ。
309 名前:仕様書無しさん mailto:sage [2009/09/09(水) 20:53:54 ] 過去ログ読んでいたらリファクタリングも試験範囲みたいですね。 独学なんでリファクタリングといわれてもピンと来ません SJC-P用にソース付きで解説しているようなサイトがあれば教えて下さい。
310 名前:仕様書無しさん mailto:sage [2009/09/09(水) 21:06:50 ] リファクタリングって何のことかと思ったらジェネリックスへの置き換えのことか。 ジェネリックスの勉強すれば大丈夫だと思うよ。
311 名前:仕様書無しさん mailto:sage [2009/09/09(水) 21:36:17 ] ああああせった ジェネリックか。 今週試験だ……。 受かりますように。 あと少ししかないが頑張る。
312 名前:仕様書無しさん mailto:sage [2009/09/10(木) 00:04:17 ] 310-065試験はいつ始まるんだ? 1.4が終わってからか? 5で3万払って、6の更新試験のためにまた3万払うのは馬鹿らしいし
313 名前:仕様書無しさん mailto:sage [2009/09/10(木) 05:46:52 ] > オマイラ何で、そんなに短期間で受かるんだよ。 ほんと、そうだよな。 この際、みんなでその方法を模索しないか? ものすごい体力使って1回3万の試験に落ちるのは 腑に落ちんだろ。数回落ちればいいパソコン買えるぜ。 むかしの蔵使いのMCPみたいに1週間で受かりました〜 けど1ヶ月まじめにやれば蔵使わなくても受かるよ、 たまにセカンドショットもやってますから大丈夫ならともかく 1ヶ月まじめにやってもMCP並みにSJC受かるか?微妙だろ > 資格取るだけなら丸暗記でも何とかなるぞ。 他の試験ならともかくSJCは丸暗記むりだろ。 仮に可能なら何を丸暗記すべきか、というところ。 少なくとも自分の知ってるところから言うと iStudyからの出題率は低くないと聞いた。 それと奥様で9割取れたという過去ログをみた。
314 名前:仕様書無しさん mailto:sage [2009/09/10(木) 09:50:03 ] あいすたでぃと黒本全部暗記できれば受かるよ。
315 名前:仕様書無しさん mailto:sage [2009/09/10(木) 10:20:50 ] 短期間で受かるか否かは個人の能力と経験次第だろ 黒本を8割理解できるまでに1ヶ月もあれば十分な奴もいれば1年かかる奴もいる 合格目的なら黒本8割理解が鉄板 少しだけアドバイスをするならば >プログラム自体初心者 黒本の前に適当な入門書を嫁、慣れろ、コーディングしろ、半年で合格は無理と思え >他言語経験者、Java入門者(2年未満) 黒本を最低でも3週、ただし、1週目は全部コーディングすること、目安は1〜6ヶ月 >他言語熟練者、Java経験者(2年以上) 黒本を読んでいけばOK,1週目ズタボロ上等、2週目で7-8割取れれば合格できる、目安は2習慣〜2ヶ月 とにかくJavaをそこそこ書いているのでなければ、コーディングしなければ身につかない 特にジェネリクス系は書いて慣れる方が早い あと、細かいAPIの仕様は覚えても無駄なので捨ててOK
316 名前:仕様書無しさん mailto:sage [2009/09/10(木) 10:23:43 ] 忘れてた 期間の目安は1日1〜2時間くらいで学習した場合の目安
317 名前:仕様書無しさん mailto:sage [2009/09/10(木) 10:53:06 ] 1ヶ月やってだめなら諦めるべきだなw
318 名前:仕様書無しさん mailto:sage [2009/09/10(木) 11:02:09 ] 315も書いているが経験次第じゃろ
319 名前:仕様書無しさん mailto:sage [2009/09/10(木) 11:20:43 ] 自分も今でこそ思いつくままにプログラミングできるが、 初めてプログラミング(C言語)に触れた時は半ニート状態で3、4ヶ月くらいかけて (分厚い)一冊の本の半分くらいしかいかなかったな。
320 名前:仕様書無しさん mailto:sage [2009/09/10(木) 13:18:14 ] 問題を見たときに、あ、これはあのパターンだなっと思えるようになれば、 合格圏内にいける。 プログラムを書いて覚えるってのは、それに越したことはないが、 あくまでも合格するのが目的ならば、問題を多く解いて復習したほうが 効率はいいと俺は思う。 特に自分のようなプログラミング実務未経験者には。
321 名前:仕様書無しさん mailto:sage [2009/09/10(木) 15:19:58 ] もう次落ちたらこの業界から撤退したいぜ。
322 名前:仕様書無しさん mailto:sage [2009/09/10(木) 16:06:38 ] >あと、細かいAPIの仕様は覚えても無駄なので捨ててOK これは俺たちIT土方の考え方なんだよ いい大学出てる奴らに表で渡して覚えるように言ったら さっくり暗記しやがるんだぜ… 一流大卒の基礎スペックの高さは異常 士業になるような奴らって俺たちと脳みそ違うんだろうな
323 名前:仕様書無しさん mailto:sage [2009/09/10(木) 19:55:21 ] 人によるだろう 暗記得意もいれば苦手もいるさ
324 名前:仕様書無しさん mailto:sage [2009/09/10(木) 21:41:19 ] 覚え方が凄いよね。何か無理やり法則付けたりしてさ
325 名前:仕様書無しさん mailto:sage [2009/09/10(木) 21:43:37 ] あいつらは語呂合わせ上手いよな 受験勉強で覚えたのかね
326 名前:仕様書無しさん mailto:sage [2009/09/10(木) 21:47:27 ] API暗記しても1〜2問程度だろう、意味ないわ 業務で使うならリファレンスがあるわけだし、Eclipse使ってりゃ補完は効く 覚える意味はないね
327 名前:仕様書無しさん mailto:sage [2009/09/10(木) 21:49:22 ] だからIT土方の考え方適用せんでいいって
328 名前:仕様書無しさん mailto:sage [2009/09/10(木) 21:54:04 ] やれば出来るから別にいらないって 思っていた時代が私にもありました
329 名前:仕様書無しさん mailto:sage [2009/09/10(木) 22:02:12 ] 新卒でソフ開あっさり合格した早○田卒を思い出した プログラムとか全くわからない状態からあっという間だったな ああいうのを見るとキャリア組に嫉妬する気持ちも薄まる ただ俺が学生時代にろくに勉強もせずにいた事が悪いんだ
330 名前:仕様書無しさん mailto:sage [2009/09/10(木) 22:16:51 ] やれば出来る?お前は学生時代に勉強をやらなかったじゃねーかwww 最近こういう自責の念にかられる、早く頑張った奴がいい思いするなんて当たり前だよな
331 名前:仕様書無しさん mailto:sage [2009/09/10(木) 22:23:08 ] プログラミングは絵描きと同じで才能が多分に関係するのは否定できない。 ただ最高性能のOSやらゲームを作れって言ってるわけじゃないし、 何より必要な能力はプログラミングだけでなく客との折衝や面接の受け答え、 文書の作成等の能力も必要だから、そちらが得意ならそれを伸ばすって手もある。
332 名前:仕様書無しさん mailto:sage [2009/09/10(木) 22:36:59 ] 【不合格なら】がけっぷちのプログラマ【即離婚】 pc11.2ch.net/test/read.cgi/prog/1249307380/
333 名前:仕様書無しさん mailto:sage [2009/09/10(木) 22:39:46 ] >332 >254
334 名前:278 mailto:sage [2009/09/11(金) 15:29:38 ] 昨日3回目の試験を受けてきました。 【Java経験】 実務経験はナシ 勉強のみ3ヶ月 【言語経験】 なし 【試験番号】 310-055 【 正解数 】 47(65%) 【受験回数】 3 【勉強期間】 丸2ヶ月くらい 【使用教材】 Sun認定ガイド ソフトバンク問題集 黒本 iStudy 【出題内容】満遍なく出題されている感じはしたが、 宣言・初期化・スコープ オブジェクト指向コンセプトからの 出題が多かった印象を受けます。 黒本問題集の模擬試験から20問くらい出題されていました。 ここのスレ信じて、黒本解いて良かったです。 iStudyはトータルで10時間未満しかやっていません。 正直iStudyは購入しなくても良かったと思う。
335 名前:仕様書無しさん mailto:sage [2009/09/11(金) 17:19:23 ] 結局、黒本をやれば50%くらいは確実というのが結論か あとはどんだけ理解しているかだろうね
336 名前:294 mailto:sage [2009/09/11(金) 19:09:57 ] 前回>>277 【Java経験】 勉強のみ少々 【言語経験】 なし 【試験番号】 310-055 【 正解数 】55(76%) 【受験回数】2 【勉強期間】2ヶ月弱 【使用教材】やさしいjava 黒本 iStudy 【出題内容】黒本からもiStudyからも出た。 前回と同じ問題も何問か。 前回より難しく感じた。 黒本は2周。 章ごとにやって6〜10割取れるレベル。 テスト前日にやった黒本最後の総仕上げ問題の正解数と本番は同じ点数になった (ちなみに前回受験したときもそうだった。すごいw)
337 名前:仕様書無しさん mailto:sage [2009/09/11(金) 21:11:28 ] これからplatform5.0を勉強して受験します。 試験会場がプロメトリックを使用できるようですけど、 オラクルマスターを受ける同僚があと2週間でプロメトリック使えなくなるとか言ってましたけど、 この試験も使えなくなる予定とかありますか? 受験は10月の中旬ぐらいに予定しているのでそれまでに使えて1発で合格するのを目指してます。
338 名前:仕様書無しさん mailto:sage [2009/09/11(金) 21:55:15 ] >2週間でプロメトリック使えなくなる 嘘。買えなくなるがしばらくは使える。 1年は使えるから安心しろ
339 名前:仕様書無しさん mailto:sage [2009/09/11(金) 22:02:17 ] 御幣がある書き方かな プロメトリックの会場は使えなくなるが、ピアソンの会場で受験できる 会場が変わるだけで試験は受けられるわ
340 名前:仕様書無しさん mailto:sage [2009/09/11(金) 22:32:43 ] オラクル認定試験のみ試験管理会社の変更で使えなくなるはず SunのJava資格は何も影響なく引き続きプロメトリックの会場を使えたかと
341 名前:仕様書無しさん mailto:sage [2009/09/11(金) 23:16:29 ] >>315 >>>他言語経験者、Java入門者(2年未満) >>黒本を最低でも3週、ただし、1週目は全部コーディングすること、目安は1〜6ヶ月 マジっすか… Java経験2ヶ月、プログラムもJavaで初体験です。 1ヵ月で合格を目指してます。 とにかく黒本コーディングしてみます。
342 名前:仕様書無しさん mailto:sage [2009/09/11(金) 23:35:43 ] 流石に学生でもなければ1ヶ月は厳しいだろうな
343 名前:仕様書無しさん mailto:sage [2009/09/11(金) 23:39:59 ] 1ヶ月とかありえないから
344 名前:仕様書無しさん mailto:sage [2009/09/11(金) 23:52:26 ] みんなの受験期見て来い 金を無駄にするな
345 名前:仕様書無しさん mailto:sage [2009/09/12(土) 00:11:16 ] 一か月分の食費がかかった勝負だからな
346 名前:仕様書無しさん mailto:sage [2009/09/12(土) 01:21:03 ] Java経験一年位 20日前から勉強して、今月末に受ける予定 Javaの基礎はSJC-A受験時にやったから黒本で8割行くけど、 P独自のコネクション/ジェネリクスやAPIはまだ7割弱だ… 黒本だと回答を覚えただけになっちゃいそうだから、 試験に慣れるためにもiStadyやろうか考えてる コード実行してる人は、コマンドプロンプトで手打ちしてるの? それともeclipseとかのツールを使ってるの?
347 名前:仕様書無しさん mailto:sage [2009/09/12(土) 01:34:47 ] iStudyは試験に慣れるためじゃなくて問題と答えを丸暗記するためにやるんじゃないの?
348 名前:仕様書無しさん mailto:sage [2009/09/12(土) 01:59:52 ] >347 iStudyって、疑似試験モードみたいのついてなかったけ? どちらにせよ調査不足だから、明日本屋に行って調べてみるよ 別の試験で、時間配分を間違えて落ちたんで、 時間内に解く練習をしたい
349 名前:仕様書無しさん mailto:sage [2009/09/12(土) 02:27:54 ] 私はコード打つのにはEclipse使ってます。 間違えたコードはすぐにわかってしまうので、コンパイルエラーや実行時エラーを 覚えるためにはよろしく無いかも知れませんね。
350 名前:仕様書無しさん mailto:sage [2009/09/12(土) 03:12:58 ] 間違いがわかったら、そこから学べよ……
351 名前:仕様書無しさん mailto:sage [2009/09/12(土) 14:21:08 ] >>346 自分はテキストエディタで打って、プロンプトでコンパイル&実行。 頭にたたき込むためにコーディングするんだから、 入力支援やリアルタイムでコンパイルチェックしちゃうようなIDEは 学習にはあまり向いていないんじゃないかしら。 少なくとも、javac/javaコマンドのオプションやclasspath関連の確認は 手打ちの方が手っ取り早いと思う。
352 名前:307 [2009/09/12(土) 21:12:59 ] >>307 が書き込みます。 本日は、黒本問題集第4章の問題を解いて、正解/不正解の理由を解説を見ながら理解しました。 この作業に10時間かかりました。 こんな私でも試験に受かる日はくるのでしょうか?
353 名前:33 mailto:sage [2009/09/12(土) 21:30:35 ] Sun SJC-P認定ガイドで勉強継続中 さらっと1週したけど、内容サッパリで定着せず それどころか、読んだ端から記憶があいまいマインちゃん 今は2週目で9章のスレッドを読んでる所だぜ 2週してやっと各所が理解できて記憶も定着してきた これ終わったら黒本やって再試験 そんな俺が認定ガイドで感銘を受けた一文を>>352 に捧ぐ /* Sun SJC-P認定ガイド 第7章 ジェネリックスとコレクションより抜粋 Java5になってJavaの習得が難しくなったのは事実です。 しかし、筆者を信じてください。 これまでに見てきた限りではじ、ジェネリックスを「習得する」のに 2日より長くかかった例はありません。 48時間連続で取り組めば大丈夫です。 ~~~~~~~~~~~~~~ */
354 名前:仕様書無しさん mailto:sage [2009/09/12(土) 21:31:13 ] >>352 そのペースで7章までやる。 2回目は1章3〜5時間くらいになると思うが我慢してやる 3回目は1章1時間程度になるだろう そこまでしっかりやれば絶対に受かるから安心しろ
355 名前:仕様書無しさん mailto:sage [2009/09/12(土) 21:54:55 ] javaってポインタとかメモリ関係はないの?
356 名前:352 mailto:sage [2009/09/12(土) 21:58:14 ] みんな、ありがとう(T_T) 俺、頑張るよ。
357 名前:仕様書無しさん mailto:sage [2009/09/12(土) 22:11:56 ] >>349 Eclipseは開発で使う時にコード支援してくれるのは親切でいいんだけど、 いざ使わないで自分だけでコードを書くときに部分的に頭から抜けてたりする時ある。 試験ではそういう部分をつつかれるからある程度手書きしてでも覚えないとならない時があるね。
358 名前:仕様書無しさん mailto:sage [2009/09/12(土) 23:47:51 ] 黒本って教科書と問題集あるけど、問題集だけ 買えば良い?
359 名前:仕様書無しさん mailto:sage [2009/09/12(土) 23:55:23 ] お前のレベルによる
360 名前:仕様書無しさん mailto:sage [2009/09/14(月) 15:46:55 ] >>358 まあ一通り仕事覚えたうえで上司の指示か許可を得て取った資格ならな 無職のくせに勝手に先に資格だけ自分で取っちゃった奴は例外なく無能
361 名前:仕様書無しさん mailto:sage [2009/09/14(月) 17:33:57 ] >>358 のレスが噛み合って無いぞ
362 名前:仕様書無しさん mailto:sage [2009/09/14(月) 18:05:58 ] /* 【不合格なら】がけっぷちのプログラマ【即離婚】 pc11.2ch.net/test/read.cgi/prog/1249307380/ 1 名前:仕様書無しさん[] 投稿日:2009/08/03(月) 22:49:40 35歳。妻子もち(一男一女)。 半月前までプログラマだった。 今までVB・データベース・COBOL等で何とか来たが、不景気のあおりを受けて失業中。 一念発起してSJC-Pを受験するもあえなく不合格(2回)。 10 名前:仕様書無しさん[sage] 投稿日:2009/08/03(月) 23:32:09 >>9 今までVB6.0(!!)での仕事をしてきて、今後もVBで、と考えていたが、 会社が持っている案件はJavaがほとんどで、未経験者はお断りされていた。 このまま会社にいても、と社長から退職干渉があり、それを受け入れたのだ。 もちろん、3ヶ月ほどの自宅待機がありその最中にSJC-Pを取得しようとしたが 失敗したのだ。 これまでJavaの仕事はないといってもいい状態(1ヶ月スポット的に)で きており、今日もハローワークに行ったところ、Javaの案件が結構あった。 Java未経験者でもJavaができる、という証明はやはり資格しかないと思い、 これまで勉強してきたが、2回とも不合格したので、正直、次回の試験も 不安で仕方がない。 */ 無職がハロワでJava案件見つけたけど食いつけず SJC-Pを取ろうというなら見上げた根性だと思う いくらブラックといえど、Java無資格者を雇う余裕がこのご時世にあるとは思えん
363 名前:仕様書無しさん mailto:sage [2009/09/14(月) 18:29:48 ] ブラックは基本的に偽装請負だから売り込める人材しか雇ってくれないぜ。 入るのが難しい、単価が安い、労働時間が長い、新しい知識を覚え続けないといけない、歳取るとすぐ切られる。。。 以前は後ろの3つは同じだけど入るのは簡単、単価は高いだったんだけどね。
364 名前:仕様書無しさん mailto:sage [2009/09/14(月) 18:38:25 ] >362 >35歳。妻子もち(一男一女)。 >半月前までプログラマだった。 >一念発起してSJC-Pを受験するもあえなく不合格(2回)。 >もちろん、3ヶ月ほどの自宅待機がありその最中にSJC-Pを取得しようとしたが >失敗したのだ。 SJC-Pってそんなに難関資格だったっけ SCJ-Pでググると3回落ちた人が4回目を受けるにはどうすればいいのか質問してたり 資格ゲッターの人が2回目落ちて3回目受けるかどうか迷ってるブログとか見つかったけど この資格って難易度上がった?
365 名前:仕様書無しさん mailto:sage [2009/09/14(月) 19:07:38 ] 暗記だけじゃ難しいから、難易度的はそこそこじゃないかね 他言語でも経験者ならば1ヶ月も勉強すれば取れるわけで高難易度ってほどではないと思うが
366 名前:仕様書無しさん mailto:sage [2009/09/14(月) 19:26:23 ] 実行時エラーとコンパイルエラーがわからなくて苦労する人はIDEに慣れ過ぎているか 俺はコンパイラじゃねーよとか言う人はJavaの基礎を理解してない そういう人は苦労する
367 名前:仕様書無しさん mailto:sage [2009/09/14(月) 21:52:07 ] 5.0になってから、結構めんどくさくなった気がする オートボクシングとオーバーローロードの組み合わせとか、 ジェネリックスと非ジェネリックスの混在するプログラムとか、 その時の、コンパイルエラーと警告と実行時例外の判別の仕方とか… 一応、6月に合格したけど、細かいところはもう知識があやふやに なってるよ
368 名前:仕様書無しさん mailto:sage [2009/09/14(月) 23:44:32 ] ttp://metametameta2009.blog67.fc2.com/blog-entry-62.html 3回目受けるみたいだな みんな頑張れ
369 名前:仕様書無しさん mailto:sage [2009/09/14(月) 23:58:15 ] やっとスレッドが理解できた 理解できると問題集もサラサラっと解けるね コレクションとジェネリクスも赤本で理解できた SJC-Pの勉強してると紙と鉛筆でプログラム出来るようになってきた 全般的に知識が増えて、決まりごとだと暗記してきた事が暗記じゃなくて理解できるようになった 今まで呪文として覚えてた事が、わかるようになると凄い楽しいね
370 名前:仕様書無しさん mailto:sage [2009/09/15(火) 05:11:52 ] ボクシング機能が実装されてもそれに任せるのは危なっかしいんだよね。 System.out.println(1 == 1); System.out.println(1 == new Integer(1)); System.out.println(new Integer(1) == new Integer(1)); の結果がtrue、true、falseになるから、よく分かってない人が触るとバグの温床になる。
371 名前:仕様書無しさん [2009/09/15(火) 19:16:20 ] 連休明けにSJC-P(310-055のほう)を受験予定の者です。 試験に備えて、いろいろな問題集を解いておりますが、 どうしても理解できない問題がありました。 よろしければ、ご返答をお願いします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ class Super{} class Sub extends Super{} というコードがあるとします。 TreeSet<Sub>オブジェクト(を参照する変数)を引数として 受け取ってコンパイルエラーにならないメソッド meth の定義を A〜Eから選びなさい。(答えを2つ選択してください。) A. void meth(TreeSet<Super> ts){ ts.add(new Super()); } B. void meth(TreeSet<? extends Super> ts){ ts.add(new Super()); } C. void meth(TreeSet<? extends Sub> ts){ ts.add(new Sub()); } D. void meth(TreeSet<? super Sub> ts){ ts.add(new Super()); } E. void meth(TreeSet<? super Sub> ts){ ts.add(new Sub()); } ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 問題集の解答ではA・Eとなっています。 B・Cは extends に対して要素を追加しているのでエラー Dは TreeSet<Sub> に対して Super の要素を追加しているのでエラー Eは正解であることはわかりますが、 Aのメソッド TreeSet<Super> に対して TreeSet<Sub>を渡せる?というのが理解できません。 実際に打ち込んで実行してみましたが、エラーになります。 誤植のような気がしますが、決め付けるのも非常に不安です・・・
372 名前:仕様書無しさん mailto:sage [2009/09/15(火) 19:46:06 ] 誤植だと思うが、正誤表は出てないの?
373 名前:仕様書無しさん mailto:sage [2009/09/15(火) 19:51:14 ] import java.util.*; class Super {} class Sub extends Super {} public class Test { public static void main(String[] args) { new Test().meth(new TreeSet<Super>()); } void meth(TreeSet<Super> ts) { ts.add(new Super()); } } でコンパイル通るよ
374 名前:仕様書無しさん mailto:sage [2009/09/15(火) 19:52:59 ] あ、渡すのTreeSet<Sub>か。
375 名前:仕様書無しさん mailto:sage [2009/09/15(火) 20:01:52 ] public class Test { public static void main(String[] args) { TreeSet<? extends Super> obj1 = new TreeSet<Sub>(); TreeSet<Super> obj2 = (TreeSet<Super>)obj1; new Test().meth(obj2); } void meth(TreeSet<Super> ts) { ts.add(new Super()); } } これでどうかな?
376 名前:仕様書無しさん mailto:sage [2009/09/15(火) 20:16:15 ] >TreeSet<Sub>オブジェクト(を参照する変数)を引数 問題よく読め。
377 名前:371 [2009/09/15(火) 21:00:26 ] >>372-375 371です。ご解答ありがとうございます。 問題集の出版社のホームページを確認したところ、正誤表から誤植であることがわかりました。 確認不足で申し訳ございませんでした。 Sunテキスト Sun Certified Programmer for Java 2 Platform 5.0 Exam[310−055]問題集 p.338 模擬試験1 第63問 <誤>TreeSet<Sub>オブジェクト(を参照する変数)を引数として受け取って <正>このとき 解答の辻褄は合いますが、かなり苦しい誤植ですね・・・他にも数箇所の誤植がありました。 >TreeSet<? extends Super> obj1 = new TreeSet<Sub>(); >TreeSet<Super> obj2 = (TreeSet<Super>)obj1; >new Test().meth(obj2); たしかに通りました。左辺 Set <? extends Super>とすれば Set <Super>へキャストが可能になるのは、初めて知りました。 ジェネリクスを絡めたキャストの問題は見かけませんでしたが、 実際の試験で出題されるかもしれないので学習しておこうと思います。
378 名前:仕様書無しさん mailto:sage [2009/09/15(火) 22:32:26 ] >>377 TreeSet<Super> obj2 = (TreeSet<Super>)obj1; これはキャスト(強制的)なんでコンパイルは絶対に通るよ たとえ TreeSet<Super> obj2 = (String) obj1; でもコンパイルは通る(実行時例外、ClassCastException) -- List<String> list = null; List<? extends Object> list2 = list; -- こういうのは許されるのでここを理解するとより理解が深まる
379 名前:仕様書無しさん mailto:sage [2009/09/16(水) 05:20:23 ] 今日、SJC-P受けてくる なぜか夜中眠れなかった・・・
380 名前:仕様書無しさん mailto:sage [2009/09/16(水) 08:53:10 ] マジで頑張ってください! 時間を目一杯使えば、必ず合格します!
381 名前:仕様書無しさん mailto:sage [2009/09/16(水) 09:50:14 ] がんばれー
382 名前:仕様書無しさん mailto:sage [2009/09/16(水) 14:09:02 ] 試験申し込もうとプロメトリックのサイトから手続きしてたんだけど、 支払い選択画面でチケットの番号を入力するように指示された。 この試験って振込用紙による後払いできないんだっけ?
383 名前:仕様書無しさん [2009/09/16(水) 14:10:18 ] イミョンバクってこの野郎 日本の選挙前までは大人しかったくせに 選挙終わって民主党に勝っったら、もう態度デカクなってるだろ 戦争終わって態度豹変させた時の朝鮮人と同じじゃねえ 【韓国】李明博 天皇、来韓すべき、天皇の韓国訪問その態度が重要 韓国は強制併合された yutori7.2ch.net/test/read.cgi/news4plus/1253076105/-100
384 名前:仕様書無しさん mailto:sage [2009/09/16(水) 17:24:39 ] サイト読んでから質問してくれ
385 名前:379 mailto:sage [2009/09/16(水) 19:45:38 ] 【Java経験】 実務1年ほど 【言語経験】 C,VB,Javaなど 【試験番号】 310-055 【 正解数 】57(79%) 【受験回数】1回目 【勉強期間】3ヵ月 【使用教材】黒本、SJC-P認定ガイド 【出題内容】ジェネリックス、コレクション、スレッド絡みが多かった 前日、2時間しか眠れなくて大丈夫か?と思ったが何とかいけた。 勉強は黒本と認定ガイド3週ずつやりました。 応援してくれた人ありがとう
386 名前:仕様書無しさん mailto:sage [2009/09/16(水) 19:50:54 ] おめっとさーん
387 名前:仕様書無しさん mailto:sage [2009/09/16(水) 22:16:26 ] 1.4からのアップグレード試験ってある?
388 名前:仕様書無しさん mailto:sage [2009/09/16(水) 22:20:29 ] 聞いた事もない
389 名前:仕様書無しさん mailto:sage [2009/09/16(水) 22:30:04 ] あるよ
390 名前:仕様書無しさん mailto:sage [2009/09/16(水) 22:33:36 ] Sun Certified Programmer for the Java Platform, Standard Edition 5.0 Upgrade Exam(試験番号 310-056)
391 名前:仕様書無しさん mailto:sage [2009/09/17(木) 00:14:16 ] 合格おめでたう〜 俺も後に続くぞ〜
392 名前:仕様書無しさん mailto:sage [2009/09/17(木) 00:28:49 ] >>390 ありがとー って同じだけ金取るのか!しかも優遇とかなくて最初から試験orz 普通に受けるのと同じじゃん…
393 名前:仕様書無しさん [2009/09/17(木) 13:21:15 ] SJC-Pについて今黒本を勉強中なんですが、 スレッドの問題でsetPriorityで優先順位を決め実行するとどうなるか という問題が何問かあり回答がいつも優先順位の高いスレッドが 必ず先に実行され、sleepやyieldなどのメソッドや自分以上の優先順位の高い スレッドが現れない限り最後まで実行されると書かれているんですが、 家で検証したところ優先順位の低いスレッドが先に実行される事もあり 昨日からすごい迷っています。 SJC-Pに関しては黒本の通りの考え方で大丈夫ですか? すいませんがアドバイスよろしくお願いします。
394 名前:仕様書無しさん mailto:sage [2009/09/17(木) 16:54:14 ] 優先度低はsetPriority(1)で、優先度高はsetPriority(10)でやってみな。 9と10とかだと9が優先されたりするようだ。(何故かは知らない)
395 名前:393 mailto:sage [2009/09/17(木) 21:09:08 ] >>394 返信ありがとうございます。 試しに再度検証してみたんですが、 実行される順番は1や10が最初だったりとまちまちになります。 私のやり方か環境のせいでしょうか。 class Test implements Runnable{ public void run(){ int i=0; while(i++ < 5){ System.out.println(Thread.currentThread().getPriority()); }} public static void main(String[] args){ Test val = new Test(); Thread ko = new Thread(val); Thread ko2 = new Thread(val); ko.setPriority(10); ko2.setPriority(1); ko.start(); ko2.start();}}
396 名前:377 [2009/09/17(木) 22:32:40 ] >>395 eclipseで実行してみましたが、 こちらでは、何度試しても先に10が5回表示の後、1が表示されます。 また、setPriorityに9,8,7・・・と様々な値を入れて実行してみましたが、 ko.setPriority(10) に対して ko2.setPriority(7)など 3以上の差があれば優先度が高い方が、ほぼ確実に先に5回出力されました。 私も来週受験予定で、黒本を使って勉強していますが、 優先度関連のメソッドは「保証されない」という解答が多い中、 急に実行結果が保証されているような問題が出てきて非常に困っています・・・ 私の場合は実行した結果、一応は黒本と同じような結果になったので 双方の優先度に大きな開きがあるコードが出題された場合、 優先度が高い方が、先に出力される答えを選ぼうと思っております。 (実際、出題されたらかなり葛藤するとは思いますが・・・)
397 名前:仕様書無しさん mailto:sage [2009/09/18(金) 04:38:55 ] 395の処理動かしたけどうちでも確実に10が先だな。 優先度が同じ場合は順番未保障でいい。 実験すると大抵メインスレッドが最初に実行されるけど、そういう曖昧な問題は出ないはず。 優先度9と10みたいな近い値の問題も出ないはず。 記憶が確かなら、yield、interrupt、synchronized、sleep、join、wait、notify等を使用して 確実に処理の順番が1つに定まる問題がほとんどだった。
398 名前:仕様書無しさん [2009/09/19(土) 10:12:36 ] >>395 10 1 10 10 10 10 1 1 1 1 俺の環境での実行結果