本文首發(fā)于:https://h2pl.github.io/2018/04/20/blog
更多內(nèi)容請(qǐng)到我的個(gè)人博客查看https://h2pl.github.io
本文記錄了我從Java初學(xué)者到專注于Java后端開(kāi)發(fā)技術(shù)棧的成長(zhǎng)歷程,主要是與寫博客相關(guān)的內(nèi)容,其他內(nèi)容還包括
實(shí)習(xí)歷程,后端技術(shù)學(xué)習(xí)歷程,校招計(jì)劃等內(nèi)容,我會(huì)陸續(xù)發(fā)表并且提供鏈接。
Java后端學(xué)習(xí)之路 https://blog.csdn.net/a724888/article/details/70308508
下面是正文:
1 夢(mèng)開(kāi)始的地方
2017年初開(kāi)了這個(gè)博客,轉(zhuǎn)眼也一年多時(shí)間了。最早在博客園開(kāi)的博客,后來(lái)感覺(jué)csdn生態(tài)更好一點(diǎn),于是轉(zhuǎn)移到csdn。恰逢這段時(shí)間在做學(xué)校的課題,于是最開(kāi)始的時(shí)候記錄了一些項(xiàng)目搭建以及開(kāi)發(fā)中遇到的題以及解決方案。當(dāng)時(shí)技術(shù)還比較稚嫩,屬于剛剛?cè)腴TJava web的階段。所以博客內(nèi)容也比較一般。
2 博客記錄我的成長(zhǎng)
去年的春天我投入到浩瀚的春招大軍中去了,也是那個(gè)時(shí)候確定了做Java開(kāi)發(fā)的方向,當(dāng)時(shí)對(duì)后臺(tái)技術(shù)還不是太了解,主要從Java以及Java web入手,開(kāi)始了一系列的學(xué)習(xí)和準(zhǔn)備。這篇文章主要講博客的歷程,如果對(duì)我的學(xué)習(xí)歷程有興趣的朋友可以查看最上方的鏈接。
項(xiàng)目結(jié)束以后,主要在復(fù)習(xí)Java基礎(chǔ),于是看了不少相關(guān)博客,記錄了很多Java的基礎(chǔ)知識(shí)點(diǎn),比如異常,反射,序列化,集合類等等內(nèi)容的一些總結(jié),現(xiàn)在看來(lái)確實(shí)有點(diǎn)幼稚了。所以我最近也在刪除一些低質(zhì)量的文章,以便讓大家能看到更好的內(nèi)容。
在準(zhǔn)備春招實(shí)習(xí)面試期間,我花了大量時(shí)間閱讀技術(shù)書籍以及博客,并且總結(jié)了一部分面經(jīng),同時(shí)將一些比較好的總結(jié)發(fā)在了博客上,以便我在復(fù)習(xí)期間能夠閱讀和復(fù)習(xí),所以有一段時(shí)間發(fā)了大量的博文,多得連我自己都怕。當(dāng)然我并不推薦這種做法,在后來(lái)的日子里,基本上是定期地發(fā)一些有一定質(zhì)量的文章,盡量自己理清文章內(nèi)容后再進(jìn)行發(fā)布,否則可能有會(huì)濫竽充數(shù)的情況。
除此之外也記錄了一些工程方面的內(nèi)容,例Maven,git,Tomcat,以及IDE的使用,以及MySQL的一些使用經(jīng)驗(yàn),由于有段時(shí)間在W廠實(shí)習(xí),所以當(dāng)時(shí)主要記錄的是實(shí)習(xí)過(guò)程中用的技術(shù)棧以及相關(guān)開(kāi)發(fā)tips。
離開(kāi)W廠之后,我來(lái)到了B廠,部門做的主要是云計(jì)算,于是記錄了一些云計(jì)算相關(guān)的文章,比如OpenStack,docker,kubenetes等內(nèi)容。B廠是技術(shù)為主導(dǎo)的公司,內(nèi)部經(jīng)常舉辦技術(shù)交流會(huì)以及分享會(huì),我通常都會(huì)報(bào)名參加,了解了一部分AI和大數(shù)據(jù)的應(yīng)用以及實(shí)現(xiàn)原理。所以這段時(shí)間主要會(huì)發(fā)一些AI以及Hadoop的文章,讓我更全面了解相關(guān)技術(shù)。
3 善于做總結(jié),讀完一本書,最好的總結(jié)就是讀書筆記
在百度的這段時(shí)間里,我意識(shí)到了我的基礎(chǔ)可能還是不夠牢固。因?yàn)槭欠强瓢喑錾恚m然是碩士,但是基礎(chǔ)還是有一些欠缺,這段時(shí)間我看了許多更加底層的東西,比如網(wǎng)絡(luò),操作系統(tǒng),Linux內(nèi)核,其中那一本《深入理解計(jì)算機(jī)系統(tǒng)》確實(shí)是不錯(cuò)的總結(jié)性書籍,基本可以帶你概覽計(jì)算機(jī)系統(tǒng)的全貌。
因此,在這段時(shí)間里我寫了不少的讀書筆記等總結(jié)性文章,主要囊括了操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò),Linux等內(nèi)容。我發(fā)現(xiàn)寫讀書筆記是加深對(duì)原書理解的很好的途徑,于是我把以前看過(guò)的一些書拿出來(lái)又翻了幾遍,例如JVM虛擬機(jī),java并發(fā)實(shí)戰(zhàn),大型網(wǎng)站架構(gòu)滴滴,所以我干脆把其他書的讀書筆記也整理出來(lái)了,不過(guò)有一些書過(guò)于晦澀或者是太厚,也借鑒了一些博友的讀書筆記。當(dāng)然有很多文章還不夠成熟。
4 不積跬步無(wú)以至千里,積累是一種好習(xí)慣,細(xì)節(jié)決定成敗
大公司面試時(shí),會(huì)給你一種感覺(jué),就是無(wú)孔不入,細(xì)節(jié)決定成敗,往往粗淺的總結(jié)難以讓你理解技術(shù)深層次的原理,缺乏實(shí)踐或者是深入思考,可能會(huì)讓你錯(cuò)過(guò)很多重要的知識(shí)點(diǎn),而往往這些知識(shí)點(diǎn)是大廠面試官喜歡問(wèn)的。
就拿Java來(lái)說(shuō),jvm虛擬機(jī)垃圾回收器的具體回收過(guò)程,可以問(wèn)的很深入,問(wèn)到gcRoots,停頓多少次,是否并發(fā)回收等,這些問(wèn)題可能不是對(duì)gc的淺顯總結(jié)可以概括的。
再比如,JUC中的Lock,平時(shí)可能只了解到lock的用法,condition,并發(fā)工具類的使用,但是Lock底層的AQS實(shí)現(xiàn),可能很少去關(guān)注,AQS的相關(guān)源碼晦澀難懂,推薦看大牛的解析,可以讓你更好地理解lock類的實(shí)現(xiàn)。
其實(shí)這個(gè)想法也是前陣子我才想到的,因?yàn)榭吹桨⒗锏膶?shí)習(xí)面經(jīng),Java相關(guān)的原理問(wèn)的特別深,沒(méi)有深入到源碼去理解的話,往往就會(huì)被問(wèn)住。結(jié)果可想而知。所以這段時(shí)間主要的想法是只記錄高質(zhì)量的內(nèi)容,并且盡量覆蓋重要的知識(shí)點(diǎn)。
5 紙上得來(lái)終覺(jué)淺,絕知此事要躬行
文章寫得再好,畢竟是紙面上的東西,一旦上手,可能又是另一種情況,我雖然看了不少書,也閱讀了許多優(yōu)質(zhì)的博客,但是對(duì)于有些技術(shù)細(xì)節(jié)總覺(jué)得還是差了點(diǎn),或者說(shuō),書上看來(lái)的東西,很快就忘了。其實(shí)記憶本身就是這種特點(diǎn),只有實(shí)戰(zhàn)可以讓書上的知識(shí)變成你自己的。用過(guò)這個(gè)技術(shù)并且能了解其原理,才能對(duì)這個(gè)技術(shù)有發(fā)言權(quán)。所以在未來(lái)的計(jì)劃里,我打算更多地寫一些實(shí)戰(zhàn)性的文章。
6 回到原點(diǎn),重新出發(fā)
從第一次寫博客到現(xiàn)在,經(jīng)歷了很多事,有了諸多感悟,與君共勉,至于對(duì)我的觀點(diǎn)認(rèn)同與否,那就見(jiàn)仁見(jiàn)智了。腳踏實(shí)地也不要忘了仰望星空。建議做開(kāi)發(fā)的朋友們都要寫博客,寫博客的好處很多,方便記憶,便于交流,也是打造個(gè)人品牌的一種方式,有時(shí)間自己搭博客,效果更好。
最近用b3log solo搭了博客,接下來(lái)打算用github pages + hexo來(lái)寫博客。等到工作以后,可能會(huì)只用個(gè)人博客了。這可能也象征著學(xué)生時(shí)代的結(jié)束吧,新的博客不僅會(huì)有技術(shù)文章,還會(huì)分享人生感悟,csdn的話,還是主要發(fā)布技術(shù)文章。就說(shuō)到這里了。希望有更多人看到。