跳至主要內容
搜索引擎必读经典书籍

Lucene

Elasticsearch 在 Apache Lucene 的基础上开发而成,学习 ES 之前,建议简单了解一下 Lucene 的相关概念。

《Lucene 实战》 是国内为数不多的中文版本讲 Lucene 的书籍,适合用来学习和了解 Lucene 相关的概念和常见操作。

《Lucene实战》-实战
《Lucene实战》-实战

Guide大约 1 分钟计算机书籍
计算机基础必读经典书籍

考虑到很多同学比较喜欢看视频,因此,这部分内容我不光会推荐书籍,还会顺便推荐一些我觉得不错的视频教程和各大高校的 Project。

操作系统

为什么要学习操作系统?

从对个人能力方面提升来说,操作系统中的很多思想、很多经典的算法,你都可以在我们日常开发使用的各种工具或者框架中找到它们的影子。比如说我们开发的系统使用的缓存(比如 Redis)和操作系统的高速缓存就很像。CPU 中的高速缓存有很多种,不过大部分都是为了解决 CPU 处理速度和内存处理速度不对等的问题。我们还可以把内存可以看作外存的高速缓存,程序运行的时候我们把外存的数据复制到内存,由于内存的处理速度远远高于外存,这样提高了处理速度。同样地,我们使用的 Redis 缓存就是为了解决程序处理速度和访问常规关系型数据库速度不对等的问题。高速缓存一般会按照局部性原理(2-8 原则)根据相应的淘汰算法保证缓存中的数据是经常会被访问的。我们平常使用的 Redis 缓存很多时候也会按照 2-8 原则去做,很多淘汰算法都和操作系统中的类似。既说了 2-8 原则,那就不得不提命中率了,这是所有缓存概念都通用的。简单来说也就是你要访问的数据有多少能直接在缓存中直接找到。命中率高的话,一般表明你的缓存设计比较合理,系统处理速度也相对较快。


Guide大约 19 分钟计算机书籍
技术书籍精选

这是一则或许对你有用的小广告

  • 面试专版:准备 Java 面试的小伙伴可以考虑面试专版:《Java 面试指北 》 (质量非常高,专为面试打造,配合 JavaGuide 食用效果最佳)。
  • 知识星球:技术专栏/一对一提问/简历修改/求职指南/面试打卡/不定时福利,欢迎加入 JavaGuide 官方知识星球

Guide小于 1 分钟计算机书籍
软件质量必读经典书籍

下面推荐都是我看过并且我觉得值得推荐的书籍。

不过,这些书籍都比较偏理论,只能帮助你建立一个写优秀代码的意识标准。 如果你想要编写更高质量的代码、更高质量的软件,还是应该多去看优秀的源码,多去学习优秀的代码实践。

代码整洁之道

《重构》


Guide大约 6 分钟计算机书籍