Skip to content

Commit 62b00e9

Browse files
committed
[docs improve] Java 书籍精选完善
1 parent ebba513 commit 62b00e9

File tree

5 files changed

+74
-159
lines changed

5 files changed

+74
-159
lines changed

docs/.vuepress/sidebar.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ export const sidebarConfig = defineSidebarConfig({
1717
"cs-basics",
1818
"cs-basic-coureses",
1919
"database",
20+
"search-engine",
2021
"java",
2122
"software-quality",
22-
"q&a",
2323
],
2424
"/about-the-author/": [
2525
{

docs/books/database.md

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,7 @@ head:
77
content: 数据库书籍精选
88
---
99

10-
数据库系统这门课在程序员的职业规划中也是非常重要的一门课,甚至有些信息管理的专业的也要开设这门课。说这门课重要,是因为对于程序员的发展来说,一方面关系数据库系统、SQL 语言以及数据库的三段设计(概念设计、逻辑设计和物理设计)都是开发数据库应用程序的必备技能,通常在数据库应用开发岗位的面试中,数据库的设计是面试官青睐的考点,如何能根据需求分析并设计出完善的数据库系统,是程序员的必备技能,设计好了完善的数据库系统之后,再用 SQL 语言等工具对其进行实现,那么这些其实就是个人的编码能力了。
11-
12-
另一方面,数据库中的查询处理、查询优化、并发控制、事务管理、日志管理等内容,都是数据库中稍微进阶一点的技能,对于一些对岗位要求比较高的,这些技术同样要求熟练掌握。对一些查询优化的等数据库底层实现的内容,也是新型数据库开发的前置基础技能,对于一些研究型人才来说,也是非常重要的。
13-
14-
数据库系统与其他计算机专业课一样,知识体系非常清晰,而且他有一个非常突出的特点,就是实际与理论相结合。SQL 语言,数据库设计等,这些都属于实践应用部分,而对于一些范式定义,两段锁协议并发控制等,这些就偏向于理论多一些。要想学好数据库系统,建议大家:
15-
16-
1. **在课程的前期阶段,熟练掌握 SQL 语言的应用,同时不要忘了训练关系代数的应用能力。** 关系代数虽然在数据库的实现上作用较小,但在学习阶段,结合关系代数和 SQL 语言学习,可以更加有体系地理清 SQL 语言各个子句之间的逻辑关系,有助于 SQL 语言的学习和记忆。关系代数的学习更像是建立一种思维,这种思维到了数据库底层实现学习环节也是非常有用的。
17-
2. **在课程的中期阶段,熟练掌握 ER 图的应用,并强化数据库设计中的理论部分。** ER 图的熟练应用可以更加轻松地设计出关系数据库模式,而理论部分同样不能忽视,设计理论的运用决定了数据库的正确性和健壮性。
18-
3. 而在课程的后期阶段,主要就是以理论居多,而且这些理论并不容易能找到配套的实验练习。**这里再次强调,凡是理论知识的学习,尽量要结合图解的方式**
19-
20-
## 数据库基础
10+
## 基础
2111

2212
教材的话,强烈推荐 **[《数据库系统概念》](https://book.douban.com/subject/10548379/)** ,这本书涵盖了数据库系统的全套概念,知识体系清晰,是学习数据库系统非常经典的教材!不是参考书!
2313

@@ -80,18 +70,3 @@ head:
8070
如果你要学习 Redis 的话,强烈推荐 **[《Redis 设计与实现》](https://book.douban.com/subject/25900156/)****[《Redis 实战》](https://book.douban.com/subject/26612779/)** 这两本书。另外,**[《Redis 开发与运维》](https://book.douban.com/subject/26971561/)** 这本书也非常不错,既有基础介绍,又有一线开发运维经验分享。
8171

8272
![](https://oscimg.oschina.net/oscnet/up-9f20f5e860d143181bd27343abfef3af2ce.png)
83-
84-
下面是我总结的一些关于并发的小问题,你可以拿来自测:
85-
86-
1. Redis 和 Memcached 的区别和共同点
87-
2. 为什么要用 Redis/为什么要用缓存?
88-
3. Redis 常见数据结构以及使用场景分析
89-
4. Redis 没有使用多线程?为什么不使用多线程?Redis6.0 之后为何引入了多线程?
90-
5. Redis 给缓存数据设置过期时间有啥用?
91-
6. Redis 是如何判断数据是否过期的呢?
92-
7. 过期的数据的删除策略了解么?
93-
8. Redis 内存淘汰机制了解么?
94-
9. Redis 持久化机制(怎么保证 Redis 挂掉之后再重启数据可以进行恢复)
95-
10. Redis 缓存穿透、缓存雪崩?
96-
11. 如何保证缓存和数据库数据的一致性?
97-
12. ......

0 commit comments

Comments
 (0)