【修真院“善良”系列之十】初级Java程序员的学习路线
知乎總是建議我修改內容,說我騙贊。
算了,直接發專欄好了。
說過很多遍這個話題了。重復一遍,再說一次。
第一。 Java語法的學習。 3天?
你需要會這些:?
3.Model,也是Bean,記著Model里只有Get和Set方法。貧血模型。
4.try-catch,Throwable, Error 5.函數,參數,返回值
你一定不要現在去看這些:?
1.NIO,Thread,Extend,Abstract,GUI,GC?
2.各種JDK的源碼,各種算法的實現
第二。面向對象概念的理解和學習 3天
你需要會這些:
1.屬性和方法?
2.private/public?
3.static final
4.ArrayList,Set,Map,Array的取值,長度,遍歷。StringBuffer
5.null對象,Null指針?
6.構造函數?
7.this
8.泛型
你一定不要這個時候去看這些:
1.protect?
2.重載
3.多態?
4.內部類?
5.socket?
6.file
7.stream
第三。常用的Util 3天
你需要會這些:?
1.StringUtils?
2.CollectionUtils
3.log4j
4.httpClient
5.calendar
你一定不要去看這些:
第四。數據庫 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?
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等等等等。
以上的步驟不算完全精準,分類也不算完全仔細,嗯。更多的內容我還在整理中。
總結
以上是生活随笔為你收集整理的【修真院“善良”系列之十】初级Java程序员的学习路线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js之闭包
- 下一篇: 使用noode.js创建一个服务器