大家好,我是慶哥,我一直在自學Java,今天我又來分享Java知識了
重磅預告,今天的內容很干,如果你覺得沒識訓,歡迎私信懟我,如果覺得識訓不小,麻煩動動你的小指頭給慶哥點個贊,我需要你們的支持……
今天要分享的內容干貨總結起來就是:
What Every Programmer Should Know about …
沒關系,我知道你們英語和慶哥一樣不好,我給翻一下,就是**”每個程式員必須知道系列……“**
這么一看,干貨無疑了!今天主要分享的是10篇文章,而這些文章都有一個特點,就是全面而又系統的去為大家剖析一個知識點,往往這樣的文章是最有價值的!是值得你收藏起來反復閱讀的,很可能你讀第一遍,啥也不懂,有價值的文章往往如此,需要你花時間去吸收!
接下來,重磅內容來襲,準備好了嘛?
1. 每個程式員都應該知道的關于記憶體的事情
我其實一直在強調計算機基礎的重要性,由于自己在大學的時候并沒有好好學習這方面的知識,所以我現在也在努力補習這一塊的知識,而在我系統化學習了關于記憶體,CPU以及磁盤等相關知識后,我覺得對編程的理解更加清晰了!
之前很多不明白的知識點,加上記憶體,CPU以及磁盤等相關知識加持后,也有了頓悟的感覺,覺得這些計算機基礎知識真的很微妙,是每個程式員必備的內功之后,我之前也寫過這方面的文章:
作為一個程式員,記憶體的這些硬核知識你必須懂!
作為一個程式員,CPU的這些硬核知識你必須會!
作為一個程式員,記憶體和磁盤的這些事情,你不得不知道啊!!!
這些文章反響都挺不錯的,建議大家閱讀學習!
那今天要分享的這篇文章,也是非常經典的文章,主要就是給大家講解關于記憶體的一些硬核文章,這是一期論文,當然,國外的,所以是全英文的,從這篇文章(準確來說不能說是一篇文章了,都快趕上一本書了)你可以學習到關于RAM,CPU快取,不同型別的記憶體,直接記憶體訪問以及一般記憶體的知識!
可以說是非常的系統和全面了,可以說適合任何一個程式員,下面來一起看下:

遺憾的是,純英文啊,而且這種涉及底層的英文更是難讀,但是你知道這句話吧:
What Every Programmer Should Know About Memory
翻譯下就是”每個程式員都應該知道的關于記憶體的事情“,然后咱們Google一下:

會出現一個譯文,但也都是零零散散的,而且還不是原文的全部翻譯,為此,慶哥資費花時間整理翻譯了一波:


總體來說,效果還是非常不錯的,美中不足的地方就是目錄稍微效果差點,這個大家在看的時候可以自己調整下,相關PDF和原文都整理好了:

微信搜:慶哥Java,關注后回復“Java”即可獲取,更有其他原創資料在等你!
2. 每個計算機科學家都應該了解的關于浮點運算的知識
任何語言中都有關于浮點相關的資料型別,而且通常來說對于浮點運算,我們一般會覺得比較難搞,比如我們做Java的,想必很多人并不知道將浮點數值與“==“運算子比較時會出現什么問題,而且我們很多人在使用浮點做金錢相關的運算時也會經常出錯!
那這一篇文章就是關于浮點運算的精華知識了,可以說是非常的經典了,是所有程式員都值得讀的一篇文章,
關于浮點運算是我們在不斷的學習與成長中必須去了解的一個微妙細節,而且我們做Java的,必定要往更高的方向去走,那么作為一名高級Java開發人員,甚至是架構師,你必須乃至非常清楚如何進行貨幣計算,什么時候該用float,double或者BigDecimal類,以及如何舍入浮點數等等!
我相信,通過本篇文章,你一定會對浮點運算有個非常全面而且深入的認識!
說了那么多,就是這篇文章啦:

這篇檔案是在線檔案,我們可以借助瀏覽器翻譯插件去閱讀,地址是:https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
3. 每個開發者都應該知道的 Unicode 知識
這個講的也就是字符編碼,聽到字符編碼,你是不是又是覺得頭皮一陣發麻呢?這些東西雖然小,但是覺得都足夠麻煩,是不是?
你知道這篇文章是誰寫的嘛?就是這貨:

不用說,你肯定不認識,但是他可是一家著名網站的創始人之一,哪個網站呢?就是大名鼎鼎的Stack Overflow,這篇關于字符編碼的文章就是他在2003年的時候寫的,但是時至今日,依然非常有價值!
即使你對Unicode一無所知,也可以輕松讀懂!

這篇文章的標題起的很霸氣,哈哈,趕緊去看看吧,地址:https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
4. 每個 Web 開發人員必須了解的有關 URL 編碼的知識
這篇文章將給大家介紹的是關于統一資源定位符URL的相關知識,同時還介紹了關于HHTP的URL編碼!
我們在平常的java開發中也會碰到關于URL的問題,通過本篇文章,你將了解URL在java編碼中的問題處理以及全面的學習關于URL的相關知識!
總的來說,這篇文章非常適合我們學習java的去閱讀,收益很大,就是如下這篇文章:

地址:https://www.talisman.org/~erlkonig/misc/lunatech%5Ewhat-every-webdev-must-know-about-url-encoding/
5. 每個程式員都應該了解的關于 SEO 的內容
這塊的知識其實我之前一直說要學習,但是一直被擱置,這次對我來說也是一個很好的學習機會,我們常聽說作為程式員,要經常寫博客,寫博客對于自己的提升幫助還是很大的!
但是你有沒有思考過,自己寫的文章農科是否可以被更多人搜索到呢?尤其是現在越來越多的人開始搭建個人博客了,因此學習一些搜索引擎優化知識真的很重要,
而且對于搜索引擎來說,也是一個大主題,因為不同的搜索引擎之間是不相同的,比如常用的Google和火狐以及百度這些,所以這塊的知識還是非常建議學習的,那么這篇文章你絕對不可以錯過了:

地址是:https://katemats.com/blog/what-every-programmer-should-know-about-seo
6. 每個 C 程式員都應該知道的關于未定義行為的知識 #1/3
這篇文章主要講解的是關于C語言的知識,而且還是其中比較讓人疑惑的惡一個問題“未定義”,對于C語言來說,應該很多人都是多少會一點的,因為C語言是大多數人的啟蒙語言!
就包括現在,我依然建議大家去學習C語言,尤其是學習java的,更加建議你去學習C語言,以及熟悉一些C++知識,這將對你透徹理解java有很大的幫助,那么關于C語言中的未定義問題也是值得你好好研究一下的,而這篇文章,絕對稱得上是經典:

地址:http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
7. 每個程式員都需要了解的網路知識
這篇文章大家可能會感到奇怪,雖然網路大家都知道很重要,但是這篇文章是關于游戲網路的啊,但是也正是因為這樣,這篇文章才是那么的有趣!
你有沒有想過很多人一起玩的那種游戲是如何作業的呢?每個人在不同的地方,使用不同的網路卻能在一起玩游戲?
說實話,這是一篇關于網路非常有趣的文章,雖然說是為游戲開發而寫的,但是作為java程式員的你同樣值得一讀:

地址:https://gafferongames.com/post/what_every_programmer_needs_to_know_about_game_networking/
8. 每個 Java 開發人員都應該了解的關于字串的知識
字串,是的,這篇是講解字串的,重要性不言而喻,不用過多的介紹,只要你學習java,必讀就完事了:

地址:https://javarevisited.blogspot.com/2013/07/java-string-tutorial-and-examples-beginners-programming.html#axzz6xQzR8OZq
9. 每個程式員都應該了解哪些安全知識?
這是一篇講解安全性的通識類文章,這樣的文章我其實是非常建議讀的,因為這是那種你只要看,就絕對能漲知識的文章:

地址:https://stackoverflow.com/questions/2794016/what-should-every-programmer-know-about-security
10. 每個程式員都應該了解的技術提升之道
到了最后一篇文章不再是關于技術的了,而是關于如何學習的一個探討,程式員這個行業是需要我們不斷的自學的,也就是需要你去主動學習,而且還是要講究一定方法的自學,這樣我們才能讓自己的付出和說活成正比!
那這里我要推薦一個非常經典的技術學習三部曲:

如果你能把這篇文章吃透,我相信對你絕對有個質的提升,地址是:https://program-think.blogspot.com/2009/02/study-technology-in-three-steps.html
總結
以上就是我給大家分享的關于程式員必讀的10篇文章了,可能你感覺到了,這哪是文章啊,是的有些可以說是一本書,比如第一篇關于記憶體方面的知識,只有這樣才能大而全且系統的帶你認識一個知識!
其實我一直覺得,程式員要學的知識真的是太多了,而又感覺自己的時間是真的不夠,時常有種學不動的節奏,但是我們依然要保持自主學習力!
另外我還想分享的一句話就是“萬丈高樓平地起,勿在浮沙筑高臺”,計算基礎知識對每一個程式員來說都是非常重要的,面對日新月異的技術迭代,我們怎么才能保持核心競爭力,避免被淘汰!
我想,應該就是基礎知識了吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/286945.html
標籤:java
