【修真院「善良」系列之十】初級Java程序員的學習路線

知乎老是建議我修改內容,說我騙贊。
算了,直接發專欄好了。ios

 

說過不少遍這個話題了。重複一遍,再說一次。程序員

第一。 Java語法的學習。 3天 
你須要會這些: 
1. String,Integer,Long,Array,List,Map會用就夠了。
2. Interface和Impl能分得清就夠了,永遠不要去用繼承。
3.Model,也是Bean,記着Model裏只有Get和Set方法。貧血模型。
4.try-catch,Throwable, Error 5.函數,參數,返回值web

你必定不要如今去看這些: 
1.NIO,Thread,Extend,Abstract,GUI,GC 
2.各類JDK的源碼,各類算法的實現算法

第二。面向對象概念的理解和學習 3天spring

你須要會這些:
1.屬性和方法 
2.private/public 
3.static final
4.ArrayList,Set,Map,Array的取值,長度,遍歷。StringBuffer
5.null對象,Null指針 
6.構造函數 
7.this
8.泛型sql

你必定不要這個時候去看這些:
1.protect 
2.重載
3.多態 
4.內部類 
5.socket 
6.file
7.stream數據庫

第三。經常使用的Util 3天json

你須要會這些: 
1.StringUtils 
2.CollectionUtils
3.log4j
4.httpClient
5.calendarvim

你必定不要去看這些:後端

第四。數據庫 9天
你須要會這些:
1.JDBC 
2.Mybatis 
3.Hibernate 
4.增刪改查一個表,排序,分頁,簡單的聯表查詢 
5.索引,思考一下什麼樣的表建索引,什麼是索引


別擔憂,以上三種都是一理通而百理融

第五。 單元測試 3天

你須要會這些
1.Junit @Test,@Ignore 
2.log4j info,warning,error 
3.Eclispe debug,Step,Step in ,Step Out,run

你必定不要學這些

第六。 Spring 3天

你須要會這些
1.Spring Bean,Property,Map,List初始化值
2.Autowired 
3.Annonation&配置文件 
4.Spring Version 
5.Spring MVC,@Method @Controller 

你必定不要學這些

第七。Maven 5天
你須要會這些
1.clean,install,deploy,assembly
2.snapshot/release
3.module
4.subeclipse 
5.jetty:run

============================過段時間更新如下內容==================
第八 Jsp 3天 
用到Jsp主要有兩個方面,一種是傳統的後臺程序員套頁面的方式,一種是直接生成Json格式的數據。 受限於Json沒法提供SEO,因此在須要SEO的時候仍是得提供套頁面的方式。 生成Json的方式有不少種,我仍是喜歡用Json tag-lib.

你須要瞭解的是:
1.C標籤
2.自定義Tag 
3.include 
4.給靜態資源加版本號 
5.WEB容器未更新Jsp的時候,Touch一下 

你必定不要去學這些: 
1.在Jsp裏寫任何Java代碼,包括但不限因而Mysql

第九 WEB 10天

馬丹這裏的WEB我寫的是什麼意思,我忘記了。 大概是SpringMVC的意思? 反正 你須要瞭解這些:
1.web.xml 
2.spring的配置文件
3.統一設置成utf8的編碼
4.filter
5.攔截器
6.Controller 
7.http協議
8.Http-head content-type application/json x-www-form-urlencoded
9.file的上傳
10.圖片的上傳


你必定不要去了解這些:
1.Struts
2 2.play
3.webService 
4.servlet

第十 Tomcat/Jetty 5天

你須要瞭解這些:
1.內存和JDK參數的配置
2.指定配置文件的方式部署,docBase 
3.日誌的配置 acces.log stdout.log.catalina.out之類的 stderr.log 
4.寫腳本,找出慢查詢,cat|awk 
5.理解一個請求分過來以後,怎麼分解響應時間,怎麼去查找性能瓶頸


你不須要了解這些: 
1.一個Tomcat或者是Jetty下部署多個項目 
2.Jetty的嵌入運行方式


第十一 Cookie 3天 
關於Cookie啊,最經常使用的有兩個地方,一個是統計,一個是登陸。

因此你須要瞭解的是這些: 
1.Cookie的大小 
2.Cookie的傳輸方式
3.如何獲取到Cookie,若是Cookie中有同名的參數,會接收到什麼。
4.爲何要用Cookie來代替Session作用戶的登陸標記 
5.Cookie的失效時間
6.清除Cookie

你不須要了解這些:


第十二 Shell 10天

Shell的概念很大,因此這裏只列出來現階段你最應該會的東西 
你須要瞭解的是: 1.vim 編碼模式,命令模式,正查,倒查,刪除一行,移至行尾 
2.cat | more 這種是最覺見的日誌瀏覽方式,cat|grep 用來定位Bug的時候最經常使用的 
3.grep -A -B 等,以及若是Cat+Grep定位多個文件,怎麼去查找他們是在哪一個文件夾下。4.ls,cd,mkdir,mv,cp,scp,chown,chmod
5.top,free,vmstat,ps,iostat,netstat

你不須要了解的是: 

1.馬丹,不知道哪些不應瞭解,Shell的東西只要跟實用的均可以多瞭解

第十三 SVN/Git 5天

對於後端程序員來說,我仍是喜歡SVN。 Git使用與否,徹底看我的喜愛。有不少緣由,這裏不說。

你須要瞭解這些: 
1.SVN的標準目錄:trunk/tags/branches
2.commit,update,revert,history
3.Maven的Release插件 release:prepare release:perform, release:rollback
4.Tag的管理 always tag/always trunk的開發方式
5.Bug出現後,若是和當前開發的項目有衝突,該如何去打Tag,怎麼合併代碼 
6.發佈失敗後怎麼回滾。
7.svn版本號怎麼生成的 
8.clean

你必定不要去了解這些:
1.不知道哪些不應瞭解,不過clock這種操做我建議永遠不要用 
2.還有合併代碼這種事,我也以爲永遠不要用,儘可能保證你的代碼結構很好,而不是想辦法讓合併代碼更簡單。


第十四 Json/Gson/JsonTag-lib 5天

終於到了Json,過了300贊更新的內容就完工了~~ Json是一個神器,如今是有yaml? 無所謂了,不太影響。Json統治互聯網已經快7年了。
你應該瞭解這些: 
1.json的 string,number,object,array 
2.json的轉義 
3.怎麼樣定義出來一個合理的結構,是用array裏包含一個Object,仍是用一個大的Object,裏面的Key是ID,Value是一個Object?是直接用 sex:male 仍是用 name:sex, value:male? 
4.Gson在Java和Json中的基本類型轉換 fromjson和tojson 
5. Gson怎麼轉換自定義的對象,和嵌套的對象(這就是Java最煩人的地方,若是是Groovy或者是Python哪用得着這麼麻煩)
6.Json-taglib裏的經常使用標籤,怎麼將一個ID轉換成Number,怎麼轉換成String 
7.編碼

你不該該去了解:
1.fastjson?我忘記了。用Gson就很好了 
2.JSONObject仍是什麼來着?不記得了。 其實這段有點扯,由於你愛用什麼我管不着,我也分不清具體哪一個好,哪一個壞,可是我本身的偏好就是這樣的。因此跟着個人必須只能用Gson來寫。除非哪天可以說服我說,老大,有一個XXX比Gson更好學。

這個實際上是工程師的天性,徹底沒必要以爲你的領導在打壓你的積極性。我見過的優秀的工程師,歷來都是主動要求在項目中嘗試各類新的激進的技術,而Leader每每都是要權衡N多內容。

好了~~~300贊還算好,很容易突破了。咱們看看能不能3000贊見~
============================過段時間更新如下內容==================
第十五 REST
第十六 Jenkins
第十七 nexus
第十八 Tiles
第十九 Nginx
第二十 Memcache/Redis
第二十一 Refact

============================過段時間更新如下內容================== 第二十二 響應時間分析
第二十三 內存,CPU,硬盤,IO,網絡 佔用,Zabbix
第二十四 Top,Vmstat,Free,iostat
第二十五 慢Sql
第二十六 緩存命中率/失效策略
第二十七 TPS,Jmeter/load runner
第二十八 敏捷開發
第二十九 bug修復流程
第三十 上線發佈流程
第三十一 發佈中心/ansible 
======================過段時間更新如下內容==================
第三十二 RMI,RPC,Thrift 第三十三 GC 第三十四 JMS 第三十五 Groovy 第三十六 一致性哈希,BigTable,Cassandra 第三十七 MongoDB 第三十八 NIO 第三十九 Socket/WEBSocket 第四十 Tuscany/Dubbo
======================過段時間更新如下內容==================
第四十一 馬丹我編不下去了。

 

開玩笑啦,然而仍是少了很多的內容,特別是一些業務上的知識。
好比說:分類的DB怎麼設計,何時應該拆表,何時要分庫,支付怎麼作,微信的開發流程怎麼樣,第三方登陸的Auth是什麼鬼,手機短信驗證碼如何防攻擊,高併發讀怎麼設計緩存,高併發寫怎麼合併寫入次數,
以及怎麼重構,何時重構,怎麼預判斷需求的變化。
還有更多的算法相關的內容,zookeeper,paxos,md5,https等等等等。
以上的步驟不算徹底精準,分類也不算徹底仔細,嗯。更多的內容我還在整理中。

 


------------------------------------------------------------------------------------------------------------------------           

 

   技能樹.IT修真院
 

  「咱們相信人人均可以成爲一個工程師,如今開始,找個師兄,帶你入門,掌控本身學習的節奏,學習的路上再也不迷茫」。

   這裏是技能樹.IT修真院,成千上萬的師兄在這裏找到了本身的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一塊兒學習吧~

   直接點擊此連接註冊學習:http://jnshu.com/login/1/86157900

相關文章
相關標籤/搜索