工作:
職業(yè)方向:心之所向,素履以往
? ? ? ? 通過(guò)和大學(xué)同學(xué)張偉龍,以及同事肖發(fā)兵(他目前正在走向架構(gòu)師的路上)探討,同時(shí)反思自己當(dāng)前的工作狀態(tài),展望未來(lái)、明細(xì)自己的目標(biāo)。
這兩年工作大部分是搬磚、學(xué)會(huì)熟練使用一些新興工具。近來(lái)明晰自己以后方向:Java架構(gòu)師。
同肖發(fā)兵聊了后知道自己和架構(gòu)師之間差距在哪些地方?
站的角度不同,看待同一個(gè)問(wèn)題的側(cè)重點(diǎn)也就不同
Java后臺(tái)項(xiàng)目開(kāi)發(fā)常見(jiàn)知識(shí):
JVM、JDK不斷更新的特性、Spring整合框架、ORM框架(hibernate、mybatis)、tomcat服務(wù)器、ngix服務(wù)器、發(fā)布環(huán)境Linux。
自己目前著重于怎么熟練使用,而肖發(fā)兵作為架構(gòu)師則需要 “揭開(kāi)工具的外殼,看看內(nèi)部運(yùn)行原理”?
隨之而來(lái)的問(wèn)題就是:
1.JVM 如何加載類的,綁定機(jī)制,垃圾回收機(jī)制等等;
2.JDK好用的新特性有哪些?哪些好用的新特性能夠集成到項(xiàng)目中來(lái)?這些新特性容易出現(xiàn)什么異常?出現(xiàn)了怎么快速解決?
3.Spring新出了哪些技術(shù)?哪些技術(shù)適合當(dāng)前的項(xiàng)目?技術(shù)底層原理怎么樣?怎么改進(jìn)以便更好適配自己項(xiàng)目?
比如常見(jiàn)的Http、Https請(qǐng)求協(xié)議:“三次握手”請(qǐng)求過(guò)程細(xì)節(jié)介紹一下?哪個(gè)過(guò)程容易出現(xiàn)問(wèn)題?
4.ORM框架有哪些新的特性?比如:緩存穿透怎么解決?
5.項(xiàng)目在tomcat服務(wù)器中是加載啟動(dòng)過(guò)程細(xì)節(jié)?后期怎么優(yōu)化tomcat性能?第三方服務(wù)器那么多挑選哪一個(gè)??jī)?yōu)點(diǎn)缺點(diǎn)各是什么?如何更好規(guī)避缺點(diǎn)帶來(lái)的不好的影響?
6.Linux環(huán)境如何網(wǎng)絡(luò)架構(gòu)?如何優(yōu)化Linux環(huán)境配置?還有老生常談的難題:多線程并發(fā)問(wèn)題、操作系統(tǒng)各種鎖
假想一下:如果你作為一名架構(gòu)師不了解這些東西,就算架構(gòu)出來(lái)了一個(gè)項(xiàng)目,這個(gè)項(xiàng)目將會(huì)非常飄,你將不知道項(xiàng)目會(huì)出什么問(wèn)題?更不會(huì)知道這些問(wèn)題怎么解決?到那時(shí)看底層代碼,便是自然而然的事情了。
重要的不是項(xiàng)目的大小,而是自己要揭開(kāi)各個(gè)工具外殼,領(lǐng)悟運(yùn)行的原理。
這個(gè)學(xué)習(xí)過(guò)程耗時(shí)、耗力,要有恒心才能有所突破。
學(xué)習(xí):
********數(shù)據(jù)結(jié)構(gòu)和算法********
1.扎實(shí)的數(shù)據(jù)結(jié)構(gòu)和算法功底---LeetCode、數(shù)據(jù)結(jié)構(gòu)教材---first? 工作中用得到!
更深層次的研究《算法導(dǎo)論》《數(shù)據(jù)結(jié)構(gòu)和算法分析》
細(xì)節(jié)部分:
1.字符串---half??
1.鏈表---done
1.樹(shù)---done
1.哈希表---ing
1.搜索
1.貪心
1.動(dòng)態(tài)規(guī)劃
1.搜索
1.排序
1.向量/矩陣 等
********通用項(xiàng)目框架********
《Spring In Action》用于詳盡地了解Spring框架
1.熟悉常用的J2EE框架,同時(shí)有自己的理解---first
“我們雖然使用了Spring相關(guān)框架,可并未充分發(fā)揮出她的作用?!?-----顧曉峰
1.SpringBoot框架:專注代碼,而非配置。非常好的思想---ing
********操作系統(tǒng)********
《Linux命令行與shell腳本編程大全》。用了腳本語(yǔ)言你才能知道媽蛋C/C++真是煩。---first
《現(xiàn)代操作系統(tǒng)》。Modern Operating System。重點(diǎn)關(guān)注進(jìn)程和線程、死鎖等概念。
《深入理解計(jì)算機(jī)系統(tǒng)》。CSAPP。中文書名很奇怪。
細(xì)節(jié)部分:
1.并發(fā)技術(shù)
1.內(nèi)存管理
1.磁盤和文件
1.熟悉至少一種linux下的腳本語(yǔ)言,如Python
********計(jì)算機(jī)網(wǎng)絡(luò)********
1.精通常見(jiàn)的TCP/IP協(xié)議,Http協(xié)議
生活:
修行方面:這周觀念做的挺不錯(cuò)。像走鋼絲一樣,要時(shí)刻保持警惕!
真常應(yīng)物,真常得性;常應(yīng)常靜,常清靜矣。---《清凈經(jīng)》
讓自己敞開(kāi)胸懷擁抱生活中各種事情,通過(guò)經(jīng)歷、感悟這些事情,反思自己,漸漸就能明心見(jiàn)性,就能常清凈了。哈哈,這是大成的境界!自己還需要更加精進(jìn)下去。
總結(jié):
工作:自己上周所說(shuō)的孫黎明寫的“前后端統(tǒng)一增刪改查基礎(chǔ)類”,更加仔細(xì)看了。
學(xué)習(xí)這個(gè)代碼中收獲:
1> jdk1.8中g(shù)etTypeName()和之前版本getName()的區(qū)別是什么?
2> 反射機(jī)制如何判斷屬性類型是否為String等?
學(xué)習(xí):“算法一周仔細(xì)完成5個(gè),linux學(xué)習(xí)3章。然后盡力去施行?!?這個(gè)是上周定下的目標(biāo)!
這周完成情況:
linux學(xué)習(xí)完了14章,15章看了一半多,總共下來(lái)等于說(shuō)看了linux一章(自己仔細(xì)去敲了一遍);
算法看了0個(gè)。工作占據(jù)很大一部分時(shí)間。下周最低目標(biāo):linux看2章、算法2個(gè)。給我仔細(xì)看,悟著看!
生活:上善若水,像水一樣敞開(kāi)胸懷去接待各種各樣的事情:喜歡的、討厭的;光明的、黑暗的。明確自己的初心,堅(jiān)定地走下去吧!