Java要凉了?请立即阅读这10篇文章
庆哥
读完需要
速读仅需 5 分钟
大家好,我是庆哥,我一直在自学 Java,今天我又来分享 Java 知识了
重磅预告,今天的内容很干,如果你觉得没收获,欢迎私信怼我,如果觉得收获不小,麻烦动动你的小指头给庆哥点个赞,我需要你们的支持……
今天要分享的内容干货总结起来就是:
What Every Programmer Should Know about .....
没关系,我知道你们英语和庆哥一样不好,我给翻一下,就是”每个程序员必须知道系列……“
这么一看,干货无疑了!今天主要分享的是 10 篇文章,而这些文章都有一个特点,就是全面而又系统的去为大家剖析一个知识点,往往这样的文章是最有价值的!是值得你收藏起来反复阅读的,很可能你读第一遍,啥也不懂,有价值的文章往往如此,需要你花时间去吸收!
接下来,重磅内容来袭,准备好了嘛?
/ 1. 每个程序员都应该知道的关于内存的事情 /
我其实一直在强调计算机基础的重要性,由于自己在大学的时候并没有好好学习这方面的知识,所以我现在也在努力补习这一块的知识,而在我系统化学习了关于内存,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 篇文章了,可能你感觉到了,这哪是文章啊,是的有些可以说是一本书,比如第一篇关于内存方面的知识,只有这样才能大而全且系统的带你认识一个知识!
其实我一直觉得,程序员要学的知识真的是太多了,而又感觉自己的时间是真的不够,时常有种学不动的节奏,但是我们依然要保持自主学习力!
另外我还想分享的一句话就是“万丈高楼平地起,勿在浮沙筑高台”,计算基础知识对每一个程序员来说都是非常重要的,面对日新月异的技术迭代,我们怎么才能保持核心竞争力,避免被淘汰!
我想,应该就是基础知识了吧!
如果你想系统化的零基础自学Java,请长按以下二维码