按时间归档:2020年11月
-
【每日阅读】2020年11月30日-mysql的select是如何执行的
mysql整体上可分为server层、存储引擎层。 更详细的,按先后顺序就是连接器、查询缓存、分析器、优化器、执行器。 每次都先和连接器沟通,如果连接成功,再查看是否有缓存,如果没…
-
【每日阅读】2020年11月29日-如何使系统更易扩展?
一个词:拆分。 其实也就是目前微服务的思路。根据业务将系统拆分成一个个子系统,然后子系统使用自己的数据库。每个数据库还可以再进行更细粒度的分库。 系统拆分的越多,每个部分都有自己的…
-
【每日阅读】2020年11月27日-系统获得高可用的思路
大多数线上执行的系统应该是要保持在3个9和4个9之间的高可用性。毕竟5个9真的是太难了,我们接收到报警到登录到线上机器的时间应该都超过了5分钟。 高可用主要从两方面考虑,一方面是软…
-
【每日阅读】2020年11月26日-对网络多了一些了解
最近几天在看极客时间的《趣谈网络协议》,感觉对网络更了解了。 最近看到讲底层包发送的一些机制。每个包发送的时候,都会被数据了链路层、网络层、传输层分别加上MAC头,IP头,TCP头…
-
【每日阅读】2020年11月25日-网络为什么分层
因为复杂的软件都需要分层,分层能更好的实现。每层只关注自己该关注的问题,不需要操心别人的问题。这就和MVC架构一样,M注重表达数据,V注重展示数据,C注重操作数据。每部分都注重自己…
-
【每日阅读】2020年11月24日-Java如何解决原子性
Java解决原子性根本方法是锁,原生语法是synchronized,这个使用时要注意的是加锁要在同一个对象上,否则加了锁也相当于没有加锁。
-
【每日阅读】2020年11月23日-Java如何解决了有序性和可见性
昨天的文章说的是高并发都会遇到的问题,今天说说Java是如何解决的。 一句话说,就是Java是通过内存模型解决有序性和可见性的。解决这两个问题需要禁用缓存以及禁用编译优化,内存模型…
-
【每日阅读】2020年11月22日-并发编程的三大问题
继续看并发的课程文章。 今天了解了并发三大问题都是如何出现的。 可见性 多核CPU执行程序时,多个线程在不同CPU核心上执行,每个核都有自己的缓存。当线程修改变量后,并不一定会及时…
-
【每日阅读】2020年11月21日-如何才能学好并发编程?
这是我在极客学院买的一门课程的第一课。确实有收获。 在以前我觉得学习任何技术就是看如何使用,理论是辅助性的。看了这篇文章后觉得理论更重要,从理论可以看到技术的整体而不仅仅知识某一个…