接觸Java有幾年了,看博客,泡bbs逛論壇,一直有些茫然
分享一下個人Java基礎學習經驗,給初學者一些建議
在說java能作什麼以前,先說java做爲一個真正面向對象語言的優勢
首先第一個,java是一種面嚮對象語言,真正的面向對象,任何函數和變量都以類(class)封裝起來。
這是java較c++不一樣,java全部的源碼以及編譯後的文件都以類的形式存在
java沒有所謂的類外部定義,全部方法以及變量都必須在類內部定義 ,這樣就不會出現一個類被切割成這裏一塊那裏一塊的狀況,c++就能夠。
第二個,最讓人歡呼雀躍的是徹底屏蔽了指針,同時引入了垃圾回收機制
不用花費精力在計算機內部內存管理上,它徹底屏蔽了內存管理,畢竟咱們不是電子工程師。它會在最大程度上避免空指針的調用,這已經很好了,安全,這是java的最突出的優勢。
垃圾回收機制讓程序員不須要直接控制內存回收,由垃圾回收器在後臺自動回收再也不使用的內存。避免程序忘記及時回收,致使內存泄露。避免程序錯誤回收程序核心類庫的內存,致使系統崩潰。
第三個,虛擬機跨平臺,這是java最大的特色
什麼是跨平臺呢?
java能夠作到在windows上編譯 ,而後在unix等其餘操做系統上運行,這是c/c++作不到的
好比手機服務器,若是你寫的程序要用在手機上,而手機有多少款用的是windows?
就算有,那若是你用c/c++,是否是要針對每一款手機寫一套程序呢?
累死啦,那跨平臺的java就不用,作到編譯一次,到處運行。
給初學者之二
在知道了java有什麼優勢,能作什麼以後
就該說一下java該如何去學了 ,畢竟如今Java仍是很火,熱度不減
學Java三個階段:J2SE J2EE J2ME
J2SE最基礎的java語言部分,不管學什麼java技術,J2SE都是必須掌握的
推薦一些書籍,幫助你自學
《Thinking in Java》 //實話說,通常,尤爲是翻譯後的版本,原版還行
《Java教程》 //電子工業出版社出版的那本,上下冊,很厚,但翻譯得不錯
《21天學通Java》 //入門極好,可是《21天學通j2ee》極爛,不要買
《Mastering EJB》 //翻譯過的書質量我不清楚,估計不怎樣,請看原版書籍
《精通Hibernate》 //看清楚做者,孫衛琴,其它人的別買
對於自學Java的人來講,無疑須要強大的意志與智慧,有一些知識點也許開始不太明,你就先找傳智播客、java300集等找找相關的視頻看看,網絡上有大量的java初中高級視頻,可是通常比較浪費時間,不太建議,不要過於依賴,由於他會把你對java的理解禁錮到表面,你對java底層的實現的興趣就會減弱。java
若是想拿高薪,最好把J2EE學好。記得之前在csdn上看過一個調查,月薪上萬的程序員主要從事哪方面的工做,十個中有八個是作J2EE的,但也從某一方面說明J2EE人才的稀缺的。c++
推薦一些我去過的網站,很好
www.javaeye.com //java視線論壇,Hibernate國內的權威
dev2dev.bea.com //bea的dev2dev社區,用WebLogic首選的好去處
www-128.ibm.com/developerworks //ibm developer works社區,ibm產品的老家
www.jdon.com //j道,Jboss國內相對討論會多一點的地方,有本身的框架
www.matrix.org.cn //matrix,有本身的框架,很清新的論壇
sourceforge.net //開源的東西幾乎這裏均可以找到,除java外還有遊戲共享等
saloon.javaranch.com //人氣不錯
www.apache.org //阿帕奇老家
www.jboss.com //Jboss和Hibernate老家
www.springframework.org //Spring老家 程序員
最後的建議
一,不要作一個浮躁的人
二,學好英語,很重要
三,閱讀源代碼和文檔 ,把你的對java理解記錄,最好分享(加強記憶,分享快樂)
四,共享源代碼,不要作一個功利的人
五,網絡上的遠比書上來得多,多上網查閱別人對某一個知識點的理解
六,熱愛Java
這是我寫的第一篇博客,突發奇想,我當時學Java是基礎不是很紮實,致使後來工做學習亂七八糟好一陣,今天寫這些就是但願初學者少一些對學習方法的摸索spring
謝謝!apache