InnoDB 记录存储结构

准备工作到现在为止,MySQL 对于我们来说还是一个黑盒,我们只负责使用客户端发送请求并等待服务器返回结果,表中的数据到底存到了哪里?以什么格式存放的?MySQL 是以什么方式来访问的这些数据?这些问题我们统统不知道,对于未知领域的探索向来就是社会主义核心价值观中的一部分,作为新一代社会主义接班人,不把它们搞懂怎么支援祖国建设呢?我们前边唠叨请求处理过程的时候提到过,MySQL 服务器上负责对表中数据的读

MySQL 事务隔离级别详解

一、四大特性原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构

深入浅出 java 常量池

jvm 虚拟内存分布:程序计数器是 jvm 执行程序的流水线,存放一些跳转指令。本地方法栈是 jvm 调用操作系统方法所使用的栈。虚拟机栈是 jvm 执行 java 代码所使用的栈。方法区存放了一些常量、静态变量、类信息等,可以理解成 class 文件在内存中的存放位置。虚拟机堆是 jvm 执行 java 代码所使用的堆。Java 中的常量池,实际上分为两种形态:静态常量池和运行时常量池所谓静态常量池,即.class 文件中的常量池

深入理解 JVM : Java 内存区域划分

Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分为若干个不同的数据区域。java 虚拟机运行时数据区一、程序计数器程序计数器可以看做是当前线程所执行的字节码的行号指示器。在 JVM 的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。由于 JVM 的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,为了在线程切换后能恢复到正确的执行位置,每条线程都

利用 Markdown 创建表格

Markdown 作为一种轻量级书写/写作语言,并没有提供很好的排版、编辑等功能。因此,如果想要利用 Markdown 创建表格(特别是复杂表格),其实是一项不太轻松的事情。经过笔者在简书平台上的测试与其他若干帖子的表述,Markdown 应是只提供了最简单的创建表格与内容对齐方式的功能。总结而言,有如下两种最为直观的创建表格方式:简单方式 Name|Academy|score-|:-:|-:HarryPot

Java 注解用法详解——@SuppressWarnings

一、前言编码时我们总会发现如下变量未被使用的警告提示:上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加@SuppressWarnings("unused")去除这些“感叹号”。**二、@SuppressWarings 注解****作用:用于抑制编译器产生警告信息。**示例 1——抑制单类型的警告:@SuppressWarnings("u