作为一名Java程序员和软件开发人员楼,那些每个程序员都应该知道的XXX的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到。在我学习的过程中我读到过许多非常有用的文章,我把它们添加到了书签里,方便以后阅读或者引用。我个人认为所有开发人员都能从这些文章中受益,因此我也写了篇“每个程序员都应该了解的”文章,准备分享给你们。这是我的个人收藏。在这篇文章中,你会看到每个程序员都应该了解的一些经典文章,涵盖了内存,unicode,浮点数,网络,面向对象设计,时间,URL编码,字符串等话题。这个列表对初学者和新手来说非常重要,因为他们现在缺的正是实战的经验。而这些文章正好是实践相关的,他们可以从中学到很多东西。在职业生涯的初级,早点了解一些基础的知识有助于今后避免犯错,这些坑已经被其他的程序员和软件开发人员在他们学习的过程中踩过了。你可能还搞不明白浮点数的一些细节,或者被内存的细节弄得晕头转向,不过将这份列表保留在手边还是很有必要的,在适当的时候可以时不时的参考下。祝你好运,希望你能喜欢这些文章。顺便提一句,如果有任何的程序员必读系列的文章没在这个列表中,别忘了分享一下。
这是篇非常经典的文章,它将会带领你走入内存的各个方面,有老的,也有新的,有知道的,也有不知道的。尽管内存十分常见,无处不在,但并不是每个程序员都足够了解它。如果你正在编写高性能的应用程序的话,了解现代系统中的内存尤为重要。硬件设计师们带来了更复杂的内存处理及加速的技术,比如说CPU缓存,但如果离开了程序员它们也无法发挥出最大的价值。我仍在阅读这篇文章,很难说清楚我到底从中学到了多少关于随机访问内存(RAM),CPU缓存,包括1级,2级缓存,不同类型的内存,直接内存访问,内存控制器设计及普通内存的知识。简而言之,它是各个层次的程序员都必读的文章。
浮点数运算是一个非常有技术含量的话题,不太容易掌握。许多Java程序员都不清楚使用==操作符比较float/double类型的话到底出现什么问题。许多人在使用float/double进行货币计算的时候经常会犯错。这篇文章是这一系列中的精华,所有的软件开发人员都应该读一下。随着你经验的增长,你肯定想去深入了解一些常见的东西的细节,浮点数运算就是其中之一。作为一名Java高级开发人员,你必须了解如何进行货币运算,何时使用float,double或者BigDecimal,如何对浮点数进行舍入运算等等。就算你知道了浮点数运算的一些基础知识,读下这篇文章,你肯定还会学到一些新的东西。
字符编码是另一个许多程序员痛苦挣扎的领域,”每一个程序员都绝对绝对应该了解Unicode以及字符集(不许找任何借口!)“填补了这一空白。标注一下,是的,这就是这篇文章的标题。它是由stackoverflow.com的创始人之一,Joel Spolsky所写的。Joel10年前就在他的博客上发表了这篇文章,不过对于现在而言仍然适用。这篇文章会告诉你什么是Unicode,什么是字符编码,字符是如何通过字节来表示的等等。这篇文章最赞的一点就是它的语言及行文,尽管你根本不知道什么是Unicode,你也能够很容易地看懂。一句话,这又是一篇程序员,码农,软件工程
网友评论