学习写一个MYDB——(1)从TM开始 1、从TM开始TM 通过维护 XID 文件来维护事务的状态,并提供接口供其他模块来查询某个事务的状态。 XID文件 在MYDB中,每一个事务都有XID,XID唯一标识了这个事务。 事务的XID是从1开始标号,并自增,不可重复。特殊XID 0 为超级事务。当一些操作想在没申请事务的情况下进行,可以将操作的 XID 设置为 0。XID为 0 的事务的状态永远是 committed。 Transact 2022-09-28 项目 > 学习写一个MYDB #Java #MYDB
学习java虚拟机——(4)内存模型 内存模型1. java 内存模型JMM 即 Java Memory Model,它定义了主存(共享内存)、工作内存(线程私有)抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、 CPU 指令优化等。 JMM 体现在以下几个方面 1.1 原子性保证指令不会受到线程上下文切换的影响 解决办法 synchronized (同步关键字) 语法: 12345synchronized( 对象 ) 2022-09-27 学习java虚拟机 #jvm #Ja
学习java虚拟机——(3)类加载与字节码技术 类加载与字节码技术1、类文件结构一个简单的 HelloWorld.java 123456// 二进制字节码(类基本信息,常量池,类方法定义,包含了虚拟机指令)public class HelloWorld { public static void main(String[] args) { System.out.println("hello wor 2022-09-18 学习java虚拟机 #Java #jvm
学习java虚拟机——(2)垃圾回收 垃圾回收1、任何判断对象可以回收1.1引用计数法弊端:循环引用时,两个对象的计数都为1,导致两个对象都无法被释放 1.2 可达性分析算法首先需要确定一系列根对象(肯定不能被当成垃圾被回收的对象),在垃圾回收之前,会对堆内存中的所有对象进行一遍扫描,判断每一个对象是否是被根对象所直接或者间接的引用,如果是这个对象就不能被回收,反之如果一个对象没有被根对象直接或者间接的引用,那么这个对象就可以直接被 2022-09-14 学习java虚拟机 #Java #jvm
学习java虚拟机——(1)内存结构 学习java虚拟机——(1)内存结构1. 程序计数器1.1定义Program Counter Register 程序计数器(寄存器) 1.2作用记住下一条jvm指令的执行地址 1.3 特点 是线程私有的 不会存在内存溢出 2. 虚拟机栈2.1 定义每个线程运行时所需要的内存,称为虚拟机栈 每个线程运行时所需要的内存,称为虚拟机栈 每个栈由多个栈帧(Frame)组成,对应着每次方法调用 2022-09-08 学习java虚拟机 #Java #jvm
SpringMVC接收页面表单参数 几个简单的Spring mvc页面表单提交获取数据后台接收参数实现 转:http://www.cnblogs.com/luxh/archive/2013/03/14/2960152.html 2021-08-19 后端 #Java #error
正则表达式 字符描述: \:将下一个字符标记为特殊字符或字面值。例如 “n “与字符 “n “匹配。 “\n “与换行符匹配。序列 “\ “与 “\ “匹配, “( “与 “( “匹配。 2021-08-17 后端 #pattern
猜数字游戏 开发一个猜数字游戏。游戏应随机选择一个 100 以内的自然数, 然后邀请玩家在 10 轮以内猜出这个数字。每轮后都应告知玩家的答案正确与否,如果出错了,则告诉他数字是低了还是高了。并且应显示出玩家前一轮所猜的数字。一旦玩家猜对,或者用尽所有机会,游戏将结束。游戏结束后,可以让玩家选择再次开始。 2021-05-27 前端 #JavaScript