1. 程式人生 > >[Java] 還是分享點Java學習經驗與筆記

[Java] 還是分享點Java學習經驗與筆記

來論壇一年多了,啥貢獻也沒有,倒是天天逛一逛,下載一些大神破解的東西也經常看一些大神的分析,可我一個搞程式碼搬運的,看的十臉懵B啊不過也有心為論壇做點小貢獻... 就分享下我學Java Web的這些經驗和筆記吧,emmm.. 如果有錯誤的話,還請大神們提點一下 Java Web是一個很大板塊,包含了很多東西,所以一個帖子肯定發不過來,如果有時間條件,我會盡快的更新出來
.首先,對想要學習Java Web的新手朋友們說一些學習方向,這個方向只能說是儘快的掌握更重要,更有用的知識,以便於快速上手開發
1.     java se部分,也就是最基本的一些東西
為了讓大家能快速上手開發,我把幾個要學的點與經驗說一下
       1.1   基礎語法,面向物件特性
       1.2   異常
       1.3   *集合,泛型
       1.4   IO
       1.5   *多執行緒
       1.6   反射
       1.7   Java的一些常用類
       1.8   設計模式(工程模式,單例模式)
       以上所提出來的都是要學的非常熟練,不過想1.1這種,能快速理解最好,不能理解,也沒關係,你如果能堅持學下去,多敲敲程式碼自然而然就明白了。
       異常也是要掌握的,能清除的明白執行時異常與非執行時異常區別在哪就可以了。
       集合這種是必須要掌握的,而且一定要深入瞭解,因為去面試的時候,基本一個集合能問到你吐為止
       IO對檔案讀寫這種,開發時是必不可少的,掌握如何使用基本就可以了
       多執行緒與集合是一樣的,面試也能問到你吐,而且還能和集合穿起來問,比如他問你,ArrayList是執行緒安全的還是非執行緒安全的,然後你回答上來了,他又問你,什麼是執行緒安全什麼事非執行緒安全… 就有點抓著你不放的感覺
       反射… emmm,這個我也沒學好,看不懂看不懂,哈哈哈,不過大家真的要學好這個,後面幾乎所有的框架,都會用到這個。
       Java常用類的話,其實只要瞭解一下就可以了(我也記不住那麼多類,要用的時候谷歌一些,或者查一下API,幫助文件),知道有哪些類比較常用,有什麼功能,大概有個影響就可以了,因為以後要用的時候,基本就是天天谷歌copy程式碼,哈哈哈,反正我是一天都離不開谷歌
       設計模式這種,也是後面框架都要用到,能更好幫助理解使用框架
2.     Java與資料庫方面的內容(JDBC,Mysql)
       JDBC就是與各種資料庫連線的介面(規範,標準),這個一定要完全掌握與熟練,因為後面開發WEB,沒有不用這個東西的,當然,這是最底層的東西,也能更好的幫助我們理解後面的一些框架
       資料庫的話,推薦學習Mysql,因為我也沒學過orcal,哈哈哈,其實不是啦,主要是因為像阿里這種java的天堂都用的mysql,不過他們的mysql和我們用的又不一樣,他們的mysql是他們內部修改過原始碼的,而且很多公司都會選擇mysql主要是因為mysql不要錢啊。包括學習成本方面,mysql比orcal更       容易上手。
3.     Java Web方面
       1.1  *Tomcat環境搭建與基本使用
       1.2  *Servlet
       1.3  JSP,JSTL,OGNL,EL
       1.4  *Cookie,Session,請求引數,Header… 等請求/響應體的一些東西
       1.5  Filter
       1.6  Listener
       1.7  Upload/Download
       1.8  *MVC設計模式
       Tomcat這種東西,是非常重要的,後面除錯執行,都要放到這裡來,不過只需要掌握埠配置,web部署基本也差不多了,後面如果有需要,就谷歌,看看一些東西是怎麼配置的,基本大公司的話,你只要部署了能運行了就OK,後面基本都是運維大神做的事,不過有些小公司可能沒有運維,你就需要       很多東西自己去弄了
       Servlet就相當於Java的se部分,後面所有東西都是本質上都是這個
       JSP的話,大致瞭解四個域,九個隱藏物件,稍微會用就可以了,因為以後開發都有點前後端分離的趨勢。所有關於頁面展示的東西,都會有前端去開發
       Cookie,Session,請求引數這種要完全掌握與會使用,因為所有的請求都需要這些東西
       Filter,Listener與 JSP一樣,瞭解,稍微會用就行了,因為用的機會吧,也不是很多Listener基本就初始化一些資料要用到
       上傳下載,還是要熟練點
       MVC設計模式就不用多說了,重中之重啊,後面的框架都是基於這個理念的
4.     Java EE方面,也就是框架的一些東西
       我覺得開始ssh(struts2,spring, hibernate)框架可以先不用學,這個可以等你以後能上手開發了,需要提升自己了,再回過頭來學,並且閱讀他的原始碼,所以我建議學ssm(Spring,SpringMVC,Mybatis),因為現在大部分公司都往這方面轉了。而且Struts2安全漏洞也蠻多的。
       1.1  *Spring
       1.2  *Spring MVC
       1.3  *Mybatis
       暫時的話,框架先把這三個學會整合使用
       到這基本就能上手開發了,但是學習還是永無止境的,後面還有一些工具相關的東西需要學習
5.     工具相關
       1.1  *maven
       1.2  *svn/git
       學到這了,這種工具,你說出去不會,都覺得難堪…
6.     Java EE 進階
       到這之後,就是更加深入的提升自己的能力了,能多學點就多學點
       Spring全家桶,該學的都學一下吧
       Ssh也該看看了,雖然用到的機會很少,但是曾經作為java最火的mvc框架,自然還是有其優秀的地方的
       *redis,這個還是必須要看的,做高併發,當然還有memcache這種,現在memcache已經被redis頂替了,如果有機會也可以看看memcache
       *dubbo,這個也是必須要看的,做分散式,和高併發是一樣的
7.     前端的一些東西(我表示看到js這些程式碼就頭疼,我自己就會用這些語言寫個helloworld,哈哈哈,估計這輩子都不想碰前端了)
       雖然說現在都流行前後端分離,但是一些基本的前端只是還是要了解的
       Html,css,js,jquery,ajax這幾個巨頭,看看還是有好處的
       當然,不是到這就完了,你還想提升自己的話,也可以看看AngularJS vue.js react.js這些,要學的東西太多了
8.     linux這種,肯定也要會點的,如果你能精通就更好了,以後所有的專案上線,都只會是在linux上面部署,幾乎沒有在windows上部署的
9.     下面這些呢,是助於你提升面試方面的東西,當然,如果能真正的掌握,那自然是最好不過了(雖然我也不是很瞭解,基本等我把分散式學完,就開始學這些)
       Java

虛擬機器方面的東西,你要是能掌握這個,哪怕只瞭解一點點,估計面試官也會刮目相看吧,反正我很少看到有人會這個東西,也有可能是我存在低階程式碼搬運的地方,接觸不到這些大神,哈哈哈
       資料結構,演算法等東西這種面試必問,一問到底的東西,一定要掌握好啊
       
大致基本就這些了,當然,這種學習路線也可能只適合我自身吧,所以,想學的新手朋友們可以根據自己情況進行參考
emmm... 當然啦,畢竟我也是個小菜鳥,如果哪裡說的不對,或者寫錯的話,還希望各位大神能提點一下。
後面的話,我也會持續更新一些經驗與筆記。
純手寫.. 還是很不容易的,要是有個好評自然更好啦