MVCC(Mutil-Version Concurrency Control),就是多版本并发控制。 MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。 在 MySQL 的 InnoDB 引擎中就是指在已提交读 (READ COMMITTD) 和可重复读 (REPEATABLE READ) 这两种隔离级别下的事务对于 SELECT 操作会访问版本链中的记录的过程。 这...
阅读全文 »

概念MySQL 数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。需要注意的是,存储引擎是基于表的,而不是数据库的(即同一个数据库中的不同表可以有不同的存储引擎)。 查看支持哪些存储引擎想了解 MySQL 中支持的引擎的情况,可以使用如下命令查看: 1show engines; 常用搜索引擎介绍MyISAM索引顺序存取方法(ISAM, Indexed Sequential Acce...
阅读全文 »

在讲解 Mysql 的隔离级别与事务之前,先要了解一下概念:什么是 脏读、幻读、不可重复读? 假如有表 User 中数据如下 id name age sex 1 Jack 25 男 2 Rose 23 女 脏读 不可重复读 幻读脏读产生原因脏读又称无效数据的读出,是指在数据库访问中,事务 A 将某一值修改,然后事务 B 读取该值,此后事务 A 因为某种原因撤销对该值的修改,这就导致了事务 B 所读...
阅读全文 »

大O表示法是最常用的表示算法时间复杂度的表示法。 本篇博客我们将推导各种算法的大O表示法。 示例1:查找前n个数字的总和。在此示例中,我们必须找到前n个数字的总和。例如,如果n = 4,则输出应为1 + 2 + 3 + 4 =10。如果n = 5,则输出应为1 + 2 + 3 + 4 + 5 =15。让我们尝试各种解决方案此代码,然后尝试比较所有这些代码。 O(1)解决方案1234int find...
阅读全文 »

位运算 按位与(&) 都1则1 对两个数进行操作,然后返回一个新的数,这个数的每个位都需要两个输入数的同一位都为1时才为1 按位或(|) 有1则1 比较两个数,然后返回一个新的数,这个数的每一位设置1的条件是两个输入数的同一位都不为0(即任意一个为1,或都为1) 按位异或(^) 不同为1 相同为0 两数异或 可看作是两数没有进位的加法 比较两个数,然后返回一个数,这个数的每个位设为1的条件...
阅读全文 »

什么是算法?在计算机科学中,每当我们要解决一些计算问题时,我们都会定义一组解决该问题需要遵循的步骤。这些步骤统称为算法。 如何区分算法的好坏?针对特定问题可以有很多算法。那么,如何区分算法的好坏呢? 让我们了解一个好的算法的属性: 正确性:如果算法对于每组输入都以正确的输出停止运行,则该算法被认为是正确的。如果没有为任何特定的输入集获得正确的输出,则你的算法是错误的。 有限性:通常,人们会忽略这一...
阅读全文 »

从 Java EE 5 规范开始,Servlet 中增加了两个影响 Servlet 生命周期的注解(Annotion);@PostConstruct 和@PreDestroy。这两个注解被用来修饰一个非静态的 void() 方法 。写法有如下两种方式: 12@PostConstructPublic void someMethod() {} 或者 1public @PostCon...
阅读全文 »

今天把以前记录的 Cron 表达式的笔记整理为博客。 Cron 表达式,由七个字段组成: Seconds Minutes Hours Day-of-Month Month Day-of-Week Year (Optional field) 举例如下:创建一个每三小时执行的 CronTrigger,且从每小时的整点开始执行: 10 0 0/3 * * ? 创建一个每十分钟执行的 CronTrigge...
阅读全文 »