精學JAVA
Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言,它具有良好的通用性、高效性、平台移植性和安全性,廣泛用於個人PC、數據中心、游戲控制台等,同時擁有較大的開發者專業社群。那麼我們如何才能學好Java?
1、認真閱讀Java相關的書籍
盡管如今在網路上有很多的視頻能夠收看,促使Java的學習培訓越來越簡易了起來,可是必須留意的是,這也只是是學習的途徑變多了,又換句話說新手入門的方法多元化了,並不意味著著這門技術性越來越非常容易了。只不過是學會了毛皮。書籍一直是知識的最高載體,許多優秀程序員精心編寫的編程書籍,不僅有很多知識,而且有很多是他們教導的思想,通過閱讀這些書籍,不僅能學會技術,還能幫助熟練者理解編程思維。比如《實戰Java程序設計》這是一本既注重實戰,同時也注重底層「內功」(內存分析、JVM底層、數據結構)訓練的書,本書能幫 助初學者打通Java編程「任督二脈」。本書集作者11年Java教學之精華,既適合初學者入門,也適合已經工作 的開發者復習。
2、學好基本語法,弄清Java的特點
學習Java說的直白些就是學習它的語法、功能、結構等,然後按照它的語法編寫代碼。語法是學習Java的基礎,剛開始學習的時候可能會很難理解,但是沒關系,這屬於正常現象,只要多看、多問、多實踐,慢慢地你就會入門。
3、學習沒有捷徑,一定要多動手實踐
學習Java就像學習數學一樣,在懂得理論知識後,一定要實踐。學習Java不能搭便車,有些時候,句子和語法看起來很簡單,但是親自實踐起來卻總有自己不知道的知識盲點。哪怕是簡單的小程序,書本上的小例子,只有多動手操作,也會提高自己的代碼能力。
4、制定詳細的學習計劃
擁有一定的專業知識基本後,接下去大家務必制訂一套行得通的學習規劃。這里我關鍵指的是詳細的學習培訓線路。盡管Java學起來非常簡單,但大家如果要學精學透,就得由淺入深的一步步把握。
5、學會總結
學編程有一個禁忌,那就是學了新的知識,就把之前的知識忘記了。這時候就要做到分階段來進行總結,做到把遇到的問題以及解決思路記錄下來,同時還要備註上自己的經驗和技巧,在之後的日子裡多去瀏覽自己曾經記下的這些東西,不斷的積累,讓自己的成長變得扎實和迅速。
② 做網頁設計要學java嗎是否精學java
做網頁完全可以不用java,但現在的趨勢是 將來的應用程序 都將搭載在瀏覽器之上 就是所謂的b/s 以後的電腦將沒有硬碟 個人的所有的數據都存在雲端 只有瀏覽器就可以搭載任何的 東西 從這一方面考慮 你必須學習web的前台表述 比如html 和css javascript ,不過後台的伺服器腳本程序你可以選擇 java 和。net各有所長。對與賺不賺錢我不敢肯定 只能告訴你一句話 只要你是金子,做什麼都會發光 你是沙子 再高深的技術也只是沙塵暴 潘多拉的盒子
③ 如何有質有量的學精java框架
三框架:Struts+Hibernate+Spring
Java三框架主要用做WEN應用
Struts主要負責表示層顯示
Spring利用IOCAOP處理控制業務(負責資料庫操作)
Hibernate主要數據持久化資料庫
再用jspservlet做網頁發候web.xml映射文件面mapping標簽用做文件映射瀏覽器輸入URL知候文件根據寫名稱應JAVA文件根據java文件編寫內容顯示瀏覽器網頁
.Struts框架:struts源軟體使用Struts目幫助我減少運用MVC設計模型發Web應用間我想混合使用ServletsJSP優點建立擴展應用struts錯選擇
1.流程:伺服器啟根據web.xml載入ActionServlet讀取struts-config.xml文件內容內存
2.架構:StrutsModelViewController都提供應組件ActionServlet類Struts核控制器負責攔截自用戶請求
Model部:由JavaBean組ActionForm用於封裝用戶請求參數封裝ActionForm象該象ActionServlet轉發給ActionAction根據ActionFrom面請求參數處理用戶請求JavaBean則封裝底層業務邏輯包括資料庫訪問等
View部:該部採用JSP實現Struts提供豐富標簽庫通標簽庫減少腳本使用自定義標簽庫實現與Model效交互並增加現實功能應圖JSP部
Controller組件:Controller組件兩部組——系統核控制器業務邏輯控制器 系統核控制器應圖ActionServlet該控制器由Struts框架提供繼承HttpServlet類配置標注Servlet該控制器負責攔截所HTTP請求根據用戶請求決定否要轉給業務邏輯控制器業務邏輯控制器負責處理用戶請求本身具備處理能力調用Model完處理應Action部
二.Spring框架
Spring解決許J2EE發見問題強框架Springle提供管理業務象致並且鼓勵注入介面編程類變習慣Spring架構基礎基於使用JavaBean屬性Inversion of Control 容器Spring使用IoC容器作構建玩關注所架構層層完整解決案面獨二Spring提供唯數據管理抽象包括簡單效率JDBC框架極改進效率並且減少能錯誤Spring數據訪問架構集Hibernate其O/R mapping 解決案
三.Hibernate框架
Hibernate 源代碼象關系映射框架JDBC驚醒費城輕量級象封裝使Java程序員隨所欲使用象變思維操作資料庫Hebernate應用任何使用JDBC場合既java客戶端程序使用Servlet/JSPWeb應用使用具革命意義事Hibernate應用EJBJ2EE架構取代CMP,完數據持久化重任
Hibernate核介面共5別:Session、SessionFactory、Transaction、QueryConfiguration5核介面任何發都用通些介面僅持久化象進行存取能夠進行事務控制面五核介面別加介紹
1.Session介面:負責執行持久化象CRUD操作(CRUD任務完與資料庫交流包含見SQL語句)需要注意Session象非線程安全同Hibernatesession同於JSP應用HttpSession使用session術語其實指HibernatesessionHttpSession象稱用戶session
2.SessionFactory介面:負責初始化Hibernate充數據存儲源代理並負責創建Session象用工廠模式需要注意SessionFactory並輕量級般情況項目通需要SessionFactory夠需要操作資料庫每資料庫指定SessionFactory
3.Configuration介面:負責配置並啟Hibernate創建SessionFactory象Hibernate啟程Configuration類實例首先定位映射文檔位置、讀取配置創建SessionFactory象
4.Transaction介面:負責事務相關操作選發員設計編寫自底層事務處理代碼
5.QueryCriteria介面:負責執行各種資料庫查詢使用HQL語言或SQL語句兩種表達式
習進群:前面258間337面765
④ 我怎麼樣學精JAVA啊
J2SE的作用其實就是讓你熟悉核心類,通過J2SE的編程掌握核心類的使用和編程技巧。然後你可以向具體的領域發展。建議學精不學雜,你可以掌握J2ME和C++、SQL,這些都是不同領域的東西,可以都掌握一下配合使用。比如要做手機游戲可以用J2ME,但是配合游戲的開發你可能需要一些輔助的工具,這些工具可以用J2SE寫,也可以用C++寫,我建議用C++寫,運行速度快。如果用J2SE寫呢,可以很好的集成到一些IDE中,比如JBuilder等。沒有給分,不多說了。閃人。
⑤ 學習java 3年了,感覺對java仍然很模糊,想學精java,可是就是不知道該如何下手。
很多網友問我學習Java有沒有什麼捷徑,我說「無他,唯手熟爾」。但是我卻很願意將?
自己學習的一些經驗寫出來,以便後來者少走彎路,幫助別人是最大的快樂嘛!?
要想學好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖?
使之無所不包,所以Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE,?
這也就是Sun?ONE(Open?Net?Environment)體系。J2SE就是Java2的標准版,主要用於桌?
面應用軟體的編程;J2ME主要應用於嵌入是系統開發,如手機和PDA的編程;J2EE是Jav?
a2的企業版,主要用於分布式的網路程序的開發,如電子商務網站和ERP系統。J2SE開發?
桌面應用軟體比起VC,VB,DEPHI這些傳統開發語言來說,優勢好象並不明顯。J2ME對於初?
學者來說,好象又有點深奧,而且一般開發者很難有開發環境。所以現在應用最廣泛又?
最好學的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,Java?
Mail等。要學習起來可不是一兩天的事。?
那麼又該如何學習J2EE呢?當然Java語法得先看一看的,I/O包,Util包,Lang包你都熟?
悉了嗎?然後再從JSP學起。如果你學過HTML,那麼事情要好辦的多,如果沒有,那你快?
去補一補HTML基礎吧。其實JSP中的Java語法也不多,它更象一個腳本語言,有點象ASP?
。然後你就該學一學Servlet了。Servlet就是伺服器端小程序,他負責生成發送給客戶?
端的HTML文件。JSP在執行時,也是先轉換成Servlet再運行的。雖說JSP理論上可以完全?
取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉還是挺方便的?
,也令程序更清晰。接下來你應該學習一下Javabean了,可能你早就看不管JSP在HTML中?
嵌Java代碼的混亂方式了,這種方式跟ASP又有什麼區別呢?還好,SUN提供了Javabean?
可以把你的JSP中的Java代碼封裝起來,便於調用也便於重用。接著就是EJB了,EJB就是?
Enterprise?JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區別的。它?
是一個體系結構,你可以搭建更安全、更穩定的企業應用。它的大量代碼已由中間件(?
也就是我們常聽到的Weblogic,Websphere這些J2EE伺服器)完成了,所以我們要做的程?
序代碼量很少,大部分工作都在設計和配置中間件上。至於JDBC,就不用我多說了,你?
如果用java編過存取資料庫的程序,就應該很熟悉。還有,如果你要用Java編發送電子?
郵件的程序,你就得看看Javamail了。?
好了,對Java和J2EE有了一些基本概念之後,你就應該編一些程序了,千萬不要紙上談?
兵哦。最好找一些有實例且帶光碟的書來看,這樣看到好的程序就可以直接Ctrl+C再Ct?
rl+V,也不用勞您老大架再親自把它?再輸一遍吧,再說直接復制還不用怕出錯,何樂而?
不為呢!還有就是要經常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管?
問,只要問題不是太傻,一般高手都會回答你的。下面介紹幾個好的Java方面的編程網?
站:?
CSDN論壇?中國最有名的技術論壇,《程序員》雜志就是他們出?
版的,你可以在上面提出問題,馬上就有人回答你,如果你覺得好,你可以給那人加分?
;?
Java研究組織上面有很多原創文章,高手還是挺多的;?
?
Java開發者?那裡Java資料比較全;?
java.com.cn?看這域名就知道有多牛,注冊用戶快接近一萬?
了,同時在線人數也在一千左右,人氣很旺的;?
IBM的開發者網路
永遠的藍色巨人;?
那麼我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?
?當然沒那麼簡單,這只是萬里長征走完了第一步。不信?那你出去接一個項目,你知?
道怎麼下手嗎,你知道怎麼設計嗎,你知道怎麼組織人員進行開發嗎?你現在腦子里除?
了一些散亂的代碼之外,可能再沒有別的東西了吧!你現在最缺的是實際的工作經驗,?
而不是書本上那些憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果?
是在校學生可以去做兼職啊),在實踐中提高自己,那才是最快的。不過你得祈禱在公?
司里碰到一個高手,而且他還願意不厭其煩地教你,這樣好象有點難哦!?
還有一個辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們設計合?
理,考慮周到,再加上有廣大的程序員參與,代碼的價值自然是字字珠嘰,鏗鏘有力(?
對不起,偶最近《金裝四大才子》看多了)。學Java必讀的兩個開源程序就是Jive和Pe?
t?Store。Jive是國外一個非常著名的BBS程序,完全開放源碼。論壇的設計採用了很多?
先進的技術,如Cache、用戶認證、Filter、XML等,而且論壇完全屏蔽了對資料庫的訪?
問,可以很輕易的在不同資料庫中移植。論壇還有方便的安裝和管理程序,這是我們平?
時編程時容易忽略的一部份(中國程序員一般只注重編程的技術含量,卻完全不考慮用?
戶的感受,這就是我們與國外軟體的差距所在)。Jive的資料在很多網站上都有,大家?
可以找來研究一下。相信你讀完代碼後,會有脫胎換骨的感覺。遺憾的是Jive從2.5以後?
就不再無條件的開放源代碼,同時有licence限制。不過幸好還有中國一流的Java程序員?
關注它,外國人不開源了,中國人就不能開源嗎?這里向大家推薦一個漢化的Jive版本?
—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive?2.1版本基礎上改編而成,?
全中文,增加了一些實用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個開發?
團隊在不斷升級。你可以訪問banq的網站去下載。Pet?Store(?
寵物店)是SUN公司為了演示其J2EE編程規范而推出的開放源碼的程序,應該很具有權威?
性,想學J2EE和EJB的朋友不要錯過了。有意思的是,Pet?Store還經常作為各大J2EE廠?
商的產品性能的比較標准,就連微軟也曾作過一個Pet?Store試圖證明.NET性能比J2EE優?
越,可見Pet?Store的例子有多麼深入人心。?
你一定會高興地說,哈哈,原來成為Java高手就這么簡單啊!記得Tomjava也曾碰到過一?
個項目經理,號稱Java很簡單,只要三個月就可以學會。其實說這種話的人就如當年小?
日本號稱「三個月拿下中國」一樣大言不慚。不是Tomjava潑你冷水,你現在只是學到了?
Java的骨架,卻還沒有學到Java的精髓。接下來你得研究設計模式了。設計模式是高級?
程序員真正掌握面向對象核心思想的必修課。設計模式並不是一種具體"技術",它講述的?
是思想,它不僅僅展示了介面或抽象類在實際案例中的靈活應用和智慧,讓你能夠真正?
掌握介面或抽象類的應用,從而在原來的Java語言基礎上躍進一步,更重要的是,設計?
模式反復向你強調一個宗旨:要讓你的程序盡可能的可重用。關於設計模式的資料,還?
是向大家推薦banq的網站,他把GOF的23種模式以通俗易懂的方?
式詮釋出來,純Java描述,真是經典中的經典。有時間再研究一下MVC結構(把Model-V?
iew-Control分離開的設計思想)吧,現在很流行的Structs就是它的一種實現方式,不?
過Structs用起來實在是很繁,我們只要學習其精髓即可,我們完全可以設計自己的MVC?
結構。然後你再研究一下軟體Refactoring(重整)和極限XP編程,相信你又會上一個台階?
。?
做完這些,你不如整理一下你的Java代碼,把那些經典的程序和常見的應用整理出來,?
再精心打造一番,提高其重用性和可擴展性。你再找幾個志同道合的朋友成立一個工作?
室吧,你可以去承接一些項目做了,一開始可能有些困難,可是你有技術積累,又考慮?
周全,接下項目來可以迅速作完,相信大家以後都會來找你的,所以Money就嘩啦啦的來?
了。。。。。。?
當然你也可以參加一些開源項目,一方面可以提高自己,另一方面也是為中國軟體事業?
做貢獻嘛!開發者在互聯網上用CVS合作開發,用QQ,MSN,E-mail討論聯系,天南海北的?
程序員分散在各地卻同時開發同一個軟體,是不是很有意思呢??
下面介紹兩個好的開源項目網站:?
湖北省軟體公共開發平台
共創聯盟
哇,好高興哦,我終於成為高手了!非也,非也。古人雲:「識時務者為俊傑」。你知?
道計算機界現在的發展形勢嗎?你知道微軟的.NET藍圖和SUN?ONE計劃之間的明爭暗鬥嗎?
?你知道計算機技術將向何處發展嗎?其實從各大計算機廠商最近的動作,都可以看出來「?
Web服務將是下一代互聯網應用的制高點」,而微軟的.NET藍圖和SUN?ONE計劃的斗爭焦?
點,也就是Web服務。Web服務就是一個嶄新的分布式計算模型,它是一系列標準的綜合?
(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟體能夠輕易的集成起來,?
使網路資源和Web站點變成一種服務而不是混亂的垃圾場。不遠的將來,我們就可以在家?
里點擊一下滑鼠,就可以完成出門旅遊的全部准備工作,包括定飛機票,定旅遊線路,?
定好房間等。請注意,這所有的一切都是Web站點間自動完成的,再也不用象現在一樣,?
表面上是電子商務,實際上很多環節都是人工操作。也許你會覺得這是天方夜談,不過?
就近的說,你也很有可能承接一個項目,要集成兩個企業的ERP系統。很有可能上游企業?
的系統是用Dephi編的,而下游企業的系統是用Java編的。你說你是Java高手,大家都看?
者你怎麼做呢。所以啊,你還得學習新技術,如Web服務,而且你Dephi也要懂一點吧(?
Dephi6現在已經提供Web服務的控制項了)。?你編的Java系統,可能要和.NET集成,所以?
你.NET要懂一點吧?到最後,你可能發現你已經成為Java高手了,但很多時間卻在搞別?
的技術。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個道理吧!?
因為剛剛興起,所以網上Web服務的資料不是很多,我還是給大家推薦幾個網站吧:?
中國UDDI技術聯盟
CSDN的柴曉路專欄(?
註:柴曉路也是互聯網上一個有名的人物,他發表過很多關於Web服務的文章,還出了一?
書,應該稱的上是中國Web服務技術的先行者)?
IBM的開發者網路的XML&Web?Service專欄:?
可是Web服務?
的力推者?
嗚…你費勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易?
,真不簡單,真叫人感動啊!那麼打個電話告訴我吧,什麼?我的電話號碼是多少?昏?
到,你打電話問不就知道了嗎,真是的……?
⑥ java入門學習
java應用廣泛,課程體系全面,提到零基礎通過自學Java最終找到一份Java開發的工作,其實這件事還是有難度的。沒有好的學習教材以及良性的學習規劃、遇到難題無法解決導致學習效率很低、作為一個零基礎的初學者沒有人指導帶著學都是需要克服的問題。
java學習內容主要有:
①JAVA編程基礎(基礎語法、面向對象、和諧特性等)
②WEB應用開發(靜態網頁製作、Oracle資料庫、Java Web開發技術、Linux技術、網站性能與安全、軟體工程開發流程、Java Web和諧等)
③企業級框架開發(數據結構與演算法、SSH框架、JavaEE和諧等)
④項目實訓
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
⑦ 這年頭,作為一個大一學生,C語言,python,Java精學哪個更好
你好,老修來分享一下你的問題。
建議:C語言+Python
做為大一學生的你,強烈建議你把C語言學精通了,Python是由C寫的,C作為一門「低級語言」,能操作低層硬體,然後在去學Python語言,配合一門高級語言,歷害了這就,Python是未來十年內AI,人工智慧,大數據開發和應用上會是一大助力,特別是人工智慧/AI這塊。
總結:
那JAVA就目前就業前景來說是比較熱門,但是你畢業後都是四年以後的事,還是建議你主C和Python;當然你有很多精力的情況下,把JAVA過一下,以備不時之需。
⑧ java學習的精髓是什麼
Java的精髓是要明白到底什麼是面向對象
面向對象的設計模式和面向過程到底有什麼區別
面向對象的變成在,多態,繼承,封裝上到底是如何體現
面向對象在設計介面和抽象類到底有何不同
⑨ 零基礎怎麼樣學習Java
我總結了一些學習方法,分享給你:
第一:先學習Java的核心庫(JavaSE)
JavaSE的內容包括:環境搭建、基礎語法、面向對象、數組、集合、常用類、IO流、反射機制、網路編程………
第二:MySQL資料庫
搞定一門資料庫相關的課程,例如:MySQL、Oracle,搞定一個就可以了,目前互聯網公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學習MySQL資料庫,小巧輕盈,免費,由於互聯網公司的項目訪問量比較大,所以一般會搭建資料庫的集群,可以一個資料庫不夠,所以需要搭建資料庫集群,為了應付高並發。(搭建得比較多的時候,免費就很重要了。)
第三:WEB前端
以後從事Java開發,從事JavaEE開發,主要開發的系統結構是B/S結構的,B指的是Browser,S指的是Server。要開發這種系統,B端要會,S端也要精通。WEB前端的學習就是學習B端技術。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對JS進行了封裝)…
第四:WEB後端(JavaWEB)
WEB後端其實可以是很多種不同的編程語言,例如:PHP、C、C++、Java,他們都可以進行WEB後端的開發,我們既然選擇了比較火爆的Java,那麼我們學習的後端一定是基於Java語言實現的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構模式、資料庫連接池(阿里巴巴的Druid連接池)、代理模式(動態代理)。另外後端學習了之後,還要學習一個非同步編程技術AJAX。(完成網頁的局部刷新,AJAX其實不屬於後端,是前端瀏覽器上的程序。)
學習到這里為止,表示Java基本/基礎的技術已經學完了。但是這些最基層的技術在實際的開發中不會使用的,一般為了開發效率,都會使用大量的提前封裝好的框架。
第五:最好能夠停留下來,做一個項目。
這個項目最好能將之前所學全部串起來。(對以前的知識點進行鞏固。)
這個項目最好是基於:Servlet + Jsp+AJAX+jQuery+MySQL….
在這個項目的開發過程中:大家一定要記住,目前比較好的項目自動構建工具:Maven是一定要精通的。還有一個就是團隊協作開發:Git/SVN是一定要會用的。(目前使用Git比較多一些。)
⑩ java怎麼才能學的很精很精
我本人學習java不久,3年不到,從大三接觸,到現在工作一年,自認為學的還挺扎實的,不能說很精,但是可以寫一寫我的思路,希望對你有幫助
一開始在大學課上學的java,都是些很基礎的東西,我個人感覺很有用的就是swing,因為可以編一些類似俄羅斯方塊的游戲,但是老師都說這個沒用,所以也只能自娛自樂了
基本上來說,大學那一個學期學的java果斷是皮毛的皮毛,一周兩次課,基本事件在講java歷史,語法,面向對象。。。總之就是很理論的東西,沒寫多少代碼,不過好在我自己興趣濃,私下寫了很多小程序。
總之,第一階段,要對java有基本的了解,語法,特性,面向對象編程思想,一些很基本的類庫的使用
好了,到了第二學期,上web課,是java的深入。一開始servlet 後來SSH,我學這些的時候覺得這個東西有用,可以自己建立網站(這個是蠻拉風的了,經常我就是自己寫一些網站然後就用tomcat發布到外網,給其他同學看,以此來表示一下自己牛逼哄哄)。但是感覺總體編程不難,難就難在網站的需求怎麼定。因為都是在用別人寫好的一些框架,感覺就像自己在填寫代碼。
這個算是第二個階段。這個階段簡單的說就是能使用java做出一些有實際意義的東西,對java已經不是停留在實驗的層面。但是對底層的東西僅僅是會用,並沒深入理解原來和實現
接下來,就是大四了,回想前一年的學習,發現其實自己對java類庫的了解上無形的擴大了很多,因為以前在使用的時候,通常只聽說一個名字,然後google,,javadoc這樣慢慢積累起來。剛好到了大四課程很少,隨便找了個單位實習(因為在班裡,或者學校里,光比編程應該是屬於佼佼者了),單位里也很空(其實如果去一個好一點的單位實習情況或許不一樣),趁這個時間就把一些會的東西系統的梳理。
這個就是第三階段。大致是深入了解JDK中的類庫,大致有collection framwork,IO,線程,JUC,網路編程(SOCKET)。這里我深入的最多的是集合框架,為了這個,先復習了一次數據結構,然後對於一些常用的實現類,比如arraylist ,linkedlist,hashmap這種。都自己用代碼實現。可能剛寫的時候會覺得很難很難,但是一旦寫出來之後,對你的java水平可以說是很大的提高,而且對集合框架的理解不是那些靠記API的人能比的。如果覺得太難,可以先寫棧,就是後進先出的那個結構,用數組和鏈表分別實現
接下來,也可以分為第四階段,由於對JDK的一些代碼了解之後(當然,不是全部,是常用的),
我個人感覺對於java已經算是蠻深入了,於是開始看一些框架的源碼,最簡單的想struts這種,當然,是struts1. 然後發現還有一些java的基本特性比如反射,不是很了解,於是乎就翻看一些材料,然後慢慢的摸索,最終自己實現一個struts1的核心塊。內容不多,大約就10多個類。
總體來說,這個階段是在深入的了解框架(當然,都是小型的,畢竟還欠火候,spring這種就沒頭腦了),通過框架代碼的閱讀,進一步鞏固自己的基礎,同時,初步對設計模式有所了解
到此為止個人感覺上面的一些進步是非常明顯的,差不多到這時候提高上面就不是很明顯了,凡事都是這樣的,從不會到會的提高 肯定是要快於從會到精通的提高的,而且更明顯
接下去基本上是在參加工作,但是自我學習的時間也還是比較多的,期間主要還是擴展知識面為主,就是了解一些框架並使用,等有時間再去看框架源碼。然後繼續深入對JDK類庫的使用,涉獵設計模式,看代碼的時候體會裡面的架構,同時擴展自己的深度,比如,看一些JVM的書籍,並發的書籍,TIP/IP(因為現在大多是web開發)等等那些對編程沒有直接幫助,但是對自己有提高的技術文檔
總體思路是這樣的,但是這過程不是像說的那麼輕松,你想像一下大家在dota你一個人去角落編程看書,還要被人家說你是怪胎這種感覺是什麼。期間也是忍受了很多挫折與寂寞,尤其是寂寞,說都沒人說,因為他們都不懂。後來還一個人租個房子,常常編程到凌晨4點(導致曠課,獎學金扣除,說起來也很拉風,因為成績排名很靠前,但是卻沒有獎學金,這個往公告欄一貼,是很扎眼的)
所以樓主如果要學精的話,恐怕要更加吃苦,不過只要有一顆要強的心,一切都會好的。
忍受不住的時候問問自己:想不想成為同學,朋友裡面出類拔萃的人?
最後,祝你找到編程的樂趣