[原创 - 尚学堂科技 - 马士兵老师]
JAVA自學(xué)之路 一:學(xué)會(huì)選擇
[轉(zhuǎn)載請(qǐng)注明出處:http://www.bjsxt.com/zixue/zixuezhilu_1.html]
?
為了就業(yè),不少同學(xué)參加各種各樣的培訓(xùn)。
決心做軟件的,大多數(shù)人選的是java,或是.net,也有一些選擇了手機(jī)、嵌入式、游戲、3G、測(cè)試等。
?
那么究竟應(yīng)該選擇什么方向呢?
我的意見是,不要太過相信各種培訓(xùn)機(jī)構(gòu)或是搶手文章的說法(包括我),當(dāng)你要走向社會(huì)的時(shí)候,就不要再把自己當(dāng)成學(xué)生,不要把自己的將來交給別人,學(xué)會(huì)運(yùn)用自己的眼睛去觀察,去了解這個(gè)世界吧。
?
每個(gè)培訓(xùn)機(jī)構(gòu)都會(huì)宣傳自己的好處,并不能說明大的趨勢(shì)。
一些新聞文章很有可能是槍手寫的,不必太過相信。
國(guó)外背景的教師和課程,未必適合你。
?
那么怎么才能確定自己將來的方向?如何才能從紛繁復(fù)雜、或真或假的數(shù)據(jù)世界中挖出一條路?
我講一個(gè)通過招聘網(wǎng)站的觀察方法。
可以到各種招聘的網(wǎng)站上查詢信息(可以到google上查詢招聘的網(wǎng)站),例如:
http://www.51job.com
http://www.chinahr.com
http://www.zhaopin.com
以及csdn的招聘頻道等
還有一個(gè)網(wǎng)站也不錯(cuò),http://www.jobui.com,綜合了各大招聘網(wǎng)站的數(shù)據(jù)。
這些數(shù)據(jù)都是最真實(shí)不摻假的原始數(shù)據(jù),你可以每隔一段時(shí)間搜索一次,一些規(guī)律就會(huì)被總結(jié)出來了。
比如說我在http://www.jobui.com中搜索java,全國(guó)大概提供了3萬個(gè)職位。
然后要多翻幾頁(yè),這樣不僅能夠看清楚大概有多少是有效的職位,而且還可以看清楚用人單位最關(guān)心的技能是什么,這個(gè)很重要,決定著你將來要花多少時(shí)間和精力在特定的知識(shí)點(diǎn)上,比如說swing,搜了一下,全國(guó)只有700個(gè)左右的職位,仔細(xì)讀了一下,也并非全是有效的職位,花太多時(shí)間和精力在這個(gè)上面就不值得了,當(dāng)然自己感興趣或者為了研究的話另當(dāng)別論。不過如果是為了快速的就業(yè),把太多時(shí)間和精力花在很多職業(yè)生涯的前一、二年用不到的知識(shí)上就太可惜了。
同時(shí),并非某一個(gè)行業(yè)的職位數(shù)目少,就不能當(dāng)作一個(gè)方向進(jìn)行選擇,比如.NET,我搜索到的職位數(shù)是1.6萬左右,比java少,是不是就選java了呢?不一定,因?yàn)閖ava職位雖然多,但是可能競(jìng)爭(zhēng)者可能也多,有些方向雖然職位數(shù)不多,但是和你競(jìng)爭(zhēng)這些職位的人數(shù)量也少,不見得就不能選擇。
?
不過,如果某一個(gè)方向的職位數(shù)目過少,你可就要小心了,選擇這樣的方向風(fēng)險(xiǎn)會(huì)非常大,如J2ME。
?
我個(gè)人覺得java/J2EE、.net、嵌入式開發(fā)是不錯(cuò)的三個(gè)方向。
?
如果非要在java和.net中選擇的話,我個(gè)人是推薦java的,原因:
1:Java能夠開發(fā)linux、unix服務(wù)器上的程序
2:JavaEE和.NET在企業(yè)應(yīng)用方面的關(guān)注點(diǎn)是差不多的,但是學(xué)習(xí)了java如果將來想轉(zhuǎn)到.net上會(huì)比較簡(jiǎn)單,幾天的學(xué)習(xí)然后上手開發(fā)應(yīng)該是問題不大的,但是反之就不行了。當(dāng)然如果有了些經(jīng)驗(yàn)之后,你就會(huì)發(fā)現(xiàn)語(yǔ)言或者平臺(tái)不再是技術(shù)上的阻礙,一些原理性的東西學(xué)到手,然后再加上項(xiàng)目經(jīng)驗(yàn),使用什么平臺(tái),反而不是最重要的。不過如果非要用一種平臺(tái)進(jìn)入企業(yè)開發(fā)的領(lǐng)域,至少在目前,2007年9月,我推薦java。
?
完全可以不同意我的觀點(diǎn),但是無庸置疑,如果是為了就業(yè),多到招聘網(wǎng)站閱讀閱讀職位的信息,對(duì)你將來的方向和學(xué)習(xí)是大有益處的。
?
選擇是最痛苦的,看看《天生購(gòu)物狂》中的劉青云就知道了,不過既然無法逃避,就作出自己的選擇吧。
?
每個(gè)人都會(huì)受到別人的影響,在作出決定之前,要想盡各種辦法讓自己理性一些吧。這樣,你的選擇會(huì)離正確的方向更近一些。
?
?
[原創(chuàng) - 尚學(xué)堂科技 - 馬士兵老師]
?
JAVA自學(xué)之路 二:JAVA自學(xué)路線圖
[轉(zhuǎn)載請(qǐng)注明出處:http://www.bjsxt.com/zixue/zixuezhilu_2.html]
?
有不少的同學(xué)發(fā)信給我,和我探討java的自學(xué)過程應(yīng)該是什么樣的,畢竟有很多人因?yàn)楦鞣N各樣的原因不能參加培訓(xùn)。我試著給出自己的見解,拋磚引玉吧。
這個(gè)路線圖是給那些為了就業(yè)的人準(zhǔn)備的,如果只是興趣,不一定照這個(gè)走。
這里只是講了路線圖,關(guān)于路線中的各個(gè)階段,學(xué)到什么程度,如何學(xué)習(xí)等,可以參考后面的JAVA自學(xué)之路七:《路線圖明細(xì)》。
?
首先要學(xué)JavaSE,這是無庸置疑的。
與此同時(shí),是的,與此同時(shí),和JavaSE的學(xué)習(xí)同步,建議大家研究一下數(shù)據(jù)結(jié)構(gòu)與算法。
在這兒之后,你可以選擇向J2ME、或者Java GUI、Socket編程等方向努力,但是通過第一篇的辦法,你可以很容易就將這方向過濾掉(永遠(yuǎn)不要忘了我們是為了就業(yè)),好吧,暫時(shí)和它們?cè)E別,還是向著J2EE的方向前進(jìn)吧。
在JavaSE完成之后,可以試著完成一些小項(xiàng)目,同時(shí)關(guān)注一下設(shè)計(jì)模式的內(nèi)容,不必強(qiáng)求自己能夠完全掌握各種細(xì)節(jié),往前走吧。
掌握一種編程工具,比如說Eclipse。
數(shù)據(jù)庫(kù),可以選擇使用Oracle或者M(jìn)ySQL開始。
JDBC,用Java連接數(shù)據(jù)庫(kù)。
可以選擇在這個(gè)地方切入Hibernate,也可以選擇在Struts之后。
HTML CSS JavaScript,這些東西是做web項(xiàng)目必需的內(nèi)容。
Servlet JSP,服務(wù)器端必需。
XML AJAX,新的流行趨勢(shì)不能不了解。
作一些小項(xiàng)目吧。比如BBS、留言系統(tǒng)、學(xué)籍管理、商城等等,隨便著一些業(yè)務(wù)邏輯比較簡(jiǎn)單的來做一做。
Struts,MVC的典型應(yīng)用
Hibernate,OR Mapping的典范之作。
Spring IOC + AOP, 面向?qū)ο?+ 面向切面,完善的旅程。
把以前自己的小項(xiàng)目加入Struts、Spring、Hibernate的元素吧。
去研究各種商業(yè)項(xiàng)目的業(yè)務(wù)邏輯吧,才能在你的簡(jiǎn)歷中加入濃重的一筆。
EJB3.0,java在走了很多彎路后的回歸之作,值得研究。
SOA,業(yè)界鐵定的未來趨勢(shì),要緊緊跟隨。
?
在后面,我會(huì)告訴你每一步的學(xué)習(xí)方法和學(xué)習(xí)重點(diǎn)。
?
?
[原創(chuàng) - 尚學(xué)堂科技 - 馬士兵老師]
?
JAVA自學(xué)之路 三:要?jiǎng)邮?/p>
[轉(zhuǎn)載請(qǐng)注明出處:http://www.bjsxt.com/zixue/zixuezhilu_3.html]
無論如何,請(qǐng)堅(jiān)持不懈的動(dòng)手實(shí)驗(yàn)!
?
學(xué)習(xí)Java要?jiǎng)邮?#xff0c;僅僅是看和聽是不能夠?qū)W好編程的。
總有同學(xué)來信問我們這樣的問題,說:"老師我看了視頻了(下載:http://www.bjsxt.com/download.html),可是怎么一動(dòng)手就沒有任何思路呢?"
對(duì)此,我一般都會(huì)說不要著急,如果你只是看了視頻就想行云流水的話,那老師這些年的鍛煉真是白費(fèi)了,這么多年的苦練才能略有些行云流水的感覺,你一朝一夕就想自己能夠達(dá)到,不是太奢侈了嗎:)
?
作為編程的過來人想一下,當(dāng)年自己學(xué)編程的時(shí)候是什么時(shí)候有思路的呢?至少也是照貓畫虎畫了一段時(shí)間之后吧,我本人是在某一個(gè)領(lǐng)域畫虎畫了上萬行代碼的時(shí)候才慢慢有自己思路的。就像寫作文,要有自己思路總是一般來說要經(jīng)過幾個(gè)階段,首先學(xué)習(xí)詞匯,然后學(xué)習(xí)造句,然后大量閱讀別人的文章,自己模仿著寫一些,逐漸的經(jīng)驗(yàn)積累,才能形成自己的思路。學(xué)編程,恐怕也得慢慢的來吧,只是看一看、聽一聽視頻,是不足以學(xué)好編程的。
?
所以,動(dòng)手吧,跟著做,一行一行的跟著敲,一個(gè)項(xiàng)目敲完了,比如坦克,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠(yuǎn)比干聽大的多。
?
如果遇到,暫時(shí)對(duì)于一些思路不能理解的同學(xué),我一般都會(huì)勸告說,動(dòng)手寫,先寫代碼,量變會(huì)引起質(zhì)變的。而這種質(zhì)變的確發(fā)生過不少次。
?
提醒一句,要理解代碼思路之后再跟著敲 ,背著敲,千萬不要左邊擺著別人的程序,右邊自己一個(gè)一個(gè)子母的寫,這就不再是程序員了,成了打字員了。
?
紙上得來終覺淺,所以:
別問那么多,別想那么多,動(dòng)手寫吧。
?
[原創(chuàng) - 尚學(xué)堂科技 - 馬士兵老師]
?
JAVA自學(xué)之路 四:要事為先
[轉(zhuǎn)載請(qǐng)注明出處:http://www.bjsxt.com/zixue/zixuezhilu_4.html]
對(duì)待人生的任何事情都要:抓大放小,要事為先
?
對(duì)于一個(gè)以前從來沒有接觸過java的人,java無疑是龐大的,似乎每個(gè)領(lǐng)域都可以拓展開來都是一片開闊地,每一個(gè)領(lǐng)域要想深入接觸到每一個(gè)細(xì)節(jié)所耗費(fèi)的精力都是巨大的。這個(gè)時(shí)候大家都胸懷壯志,兩眼發(fā)光的盯著每一個(gè)嶄新的知識(shí)點(diǎn),遇見了任何一個(gè)知識(shí)點(diǎn)都恨不得摳的清清楚楚,明明白白。
?
難道這有什么不對(duì)嗎?
我的意見是,沒什么大毛病,但是學(xué)習(xí)效率太低了!
我們推薦的學(xué)習(xí)方式是:抓大放小,要事為先。
?
比如說學(xué)習(xí)J2SE的時(shí)候,學(xué)到GUI這一章,有的同學(xué)認(rèn)為,既然學(xué)到這兒了,我們?nèi)グ裇WING細(xì)細(xì)的了解一遍吧;還有的同學(xué),遇到了在Linux下的Shell編程,就恨不得把Shell先學(xué)成專家才肯,或者是才敢,繼續(xù)往下學(xué)習(xí);有沒有過這樣的感覺,一本書的上冊(cè)沒有學(xué)好,覺著下冊(cè)心里也沒底兒,甚至非要把上冊(cè)復(fù)習(xí)一遍才敢繼續(xù)學(xué)習(xí)。
如果你也是這樣,要去看看心理醫(yī)生啦,沒準(zhǔn)兒會(huì)有潔癖的毛病:)。
任何事情都要追求完美才敢繼續(xù)往后進(jìn)行,是一種性格缺陷
?
大膽的放棄一些東西吧,有失才有得,把自己有限的、寶貴的精力用在對(duì)于就業(yè)直接相關(guān)的地方,這才是最有效率的學(xué)習(xí)方式!等你參加工作,有了可持續(xù)發(fā)展的事業(yè)動(dòng)力和經(jīng)濟(jì)基礎(chǔ),有時(shí)間有精力閑的沒事兒干的時(shí)候,再去研究那些其它吧。
?
曾經(jīng)有一個(gè)故事,說得是產(chǎn)能和產(chǎn)量的關(guān)系。
一個(gè)人喜歡讀書,讀了一輩子,無所不通,這時(shí)候要做任何工作都可以,他的產(chǎn)能到了極致,但是,他老了,即便每天產(chǎn)出大量的東西也不能維持多久了,一輩子的產(chǎn)量并沒有多少。
另一個(gè)人直接工作,忙,天天在機(jī)器旁日復(fù)一日,做了一輩子,沒時(shí)間學(xué)習(xí)和進(jìn)修,可以想象,產(chǎn)量能有多大呢。
人的一生,要鍛煉產(chǎn)能,也要及時(shí)產(chǎn)出,引擎要轉(zhuǎn),也要停下來加油,這兩者平衡的越好,你的貢獻(xiàn)和產(chǎn)量就會(huì)越大。如果鉆研的東西和產(chǎn)能目標(biāo)(或者說近期的產(chǎn)能目標(biāo))無關(guān)的話,要舍得放手。
?
所以,對(duì)于SWING,暫時(shí)先扔在一邊吧。
對(duì)于shell,對(duì)于各種協(xié)議過于詳細(xì)的細(xì)節(jié),對(duì)于喜歡的游戲編程,對(duì)于javascript各種華而不實(shí)的效果,都暫時(shí)和它們分別吧。
一切和我們的直接工作目標(biāo)關(guān)聯(lián)不大的東西,扔在一邊或者弄清楚到足夠支持下一步的學(xué)習(xí)就可以了。
?
那這樣豈不是妨礙我成為通曉各種細(xì)節(jié)的高手了嗎?
我一向不認(rèn)為一個(gè)人掌握了很多很多知識(shí)點(diǎn)的細(xì)節(jié)就是高手了,一個(gè)人如果告訴你,回字有四種寫法,你會(huì)認(rèn)為他是高手嗎?毫不客氣的說,現(xiàn)在我們所教授的所有知識(shí)細(xì)節(jié)在網(wǎng)上或書中都可以找到,只要你肯花時(shí)間花精力去動(dòng)手試,去鉆研,沒有什么不能掌握的。struts、spring你能掌握嗎?當(dāng)然能!但是如果把時(shí)間花在spring的各種細(xì)節(jié)的研究上,花在研究中國(guó)企業(yè)應(yīng)用不廣泛地的springmvc上,這個(gè)精力就太浪費(fèi)了,而且學(xué)習(xí)的積極性會(huì)受到打擊,誰(shuí)愿意整天泡在細(xì)節(jié)的蜘蛛網(wǎng)中掙扎不出來呢?誰(shuí)愿意天天經(jīng)歷風(fēng)雨卻總是不能見到彩虹呢?
?
蓋房子,要先建骨架,再談修飾。
畫山水,要先畫結(jié)構(gòu),再談潤(rùn)色。
認(rèn)識(shí)一臺(tái)結(jié)構(gòu)復(fù)雜的機(jī)器,應(yīng)該首先認(rèn)清楚脈絡(luò),然后再逐步認(rèn)識(shí)每一個(gè)關(guān)節(jié)。
為了應(yīng)付從小學(xué)到大學(xué)的考試,我們背了各種各樣的不應(yīng)該提前掌握的細(xì)節(jié),同時(shí)也養(yǎng)成了見到細(xì)節(jié)就摳的學(xué)習(xí)習(xí)慣。而現(xiàn)在,是到改改的時(shí)候了。
?
請(qǐng)?jiān)诤线m的時(shí)間,做合適的事情吧。
把時(shí)間和精力花在作項(xiàng)目上面,花在寫作品以及鍛煉解決問題的能力上面吧,這是邁向高手的正確的而且快速的方向。
?
我一直不認(rèn)為一個(gè)課程提供了很多很多的細(xì)節(jié)就是優(yōu)秀的價(jià)值高的課程了,掌握必要的細(xì)節(jié),這個(gè)不含糊,至于其他,或者通過視頻給出(這樣可以給出更多的細(xì)節(jié),但是不占上課時(shí)間,課上只講重要的、必要的細(xì)節(jié)知識(shí)),或者在掌握了自學(xué)的能力后自己能夠查出,這才是正途。
?
當(dāng)你看書到某個(gè)地方暫時(shí)不理解的時(shí)候的,暫時(shí)放手吧,追求一些行云流水、自然而然的境界吧,只是不要停下前進(jìn)的腳步,不要被大路旁邊的支根末節(jié)干擾了你前進(jìn)的行程,項(xiàng)目,真實(shí)的項(xiàng)目,這才是目的,就在不遠(yuǎn)的前方。
?
陶淵明讀書,叫做“不求甚解”,但他是大詩(shī)人。
諸葛亮讀書,總是“觀其大略”,但他是大政治家。
作研究的,是在確定了方向之后才詳細(xì)的研究深入的東西。
到了廬山,脈絡(luò)形狀扔在一邊,盯著一棵棵小草、一粒粒石子的看,怎么樣才能識(shí)得“真面目”?
作為應(yīng)用型的人才,是研究回字的n種寫法還是抓緊時(shí)間向著主要應(yīng)用的方向努力,請(qǐng)自己作出抉擇。
?
以項(xiàng)目驅(qū)動(dòng)自己的學(xué)習(xí)吧,當(dāng)把握了技術(shù)的脈絡(luò)之后再去補(bǔ)充細(xì)節(jié)的研究,是正途。
?
這輩子就不研究其他的方向了嗎?
當(dāng)然要研究!但是在將來合適的時(shí)間再說吧。
?
所以,抓大放小,要事為先!
那么,在JAVA的這些課程中,哪些才是大,才是要事呢?請(qǐng)繼續(xù)讀下去。
?
?
[原創(chuàng) - 尚學(xué)堂科技 - 馬士兵老師]
?
JAVA自學(xué)之路 五:問題解決之道
[轉(zhuǎn)載請(qǐng)注明出處:http://www.bjsxt.com/zixue/zixuezhilu_3.html]
既然是學(xué)習(xí),就不可能不遇到問題。
既然是自學(xué),就沒有方便的和老師探討的機(jī)會(huì)。
那么,遇到問題之后,環(huán)境配不通,程序調(diào)不過,運(yùn)行不正常,遇見這些惱人的問題的時(shí)候,該怎么辦呢?
?
首先我要恭喜你,遇見問題,意味著你又有漲經(jīng)驗(yàn)的機(jī)會(huì)了,每解決一個(gè)問題,你的JAVA經(jīng)驗(yàn)值就應(yīng)該上升幾百點(diǎn),問題遇到的越多,知識(shí)提升的越快。
?
但是總是解決不了也是很惱人的,怎么辦呢?
我一般要求我們的學(xué)生都是這樣來進(jìn)行的。
當(dāng)你遇到一個(gè)問題的時(shí)候:
1:要仔細(xì)的觀察錯(cuò)誤的現(xiàn)象,是的,要仔細(xì)
有不少同學(xué)的手非常快,在編譯一個(gè)程序的時(shí)候,報(bào)了一大堆的錯(cuò)誤,掃了一眼之后就開始盯著代碼一行一行的找,看清什么錯(cuò)誤了嗎?沒有!
有的時(shí)候安裝軟件出問題了,一個(gè)對(duì)話框彈出來說出錯(cuò)了,馬上舉手問老師:“不得了了,出錯(cuò)了,出錯(cuò)了”。
“什么錯(cuò)誤?”
“還沒看呢?”
這都是典型的不上心的方法!請(qǐng)記住,學(xué)習(xí)編程并不是一件很容易的事情,自己首先要重視,要用心才可以。
在開發(fā)中,仔細(xì)觀察出錯(cuò)信息,或者運(yùn)行不正常的信息,是你要做的第一件事。
讀清楚了,才能在以后的步驟中有的放矢,哭了半天,總要知道哭的是誰(shuí)才成。
這里又分三種情況:
? A:錯(cuò)誤信息讀懂了,那么請(qǐng)進(jìn)入2步:要仔細(xì)思考問題會(huì)出在哪些環(huán)節(jié)
? B:沒讀懂,愣是一點(diǎn)沒看懂,進(jìn)入第4步吧:google
? C:讀了個(gè)半懂,有些眉目但是不太能確定,第2步和第4步結(jié)合著來。
?
2:要仔細(xì)思考問題會(huì)出在哪些環(huán)節(jié)(重要)
當(dāng)你讀懂了一個(gè)問題之后,要好好的思考這個(gè)問題可能會(huì)在哪些環(huán)節(jié)上出錯(cuò)。
?
一輛汽車從總成線上下來,車門子關(guān)不上!
哪錯(cuò)了?你怎么查?
當(dāng)然是順著生產(chǎn)線一站一站的查下來。
程序也是一樣的,也是一系列語(yǔ)句完成后產(chǎn)生的結(jié)果。
寫一個(gè)網(wǎng)絡(luò)程序,總是發(fā)現(xiàn)服務(wù)器端打印不出接收的數(shù)據(jù),有幾個(gè)環(huán)節(jié)會(huì)出錯(cuò)?
仔細(xì)分析這個(gè)現(xiàn)象的環(huán)節(jié):
客戶端產(chǎn)生數(shù)據(jù)->按“發(fā)送”按鈕->發(fā)送到服務(wù)器->服務(wù)器接收到后打印
這幾個(gè)環(huán)節(jié)都有可能會(huì)出錯(cuò):
有可能客戶端根本就沒產(chǎn)生數(shù)據(jù),有可能發(fā)送按鈕按下去后根本就沒發(fā)出去,或者發(fā)出去的不是你產(chǎn)生的東西,或者根本就沒連接網(wǎng)絡(luò),或者發(fā)送出去服務(wù)器沒有接收到,或者接收到之前就打印了等等等等。
?
學(xué)著去這樣仔細(xì)的分析程序的環(huán)節(jié)和這些環(huán)節(jié)可能會(huì)產(chǎn)生的問題,你的經(jīng)驗(yàn)值定然會(huì)大幅度快速的提升,這樣做很累人,但是一件事情如果做下來一點(diǎn)都不累的話,這個(gè)東西還有價(jià)值嗎?
?
在網(wǎng)頁(yè)A輸入了一個(gè)人的名字,提交到B,首先存儲(chǔ)到數(shù)據(jù)庫(kù),然后再讀出來,發(fā)現(xiàn)亂碼!怎么辦?
當(dāng)然是分析環(huán)節(jié):
客戶輸入->HTTP發(fā)送->B接收->存儲(chǔ)到數(shù)據(jù)庫(kù)->讀出->展現(xiàn)到網(wǎng)頁(yè)
每個(gè)環(huán)節(jié)都可能出問題,怎么才能知道哪里出的問題?繼續(xù)往下讀。
?
3:如何定位錯(cuò)誤(重要)
分析清楚有哪些環(huán)節(jié)之后,下一步就是定位到底什么環(huán)節(jié)出錯(cuò)了。
定位有以下三種辦法:
A 打印輸出,比如java的System.out.println(),比如js的alert(),這種辦法常用,必須掌握
B Debug,可以參考我們的視頻《坦克大戰(zhàn)》,詳細(xì)講了Eclipse的調(diào)試。
C 刪掉一部分調(diào)試一部分,也就是去掉一部分的功能,做簡(jiǎn)化,然后調(diào)試剩下的功能,JSP和JavaScript常用。可以參考我們的視頻《BBS》等
這些我說的比較簡(jiǎn)單,詳細(xì)了解的話請(qǐng)關(guān)注以下我們的視頻吧,在近期會(huì)逐步的將一些知識(shí)點(diǎn)的視頻進(jìn)行免費(fèi)的公布,http://www.bjsxt.com/download.html
?
4:如果還不行,google吧
還查不出來?恭喜你,你遇到的錯(cuò)誤是值得認(rèn)真對(duì)待的錯(cuò)誤,是會(huì)影響你學(xué)習(xí)生涯的錯(cuò)誤,問一下google或者百度吧。照著下面的方法查查看。
?
一般來講,搜索引擎可以搜到各種知識(shí)點(diǎn),我曾經(jīng)跟同學(xué)們開玩笑說:“學(xué)會(huì)了怎么google或者baidu,其實(shí)沒必要跟老師學(xué)了,自己全都搞懂了,尚學(xué)堂是沒必要來的。”當(dāng)然,只是玩笑,培訓(xùn)的作用有三個(gè):
A:系統(tǒng)化知識(shí)
B:真實(shí)項(xiàng)目鍛煉經(jīng)驗(yàn)
C:少走彎路,節(jié)省時(shí)間
不知不覺開始做廣告了,請(qǐng)?jiān)?#xff0c;處其位謀其事,總得為尚學(xué)堂說點(diǎn)什么:)
?
言歸正傳,如何查搜索引擎?
先精后粗,首先先進(jìn)行盡量精確的查找,比如一個(gè)錯(cuò)誤,SocketException,你懷疑它是在connect()方法出的問題,那么當(dāng)然是選這樣的關(guān)鍵詞javaconnect SocketException
?
先中后英,本著以解決問題為主的想法,練習(xí)英文還是先放在一邊吧,首先應(yīng)該在中文網(wǎng)頁(yè)中查詢,還不行的話,搜索英文的吧,最近的尚學(xué)堂課程中會(huì)帶大家閱讀英文的書籍。有很多東西就像一層窗戶紙,遠(yuǎn)看灰蒙蒙怪唬人的,你壯著膽子一捅,它就破了。閱讀英文的書籍就是如此,不是想象中的那么困難:)寧可在沙場(chǎng)上戰(zhàn)死,也不能被嚇?biāo)啦皇菃?#xff1a;)
?
信息篩選,搜索出來的結(jié)果不見得能夠完全匹配,建議大家多閱讀前幾頁(yè)的搜索結(jié)果,多打開幾個(gè)網(wǎng)頁(yè)看看,不過,我的經(jīng)驗(yàn)是超過3頁(yè)一般就沒意義了,所以超過3頁(yè)還沒有找到合適的答案,或許應(yīng)該調(diào)整一下關(guān)鍵詞,或者放粗整個(gè)搜索的結(jié)果了。
?
經(jīng)常的進(jìn)行知識(shí)難點(diǎn)的查詢,如果一個(gè)問題牽扯的面比較廣,就干脆到網(wǎng)上搜索一些相關(guān)的專題,比如“java 亂碼 mysql” “oracle 創(chuàng)建用戶”等等,如果有必要,不要犯懶,勤動(dòng)手寫一些小小的測(cè)試程序,來弄明白知識(shí)點(diǎn)的細(xì)節(jié)。這也是漲知識(shí)的重要的途徑。
?
5:什么?還不行?那么就BBS吧
如果實(shí)在還不行,就到BBS上面問一問高手吧。
到哪個(gè)BBS上?
google或者百度不就行了么:)關(guān)鍵詞“java論壇”“java bbs”
?
然后在搜索結(jié)果里好好的看看那些活動(dòng)頻繁的論壇,以后就是你經(jīng)常光顧的地方了。http://community.csdn.net就很不錯(cuò)。
?
向別人提問是非常需要技巧的!
曾經(jīng)有人問我這樣的問題:“請(qǐng)問如何才能學(xué)好java呢?”
這個(gè)要求太泛泛了。
還有人給我一段代碼甚至jar包也寄過來,然后說老師的我的代碼中有個(gè)錯(cuò)誤您幫我查查:(
我沒有辦法去花大量的時(shí)間建立環(huán)境去調(diào)試一個(gè)還不知道存在不存在的錯(cuò)誤!
還有人在BBS上問這樣的問題:“是否有人能幫我完成一個(gè)完整聊天的程序?請(qǐng)幫我寫一個(gè)登陸模塊吧!”
這個(gè)要求有些過分了,有人幫你做是你的運(yùn)氣,沒有人幫你是正常反應(yīng)。
?
向別人提問,應(yīng)該首先確定你已經(jīng)做了自己應(yīng)該做的事,簡(jiǎn)單說是我前面列舉的1,2,3,4步你都作過了,然后再求助于人。不要沒有經(jīng)過認(rèn)真思考就草率的向別人提問,自己也不會(huì)有長(zhǎng)足進(jìn)步的。
那我該怎么樣向別人提問呢?
在google或百度搜索《提問的智慧》,你會(huì)找到答案。
在這里我給出一個(gè)鏈接http://community.csdn.net/IndexPage/SmartQuestion.aspx,磨刀不誤砍柴功,先花點(diǎn)時(shí)間去閱讀一下吧。
?
得到別人的回答,要懂得感恩。
不需要去寫信感謝,不需要支付費(fèi)用,不需要那些花言巧語(yǔ),做到下面這一點(diǎn)就夠了:
當(dāng)你逐步成為高手的時(shí)候,要回答別人在論壇上提出的問題,有時(shí)間有精力的前提之下!
?
6:還解決不了?問老師吧,這個(gè)只能是在你參加了培訓(xùn)的前提下了。
7:還解決不了?天哪,是不是思路從根上就搞錯(cuò)了?寫信給我,讓我也學(xué)習(xí)一下,共同進(jìn)步吧。mashibing2004@sina.com
?
?
[原創(chuàng) - 尚學(xué)堂科技 - 馬士兵老師]
?
JAVA自學(xué)之路 六:項(xiàng)目的自學(xué)
[轉(zhuǎn)載請(qǐng)注明出處:http://www.bjsxt.com/zixue/zixuezhilu_6.html]
現(xiàn)在就業(yè)競(jìng)爭(zhēng)的激烈程度已經(jīng)遠(yuǎn)遠(yuǎn)高于當(dāng)年了,記得我當(dāng)年畢業(yè)時(shí),一個(gè)會(huì)編程的畢業(yè)生站到臺(tái)上,大聲問道:“我會(huì)ASP,月薪5000有沒有人要?” 臺(tái)下的企業(yè)馬上嘩的舉起一大片手:"我要我要!"
那時(shí) 沒有任何項(xiàng)目經(jīng)驗(yàn)也會(huì)有人提供學(xué)習(xí)的機(jī)會(huì):)
這種好日子恐怕一去不復(fù)返了(有些夸張,但無疑當(dāng)時(shí)找一份不錯(cuò)的工作是比現(xiàn)在要容易的多)
?
而現(xiàn)在,即便是各種必要的知識(shí)你掌握的差不多了,但還有一座大山橫在你的面前,那就是-項(xiàng)目經(jīng)驗(yàn)。
?
有經(jīng)驗(yàn)的程序員都知道,學(xué)習(xí)編程的最有效率的方式,恐怕就是把你扔到一個(gè)項(xiàng)目組,連滾帶爬的做下一兩個(gè)項(xiàng)目來,你馬上會(huì)發(fā)現(xiàn)所有的知識(shí)點(diǎn)全都連到一起了,不再是分散的,而是形成一個(gè)整體了。那種感覺是僅僅深入鉆研知識(shí)點(diǎn)而不寫真實(shí)項(xiàng)目的人所不能體會(huì)的。一個(gè)項(xiàng)目就是一根繩子可以把大片的知識(shí)串到一起。
?
如果想鍛煉實(shí)際開發(fā)的能力而不僅僅是背誦或者了解一些知識(shí)點(diǎn),如果想成為真正的好手而不僅僅是背誦“回”字有幾種寫法,那么,作項(xiàng)目吧!
?
目前,各種編程的知識(shí)點(diǎn)變得越來越容易掌握,按照《JAVA自學(xué)之路五:問題解決知道》中的各種辦法也可以逐步積累自己知識(shí)的廣度和深度,那現(xiàn)在什么才能夠體現(xiàn)水平的不同?當(dāng)然是項(xiàng)目經(jīng)驗(yàn)。
?
目前,尚學(xué)堂的課程已經(jīng)超越了知識(shí)點(diǎn)的研究和羅列,我們將在未來的時(shí)間里逐步公布各個(gè)知識(shí)點(diǎn)的視頻,包括SSH、EJB等,這樣做有兩個(gè)好處:首先自學(xué)的同學(xué)可以免費(fèi)得到原來商業(yè)培訓(xùn)的內(nèi)容,這樣起碼可以節(jié)省一些時(shí)間,省一些力氣。其次尚學(xué)堂自己可以更加專注于項(xiàng)目上。
?
目前尚學(xué)堂的項(xiàng)目寫作占了課程50%左右的比重,尚學(xué)堂的項(xiàng)目也早已經(jīng)超越了簡(jiǎn)單的MIS系統(tǒng)的概念,逐步的成為綜合了搜索引擎、工作流、SCA/SDO、Linux/UNIX、大型數(shù)據(jù)庫(kù)系統(tǒng)、設(shè)計(jì)模式、架構(gòu)模式、負(fù)載均衡等各種深層應(yīng)用的綜合大型項(xiàng)目并且采用手把手式的教學(xué)方法,做的更加的深入和細(xì)致,從現(xiàn)在看效果相當(dāng)好,最近142班的就業(yè)就完全證明了這一點(diǎn)(了解142的就業(yè)情況),我們的計(jì)劃是最近逐步將項(xiàng)目比重提升到70%以上,相信效果會(huì)更好。
簽于公司的規(guī)定,我們并不能將所有的項(xiàng)目實(shí)戰(zhàn)都錄制成視頻來公布,但是已經(jīng)公布的項(xiàng)目實(shí)戰(zhàn)也是非常的有價(jià)值的:(http://www.bjsxt.com/download.html)
1:Chat & Tank系列
2:BBS
3:Shopping(近期公布)
?
那么如果自學(xué)我們應(yīng)該怎么樣才能學(xué)習(xí)項(xiàng)目的開發(fā)呢?
一個(gè)比較有效的辦法是,可以在現(xiàn)有項(xiàng)目的基礎(chǔ)上做的更深入一些,比如在你按照視頻完成了BBS之后,可以增加一些其他的功能,例如注冊(cè)/積分/精華/搜索/貼圖等等,在完成了Shopping之后,可以增加一些評(píng)論/排行/統(tǒng)計(jì)/存貨等等方面的業(yè)務(wù)邏輯,嘗試用自己的技術(shù)將他們作出來,這樣既積攢了項(xiàng)目經(jīng)驗(yàn),又記住了知識(shí)點(diǎn)。
?
那么如何才能確定我要寫什么樣的業(yè)務(wù)邏輯呢?
應(yīng)該講這對(duì)于一個(gè)初學(xué)者是非常困難的,一些簡(jiǎn)單的系統(tǒng),比如說BBS、Shopping、圖書管理等等,它們的業(yè)務(wù)邏輯很容易確定,去瀏覽和參考一些現(xiàn)成系統(tǒng)的功能,很容易就能了解了。但是對(duì)于商用的大型系統(tǒng),光是了解業(yè)務(wù)邏輯本身就會(huì)花費(fèi)大量的精力,如果有時(shí)間有精力有財(cái)力的話,還是建議考慮一下我們的培訓(xùn)吧,這樣經(jīng)驗(yàn)的積累和薪水的提升會(huì)更快,從以前的統(tǒng)計(jì)數(shù)據(jù)看非常容易就可以回收這筆投資(替尚學(xué)堂的廣告,必須得寫,請(qǐng)見諒,但保證真實(shí))。
?
如果條件不允許,那么就按照上面的方法來學(xué)習(xí)項(xiàng)目吧,不要因?yàn)闀簳r(shí)不能接觸更大型更深入的項(xiàng)目而氣餒,記住:機(jī)會(huì)總是青睞有準(zhǔn)備的頭腦,努力吧。
?
?
[原創(chuàng) - 尚學(xué)堂科技 - 馬士兵老師]
?
JAVA自學(xué)之路 七:路線圖明細(xì)
[轉(zhuǎn)載請(qǐng)注明出處:http://www.bjsxt.com/zixue/zixuezhilu_7.html]
下面給出第二節(jié)《JAVA自學(xué)路線圖》[http://www.bjsxt.com/zixue/zixuezhilu_2.html]中知識(shí)點(diǎn)的明細(xì):
?
注:
1:下面大多數(shù)的知識(shí)點(diǎn)我們已經(jīng)公布了視頻或者會(huì)近期公布(幾個(gè)月之內(nèi)),請(qǐng)大家關(guān)注一下這個(gè)網(wǎng)址http://www.bjsxt.com/download.html,可以按照該頁(yè)面的提示,用電驢進(jìn)行下載
2:這里是為方便大家自學(xué)給出的列表,請(qǐng)大家不要同尚學(xué)堂的課程畫等號(hào),下面的內(nèi)容要比實(shí)際授課簡(jiǎn)單很多,另外很多知識(shí)是融匯在項(xiàng)目開發(fā)中的,適合面授,不適合自學(xué)。
?
一:J2SE
面向?qū)ο?#xff0d;封裝、繼承、多態(tài)
內(nèi)存的分析
遞歸
集合類、泛型、自動(dòng)打包與解包、Annotation
IO
多線程、線程同步
TCP/UDP
AWT、事件模型、匿名類
正則表達(dá)式
反射機(jī)制
?
2:數(shù)據(jù)庫(kù)(Oracle或者M(jìn)ySQL)
SQL語(yǔ)句
多表連接,內(nèi)外連接, 子查詢等
管理表、視圖、索引、序列、約束等
樹狀結(jié)構(gòu)存儲(chǔ)
存儲(chǔ)過程、觸發(fā)器
數(shù)據(jù)庫(kù)設(shè)計(jì)三范式、
?
3:JDBC
JDBC基礎(chǔ)
連接池
樹狀結(jié)構(gòu)存儲(chǔ)與展現(xiàn)
DataSource &RowSet
JDBC連接Oracle及MySQL
?
4:HTML_CSS_JAVASCRIPT
html、css、javascript基礎(chǔ)語(yǔ)法
JavaScript Form判斷
Dom編程基礎(chǔ)(事件處理等)
JS常用效果如TreeView、下拉聯(lián)動(dòng)等
JS學(xué)習(xí)方法
JS調(diào)試方法
DreamWeaver初步(建立HTML、Table、Form、CSS)等
?
5:Servlet &JSP
?
tomcat基礎(chǔ)
servlet基礎(chǔ)
web.xml配置基礎(chǔ)
web application的結(jié)構(gòu)
servlet生命周期
request response等常用方法
ServletContext類
HTTP協(xié)議基礎(chǔ)(GET POST)
Cookie
Session
Application
?
JSP的幾種語(yǔ)法(包括JSTL等)注意在項(xiàng)目中練習(xí),不要拘泥于語(yǔ)法細(xì)節(jié)而裹步不前。
?
6:Struts
多層架構(gòu)理論
Model 1 and Model2
Struts基本概念
MVC
Action與業(yè)務(wù)邏輯類的關(guān)系
在Struts與JSP之間傳遞數(shù)據(jù)
Struts處理流程(控制流)
Struts TagLib(了解常用的)
JSTL
ActionForm
字段收集
上傳文件
類型轉(zhuǎn)換
DTO
動(dòng)態(tài)Action Form
驗(yàn)證框架
ActionForward 轉(zhuǎn)發(fā)與重定向
動(dòng)態(tài)生成ActionForward
全局與局部的ActionForward
Action ForwardScope
UnknownActionMapping
Action的線程安全
I18N
如何切換語(yǔ)言環(huán)境
Struts異常處理機(jī)制 程序處理 自動(dòng)處理自定義異常處理器
Struts的多模塊配置
?
7:XML
(XML/XSL、XSLT/DTD、SCHEMA等基礎(chǔ)的概念、關(guān)于Java的編程可以暫時(shí)扔在一邊)
?
8:Hibernate
OR Mapping原理
Hibernate基礎(chǔ)開發(fā)步驟
Hibernate基本接口(重點(diǎn)Session)
普通屬性映射
關(guān)聯(lián)關(guān)系映射
Native SQL
inverse lazycascade
繼承關(guān)系映射
HQL
性能優(yōu)化 一級(jí)緩存 二級(jí)緩存 查詢緩存
事務(wù)與并發(fā) 悲觀鎖、樂觀鎖
OpenSessionInView
CurrentSession
(至于JTA、聯(lián)合主鍵、自然主鍵、動(dòng)態(tài)主鍵、Any類型Creteria Queries Intercepter and Event 自定義類型等,可以暫時(shí)扔在一邊)
?
9:Spring
IOC/DI
Spring配置
Spring架構(gòu)
AOP及Spring AOP
聲明式事務(wù)(AOP)
Spring + HibernateSpring支持Web
Scope
(其他的Spring模塊對(duì)于自學(xué)來說可以暫時(shí)扔在一邊)
?
10:EJB3.0
J2EE架構(gòu)基礎(chǔ)(JTA JMS等)
EJB基礎(chǔ)(地位及基本理論、分類等)
Annotation
Ant編譯與部署EJB
Session Bean
EJB的依賴注入
Persistence API
(可以用JBoss學(xué)習(xí)EJB3.0)
?
11:至于SOA,對(duì)于自學(xué)的同學(xué)來說,暫時(shí)不用特別關(guān)注。
?
梳理一下,你就會(huì)發(fā)現(xiàn)東西不是想象中的那么多呀!
?
建議大家優(yōu)先學(xué)習(xí)我們公布的視頻,然后再去找參考書,因?yàn)檫@個(gè)時(shí)候就能分辨出來哪些書適合你了。
?
那么,如何才能找到好書呢?一個(gè)簡(jiǎn)單的辦法,在賣書的網(wǎng)站上,比如http://www.china-pub.com,搜索你想了解的知識(shí)點(diǎn)比如"javascript",按銷售排行,排在前幾位的,應(yīng)該就是不錯(cuò)的,記下書名,到書店閱讀幾章,合適你的就是好書了。沒錢買?簡(jiǎn)單!還有什么google+ 電驢找不到的資料嗎:)
?
寫了這么多,有一些是廣告,在其位,謀其政,但并沒有講假話,還望大家理解,如果大家在自學(xué)的過程中有什么問題的話,可以寫信給我mashibing2004@sina.com或者training@bjsxt.com,我愿意隨時(shí)聆聽大家的教誨。
?
如果是技術(shù)問題,記得首先要閱讀《JAVA自學(xué)之路五:問題解決之道》哦 :)
轉(zhuǎn)載于:https://www.cnblogs.com/freespider/archive/2010/01/06/1640222.html
總結(jié)
以上是生活随笔為你收集整理的[原创 - 尚学堂科技 - 马士兵老师]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 2009最后一天,为了期盼而祝福
 - 下一篇: 永远相信明天会更好