關(guān)于JAVA我學(xué)了兩個(gè)月了.感覺(jué)大有收獲.
我是在北大青鳥(niǎo)學(xué)習(xí)的.學(xué)校里講的語(yǔ)言到是蠻多的.
但是就是哪個(gè)都講不深.關(guān)于JAVA我?guī)缀醵际亲詫W(xué)的.
也看了好多的JAVA書(shū).
我看過(guò)的書(shū)覺(jué)得很不錯(cuò)的就只有三本<JAVA編程思想><JAVA圣經(jīng)>(也譯做JAVA寶典)<精通SWING>
JDK基本的內(nèi)容浮光掠影的有了大概了解.
我想再看看J2EE.但是聽(tīng)老師說(shuō)范圍太廣了.想想也是東西太多.
還是不太貪多的好.
看過(guò)了這些書(shū).感覺(jué)有很多地方掌握的非常薄弱.
第一個(gè)就是關(guān)于線程.不過(guò)這個(gè)我想我還暫時(shí)還用不到.(用不到才理解不上去嘛.呵呵)
第二個(gè)就是關(guān)于網(wǎng)絡(luò)的了.Socket.URL.RMI這三個(gè)包掌握的非常不好.有高手指點(diǎn)一下應(yīng)該看什么方面的書(shū).主要是 套接字和URL的包.
第三個(gè)就是JDBC和JDO了.有沒(méi)有專(zhuān)門(mén)講這兩方面的書(shū)呢?
第四個(gè)就是關(guān)于JAVA 2D和JAVA 3D的書(shū)了.看了JDK里自帶的演示程序覺(jué)得做的特別的好.想找本這方面的書(shū)來(lái)看看.
還有就是非JAVA書(shū)籍了.大家都知道JAVA的范圍特別廣.我想看一些關(guān)于算法和軟件工程的書(shū).有什么好推薦的呢?
謝謝大家了......................
PS
其實(shí)我到是對(duì)J2ME的開(kāi)發(fā)比較感興趣.那天看到一本王森的書(shū).想買(mǎi)下來(lái)。不過(guò)JAVA基礎(chǔ)還沒(méi)掌握牢,就奔去J2ME好象也學(xué)不到什么.呵呵...
早就聽(tīng)說(shuō)CSND很好。昨天才上來(lái).
結(jié)果我進(jìn)到www.csdn.com.cn了。
今天感覺(jué)好象不是很對(duì).
拿出<<程序員>>合定本一看.
暈了。才發(fā)現(xiàn)是CSND.net
呵呵。
我是這么個(gè)打算的:
JDK -> J2EE -> J2ME
不知道可不可以.(至少我覺(jué)得手機(jī)程序開(kāi)發(fā)是個(gè)發(fā)展的方向,各位朋友怎么看?)
還有就是我才學(xué)了兩個(gè)月.因?yàn)镃語(yǔ)言的底子打的還算可以.(基本語(yǔ)法沒(méi)問(wèn)題.汗!)
所以看JAVA2基本的東西還不算吃力.
但總感覺(jué)沒(méi)有系統(tǒng)的掌握到.心中存在N多疑惑.請(qǐng)各位朋友以自己的經(jīng)驗(yàn)和經(jīng)歷.
談一談自己學(xué)JAVA的經(jīng)過(guò)好么?也讓后人少走些彎路是不?
說(shuō)實(shí)話(huà),對(duì)于JAVA語(yǔ)言,我完全是自學(xué)的,大學(xué)還沒(méi)有作為正式教育語(yǔ)言!(選修)
在我看來(lái),學(xué)習(xí)語(yǔ)言,還是注重基礎(chǔ)!(開(kāi)始階段可以把JAVA做一個(gè)整體的理解),理解基本的
概念,如:SWING,線程,異常,IO流基本用法等等!特別是在學(xué)習(xí)的過(guò)程中一定多
實(shí)踐,===在實(shí)踐的過(guò)程發(fā)現(xiàn)不足,及時(shí)補(bǔ)遺=====在學(xué)習(xí)了基本知識(shí)的過(guò)程中,要始終明確和牢記
“類(lèi)--對(duì) 象”這個(gè)最基本的特點(diǎn)!一切要叢類(lèi)(對(duì)象)的角度出發(fā),如何設(shè)計(jì)類(lèi),來(lái)組織程序的設(shè)
計(jì)!這在設(shè)計(jì)復(fù)雜一點(diǎn)的時(shí)是很有用!所以開(kāi)始我們就要樹(shù)立這種起碼的也是最重要的面向思想!
在我們掌握了基本知識(shí),對(duì)JAVA有了一個(gè)整體的了解之后就可以深入了!特別是對(duì) IO流,
異常,線程,SDK類(lèi)庫(kù)整體框架等等要做深入的了解!這是后續(xù)設(shè)計(jì)上級(jí)別的JAVA程序的基礎(chǔ)!這些知
識(shí)可分解段進(jìn)行!各個(gè)擊破!也可以連通起來(lái)!在學(xué)習(xí)IO流的過(guò)程中也可以有效的學(xué)習(xí)網(wǎng)絡(luò)編程!因?yàn)?br>
網(wǎng)絡(luò)通訊中流是必不可少的!當(dāng)然還有文件的操作-!------強(qiáng)化理解SDK類(lèi)庫(kù)中類(lèi)的特點(diǎn)和關(guān)鍵用
法!在這過(guò)程中我們還是要注重對(duì)類(lèi)的設(shè)計(jì)與組織!使程序的結(jié)構(gòu)清晰!還要充分利用SUN提供的API-
DOC文檔的作用!關(guān)于JDBC,可以在學(xué)習(xí)以上知識(shí)后,有了基礎(chǔ),學(xué)習(xí)JDBC可以很快上手!
祝愿大家JAVA學(xué)習(xí)大有所成!
哇.沒(méi)想到這兒的回貼速度這么快.受教了.
對(duì)于流我有了一個(gè)大概的認(rèn)識(shí).但是比較難理解.
我覺(jué)得你說(shuō)的很對(duì),要從面向?qū)ο蟮慕嵌葋?lái)看待JAVA,學(xué)習(xí)它.
但是這個(gè)類(lèi)怎么弄,我還是比較迷糊,
打比方說(shuō),我看有些例子,他們就用上了接口,說(shuō)是把大部分類(lèi)能用的方法都放在接口里.
但是這個(gè)接口什么時(shí)候用。該怎樣設(shè)計(jì).是否就是屬于軟件工程的部分了?
應(yīng)該看看這方面的思想是么?
謝謝指教~
下面貼一個(gè)我剛才離線之后打下的感想,還有幾個(gè)問(wèn)題.:)
其實(shí)每個(gè)人都有理想,從我接觸網(wǎng)絡(luò)那天開(kāi)始,就對(duì)"黑客"這個(gè)詞有直著的興趣.
當(dāng)然,我是指那種真正的黑客(對(duì)計(jì)算機(jī)有深度了解的人),非是所謂的駭客.
今年我22歲,和很多我同齡的人一樣.都是從紅白機(jī)->電腦房(以前沒(méi)有網(wǎng)吧時(shí),專(zhuān)門(mén)打游戲的,類(lèi)似于網(wǎng)吧一樣,大家都知道吧?)->網(wǎng)吧 這種路線經(jīng)歷的.后來(lái)家里買(mǎi)了電腦,學(xué)著自己裝系統(tǒng),用各種軟件.看一些關(guān)于MSCE,CCNA的書(shū).在后來(lái),就到了北大青鳥(niǎo)去學(xué)習(xí)<軟件編程>.
我還有六七個(gè)月就畢業(yè)了,至今依然覺(jué)得一無(wú)是處.有太多的都不了解,都需要學(xué)習(xí).而且已經(jīng)這么大了.也應(yīng)該用自己的雙手去實(shí)踐一片天空了.不過(guò)自己抱著一本書(shū),最多也就只能看2-3個(gè)小時(shí)就看不下去了.我不知道大家是否也像我一樣.但是看多了是真的記不住(有什么好建議么?).有時(shí)回味一下,也蠻郁悶的.離我的理想還有好遠(yuǎn)好遠(yuǎn)啊...
也不知道是否該為我們這一代程序員的慶幸,還是悲哀.無(wú)論是C/C++還是其他的什么,都只不過(guò)能學(xué)到一些皮毛(我相信現(xiàn)在正在就讀于各種培訓(xùn)班的朋友們也和我一個(gè)想法吧).想學(xué)深一些,第一不知道怎么入手;第二,也是時(shí)間不允許我們這么做了.再過(guò)幾個(gè)月,就要面臨著工作(面試應(yīng)該沒(méi)什么問(wèn)題,主要是到軟件公司里了,怎么能拿得出象樣,養(yǎng)眼,有成效的東西來(lái)).
話(huà)題扯遠(yuǎn)了,回到慶幸與悲哀.
隨著各種編程的出現(xiàn)與發(fā)展,我們?cè)趯?xiě)程序的時(shí)候不會(huì)像第一,二代程序員那樣的辛苦.這也許是樂(lè)哉吧.
但是我們并沒(méi)有那些老程序員對(duì)系統(tǒng),對(duì)底層的深刻了解,大多數(shù)都浮于表面.有句老話(huà),跟在微軟的屁股后面走.雖然這樣做沒(méi)有錯(cuò)誤,甚至可以說(shuō)樂(lè)得輕松.畢竟不用面對(duì)底層煩瑣的另人頭大的內(nèi)存,CPU指令集之類(lèi)的惱人的東西.但這是否又是悲哀呢?這不僅讓我想起一句中國(guó)古語(yǔ):知其然不知其所以然.
至少我就是生存在這種狀態(tài)下的.
看過(guò)<<程序員>>里有這樣一篇報(bào)道,說(shuō)是臺(tái)灣急需開(kāi)發(fā)主板BIOS的程序設(shè)計(jì)人員.自問(wèn),照這樣下去,可能到我J2EE弄的很懂的時(shí)候,也絕不可能勝任這樣的工作.我知道是因?yàn)檫@兩種是編程性質(zhì)與發(fā)展方向不一樣.但是這算否另一種殘疾呢?(我是指底層與應(yīng)用層的了解與否.不是單指BIOS和J2EE)
未來(lái)的路還很長(zhǎng),要學(xué)的東西還太多.我相信只因一種發(fā)自?xún)?nèi)心深處的信仰,才讓N多深資歷的老程序員前輩們面對(duì)漫長(zhǎng)艱辛的道路,而快樂(lè)并直著著吧(那我呢?說(shuō)真的有時(shí)候挺迷茫的,但是一覺(jué)睡醒,還是要繼續(xù)學(xué)習(xí)).
說(shuō)了這么多,因?yàn)橐粫r(shí)感慨,其實(shí)我對(duì)系統(tǒng)的東西不是很了解,可能說(shuō)法有些偏差,希望高手指點(diǎn)一二,小生好改進(jìn)為上嘛.也希望像我一樣的菜鳥(niǎo),不要受我寫(xiě)的誤導(dǎo),看過(guò)就算.
跟貼請(qǐng)教:
像我這樣剛開(kāi)始接觸編程時(shí)間不長(zhǎng)的人來(lái)說(shuō)(我才學(xué)了1年),在現(xiàn)在面對(duì).net與java的誘惑中,還真有些不知道哪張餡餅更好吃一些,沒(méi)準(zhǔn)正在啄么的時(shí)候,踏進(jìn)一個(gè)陷阱也說(shuō)不準(zhǔn).
不過(guò)既然我已經(jīng)決定跟隨java了.還是要請(qǐng)教一下.net與java在哪些方面熟優(yōu)熟劣.有人說(shuō)j2ee開(kāi)發(fā)大型程序時(shí)比.net穩(wěn)定,但是.net入手比較容易,java比較難一些!真是這樣么?望指點(diǎn).還有哪一些在開(kāi)發(fā)方面的區(qū)別呢?
asp與jsp哪個(gè)比較好一些?(以未來(lái)的發(fā)展程度,哪個(gè)好用與薪水問(wèn)題發(fā)表一下看法好么?).
再有就是關(guān)于網(wǎng)絡(luò)編程這一問(wèn)題.就短期來(lái)講,能應(yīng)用到哪些方面,我是指進(jìn)軟件公司之后,主要編程面向于誰(shuí)?就是為了哪些公司或者行業(yè)編寫(xiě)程序(包括.net和java)
如有幼稚問(wèn)題,或者用詞不當(dāng),望請(qǐng)海涵.并不惜賜言.萬(wàn)分感謝!
主要還是推薦一些大家看了覺(jué)得不錯(cuò)的書(shū).看書(shū)比較容易進(jìn)步嘛.
(我讀飛思出版的書(shū),總覺(jué)得前面太簡(jiǎn)單,后面又太難,總有種銜接不上的感覺(jué).你們呢?)
---------Java技術(shù)協(xié)助勇氣號(hào)探測(cè)器登陸火星-------=============================================================
--------------------JAVA前景廣闊!
=============================================================
有"Java之父"之稱(chēng)的Sun公司的JamesGosling博士
計(jì)算機(jī)世界網(wǎng)消息 "科學(xué)家們開(kāi)始都是很緊張的。試驗(yàn)、試驗(yàn)、試驗(yàn),甚至在"勇氣"號(hào)探測(cè)器向火星的飛行過(guò)程中,科學(xué)家們也是很擔(dān)心的,因?yàn)樵陲w行中將要考驗(yàn)軟件方面的6個(gè)難題是否得到了很好的解決,"有"Java之父"之稱(chēng)的Sun公司的JamesGosling博士說(shuō),他正坐在NASA的噴氣推進(jìn)實(shí)驗(yàn)室內(nèi)觀看美國(guó)"勇氣"號(hào)(Spirit)探測(cè)器登陸距離地球一億二千萬(wàn)公里之外的紅色星球-火星(Mars)。
"當(dāng)科學(xué)家們最后確認(rèn)了"勇氣"號(hào)探測(cè)器成功登陸火星之后,他們都?xì)g呼雀躍起來(lái):這真是一個(gè)偉大的創(chuàng)舉!"JamesGosling博士說(shuō),"我從實(shí)時(shí)視頻監(jiān)視器上觀看這整個(gè)登陸過(guò)程,真是太神奇、太有趣了!"
在美國(guó)加州帕賽迪納(Pasadena)國(guó)家宇航局的噴氣推進(jìn)實(shí)驗(yàn)室內(nèi),JamesGosling博士肯定感到他就像在家里一樣,因?yàn)樗車(chē)荢un的工作站。
"現(xiàn)在,第一個(gè)火星探測(cè)器已經(jīng)成功登陸,國(guó)家宇航局的科學(xué)家們開(kāi)始采用他們?cè)诘厍蛏系目刂葡到y(tǒng),"JamesGosling說(shuō),"這顯然是迄今為止Java應(yīng)用中最酷的一舉。"
------------------------------------------------------------------
------------------------------------------------------------------
Java之父JamesGosling博士高度贊揚(yáng)說(shuō),"Java應(yīng)用使公眾可以實(shí)時(shí)觀看、并下載火星圖像。它讓人們看到火星清晰的三維立體圖像,還有一個(gè)模擬探測(cè)器,"Gosling博士指出,"這一Java應(yīng)用被稱(chēng)為Maestro。"
-----------------------------------------------------------------
-----------------------------------------------------------------
"對(duì)NASA的Web網(wǎng)站的訪問(wèn)次數(shù)在1月4日直線上升,因?yàn)槲覀冞@個(gè)星球上的計(jì)算機(jī)用戶(hù)在"勇氣"號(hào)探測(cè)器成功登陸火星之時(shí)都登錄這個(gè)網(wǎng)站觀看火星的風(fēng)貌,"美國(guó)《AssociatedPress》的科學(xué)撰稿人AndrewBridges說(shuō),"自1月4日成功登陸火星以來(lái)的24小時(shí)內(nèi),NASA網(wǎng)站首頁(yè)和相關(guān)網(wǎng)站創(chuàng)造了1.09億次的點(diǎn)擊記錄。"
工作還在繼續(xù):Sun實(shí)驗(yàn)室和NASA噴氣推進(jìn)實(shí)驗(yàn)室正在合力研發(fā)一個(gè)基于Java技術(shù)的控制系統(tǒng),它將使未來(lái)的宇宙探測(cè)器在探測(cè)這個(gè)紅色星球之時(shí)能夠具有智能化的、獨(dú)立進(jìn)行決策的能力。
我總結(jié)一下關(guān)于我這一年學(xué)習(xí)編程的總結(jié)(給新手看一下):
最初學(xué)C,學(xué)會(huì)了基本語(yǔ)法和簡(jiǎn)單的算法(基本語(yǔ)法很重要,什么地方該怎么寫(xiě),哪里容易出錯(cuò)等等)。
如果有C的基礎(chǔ),學(xué)習(xí)java的基本語(yǔ)法大概用半天的時(shí)間就可以用JAVA編寫(xiě)一些簡(jiǎn)單的程序了。因?yàn)檎Z(yǔ)法是幾乎一樣的。
之后就要看一下java的包,類(lèi),方法。最好在看這個(gè)的同時(shí),學(xué)習(xí)一下面向?qū)ο蟮乃季S邏輯。因?yàn)镃是面向過(guò)程的(面向?qū)ο笫莏ava的靈魂,編程的總體構(gòu)思)。根據(jù)個(gè)人學(xué)習(xí)經(jīng)驗(yàn),然后才有了下面的分析。
我覺(jué)得學(xué)習(xí)java起碼開(kāi)始的時(shí)候就要看一本“大部頭”的書(shū)。當(dāng)然,不是要把這本書(shū)看透,看明白。主要是了解一下java設(shè)計(jì)時(shí)是怎么構(gòu)思的。至少我認(rèn)為學(xué)習(xí)java應(yīng)該以一種“在天空俯覽城市全景”的角度來(lái)學(xué)習(xí)。拋棄原來(lái)“自底向上”的學(xué)習(xí)模式,改以“螺旋式上升”的姿態(tài)來(lái)學(xué)習(xí)。
打個(gè)比方:
假設(shè)你要參觀故宮,開(kāi)始的時(shí)候就是一間屋子,一間屋子的看。轉(zhuǎn)到最后,參觀完了所有的場(chǎng)景。當(dāng)然這樣,你可以對(duì)故宮有了一些全面的了解。但是當(dāng)你全面了解的時(shí)候,那已經(jīng)是你把整個(gè)故宮都走了一遍之后的事兒了。這是“自底向上”的。
那么,“螺旋式上升”又是什么呢?首先我們做在飛機(jī)上,在天空俯覽整個(gè)故宮的全景,參照故宮的地圖,弄懂哪里是玉花園,哪里是乾青工等等。這樣當(dāng)我們?cè)偃⒂^的時(shí)候,就會(huì)做到“有的放失”,挑我們敢興趣,又容易接受的地方開(kāi)始學(xué)習(xí)(參觀)。碰到疑問(wèn)的時(shí)候,可以馬上轉(zhuǎn)到下一個(gè)地方來(lái)解決這個(gè)疑問(wèn)。至少不會(huì)有摸黑瞎走的感覺(jué)。
就我個(gè)人認(rèn)為,學(xué)完java基本語(yǔ)法,異常處理之后,可以找一本專(zhuān)門(mén)關(guān)于《SWING》的書(shū)來(lái)看一下,SWING對(duì)學(xué)習(xí)java的入門(mén)有很大提高。就像XXX所說(shuō)的,學(xué)習(xí)SWING,可以連帶學(xué)到String,IO流,異常處理,事件模式等等的知識(shí)。而且用SWING可以做出漂亮的圖形界面,不至于很快就有種厭倦感。
當(dāng)然這期間要不斷的看書(shū)->抄程序->自己寫(xiě)程序->在看書(shū)->再抄程序->再自己寫(xiě)程序->……->看別人的代碼->提高自己的編程質(zhì)量->……
這個(gè)過(guò)程是最重要的。只有不斷的自己寫(xiě)代碼,才能不斷的改正錯(cuò)誤,體會(huì)語(yǔ)言的精髓,減少以后寫(xiě)代碼的錯(cuò)誤量,學(xué)會(huì)調(diào)試程序等等等等。
當(dāng)然還有一點(diǎn)很重要,就是以“面向?qū)ο蟮乃季S模式”來(lái)看待java。--“面向?qū)ο?#8221;記住這四個(gè)字。
如果對(duì)面向?qū)ο蟛皇呛芰私猓梢栽诳赐甑谝槐?#8220;大部頭”的書(shū)之后就開(kāi)始看一些面向?qū)ο蟮乃季S。主要包括OOA(面向?qū)ο蠓治?,OOD(面向?qū)ο笤O(shè)計(jì))。
在了解了一些面向的思想之后,再把這種思想應(yīng)用于java之后,就會(huì)有種豁然開(kāi)朗的感覺(jué)(至少你看代碼的時(shí)候,你的頭會(huì)比從前小很多。~笑)。
如果你的E文夠好的話(huà),可以去看java文擋了。最好的參考資料。我看了一下,但是我E文實(shí)在夠爛,看的很勉強(qiáng)。沒(méi)辦法。呵!
之后的事,就要看個(gè)人努力情況了。呵呵,我也剛學(xué)了JAVA兩個(gè)多月。也算菜鳥(niǎo)一只,寫(xiě)些心得,給剛接觸java的鳥(niǎo)蛋級(jí)朋友看看。我們共同努力吧!!!
最后推薦剛接觸java的朋友一個(gè)看書(shū)路線:
1,通讀《java編程思想》全書(shū)--注意,是通讀。了解java的設(shè)計(jì)構(gòu)思
2,精讀《精通swing程序設(shè)計(jì)》全書(shū)--注意,是精讀。確實(shí)能學(xué)到很多東西
3,找一本覆蓋java很廣的書(shū)來(lái)看,如:《java寶典》,也是通讀。了解jdk全貌
4,推薦大家看一下《國(guó)外著名高等院校信息科學(xué)與技術(shù)優(yōu)秀教材--java軟件開(kāi)發(fā)》這本書(shū)。里面以面向?qū)ο蟮慕虒W(xué)方式,以編寫(xiě)內(nèi)聚性,通用性程序?yàn)槔樱v述學(xué)習(xí)java的方法。我正在看,很不錯(cuò)。要精讀哦
5,現(xiàn)在的你java基本功應(yīng)該不錯(cuò)了,可以在掌握了IO,線程,網(wǎng)絡(luò)之后,進(jìn)軍J2EE了。
6,……
最后祝大家學(xué)有所成!!!
P.S
說(shuō)了這么多,我覺(jué)得書(shū)才是學(xué)習(xí)過(guò)程中最重要的,選擇一本好書(shū),可以使你的學(xué)習(xí)時(shí)間/2。大家多推薦幾本。
忘記說(shuō),我看第一本JAVA書(shū),是《java2編程思想》當(dāng)然這本書(shū)的內(nèi)容對(duì)初學(xué)者很難,我是看到不會(huì)的地方,就跳過(guò)去,看一小節(jié)。(主要那時(shí)候是想了解一下java是什么東西,而這本書(shū)前面的書(shū)評(píng)確實(shí)夠嚇人,看過(guò)的朋友應(yīng)該都記憶猶心吧。雖然這部書(shū)里有些很有用的技巧和知識(shí)點(diǎn),但是從網(wǎng)絡(luò)到個(gè)人口碑都把這本書(shū)比做“圣經(jīng)”一級(jí)的讀物似乎,嘿嘿,我個(gè)人是不太恭維這種事情的。說(shuō)回來(lái),這本書(shū)確實(shí)很多好內(nèi)容,但還不至于像開(kāi)篇書(shū)評(píng)那么神奇。)看過(guò)的最好的SWING書(shū)是《精通JAVA SWING程序設(shè)計(jì)》(有一本JFC的我沒(méi)買(mǎi),簡(jiǎn)單看了一下,覺(jué)得例子程序不是特別多。注:SWING是JFC里面的一個(gè)部分,以前是作為JAVA擴(kuò)展包發(fā)布的,java2之后,把swing作到JAVA標(biāo)準(zhǔn)包里了(就是JDK))。
我是在北大青鳥(niǎo)學(xué)習(xí)的.學(xué)校里講的語(yǔ)言到是蠻多的.
但是就是哪個(gè)都講不深.關(guān)于JAVA我?guī)缀醵际亲詫W(xué)的.
也看了好多的JAVA書(shū).
我看過(guò)的書(shū)覺(jué)得很不錯(cuò)的就只有三本<JAVA編程思想><JAVA圣經(jīng)>(也譯做JAVA寶典)<精通SWING>
JDK基本的內(nèi)容浮光掠影的有了大概了解.
我想再看看J2EE.但是聽(tīng)老師說(shuō)范圍太廣了.想想也是東西太多.
還是不太貪多的好.
看過(guò)了這些書(shū).感覺(jué)有很多地方掌握的非常薄弱.
第一個(gè)就是關(guān)于線程.不過(guò)這個(gè)我想我還暫時(shí)還用不到.(用不到才理解不上去嘛.呵呵)
第二個(gè)就是關(guān)于網(wǎng)絡(luò)的了.Socket.URL.RMI這三個(gè)包掌握的非常不好.有高手指點(diǎn)一下應(yīng)該看什么方面的書(shū).主要是 套接字和URL的包.
第三個(gè)就是JDBC和JDO了.有沒(méi)有專(zhuān)門(mén)講這兩方面的書(shū)呢?
第四個(gè)就是關(guān)于JAVA 2D和JAVA 3D的書(shū)了.看了JDK里自帶的演示程序覺(jué)得做的特別的好.想找本這方面的書(shū)來(lái)看看.
還有就是非JAVA書(shū)籍了.大家都知道JAVA的范圍特別廣.我想看一些關(guān)于算法和軟件工程的書(shū).有什么好推薦的呢?
謝謝大家了......................
PS
其實(shí)我到是對(duì)J2ME的開(kāi)發(fā)比較感興趣.那天看到一本王森的書(shū).想買(mǎi)下來(lái)。不過(guò)JAVA基礎(chǔ)還沒(méi)掌握牢,就奔去J2ME好象也學(xué)不到什么.呵呵...
早就聽(tīng)說(shuō)CSND很好。昨天才上來(lái).
結(jié)果我進(jìn)到www.csdn.com.cn了。
今天感覺(jué)好象不是很對(duì).
拿出<<程序員>>合定本一看.
暈了。才發(fā)現(xiàn)是CSND.net
呵呵。
我是這么個(gè)打算的:
JDK -> J2EE -> J2ME
不知道可不可以.(至少我覺(jué)得手機(jī)程序開(kāi)發(fā)是個(gè)發(fā)展的方向,各位朋友怎么看?)
還有就是我才學(xué)了兩個(gè)月.因?yàn)镃語(yǔ)言的底子打的還算可以.(基本語(yǔ)法沒(méi)問(wèn)題.汗!)
所以看JAVA2基本的東西還不算吃力.
但總感覺(jué)沒(méi)有系統(tǒng)的掌握到.心中存在N多疑惑.請(qǐng)各位朋友以自己的經(jīng)驗(yàn)和經(jīng)歷.
談一談自己學(xué)JAVA的經(jīng)過(guò)好么?也讓后人少走些彎路是不?
說(shuō)實(shí)話(huà),對(duì)于JAVA語(yǔ)言,我完全是自學(xué)的,大學(xué)還沒(méi)有作為正式教育語(yǔ)言!(選修)
在我看來(lái),學(xué)習(xí)語(yǔ)言,還是注重基礎(chǔ)!(開(kāi)始階段可以把JAVA做一個(gè)整體的理解),理解基本的
概念,如:SWING,線程,異常,IO流基本用法等等!特別是在學(xué)習(xí)的過(guò)程中一定多
實(shí)踐,===在實(shí)踐的過(guò)程發(fā)現(xiàn)不足,及時(shí)補(bǔ)遺=====在學(xué)習(xí)了基本知識(shí)的過(guò)程中,要始終明確和牢記
“類(lèi)--對(duì) 象”這個(gè)最基本的特點(diǎn)!一切要叢類(lèi)(對(duì)象)的角度出發(fā),如何設(shè)計(jì)類(lèi),來(lái)組織程序的設(shè)
計(jì)!這在設(shè)計(jì)復(fù)雜一點(diǎn)的時(shí)是很有用!所以開(kāi)始我們就要樹(shù)立這種起碼的也是最重要的面向思想!
在我們掌握了基本知識(shí),對(duì)JAVA有了一個(gè)整體的了解之后就可以深入了!特別是對(duì) IO流,
異常,線程,SDK類(lèi)庫(kù)整體框架等等要做深入的了解!這是后續(xù)設(shè)計(jì)上級(jí)別的JAVA程序的基礎(chǔ)!這些知
識(shí)可分解段進(jìn)行!各個(gè)擊破!也可以連通起來(lái)!在學(xué)習(xí)IO流的過(guò)程中也可以有效的學(xué)習(xí)網(wǎng)絡(luò)編程!因?yàn)?br>
網(wǎng)絡(luò)通訊中流是必不可少的!當(dāng)然還有文件的操作-!------強(qiáng)化理解SDK類(lèi)庫(kù)中類(lèi)的特點(diǎn)和關(guān)鍵用
法!在這過(guò)程中我們還是要注重對(duì)類(lèi)的設(shè)計(jì)與組織!使程序的結(jié)構(gòu)清晰!還要充分利用SUN提供的API-
DOC文檔的作用!關(guān)于JDBC,可以在學(xué)習(xí)以上知識(shí)后,有了基礎(chǔ),學(xué)習(xí)JDBC可以很快上手!
祝愿大家JAVA學(xué)習(xí)大有所成!
哇.沒(méi)想到這兒的回貼速度這么快.受教了.
對(duì)于流我有了一個(gè)大概的認(rèn)識(shí).但是比較難理解.
我覺(jué)得你說(shuō)的很對(duì),要從面向?qū)ο蟮慕嵌葋?lái)看待JAVA,學(xué)習(xí)它.
但是這個(gè)類(lèi)怎么弄,我還是比較迷糊,
打比方說(shuō),我看有些例子,他們就用上了接口,說(shuō)是把大部分類(lèi)能用的方法都放在接口里.
但是這個(gè)接口什么時(shí)候用。該怎樣設(shè)計(jì).是否就是屬于軟件工程的部分了?
應(yīng)該看看這方面的思想是么?
謝謝指教~
下面貼一個(gè)我剛才離線之后打下的感想,還有幾個(gè)問(wèn)題.:)
其實(shí)每個(gè)人都有理想,從我接觸網(wǎng)絡(luò)那天開(kāi)始,就對(duì)"黑客"這個(gè)詞有直著的興趣.
當(dāng)然,我是指那種真正的黑客(對(duì)計(jì)算機(jī)有深度了解的人),非是所謂的駭客.
今年我22歲,和很多我同齡的人一樣.都是從紅白機(jī)->電腦房(以前沒(méi)有網(wǎng)吧時(shí),專(zhuān)門(mén)打游戲的,類(lèi)似于網(wǎng)吧一樣,大家都知道吧?)->網(wǎng)吧 這種路線經(jīng)歷的.后來(lái)家里買(mǎi)了電腦,學(xué)著自己裝系統(tǒng),用各種軟件.看一些關(guān)于MSCE,CCNA的書(shū).在后來(lái),就到了北大青鳥(niǎo)去學(xué)習(xí)<軟件編程>.
我還有六七個(gè)月就畢業(yè)了,至今依然覺(jué)得一無(wú)是處.有太多的都不了解,都需要學(xué)習(xí).而且已經(jīng)這么大了.也應(yīng)該用自己的雙手去實(shí)踐一片天空了.不過(guò)自己抱著一本書(shū),最多也就只能看2-3個(gè)小時(shí)就看不下去了.我不知道大家是否也像我一樣.但是看多了是真的記不住(有什么好建議么?).有時(shí)回味一下,也蠻郁悶的.離我的理想還有好遠(yuǎn)好遠(yuǎn)啊...
也不知道是否該為我們這一代程序員的慶幸,還是悲哀.無(wú)論是C/C++還是其他的什么,都只不過(guò)能學(xué)到一些皮毛(我相信現(xiàn)在正在就讀于各種培訓(xùn)班的朋友們也和我一個(gè)想法吧).想學(xué)深一些,第一不知道怎么入手;第二,也是時(shí)間不允許我們這么做了.再過(guò)幾個(gè)月,就要面臨著工作(面試應(yīng)該沒(méi)什么問(wèn)題,主要是到軟件公司里了,怎么能拿得出象樣,養(yǎng)眼,有成效的東西來(lái)).
話(huà)題扯遠(yuǎn)了,回到慶幸與悲哀.
隨著各種編程的出現(xiàn)與發(fā)展,我們?cè)趯?xiě)程序的時(shí)候不會(huì)像第一,二代程序員那樣的辛苦.這也許是樂(lè)哉吧.
但是我們并沒(méi)有那些老程序員對(duì)系統(tǒng),對(duì)底層的深刻了解,大多數(shù)都浮于表面.有句老話(huà),跟在微軟的屁股后面走.雖然這樣做沒(méi)有錯(cuò)誤,甚至可以說(shuō)樂(lè)得輕松.畢竟不用面對(duì)底層煩瑣的另人頭大的內(nèi)存,CPU指令集之類(lèi)的惱人的東西.但這是否又是悲哀呢?這不僅讓我想起一句中國(guó)古語(yǔ):知其然不知其所以然.
至少我就是生存在這種狀態(tài)下的.
看過(guò)<<程序員>>里有這樣一篇報(bào)道,說(shuō)是臺(tái)灣急需開(kāi)發(fā)主板BIOS的程序設(shè)計(jì)人員.自問(wèn),照這樣下去,可能到我J2EE弄的很懂的時(shí)候,也絕不可能勝任這樣的工作.我知道是因?yàn)檫@兩種是編程性質(zhì)與發(fā)展方向不一樣.但是這算否另一種殘疾呢?(我是指底層與應(yīng)用層的了解與否.不是單指BIOS和J2EE)
未來(lái)的路還很長(zhǎng),要學(xué)的東西還太多.我相信只因一種發(fā)自?xún)?nèi)心深處的信仰,才讓N多深資歷的老程序員前輩們面對(duì)漫長(zhǎng)艱辛的道路,而快樂(lè)并直著著吧(那我呢?說(shuō)真的有時(shí)候挺迷茫的,但是一覺(jué)睡醒,還是要繼續(xù)學(xué)習(xí)).
說(shuō)了這么多,因?yàn)橐粫r(shí)感慨,其實(shí)我對(duì)系統(tǒng)的東西不是很了解,可能說(shuō)法有些偏差,希望高手指點(diǎn)一二,小生好改進(jìn)為上嘛.也希望像我一樣的菜鳥(niǎo),不要受我寫(xiě)的誤導(dǎo),看過(guò)就算.
跟貼請(qǐng)教:
像我這樣剛開(kāi)始接觸編程時(shí)間不長(zhǎng)的人來(lái)說(shuō)(我才學(xué)了1年),在現(xiàn)在面對(duì).net與java的誘惑中,還真有些不知道哪張餡餅更好吃一些,沒(méi)準(zhǔn)正在啄么的時(shí)候,踏進(jìn)一個(gè)陷阱也說(shuō)不準(zhǔn).
不過(guò)既然我已經(jīng)決定跟隨java了.還是要請(qǐng)教一下.net與java在哪些方面熟優(yōu)熟劣.有人說(shuō)j2ee開(kāi)發(fā)大型程序時(shí)比.net穩(wěn)定,但是.net入手比較容易,java比較難一些!真是這樣么?望指點(diǎn).還有哪一些在開(kāi)發(fā)方面的區(qū)別呢?
asp與jsp哪個(gè)比較好一些?(以未來(lái)的發(fā)展程度,哪個(gè)好用與薪水問(wèn)題發(fā)表一下看法好么?).
再有就是關(guān)于網(wǎng)絡(luò)編程這一問(wèn)題.就短期來(lái)講,能應(yīng)用到哪些方面,我是指進(jìn)軟件公司之后,主要編程面向于誰(shuí)?就是為了哪些公司或者行業(yè)編寫(xiě)程序(包括.net和java)
如有幼稚問(wèn)題,或者用詞不當(dāng),望請(qǐng)海涵.并不惜賜言.萬(wàn)分感謝!
主要還是推薦一些大家看了覺(jué)得不錯(cuò)的書(shū).看書(shū)比較容易進(jìn)步嘛.
(我讀飛思出版的書(shū),總覺(jué)得前面太簡(jiǎn)單,后面又太難,總有種銜接不上的感覺(jué).你們呢?)
---------Java技術(shù)協(xié)助勇氣號(hào)探測(cè)器登陸火星-------=============================================================
--------------------JAVA前景廣闊!
=============================================================
有"Java之父"之稱(chēng)的Sun公司的JamesGosling博士
計(jì)算機(jī)世界網(wǎng)消息 "科學(xué)家們開(kāi)始都是很緊張的。試驗(yàn)、試驗(yàn)、試驗(yàn),甚至在"勇氣"號(hào)探測(cè)器向火星的飛行過(guò)程中,科學(xué)家們也是很擔(dān)心的,因?yàn)樵陲w行中將要考驗(yàn)軟件方面的6個(gè)難題是否得到了很好的解決,"有"Java之父"之稱(chēng)的Sun公司的JamesGosling博士說(shuō),他正坐在NASA的噴氣推進(jìn)實(shí)驗(yàn)室內(nèi)觀看美國(guó)"勇氣"號(hào)(Spirit)探測(cè)器登陸距離地球一億二千萬(wàn)公里之外的紅色星球-火星(Mars)。
"當(dāng)科學(xué)家們最后確認(rèn)了"勇氣"號(hào)探測(cè)器成功登陸火星之后,他們都?xì)g呼雀躍起來(lái):這真是一個(gè)偉大的創(chuàng)舉!"JamesGosling博士說(shuō),"我從實(shí)時(shí)視頻監(jiān)視器上觀看這整個(gè)登陸過(guò)程,真是太神奇、太有趣了!"
在美國(guó)加州帕賽迪納(Pasadena)國(guó)家宇航局的噴氣推進(jìn)實(shí)驗(yàn)室內(nèi),JamesGosling博士肯定感到他就像在家里一樣,因?yàn)樗車(chē)荢un的工作站。
"現(xiàn)在,第一個(gè)火星探測(cè)器已經(jīng)成功登陸,國(guó)家宇航局的科學(xué)家們開(kāi)始采用他們?cè)诘厍蛏系目刂葡到y(tǒng),"JamesGosling說(shuō),"這顯然是迄今為止Java應(yīng)用中最酷的一舉。"
------------------------------------------------------------------
------------------------------------------------------------------
Java之父JamesGosling博士高度贊揚(yáng)說(shuō),"Java應(yīng)用使公眾可以實(shí)時(shí)觀看、并下載火星圖像。它讓人們看到火星清晰的三維立體圖像,還有一個(gè)模擬探測(cè)器,"Gosling博士指出,"這一Java應(yīng)用被稱(chēng)為Maestro。"
-----------------------------------------------------------------
-----------------------------------------------------------------
"對(duì)NASA的Web網(wǎng)站的訪問(wèn)次數(shù)在1月4日直線上升,因?yàn)槲覀冞@個(gè)星球上的計(jì)算機(jī)用戶(hù)在"勇氣"號(hào)探測(cè)器成功登陸火星之時(shí)都登錄這個(gè)網(wǎng)站觀看火星的風(fēng)貌,"美國(guó)《AssociatedPress》的科學(xué)撰稿人AndrewBridges說(shuō),"自1月4日成功登陸火星以來(lái)的24小時(shí)內(nèi),NASA網(wǎng)站首頁(yè)和相關(guān)網(wǎng)站創(chuàng)造了1.09億次的點(diǎn)擊記錄。"
工作還在繼續(xù):Sun實(shí)驗(yàn)室和NASA噴氣推進(jìn)實(shí)驗(yàn)室正在合力研發(fā)一個(gè)基于Java技術(shù)的控制系統(tǒng),它將使未來(lái)的宇宙探測(cè)器在探測(cè)這個(gè)紅色星球之時(shí)能夠具有智能化的、獨(dú)立進(jìn)行決策的能力。
我總結(jié)一下關(guān)于我這一年學(xué)習(xí)編程的總結(jié)(給新手看一下):
最初學(xué)C,學(xué)會(huì)了基本語(yǔ)法和簡(jiǎn)單的算法(基本語(yǔ)法很重要,什么地方該怎么寫(xiě),哪里容易出錯(cuò)等等)。
如果有C的基礎(chǔ),學(xué)習(xí)java的基本語(yǔ)法大概用半天的時(shí)間就可以用JAVA編寫(xiě)一些簡(jiǎn)單的程序了。因?yàn)檎Z(yǔ)法是幾乎一樣的。
之后就要看一下java的包,類(lèi),方法。最好在看這個(gè)的同時(shí),學(xué)習(xí)一下面向?qū)ο蟮乃季S邏輯。因?yàn)镃是面向過(guò)程的(面向?qū)ο笫莏ava的靈魂,編程的總體構(gòu)思)。根據(jù)個(gè)人學(xué)習(xí)經(jīng)驗(yàn),然后才有了下面的分析。
我覺(jué)得學(xué)習(xí)java起碼開(kāi)始的時(shí)候就要看一本“大部頭”的書(shū)。當(dāng)然,不是要把這本書(shū)看透,看明白。主要是了解一下java設(shè)計(jì)時(shí)是怎么構(gòu)思的。至少我認(rèn)為學(xué)習(xí)java應(yīng)該以一種“在天空俯覽城市全景”的角度來(lái)學(xué)習(xí)。拋棄原來(lái)“自底向上”的學(xué)習(xí)模式,改以“螺旋式上升”的姿態(tài)來(lái)學(xué)習(xí)。
打個(gè)比方:
假設(shè)你要參觀故宮,開(kāi)始的時(shí)候就是一間屋子,一間屋子的看。轉(zhuǎn)到最后,參觀完了所有的場(chǎng)景。當(dāng)然這樣,你可以對(duì)故宮有了一些全面的了解。但是當(dāng)你全面了解的時(shí)候,那已經(jīng)是你把整個(gè)故宮都走了一遍之后的事兒了。這是“自底向上”的。
那么,“螺旋式上升”又是什么呢?首先我們做在飛機(jī)上,在天空俯覽整個(gè)故宮的全景,參照故宮的地圖,弄懂哪里是玉花園,哪里是乾青工等等。這樣當(dāng)我們?cè)偃⒂^的時(shí)候,就會(huì)做到“有的放失”,挑我們敢興趣,又容易接受的地方開(kāi)始學(xué)習(xí)(參觀)。碰到疑問(wèn)的時(shí)候,可以馬上轉(zhuǎn)到下一個(gè)地方來(lái)解決這個(gè)疑問(wèn)。至少不會(huì)有摸黑瞎走的感覺(jué)。
就我個(gè)人認(rèn)為,學(xué)完java基本語(yǔ)法,異常處理之后,可以找一本專(zhuān)門(mén)關(guān)于《SWING》的書(shū)來(lái)看一下,SWING對(duì)學(xué)習(xí)java的入門(mén)有很大提高。就像XXX所說(shuō)的,學(xué)習(xí)SWING,可以連帶學(xué)到String,IO流,異常處理,事件模式等等的知識(shí)。而且用SWING可以做出漂亮的圖形界面,不至于很快就有種厭倦感。
當(dāng)然這期間要不斷的看書(shū)->抄程序->自己寫(xiě)程序->在看書(shū)->再抄程序->再自己寫(xiě)程序->……->看別人的代碼->提高自己的編程質(zhì)量->……
這個(gè)過(guò)程是最重要的。只有不斷的自己寫(xiě)代碼,才能不斷的改正錯(cuò)誤,體會(huì)語(yǔ)言的精髓,減少以后寫(xiě)代碼的錯(cuò)誤量,學(xué)會(huì)調(diào)試程序等等等等。
當(dāng)然還有一點(diǎn)很重要,就是以“面向?qū)ο蟮乃季S模式”來(lái)看待java。--“面向?qū)ο?#8221;記住這四個(gè)字。
如果對(duì)面向?qū)ο蟛皇呛芰私猓梢栽诳赐甑谝槐?#8220;大部頭”的書(shū)之后就開(kāi)始看一些面向?qū)ο蟮乃季S。主要包括OOA(面向?qū)ο蠓治?,OOD(面向?qū)ο笤O(shè)計(jì))。
在了解了一些面向的思想之后,再把這種思想應(yīng)用于java之后,就會(huì)有種豁然開(kāi)朗的感覺(jué)(至少你看代碼的時(shí)候,你的頭會(huì)比從前小很多。~笑)。
如果你的E文夠好的話(huà),可以去看java文擋了。最好的參考資料。我看了一下,但是我E文實(shí)在夠爛,看的很勉強(qiáng)。沒(méi)辦法。呵!
之后的事,就要看個(gè)人努力情況了。呵呵,我也剛學(xué)了JAVA兩個(gè)多月。也算菜鳥(niǎo)一只,寫(xiě)些心得,給剛接觸java的鳥(niǎo)蛋級(jí)朋友看看。我們共同努力吧!!!
最后推薦剛接觸java的朋友一個(gè)看書(shū)路線:
1,通讀《java編程思想》全書(shū)--注意,是通讀。了解java的設(shè)計(jì)構(gòu)思
2,精讀《精通swing程序設(shè)計(jì)》全書(shū)--注意,是精讀。確實(shí)能學(xué)到很多東西
3,找一本覆蓋java很廣的書(shū)來(lái)看,如:《java寶典》,也是通讀。了解jdk全貌
4,推薦大家看一下《國(guó)外著名高等院校信息科學(xué)與技術(shù)優(yōu)秀教材--java軟件開(kāi)發(fā)》這本書(shū)。里面以面向?qū)ο蟮慕虒W(xué)方式,以編寫(xiě)內(nèi)聚性,通用性程序?yàn)槔樱v述學(xué)習(xí)java的方法。我正在看,很不錯(cuò)。要精讀哦
5,現(xiàn)在的你java基本功應(yīng)該不錯(cuò)了,可以在掌握了IO,線程,網(wǎng)絡(luò)之后,進(jìn)軍J2EE了。
6,……
最后祝大家學(xué)有所成!!!
P.S
說(shuō)了這么多,我覺(jué)得書(shū)才是學(xué)習(xí)過(guò)程中最重要的,選擇一本好書(shū),可以使你的學(xué)習(xí)時(shí)間/2。大家多推薦幾本。
忘記說(shuō),我看第一本JAVA書(shū),是《java2編程思想》當(dāng)然這本書(shū)的內(nèi)容對(duì)初學(xué)者很難,我是看到不會(huì)的地方,就跳過(guò)去,看一小節(jié)。(主要那時(shí)候是想了解一下java是什么東西,而這本書(shū)前面的書(shū)評(píng)確實(shí)夠嚇人,看過(guò)的朋友應(yīng)該都記憶猶心吧。雖然這部書(shū)里有些很有用的技巧和知識(shí)點(diǎn),但是從網(wǎng)絡(luò)到個(gè)人口碑都把這本書(shū)比做“圣經(jīng)”一級(jí)的讀物似乎,嘿嘿,我個(gè)人是不太恭維這種事情的。說(shuō)回來(lái),這本書(shū)確實(shí)很多好內(nèi)容,但還不至于像開(kāi)篇書(shū)評(píng)那么神奇。)看過(guò)的最好的SWING書(shū)是《精通JAVA SWING程序設(shè)計(jì)》(有一本JFC的我沒(méi)買(mǎi),簡(jiǎn)單看了一下,覺(jué)得例子程序不是特別多。注:SWING是JFC里面的一個(gè)部分,以前是作為JAVA擴(kuò)展包發(fā)布的,java2之后,把swing作到JAVA標(biāo)準(zhǔn)包里了(就是JDK))。