数据库的事务一共有四个特性:
原子性
:代表事务是一个动作,要么同时成功,要么同时失败一致性
:事务开始和结束数据完整性没有发生破坏隔离性
:两个事务动作相互独立,不受干扰持久性
:事务完成后,能够保存到数据库。
那 MySQL 是如何保证这个四个特性的呢?
为了弄明白这几个特性,我们需要先看下事务的隔离级别。
数据库的事务一共有四个特性:
原子性
:代表事务是一个动作,要么同时成功,要么同时失败一致性
:事务开始和结束数据完整性没有发生破坏隔离性
:两个事务动作相互独立,不受干扰持久性
:事务完成后,能够保存到数据库。那 MySQL 是如何保证这个四个特性的呢?
为了弄明白这几个特性,我们需要先看下事务的隔离级别。
在代号为 C-137 的地球上,Rick 发现如果他将两个球放在他新发明的篮子里,它们之间会形成特殊形式的磁力。Rick 有 n
个空的篮子,第 i
个篮子的位置在 position[i]
,Morty 想把 m
个球放到这些篮子里,使得任意两球间 最小磁力 最大。
已知两个球如果分别位于 x
和 y
,那么它们之间的磁力为 |x - y|
。
给你一个整数数组 position
和一个整数 m
,请你返回最大化的最小磁力。
找到 Method 的 DescriptionIndex 的属性,找到对应的描述,例如:
1 | public class AddMain { |
这个例子中的 java 代码,add 方法对应的代码是 (II)I,
最后一个 I 代表返回值,这个代表两个整型的参数.
1 | private static int add(int a, int b,String c,boolean d) { |
同样,(IILjava/lang/String;Z)I 代表有4个参数,字符串的表示是:Ljava/lang/String;
,解析比较特殊。
在运行一段 java 代码的时候需要经过编译
,验证
,加载
和运行
,具体如下图:
对于 Java 源码变成字节码的编译过程,我们暂且跳过不讨论。
想弄清楚 java 代码的运行原理,其实本质就是 java 字节码如何被 jvm 执行。
在学习的JVM的时候,最重要的是认识JVM的指令,JVM指令很多,为了方便记忆,可以根据前缀和功能进行分类:
例如:nop
指令代表是一个空指令,JVM收到指令后,什么都不用做,等待下一个指令。
访问者模式是一种对象和对象的访问者分开的一种设计模式,在一个对象稳定的情况下,使用访问者模式可以更好的扩展对数据的访问。 相当于是我们在对象里面安插了一个“眼”,这个眼能够被外面实现,然后能拿到当前对象的各个属性。
Update your browser to view this website correctly.&npsb;Update my browser now