这篇文章主要讲的是面向对象设计中,应该遵循的六大原则。只有掌握了这些原则,才能更好的理解设计模式。我们接下来要介绍以下6个内容。 单一职责原则——SRP 开闭原则——OCP 里氏替换原则——LSP 依赖倒置原则——DIP 接口隔离原则——ISP 迪米特原则——LOD 0x01: 单一职责原则 单一职 ...
分类:
其他好文 时间:
2020-11-23 12:04:30
阅读次数:
4
多个线程开启各自事务操作数据库中数据时,数据库系统要负责隔离操作,以保证各个线程在获取数据时的准确性。 数据库共定义了四种隔离级别: Serializable:可避免脏读、不可重复读、虚读情况的发生。(串行化) Repeatable read:可避免脏读、不可重复读情况的发生。(可重复读) Read ...
分类:
数据库 时间:
2020-11-21 12:08:08
阅读次数:
12
什么是Docker? Docker是由dotcloud公司使用golang语言进行开发的,基于Linux内核的 cgroup,namespace,以及OverlayFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其 ...
分类:
其他好文 时间:
2020-11-20 12:22:59
阅读次数:
27
内存分区简介 老生常谈的问题了,虽然网上一搜一大把,也很详细,但是我还是想写一写,通过自己的总结整理,加深一下印象。 我不知道学习Java内存分区有什么实际作用,但它就是像常识一样,一个使用Java语言的人不知道内存分区总感觉差点意思。 Java程序是运行在JVM虚拟机上的。Java虚拟机在运行程序 ...
分类:
编程语言 时间:
2020-11-19 12:59:20
阅读次数:
19
事务ACID特性,其中I代表隔离性(Isolation)。什么是事务的隔离性?隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。一个事务怎么会干扰其他事务呢?咱们举例子来说明,假设有InnoDB表:t(idPK,name);表中有三条记录:1,shenjian2,zhangsan3,lisicase1事务A,先执行,处于未提交的
分类:
数据库 时间:
2020-11-17 12:05:39
阅读次数:
10
《挖坑,InnoDB的七种锁》初步说明了InnoDB中,会使用七种不同类型的锁,今天就介绍其中的第一种,自增锁(Auto-incLocks)。一,案例说明MySQL,InnoDB,默认的隔离级别(RR),假设有数据表:t(idAUTO_INCREMENT,name);数据表中有数据:1,shenjian2,zhangsan3,lisi事务A先执行,还未提交:insertintot(name)val
分类:
数据库 时间:
2020-11-17 12:03:43
阅读次数:
13
Case1MySQL,InnoDB,默认的隔离级别(RR),假设有数据表:t(idPK,name);数据表中有数据:10,shenjian20,zhangsan30,lisi事务A先执行,还未提交:insertintotvalues(11,xxx);事务B后执行:insertintotvalues(12,ooo);问:事务B会不会被阻塞?Case2MySQL,InnoDB,默认的隔离级别(RR),
分类:
数据库 时间:
2020-11-17 12:03:25
阅读次数:
13
《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁结束这个case,既然呼声这么高,干脆全盘系统性的写写InnoDB的并发控制,锁,事务模型好了。体系相对宏大,一篇肯定写不完,容我娓娓道来,通俗地说清楚来龙去脉。一、并发控制为啥要进行并发控制?并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并
分类:
数据库 时间:
2020-11-17 12:02:54
阅读次数:
12
《InnoDB,5项最佳实践,知其所以然?》发布后,不少同学留言希望讲讲MySQL的InnoDB行锁机制。要细聊MySQL的行锁,难以避免的要从事务的四种隔离级别说起。四种隔离级别,又脱不开聊读脏,不可重复读,读幻象等问题。事务隔离级别,行锁机制等都比较垂直,应用开发中大部分同学都用不到,不确定是否大部分朋友都感兴趣。今天,先抛出一个问题,如果大家确定对这类话题感兴趣的话,后续我花时间细聊这一系列
分类:
数据库 时间:
2020-11-17 12:02:33
阅读次数:
10
如果说虚拟机是买公寓,容器则相当于合租,有一定的隔离,但是隔离性没有那么好。云计算解决了基础资源层的弹性伸缩,却没有解决 PaaS 层应用随基础资源层弹性伸缩而带来的批量、快速部署问题。于是,容器应运而生。 容器就是 Container,而 Container 的另一个意思是集装箱。其实容器的思想就 ...
分类:
其他好文 时间:
2020-11-13 12:54:30
阅读次数:
6