《Java特種兵》1.4 功底概述

杜老師說 2022-01-07 10:23:25 阅读数:642

java 功底 概述

NOYK{JPEFY}9BBPNBW48OHI本文是《Java特種兵》的樣章,感謝博文視點和作者授權本站發布

1.4 功底概述

本節是本章的“道”第一次總結,胖哥會盡量簡單說明。

1.4.1 什麼是功底

古人有句話:“心有靈犀一點通”,形容相互之間的交流十分默契,而融洽的基礎在於彼此十分了解對方。在專業領域上要做到這一點,就是要深深地了解技術以及它的內在。

武俠中有一種武學叫“九陽神功”,也有一種武學叫“易筋經”等,它們之所以很神奇,是因為它們都有一種不變的特征,就是學習了這些武功後,再學習任何武學都很快,而且可以比別人學得更好。同時,這些“武學秘籍”也有一個共同的思想,就是以內功修為為主,而不是以招式為主。

胖哥寫的書自然不敢與這些“神”一樣的“秘籍”相提並論,胖哥只是借此告訴大家內在修為將會决定你在技術這條路上能走多遠。

胖哥無法幫助你成為“張無忌”一樣的絕世高手,但是一個真正的老A,也同樣需要有很深厚的內功修養;否則,當新的事物出現時,你會跟不上潮流,“out”了,正所謂:練武不練功,到老一場空。

在功底方面,我們還需要做到知其然並知其所以然,形成一種由知識引導思維,由思維引導答案,由結果印證理論,不斷迭代的過程。在這個過程中,對問題的認識會越來越清晰,自然在見解上也會越來越有道理,同時也會對自己所在的領域充滿自信。

†† 1.4.2 功底有何用途

第1節講解了String的故事,第2節講解了關於一些算法的故事,第3節我們開始玩數字遊戲,是否覺得自己用了很久的Java,好多東西還不知道?當然,如果你認為胖哥說得過於小兒科,那麼就跳過去吧。

在前面的這些知識中,很多技術本質源於生活,很多意想不到的事情發生了,這一切在本書中才剛剛開始,或許後續章節中的一些內容會更加讓你感覺出乎意料。這些原本認為是真理的內容,被徹底顛覆,在實際的場景中也許就在不經意之間,你會留下一個很難琢磨的Bug,或者根本不會認為是Bug的Bug,然後讓別人來解决這個Bug。正所謂:我們不怕犯錯,怕的是不知道什麼是錯,更怕的是我們一直堅信正確的事竟然是錯的。

很多時候,印證了一個通過測試得到的經驗並不那麼靠譜,胖哥的例子也許已經令你感受到測試場景可能會决定許多不同的結果。在不知道本質的時候,僅僅通過某些特定的測試場景是不能作為真理來指導開發的,最多只能是指導同樣場景下的開發。測試通常可以幫助我們去理解本質,以及在知道本質後它是一個印證的過程。

知道了內在,就像知道了String的編譯優化、String的常量池、String的內存結構,知道了常規的算法,知道了生活中的對應方法,我們發現它並不是那麼難,關鍵是你是否願意去看它的本質。其實看本質對於許多程序員來講是一件擁有快感的事情,因為生活的現實世界在自己的工作中找到了靈感,但是它又不像人性那麼複雜,它比生活更加簡單。

只是我們過於看中技術本身,過分仰望技術本身,“容易陷入深淵,而難以自拔”,甚至有人喜歡鑽牛角尖,對於這樣的同學來講,胖哥只能說“苦海無涯”,你需放下才能找到新的方向,需解脫和放下才能超越自我。

總的來講,胖哥認為:只有不斷顛覆自我,找出本質,才能將一些問題連根拔起。而不是過分相信自己曾經做過的實驗和別人說過的所謂真理,這些都僅僅作為參考而已。

†† 1.4.3 如何磨練功底

功底並非天高,任何人只要願意,能靜心,就都行!

大多數初學者,對能做出一個例子,或做非常多的例子引以為傲,其實這並不是壞事,只是學習後一定要“落實於根本,回顧與總結”,切勿讓“猴子掰玉米”的故事發生在你的身上。換句話說,浮躁的心態是“猴急”,什麼都想要去學習,結果學了就丟了,沒有自己知識的凝固,沒有自己的總結和筆記。

首先,要能靜心,靜心才能落實,立足於當下,要知道學海無涯、浩瀚無邊,並且社會在發展,知識在進步,我們的確需要不斷學習,但是要從當下做起。

當我們靜下心來,就可以開始總結了,總結啥呢?感想嗎?也可以,不過老這麼總結就不像IT從業者了,而像一個感情豐富的編輯。我們剛開始做總結有點像記筆記,就是將老師所講,或自己所學記錄下來,按照條目一條條地陳列。但是這不算總結,只能算是筆記,這些內   容在許多的書籍和網站上可以找到更好的內容,而總結應當包含自己的理解和感受,應當能闡述學習和理解過程中的痛苦。

NOYK{JPEFY}9BBPNBW48OHI

在技術領域你可以總結思路,總結所學所用,總結所遇到的問題,總結為什麼,總結解决問題的手段和方法,分析問題和定比特問題的思路,總結在解决問題時所用的知識,總結技術點上是否還有相關的方案,以及對比相關知識的優缺點。

在業務上總結自己最近做過些什麼,那些是大事還是小事,自己所做的事情和幾個月前比提高沒有,效率上提昇沒有,時間安排如何,如果加班太多能否不加班,自己的工作效率是否可以進一步提昇,以及如何提昇,通過技術完成某些自動化還是基於時間管理來更合理地安排自己,未來幾個月准備或希望去做什麼樣的事情,是否有能力去參與更重要的職責。

當然,我們不是每天都要去做總結,那樣會很浪費時間。

即使每天去做總結,也是一個小總結而已,如果我們非常忙,那就沒必要這樣做。但是當我們看到一篇比較好的文章時,可以先初步看看內容,把它記錄下來,寫到總結中錶示想要去學習的內容,等到閑暇之餘去看看,再進一步來總結或許會更好。

本節我們用一個簡單String等值對,就能說出一大堆基礎知識,也能說出類似的方法,相應的算法也能聯想出來,你不覺得這樣的由小的點入手引導相關知識的方法也是一種不錯的學習方法嗎?

工作與學習本身並不矛盾,工作本身就是一種學習,只是它更偏重於實踐,基於工作驅動學習一個新東西會更快一些,不過大多在使用層面。當遇上了稀奇古怪的問題時,就想要去看看內在的原理了,此時去看看源碼,你會更加有動力。這樣的碎片化學習方式,其實也是一個積土成山的過程,達到一定程度自然是“量變發生質變”,那個時候再去看看“牛人的秘籍”,就是一種交流,一種知識梳理的過程。

也許剛開始我們無法做到很深入的細化與知識聯想,尤其是某些相關技術點需要很大的知識面才能把它講清楚,技術需要理論,理論又需要技術,這是一個死循環,我們便開始產生了“雞與蛋”的糾結問題,許多人在長期的糾結中選擇了原地踏步,也就是相當於放弃了。其實我們需要的還是立足於當下業務,盡自己所能去挖掘,通過業務細化驅動技術的發展,盡我們所能廣泛聯系知識,整個學習過程是一個迭代的過程,功底是逐步提昇的,不要糾結於死循環的問題。

如果你希望自己從事技術這個領域,就要學會相信自己,擁有一定的自信,有信心不是說自負,而是有信心去面對困難。當你有一定成就的時候,不可狂傲,要知道天外有天,人外有人,世界上沒有最高,只有更高,即使是今天的最高,明天也會有更高出現。而我們的功底將支撐自己的這座山峰,我們更加願意去追求自己的極限,追求自己理想的巔峰。

原創文章,轉載請注明: 轉載自並發編程網 – ifeve.com本文鏈接地址: 《Java特種兵》1.4 功底概述

FavoriteLoading添加本文到我的收藏
版权声明:本文为[杜老師說]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201071023250807.html