更新時間:2019-08-21 09:51:13 來源:動力節(jié)點 瀏覽2139次
Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計語言。具有卓越的通用性、高效性、和安全性。廣泛應(yīng)用于PC,移動電話和互聯(lián)網(wǎng),擁有全球最大的開發(fā)者社群。在全球云計算和互聯(lián)網(wǎng)的背景下,Java具備更顯著的優(yōu)勢就業(yè)前景。
廣闊的市場,光明的前景總會讓人向往,很多人立志要學(xué)習(xí)java,從事開發(fā),走上高端大氣的IT道路。
但是,在學(xué)習(xí)之前,看到各種代碼如看天書,又總會聽到很多外行人宣揚著java有多難,絕不是平庸者的選擇。很多人就會因此打退堂鼓,認(rèn)為自己不夠聰明,肯定學(xué)不來。那么,java編程真的是聰明人才能玩的游戲嗎?
有人曾經(jīng)做過統(tǒng)計,詢問500多已經(jīng)參加工作的Java開發(fā)者,“學(xué)習(xí)java是否困難?”有74%的人認(rèn)為不難,說難學(xué)的僅占26%,那么這74%全部都是聰明人,智商比普通人高嗎?顯然不是的。
說到底Java,它只是一種語言,僅此而已。跟我們平時學(xué)習(xí)母語,英語并無不同,只是他的適用對象是計算機,手機等非生物,但基本的控制結(jié)構(gòu)什么的,所有的語言都差不多。
學(xué)習(xí)java只要你掌握了編程的本質(zhì)和邏輯關(guān)系,那么編程語言,開發(fā)平臺,編譯工具都不是問題。真正評判你的專業(yè)水平的還是你的程序設(shè)計思想,語言的機制本身并不會給程序帶來多大的影響。
而且,每個人的難易標(biāo)準(zhǔn)并不相同,習(xí)慣說不的人,總會放大困難,給自己設(shè)置障礙。
李嘉誠說:“當(dāng)我騎自行車時,別人說路途太遠(yuǎn),根本不可能達(dá)到目的地,我沒理,半道上我換成小轎車;當(dāng)我開小轎車時,別人說,不要再往前開,前面就是懸崖峭壁沒路了,我沒理,繼續(xù)往前開,開到懸崖峭壁我換飛機了,結(jié)果我去到了任何我想去的地方“。
說到底,修行還是要靠自己,難不難何必讓別人給你設(shè)立標(biāo)準(zhǔn)?只要你想做,下一秒就能開始。不要讓你的夢想毀在別人的嘴里,因為別人不會對你的夢想負(fù)責(zé)。
高效學(xué)習(xí)Java路線圖分享
整理一下學(xué)習(xí)Java的一個路線圖吧,然后按照這個路線圖來談?wù)勎业囊恍└惺堋?/p>
一、Java核心
這是學(xué)習(xí)Java基礎(chǔ),掌握程度的深淺甚至直接影響后面的整個學(xué)習(xí)進(jìn)程。
Java的核心主要包括幾個部分:
1、初級的有語法基礎(chǔ)、面向?qū)ο笏枷搿?/p>
學(xué)習(xí)任何一門語言語法都是必須的,因為Java的接近自然語言,也是一種相對比較容易學(xué)的語言。同時面向?qū)ο缶幊谈瞧浜诵乃枷耄斫馄鋵嵵灰涀∫痪湓捑托辛耍蔷褪牵阂磺薪允菍ο蟆?/p>
2、中級的IO流、多線程、反射及注解等。
IO流程、多線程等是相對比較高級一點的了,通過學(xué)習(xí)我們會發(fā)現(xiàn)這些都很有用而且很有趣。例如我們可以讀取一個Excel文件、將一個文件分離,做一個時鐘、使用多個線程發(fā)送郵件等等很多有意思的事。另外反射及注解更是后面流行框架SSH等的基礎(chǔ),在使用中你便會慢慢感受到它的無窮魅力。
3、高級一點的就是設(shè)計模式和框架之類了。
要學(xué)習(xí)好一門語言,僅僅會使用還是不夠的,我們不僅要深入研究其原理,而且還要找到其一些共性的東西,從而減少反復(fù)的勞動,讓代碼可重用、更可靠且更容易被別人理解。
二、前端Web
現(xiàn)在來說Java最流行的應(yīng)用還是Web開發(fā)。那么作為Web開發(fā),對于前臺的知識的學(xué)習(xí)也是必須的,當(dāng)然并不是一定要按照前端工程師的標(biāo)準(zhǔn)去要求。但是一些基礎(chǔ)的知識也是必須要掌握的,畢竟Web應(yīng)用是前臺和后臺的一個交互的過程。像HTML、CSS、Javascript等都是基礎(chǔ)的知識,另外作為開發(fā)人員對目前最流行的Javascript框架Jquery更是必學(xué)不可的。
三、數(shù)據(jù)庫
有人說,所有的應(yīng)用無非就是數(shù)據(jù)的輸入、處理到輸出的過程。期間同時可能還會涉及到數(shù)據(jù)的存儲問題。對于結(jié)構(gòu)化的數(shù)據(jù),我們常用的還是像Oracle、Mysql和PostgreSQL之類的關(guān)系型數(shù)據(jù)庫。同時針對數(shù)據(jù)庫編程還是PL/SQL需要學(xué)習(xí)。使用Java訪問數(shù)據(jù)庫的話還有JDBC。那么對于非結(jié)構(gòu)化的數(shù)據(jù)以及大數(shù)據(jù)該如何處理呢?其實這里也已經(jīng)有了非常成熟的解決方案了,那便是Hadoop。就Hadoop而言他并不是一種思想,更多是一個實現(xiàn)了Mapreduce模式的框架。
四、J2EE
好了,前面這么多準(zhǔn)備的工作。下面我們進(jìn)入正題。作為Java開發(fā),CoreJava是核心,而作為JavaWeb開發(fā),我認(rèn)為Servlet才是核心。Servlet是服務(wù)器端的Java應(yīng)用程序,但是與普通的Java應(yīng)用程序不同的是,它是由web服務(wù)器來加載啟動,即我們常說的Servlet,如Tomcat便是servlet容器。另外談到J2EE開發(fā),這里有一個重要的模型不得不提一下,很多人其實已經(jīng)想到了,那便是MVC(模型-視圖-控制器)模型。在傳統(tǒng)的web開發(fā)中,往往是JavaBean充當(dāng)模型、JSP做視圖而Servlet作為控制器。
五、開發(fā)框架
說到框架,其實已經(jīng)提到了著名的MVC模型,SSH(Struts+Spring+Hibernate)就是一個非常好的實現(xiàn)。對于每一個框架的作用,我想就不用多說了,畢竟這里并不是想寫一本教程。另外還有工作流開發(fā)的JBPM,搜索引擎Lucence及使系統(tǒng)對外提供接口的webservice應(yīng)用組件等都是應(yīng)該要掌握的。
六、服務(wù)器
關(guān)于服務(wù)器,像tomcat、jboss、weblogic及websphere等便不提了,因為太普遍了。這里要說的是Nginx,
Nginx("enginex")是一個高性能的HTTP和反向代理服務(wù)器。其以占有內(nèi)存少,并發(fā)能力強而著稱,連新浪、網(wǎng)易、騰訊這類知名企業(yè)也在使用,所以還有什么理由不去學(xué)它呢?
七、工具
這里主要介紹幾個開發(fā)輔助工具。如日志工具Log4j、測試工具Junit、版本管理工具SVN還有項目管理maven等。另外還有第三方插件Ectable。
八、項目示例
Springside是以Spring框架為核心的J2EE應(yīng)用參考示例,是JavaEE中的比較主流的技術(shù)選型及最佳實踐的總結(jié)與演示,非常值得一看。把它看透了,J2EE就差不多了甚至是比較厲害的了。
說到底,對于技術(shù)的學(xué)習(xí),有一個規(guī)則是通用的,那便是實踐。把學(xué)習(xí)到的東西馬上用起來做出一個示例來,我認(rèn)為是一種比較好的學(xué)習(xí)方法。首先它是對零散知識的一個自然總結(jié),另外通過一些小示例的實踐,可以增加學(xué)習(xí)的興趣。而且可以通過示例,深入學(xué)習(xí)其實現(xiàn)的原理,加深掌握的程度且能更快的應(yīng)用到實際開發(fā)中,提高工作效率。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743