第一篇:Java學(xué)習(xí)方法總結(jié)
Java學(xué)習(xí)方法總結(jié)
Java作為一門編程語(yǔ)言,最好的學(xué)習(xí)方法就是寫代碼。當(dāng)你學(xué)習(xí)一個(gè)類以后,你就可以自己寫個(gè)簡(jiǎn)單的例子程序來(lái)運(yùn)行一下,看看有什么結(jié)果,然后再多調(diào)用幾個(gè)類的方法,看看運(yùn)行結(jié)果,這樣非常直觀的把類給學(xué)會(huì)了,而且記憶非常深刻。然后不應(yīng)該滿足把代碼調(diào)通,你應(yīng)該想想看如果我不這樣寫,換個(gè)方式,再試試行不行。記得哪個(gè)高人說(shuō)過學(xué)習(xí)編程就是個(gè)破壞的過程,把書上的例子,自己學(xué)習(xí)Documentation編寫的例子在運(yùn)行通過以后,不斷的嘗試著用不同的方法實(shí)現(xiàn),不斷的嘗試破壞代碼的結(jié)構(gòu),看看它會(huì)有什么結(jié)果。通過這樣的方式,你會(huì)很徹底的很精通的掌握J(rèn)ava。
舉個(gè)例子,我們都編過Hello World
public class HelloWorld { public static void main(String[] args){ System.out.println(“Hello World”);} }
很多初學(xué)者不是很理解為什么main方法一定要這樣來(lái)定義public static void main(String[] args),能不能不這樣寫?包括我剛學(xué)習(xí)Java的時(shí)候也有這樣的疑問。想知道答案嗎?很簡(jiǎn)單,你把main改個(gè)名字運(yùn)行一下,看看報(bào)什么錯(cuò)誤,然后根據(jù)出錯(cuò)信息進(jìn)行分析;把main的public取掉,在試試看,報(bào)什么錯(cuò)誤;static去掉還能不能運(yùn)行;不知道m(xù)ain方法是否一定要傳一個(gè)String[]數(shù)組的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫args參數(shù)名稱的,也可以把a(bǔ)rgs改成別的名字,看看運(yùn)行結(jié)果如何。
我當(dāng)初學(xué)習(xí)Java的時(shí)候就是這樣做的,把Hello World程序反復(fù)改了七八次,不斷運(yùn)行,分析運(yùn)行結(jié)果,最后就徹底明白為什么了main方法是這樣定義的了。
此外,我對(duì)于staic,public,private,Exception,try{ }catch {}finally{}等等等等一開始都不是很懂,都是把參考書上面的例子運(yùn)行成功,然后就開始破壞它,不斷的根據(jù)自己心里面的疑問來(lái)重新改寫程序,看看能不能運(yùn)行,運(yùn)行出來(lái)是個(gè)什么樣子,是否可以得到預(yù)期的結(jié)果。這樣雖然比較費(fèi)時(shí)間,不過一個(gè)例子程序這樣反復(fù)破壞幾次之后。我就對(duì)這個(gè)相關(guān)的知識(shí)徹底學(xué)通了。有時(shí)候甚至故意寫一些錯(cuò)誤的代碼來(lái)運(yùn)行,看看能否得到預(yù)期的運(yùn)行錯(cuò)誤。這樣對(duì)于編程的掌握是及其深刻的。
其中特別值得一提的是JDK有一個(gè)非常棒的調(diào)試功能,-verbose java –verbose javac –verbose 以及其它很多JDK工具都有這個(gè)選項(xiàng)
-verbose 可以顯示在命令執(zhí)行的過程中,JVM都依次加載哪里Class,通過這些寶貴的調(diào)試信息,可以幫助我們分析出JVM在執(zhí)行的過程中都干了些什么。
江西新華電腦學(xué)院
另外,自己在學(xué)習(xí)過程中,寫的很多的這種破壞例程,應(yīng)該有意識(shí)的分門別類的保存下來(lái),在工作中積累的典型例程也應(yīng)該定期整理,日積月累,自己就有了一個(gè)代碼庫(kù)了。遇到類似的問題,到代碼庫(kù)里面 Copy & Paste,Search & Replace,就好了,極大提高了開發(fā)速度。最理想的情況是把一些通用的例程自己再抽象一層,形成一個(gè)通用的類庫(kù),封裝好。那么可復(fù)用性就更強(qiáng)了。
所以我覺得其實(shí)不是特別需要例程的,自己寫的破壞例程就是最好的例子,如果你實(shí)在對(duì)自己寫的代碼不放心的話,我強(qiáng)烈推薦你看看JDK基礎(chǔ)類庫(kù)的Java源代碼。在JDK安裝目錄下面會(huì)有一個(gè)src.zip,解開來(lái)就可以完整的看到整個(gè)JDK基礎(chǔ)類庫(kù),也就是rt.jar的Java源代碼,你可以參考一下Sun是怎么寫Java程序的,規(guī)范是什么樣子的。我自己在學(xué)習(xí)Java的類庫(kù)的時(shí)候,當(dāng)有些地方理解的不是很清楚的時(shí)候,或者想更加清晰的理解運(yùn)作的細(xì)節(jié)的時(shí)候,往往會(huì)打開相應(yīng)的類的源代碼,通過看源代碼,所有的問題都會(huì)一掃而空。
江西新華電腦學(xué)院
第二篇:java學(xué)習(xí)方法筆記總結(jié).
本人親自總結(jié)了多年學(xué)習(xí)JAVA的筆記總結(jié),多年心血都在此了,速來(lái)下載!下面簡(jiǎn)單列舉一下大家學(xué)習(xí)java的一個(gè)系統(tǒng)知識(shí)點(diǎn)的一些介紹(按照TTS6上面的順序來(lái)的):
一:java基礎(chǔ)部分:java基礎(chǔ)的時(shí)候,有些知識(shí)點(diǎn)是非常重要的,比如循環(huán)系列。For,while,do-while.這方面只要大家用心點(diǎn)基本沒什么難點(diǎn)。
二:面向?qū)ο螅簅op面向?qū)ο蟮臅r(shí)候,偏重理論,相信這方面的文章也很多,大家可以多看看,在這就不說(shuō)了。重點(diǎn)掌握面向?qū)ο蟮娜筇卣骱突驹怼?/p>
三:java核心一:這方面主要偏重API,所以在學(xué)習(xí)了這章的時(shí)候,一定要對(duì)照API去學(xué)習(xí),多看API,主要就是方法多,string和集合的方法最為重要。后面將為大家提供本人整理的部分筆記。
四:java核心二:主要講解了異常,線程和IO流,其實(shí)個(gè)人認(rèn)為重點(diǎn)掌握線程就行,對(duì)于流和異常多寫就行,線程偏重理論也最為重要。
五:oracle數(shù)據(jù)庫(kù)方面:建議學(xué)習(xí)數(shù)據(jù)庫(kù)的時(shí)候大家一定要端正態(tài)度,數(shù)據(jù)庫(kù)極為重要,本人當(dāng)時(shí)在學(xué)習(xí)這個(gè)的時(shí)候,一直以為數(shù)據(jù)庫(kù)只是為了增刪改查,故沒有認(rèn)真學(xué)習(xí),后期面試的時(shí)候吃了不少虧,因?yàn)楝F(xiàn)在軟件公司對(duì)數(shù)據(jù)庫(kù)的要求跟java一樣重要,基本都會(huì)單獨(dú)一張筆試題筆試數(shù)據(jù)庫(kù)。
六:JDBC/XML系列:JDBC主要是3個(gè)核心接口(Connection)(Statement)(ResultSet)的使用,大家在學(xué)習(xí)的時(shí)候,熟練運(yùn)用3接口,jdbc的原理也相當(dāng)重要,雖然后期學(xué)習(xí)了HIbernate之后,JDBC不需要再用,但其底層原理還是JDBC,而且現(xiàn)在很多軟件公司不一定會(huì)用到Hibernate框架,所以建議大家還是把“本”學(xué)好,XML:重點(diǎn)掌握解析互換的2個(gè)核心接口方法。
七:HTML/CSS/JS:對(duì)于這個(gè),本人相當(dāng)糾結(jié),因?yàn)檫@個(gè)有點(diǎn)偏向于美工的意思,所以后期想從事后臺(tái)開發(fā)的同學(xué)一般不會(huì)太重視,但是現(xiàn)在都是web項(xiàng)目,而且很多軟件公司并不是把許多這方面的事情交給美工(除非是那種有很高要求的靜態(tài)頁(yè)面),而且現(xiàn)在html代碼都是在jsp里面寫,所以建議還是好好學(xué)學(xué),因?yàn)楣静粫?huì)讓一個(gè)美工去專門為你寫一些簡(jiǎn)單的html代碼,包括js!這章其實(shí)不難,就是屬性方法知識(shí)點(diǎn)比較多,大家多記記,多寫寫,重在多練!
八:Servlet/Jsp:如果想從事web和b/s開發(fā)(現(xiàn)在基本都是web和b/s開發(fā)),這章極為重要,服務(wù)器的訪問以及配置。tomcat的使用都在這一章,雖然后期struts框架的學(xué)習(xí)簡(jiǎn)化了servlet代碼的繁瑣性,但是你可知道現(xiàn)在有些公司只用servlet不用struts!即使用了框架技術(shù)也不一定是struts!servlet跟JDBC一樣都是“本”,而struts和Hibernate一樣都是封裝了它們而后簡(jiǎn)化代碼而已。所以只有把“本”學(xué)會(huì)了,就不怕框架的變化!jsp就不多說(shuō)了,如果你學(xué)習(xí)java這個(gè)就不會(huì)缺少!后期b/s項(xiàng)目頁(yè)面的布局以及功能就全靠它了。
九:Ajax/Jquery:當(dāng)初學(xué)習(xí)這個(gè)的時(shí)候,本人沒有用心去學(xué),然后結(jié)果就是本人在進(jìn)公司之后花了一個(gè)星期的時(shí)間練習(xí)jQuery!這個(gè)對(duì)于強(qiáng)化web服務(wù)器頁(yè)面的功能技術(shù)實(shí)在是強(qiáng)大.這個(gè)封裝了js對(duì)象的技術(shù),可以對(duì)jsp頁(yè)面元素進(jìn)行樣式的更改以及操作,想要玩好web項(xiàng)目,這個(gè)技術(shù)必須玩好!
十:SSH:傳說(shuō)中的三大框架;
Struts:前面已經(jīng)提到,這個(gè)框架技術(shù)主要是為了彌補(bǔ)servlet和jsp頁(yè)面之間交互的復(fù)雜性,可以有效的提高客戶端與服務(wù)器之間的交互。而且采用了MVC思想進(jìn)行改善減弱代碼之間的復(fù)雜性。Hibernate:主要封裝了jdbc的核心功能,可以采用映射方式訪問并操作數(shù)據(jù)庫(kù),一定程度上講是簡(jiǎn)化了程序代碼,但前面已經(jīng)提到,由于是框架,而框架是隨著時(shí)代而改變的,并且很多公司不一定用到這個(gè)框架,所以,只有掌握好JDBC的根本原理,才會(huì)更加理解這個(gè)框架。
Spring框架:其實(shí)后期學(xué)框架知識(shí)大家都會(huì)覺得很無(wú)趣和乏味,因?yàn)榭蚣艿闹R(shí)都是理論很深的知識(shí)點(diǎn),spring主要是要完善代碼之間的耦合度,包括類似工廠模式的對(duì)象自動(dòng)控制,AOP的事物日志管理等,都其實(shí)是為了減少程序員的工作量,但不得不說(shuō)是有很大的作用的,而且這個(gè)框架可以整合JDBC以及Hibernate,struts技術(shù),可以把所有的框架技術(shù)都整合在一起。相當(dāng)于一塊主板把內(nèi)存,風(fēng)扇,cpu,顯卡都集中在一起。
前面所有的都是個(gè)人學(xué)習(xí)之中的一點(diǎn)感受,希望大家也能有所感觸,主要想說(shuō)明的是前面的基礎(chǔ)一定要打好,對(duì)于學(xué)習(xí)方法的問題也可以和大家聊一聊,本人在學(xué)習(xí)之初,由于面向?qū)ο蠛图弦恍├碚撦^深的知識(shí)點(diǎn)出現(xiàn),導(dǎo)致后期比較注重理論,最終在寫實(shí)際項(xiàng)目的時(shí)候吃了苦頭,因?yàn)榇a量沒有跟上,即使理論都懂,但很多功能還是無(wú)法自己寫出,所以要強(qiáng)調(diào)的是在注重理論的情況下一定要多寫代碼,我的建議是在理論比較深刻的知識(shí)點(diǎn)面前,比如面向?qū)ο螅?,線程這些知識(shí),多看點(diǎn)理論,而對(duì)于html,css以及API方法比較多的知識(shí)點(diǎn)的情況下,多寫代碼。總之,各50%最好!當(dāng)然,這就需要大家付出更多的時(shí)間和精力辛苦勤勞下了!其實(shí)java的學(xué)習(xí)還是要多練代碼,多思考,舉一反三,任何的知識(shí)點(diǎn)只要你認(rèn)真的去做,沒有拿不下的頑石,勤能補(bǔ)拙,相信自己,然后用功,你就勝利了。
下面說(shuō)一下面試技巧。
其實(shí)4個(gè)月是相當(dāng)?shù)目?,一瞬間而已,所以希望大家在還沒有學(xué)完的時(shí)候,就要有面試的準(zhǔn)備,關(guān)于面試,一般企業(yè)也就那幾個(gè)步驟,筆試-面試,面試又包括技術(shù)面試和人事面試,人事面試基本不會(huì)有什么問題,關(guān)鍵就是技術(shù)面試,當(dāng)然,如果大家有認(rèn)真的學(xué)學(xué)習(xí),筆試一般不會(huì)有什么問題,技術(shù)面試的話,一般都是項(xiàng)目經(jīng)理之類的,會(huì)問到幾個(gè)技術(shù)問題,范圍也很廣,不知道他會(huì)問到什么,所以必須大家對(duì)于知識(shí)點(diǎn)的話都要有基本的掌握,當(dāng)然會(huì)有幾個(gè)比較重點(diǎn)的知識(shí) 點(diǎn),像集合,servlet,線程,其實(shí)重點(diǎn)也很多,這個(gè)大家后期可以參考面試的文檔,到時(shí)候老師會(huì)發(fā)給大家一些相關(guān)的文檔,當(dāng)然自己也可以去下載一些相關(guān)的文檔,要強(qiáng)調(diào)一點(diǎn)的是數(shù)據(jù)庫(kù)必問!這個(gè)相當(dāng)重要!前面也已經(jīng)說(shuō)了,所以希望一定要把數(shù)據(jù)庫(kù)學(xué)好!
下面為大家提供部分本人整理的筆記: String的核心方法:
字符串轉(zhuǎn)換整數(shù):Integer.parseInt(字符串變量);整數(shù)轉(zhuǎn)換字符串:String.valueOf(整型變量)
日期轉(zhuǎn)字符串:new SimpleDateFormat().format(date類型)返回字符串元素的字符長(zhǎng)度:length()方法
Int IndexOf(String a),在字符串元素中檢索a字符,返回第一個(gè)出現(xiàn)的下標(biāo)位置。Int indexOf(String a,int fromIndex),從formIndex位置開始檢索字符串,找到之后的a字符。
Char charAt(int index):用于返回字符串index位置的字符.Substring(begin,end):返回子字符串
valueOf(Object):返回Object參數(shù)的字符串表示形式。toUpperCase():返回字符串的大寫形式。toLowerCase():返回小寫形式。
StringBuilder核心方法:
StringBuilder:性能好,非線程安全.Append(String s):追加字符串。
Insert(3,”String”)插入字符串
Delete(int start,int end):刪除字符串。
Replace(int start,int end, String s):替換字符串 Reverse():字符串反轉(zhuǎn).集合核心方法:
Boolean isEmpty():判斷集合是否為空 Size():判斷集合里面元素的個(gè)數(shù)
Boolean Contains(Object):判斷集合元素中是否包含Object元素.Clear():清空集合。
Boolean Add(Object):向集合中添加元素,返回是否添加成功.Boolean remove(Object):從集合中刪除元素。Iterator iterator():迭代元素。
增強(qiáng)for循環(huán):for(Point p:list):遍歷list,每次循環(huán)從list中取出一個(gè)元素賦值給p.List單獨(dú)的方法:
get(index):得到index下標(biāo)的集合元素.Set(index,元素o):設(shè)置index處的元素為元素o,前面的元素將被覆蓋,并且方法返回的值是前面的元素。
Add(index,元素):在指定下標(biāo)index添加元素 Remove(index):刪除指定下標(biāo)的元素值
List:定義線性表數(shù)據(jù)結(jié)構(gòu).ArrayList:動(dòng)態(tài)數(shù)組方式,適合隨機(jī)訪問對(duì)象.LinkedList:鏈表方式,適合于插入和刪除.subList():用于獲取子List,獲取的List與原List占有相同的存貯空間,操作會(huì)影響原List.List
以上方法都是本人從API里面選取的面試筆試必考的方法,這些方法大家完全可以去背熟,當(dāng)然理解的去記更好了。這個(gè)還是需要大家自己親身去總結(jié)的!別人給不了你知識(shí)!知識(shí)還是自己去學(xué)去掌握!別人只能給你方法!別人可以寫出來(lái)給你,但是要完全理解并掌握還是要自己!授人與魚不如授人與漁!好了,本人要說(shuō)的就是這些了。更多的精彩需要大家自己去發(fā)現(xiàn)!曾在網(wǎng)上看過幾個(gè)不錯(cuò)的學(xué)習(xí)視頻,感興趣的可以進(jìn)群了解下,群號(hào)是五一四,一六七,后面是六七八,連在一起就好了,真心可以學(xué)到東西!
第三篇:總結(jié)java學(xué)習(xí)方法和能力
在傳智學(xué)習(xí)了20多天,我覺得最大的收獲不是學(xué)習(xí)了多少基礎(chǔ)知識(shí),而是知道了自己如何學(xué)好java。俗話說(shuō)的好,“授人以魚不如授人以漁”,其實(shí)傳智做的就是授人以漁,現(xiàn)在的計(jì)算機(jī)技術(shù)是快速更替的,如果我們?cè)趯W(xué)校學(xué)習(xí)的只是技術(shù)知識(shí),是很難適應(yīng)這種快速更替的潮流的,只有掌握了適合自己的學(xué)習(xí)方法,才能以不變應(yīng)萬(wàn)變。
我覺得java的學(xué)習(xí)主要有兩點(diǎn),一是心態(tài),二是方法。
第一點(diǎn),我覺得是最重要的,就是得有一個(gè)良好的心態(tài),一定要忌驕忌躁,保持一顆平常心,在學(xué)習(xí)java的過程中難免會(huì)遇到一些難以理解的知識(shí)點(diǎn),其實(shí)這是絕大多數(shù)人學(xué)習(xí)java都會(huì)遇到的問題,特別是對(duì)于沒有一點(diǎn)基礎(chǔ)的同學(xué),在這個(gè)過程中一定不要提防這種焦慮的心態(tài),如果出現(xiàn)了這樣的心態(tài),一定要想辦法克服掉。當(dāng)然還有一些人在學(xué)習(xí)的時(shí)候,這些人里面也包括我,在聽課的時(shí)候感覺很輕松,就產(chǎn)生了一種放松的心理,下課了也很少敲代碼,在做題目的時(shí)候就囧了,這也是不行的。所以平常心最總要。
第二點(diǎn),就是學(xué)習(xí)方法,每個(gè)人都有自己的學(xué)習(xí)方法,我的學(xué)習(xí)方法就是勤敲代碼,常看總結(jié)。我記得上課的第一天,崔老師就告訴了我們學(xué)習(xí)java的方法,就一個(gè)字,那就是“敲”,當(dāng)時(shí)我還不是很在意,但是在面對(duì)一個(gè)個(gè)看似很簡(jiǎn)單的問題面前無(wú)從下手的時(shí)候我立馬就意識(shí)到“敲”的重要性,自己敲過的東西,能在大腦里面留下很深的印象,那跟看老師敲代碼是截然不同的效果,所以一定要自己動(dòng)手敲,而且要勤敲。不知道大家有沒有遇到這種情況,感覺自己學(xué)到了很多東西,但是你自己卻說(shuō)不出來(lái)自己到底學(xué)到了,哪些知識(shí)點(diǎn),反正我是遇到了這種情況,這說(shuō)明我們學(xué)到的東西在我們大腦里面存儲(chǔ)的非常的凌亂,這個(gè)時(shí)候我們需要看總結(jié),來(lái)梳理我們學(xué)到的東西。而且看總結(jié)還可以找到自己薄弱的環(huán)節(jié),然后加強(qiáng)這些環(huán)節(jié),所以對(duì)提高是很有必要的。劉意老師給我們的建議是三到五天看一下之前的總結(jié),我覺得有時(shí)間的話,應(yīng)該天天看。
我覺得學(xué)習(xí)java有三大境界
第一大境界,理解,就是能夠理解老師所講的東西,能看懂代碼,我覺得這是學(xué)好java最基本的,但是對(duì)于初學(xué)java的人來(lái)說(shuō)還是有點(diǎn)難度的。
第二大境界,做,能自己獨(dú)立完成編程,這個(gè)是需要靠大量的實(shí)踐才能達(dá)到的,所以想達(dá)到這個(gè)境界一定要勤敲代碼。
第三大境界,說(shuō),能講出自己對(duì)程序的理解,讓別人聽懂。我覺得能達(dá)到這一步已經(jīng)是相當(dāng)?shù)呐A?,這是需要超強(qiáng)的技術(shù)功底和表達(dá)能力的結(jié)合才行,到現(xiàn)在我所接觸的三個(gè)傳智的老師都有這樣的功底,他們對(duì)java編程都有自己深刻的理解,并能結(jié)合現(xiàn)實(shí)生活中的例子娓娓道來(lái),但是我知道他們能達(dá)到這樣的境界,跟他們多年的教學(xué)經(jīng)歷是息息相關(guān)的,而且他們熱愛這個(gè)職業(yè),所以他們講課總是慷慨激昂。
第四篇:java學(xué)習(xí)方法(寫寫幫整理)
學(xué)完java的基礎(chǔ)部分(包括OOP),之后是該學(xué)習(xí)類庫(kù)(API)了。一般的只要是介紹java的書籍,這部分知識(shí)點(diǎn)都有的,推薦的書籍有:
java core(推薦中譯版第七版卷一,卷二),java極品攻略,java語(yǔ)言程序設(shè)計(jì),Java.Rules中文版等書籍(百度里可以搜到電子書,csdn也有)學(xué)完這些的某本書籍之后(不在多,而在精,要詳盡的學(xué)完一本書),就對(duì)j2se有一個(gè)大概的了解。這但顯然不夠,此時(shí)你還得更深入的學(xué)習(xí),這個(gè)時(shí)候就可以研讀一些牛書了:java編程思想(推薦第三或第四版),Effective Java(第一或第二版)等書。到底J2SE能到學(xué)到什么程度還是得靠自己努力,j2se一定要學(xué)好,它是整個(gè)java體系的基石。
如果你想吃java這碗飯,我可以給你列一個(gè)大概的學(xué)習(xí)路線
學(xué)完上述部分,這時(shí)你就要發(fā)一些時(shí)間研究一些數(shù)據(jù)結(jié)構(gòu)跟算法了,推薦的書籍有:java數(shù)據(jù)結(jié)構(gòu)與算法,計(jì)算機(jī)算法設(shè)計(jì)與分析王曉東,算法導(dǎo)論中文版等,現(xiàn)在方便了,這些書籍都有電子版。另外你也可以做一些ACM(國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽題目)題目,可以在浙江大學(xué)acm平臺(tái)或杭州電子科技大學(xué)acm平時(shí)上做題。(有點(diǎn)想其以前為做一個(gè)題目而發(fā)費(fèi)幾星期時(shí)間拼搏的情景了,有點(diǎn)懷念跟感傷,呵呵...)
對(duì)數(shù)據(jù)結(jié)構(gòu)很算法有一定了解后接下來(lái)就是設(shè)計(jì)模式了,這個(gè)很重要。你必須對(duì)java的OOP設(shè)計(jì)模式有一個(gè)非常全面的了解,要拿過來(lái)就能用,至少要對(duì)那23種設(shè)計(jì)模式牢記在心。推薦的書籍有:閻宏博士的java與模式(這本書非常好,結(jié)合中國(guó)道家思想來(lái)講解),Head First 設(shè)計(jì)模式,大話設(shè)計(jì)模式(這個(gè)是C++實(shí)現(xiàn),不過C++代碼轉(zhuǎn)換成JAVA代碼也變不了多少,建議看,這本書講的非常通俗易懂),還是就是GOF的設(shè)計(jì)模式了等等。
學(xué)完了這些算是對(duì)j2se跟OOP思想有一個(gè)整體的認(rèn)識(shí)了,此時(shí)還不夠(是不是覺的很麻煩了???我們要抱著不怕死的信念去學(xué)的,哈哈),接下來(lái)就可以瀏覽一些java的論壇了,中國(guó)java的論壇很多,比如就CSDN就是一個(gè)非常好的平臺(tái),你有興趣可以進(jìn)這個(gè)網(wǎng)站搜:java中文網(wǎng)址大全:http:///cwbwebhome/index1.jsp(中國(guó)的java論壇這里基本上全都有了),另外提醒一點(diǎn)一開始你最好別去javaeye這個(gè)論壇,要不然會(huì)受打擊的,呵呵,等你覺得自己也是牛人了,那么你才去,我是這么想的。
好了j2se這部分就講到這,接下來(lái)就是java web這部分了,包括:
jsp,jdbc,javabean,servlet技術(shù),這類書籍現(xiàn)在很多,網(wǎng)上可以下好電子版,這類書籍感覺都差不多。學(xué)好這些之后就要學(xué)學(xué)做一些東西了,比如網(wǎng)上商城系統(tǒng),購(gòu)物系統(tǒng)等等
如果想做ERP也可以,那還要學(xué)習(xí)ERP的知識(shí)
第五篇:淺談java學(xué)習(xí)方法以及后期面試技巧.
時(shí)光飛逝,本人2月底份班級(jí),現(xiàn)已畢業(yè),現(xiàn)在此發(fā)表一些學(xué)習(xí)感受以及學(xué)習(xí)技巧,本篇文章純手打,大家可以參考一下。
下面簡(jiǎn)單列舉一下大家學(xué)習(xí)java的一個(gè)系統(tǒng)知識(shí)點(diǎn)的一些介紹(按照TTS6上面的順序來(lái)的):
一:java基礎(chǔ)部分:java基礎(chǔ)的時(shí)候,有些知識(shí)點(diǎn)是非常重要的,比如循環(huán)系列。For,while,do-while.這方面只要大家用心點(diǎn)基本沒什么難點(diǎn)。
二:面向?qū)ο螅簅op面向?qū)ο蟮臅r(shí)候,偏重理論,相信這方面的文章也很多,大家可以多看看,在這就不說(shuō)了。重點(diǎn)掌握面向?qū)ο蟮娜筇卣骱突驹怼?/p>
三:java核心一:這方面主要偏重API,所以在學(xué)習(xí)了這章的時(shí)候,一定要對(duì)照API去學(xué)習(xí),多看API,主要就是方法多,string和集合的方法最為重要。后面將為大家提供本人整理的部分筆記。
四:java核心二:主要講解了異常,線程和IO流,其實(shí)個(gè)人認(rèn)為重點(diǎn)掌握線程就行,對(duì)于流和異常多寫就行,線程偏重理論也最為重要。
五:oracle數(shù)據(jù)庫(kù)方面:建議學(xué)習(xí)數(shù)據(jù)庫(kù)的時(shí)候大家一定要端正態(tài)度,數(shù)據(jù)庫(kù)極為重要,本人當(dāng)時(shí)在學(xué)習(xí)這個(gè)的時(shí)候,一直以為數(shù)據(jù)庫(kù)只是為了增刪改查,故沒有認(rèn)真學(xué)習(xí),后期面試的時(shí)候吃了不少虧,因?yàn)楝F(xiàn)在軟件公司對(duì)數(shù)據(jù)庫(kù)的要求跟java一樣重要,基本都會(huì)單獨(dú)一張筆試題筆試數(shù)據(jù)庫(kù)。
六:JDBC/XML系列:JDBC主要是3個(gè)核心接口(Connection)(Statement)(ResultSet)的使用,大家在學(xué)習(xí)的時(shí)候,熟練運(yùn)用3接口,jdbc的原理也相當(dāng)重要,雖然后期學(xué)習(xí)了HIbernate之后,JDBC不需要再用,但其底層原理還是JDBC,而且現(xiàn)在很多軟件公司不
一定會(huì)用到Hibernate框架,所以建議大家還是把“本”學(xué)好,XML:重點(diǎn)掌握解析互換的2個(gè)核心接口方法。
七:HTML/CSS/JS:對(duì)于這個(gè),本人相當(dāng)糾結(jié),因?yàn)檫@個(gè)有點(diǎn)偏向于美工的意思,所以后期想從事后臺(tái)開發(fā)的同學(xué)一般不會(huì)太重視,但是現(xiàn)在都是web項(xiàng)目,而且很多軟件公司并不是把許多這方面的事情交給美工(除非是那種有很高要求的靜態(tài)頁(yè)面),而且現(xiàn)在html代碼都是在jsp里面寫,所以建議還是好好學(xué)學(xué),因?yàn)楣静粫?huì)讓一個(gè)美工去專門為你寫一些簡(jiǎn)單的html代碼,包括js!這章其實(shí)不難,就是屬性方法知識(shí)點(diǎn)比較多,大家多記記,多寫寫,重在多練!
八:Servlet/Jsp:如果想從事web和b/s開發(fā)(現(xiàn)在基本都是web和b/s開發(fā)),這章極為重要,服務(wù)器的訪問以及配置。tomcat的使用都在這一章,雖然后期struts框架的學(xué)習(xí)簡(jiǎn)化了servlet代碼的繁瑣性,但是你可知道現(xiàn)在有些公司只用servlet不用struts!即使用了框架技術(shù)也不一定是struts!servlet跟JDBC一樣都是“本”,而struts和Hibernate一樣都是封裝了它們而后簡(jiǎn)化代碼而已。所以只有把“本”學(xué)會(huì)了,就不怕框架的變化!jsp就不多說(shuō)了,如果你學(xué)習(xí)java這個(gè)就不會(huì)缺少!后期b/s項(xiàng)目頁(yè)面的布局以及功能就全靠它了。
九:Ajax/Jquery:當(dāng)初學(xué)習(xí)這個(gè)的時(shí)候,本人沒有用心去學(xué),然后結(jié)果就是本人在進(jìn)公司之后花了一個(gè)星期的時(shí)間練習(xí)jQuery!這個(gè)對(duì)于強(qiáng)化web服務(wù)器頁(yè)面的功能技術(shù)實(shí)在是強(qiáng)大.這個(gè)封裝了js對(duì)象的技術(shù),可以對(duì)jsp頁(yè)面元素進(jìn)行樣式的更改以及操作,想要玩好web項(xiàng)目,這個(gè)技術(shù)必須玩好!
十:SSH:傳說(shuō)中的三大框架;
Struts:前面已經(jīng)提到,這個(gè)框架技術(shù)主要是為了彌補(bǔ)servlet和jsp頁(yè)面之間交互的復(fù)雜
性,可以有效的提高客戶端與服務(wù)器之間的交互。而且采用了MVC思想進(jìn)行改善減弱代碼之間的復(fù)雜性。
Hibernate:主要封裝了jdbc的核心功能,可以采用映射方式訪問并操作數(shù)據(jù)庫(kù),一定程度上講是簡(jiǎn)化了程序代碼,但前面已經(jīng)提到,由于是框架,而框架是隨著時(shí)代而改變的,并且很多公司不一定用到這個(gè)框架,所以,只有掌握好JDBC的根本原理,才會(huì)更加理解這個(gè)框架。
Spring框架:其實(shí)后期學(xué)框架知識(shí)大家都會(huì)覺得很無(wú)趣和乏味,因?yàn)榭蚣艿闹R(shí)都是理論很深的知識(shí)點(diǎn),spring主要是要完善代碼之間的耦合度,包括類似工廠模式的對(duì)象自動(dòng)控制,AOP的事物日志管理等,都其實(shí)是為了減少程序員的工作量,但不得不說(shuō)是有很大的作用的,而且這個(gè)框架可以整合JDBC以及Hibernate,struts技術(shù),可以把所有的框架技術(shù)都整合在一起。相當(dāng)于一塊主板把內(nèi)存,風(fēng)扇,cpu,顯卡都集中在一起。
前面所有的都是個(gè)人學(xué)習(xí)之中的一點(diǎn)感受,希望大家也能有所感觸,主要想說(shuō)明的是前面的基礎(chǔ)一定要打好,對(duì)于學(xué)習(xí)方法的問題也可以和大家聊一聊,本人在學(xué)習(xí)之初,由于面向?qū)ο蠛图弦恍├碚撦^深的知識(shí)點(diǎn)出現(xiàn),導(dǎo)致后期比較注重理論,最終在寫實(shí)際項(xiàng)目的時(shí)候吃了苦頭,因?yàn)榇a量沒有跟上,即使理論都懂,但很多功能還是無(wú)法自己寫出,所以要強(qiáng)調(diào)的是在注重理論的情況下一定要多寫代碼,我的建議是在理論比較深刻的知識(shí)點(diǎn)面前,比如面向?qū)ο螅?,線程這些知識(shí),多看點(diǎn)理論,而對(duì)于html,css以及API方法比較多的知識(shí)點(diǎn)的情況下,多寫代碼??傊?,各50%最好!當(dāng)然,這就需要大家付出更多的時(shí)間和精力辛苦勤勞下了!其實(shí)java的學(xué)習(xí)還是要多練代碼,多思考,舉一反三,任何的知識(shí)點(diǎn)只要你認(rèn)真的去做,沒有拿不下的頑石,勤能補(bǔ)拙,相信自己,然后用功,你就勝利了。
下面說(shuō)一下面試技巧。
其實(shí)4個(gè)月是相當(dāng)?shù)目?,一瞬間而已,所以希望大家在還沒有學(xué)完的時(shí)候,就要
有面試的準(zhǔn)備,關(guān)于面試,一般企業(yè)也就那幾個(gè)步驟,筆試-面試,面試又包括技術(shù)面試和人事面試,人事面試基本不會(huì)有什么問題,關(guān)鍵就是技術(shù)面試,當(dāng)然,如果大家有認(rèn)真的學(xué)學(xué)習(xí),筆試一般不會(huì)有什么問題,技術(shù)面試的話,一般都是項(xiàng)目經(jīng)理之類的,會(huì)問到幾個(gè)技術(shù)問題,范圍也很廣,不知道他會(huì)問到什么,所以必須大家對(duì)于知識(shí)點(diǎn)的話都要有基本的掌握,當(dāng)然會(huì)有幾個(gè)比較重點(diǎn)的知識(shí)點(diǎn),像集合,servlet,線程,其實(shí)重點(diǎn)也很多,這個(gè)大家后期可以參考面試的文檔,到時(shí)候老師會(huì)發(fā)給大家一些相關(guān)的文檔,當(dāng)然自己也可以去下載一些相關(guān)的文檔,要強(qiáng)調(diào)一點(diǎn)的是數(shù)據(jù)庫(kù)必問!這個(gè)相當(dāng)重要!前面也已經(jīng)說(shuō)了,所以希望一定要把數(shù)據(jù)庫(kù)學(xué)好!
下面為大家提供部分本人整理的筆記:
String的核心方法:
字符串轉(zhuǎn)換整數(shù):Integer.parseInt(字符串變量);
整數(shù)轉(zhuǎn)換字符串:String.valueOf(整型變量)
日期轉(zhuǎn)字符串:newSimpleDateFormat().format(date類型)
返回字符串元素的字符長(zhǎng)度:length()方法
IntIndexOf(String a),在字符串元素中檢索a字符,返回第一個(gè)出現(xiàn)的下標(biāo)位置。
IntindexOf(String a,int fromIndex),從formIndex位置開始檢索字符串,找到之后的a字符。
Char charAt(int index):用于返回字符串index位置的字符.Substring(begin,end):返回子字符串
valueOf(Object):返回Object參數(shù)的字符串表示形式。
toUpperCase():返回字符串的大寫形式。
toLowerCase():返回小寫形式。
StringBuilder核心方法:
StringBuilder:性能好,非線程安全.Append(Strings):追加字符串。
Insert(3,”String”)插入字符串
Delete(intstart,intend):刪除字符串。
Replace(intstart,intend, Strings):替換字符串
Reverse():字符串反轉(zhuǎn).集合核心方法:
Boolean isEmpty():判斷集合是否為空
Size():判斷集合里面元素的個(gè)數(shù)
Boolean Contains(Object):判斷集合元素中是否包含Object元素.Clear():清空集合。
Boolean Add(Object):向集合中添加元素,返回是否添加成功.Booleanremove(Object):從集合中刪除元素。
Iteratoriterator():迭代元素。
增強(qiáng)for循環(huán):for(Point p:list):遍歷list,每次循環(huán)從list中取出一個(gè)元素賦值給p.List單獨(dú)的方法:
get(index):得到index下標(biāo)的集合元素.Set(index,元素o):設(shè)置index處的元素為元素o,前面的元素將被覆蓋,并且方法返回的值是前面的元素。
Add(index,元素):在指定下標(biāo)index添加元素
Remove(index):刪除指定下標(biāo)的元素值
List:定義線性表數(shù)據(jù)結(jié)構(gòu).ArrayList:動(dòng)態(tài)數(shù)組方式,適合隨機(jī)訪問對(duì)象.LinkedList:鏈表方式,適合于插入和刪除.subList():用于獲取子List,獲取的List與原List占有相同的存貯空間,操作會(huì)影響原List.List
以上方法都是本人從API里面選取的面試筆試必考的方法,這些方法大家完全可以去背熟,當(dāng)然理解的去記更好了。這個(gè)還是需要大家自己親身去總結(jié)的!別人給不了你知識(shí)!知識(shí)還是自己去學(xué)去掌握!別人只能給你方法!別人可以寫出來(lái)給你,但是要完全理解并掌握還是要自己!授人與魚不如授人與漁!好了,本人要說(shuō)的就是這些了。更多的精彩需要大家自己去發(fā)現(xiàn)!