摘要:
不知道大家是否还记得事务的四大特性,现在我们回忆一下吧,持久性、一致性、隔离性、原子性。没错,我们今天讲的就是持久性。 一、啥是 redo log 我们想象有这么一个生产环境,就是如果我们只在内存的 Buffer Pool 中修改了页面,事务提交后突然发生了某个故障,导致内存中的数据都失效了,那么这 阅读全文
摘要:
上次我们讲了 MySQL 索引的底层原理,现在我们讲讲如何使用 MySQL 索引吧 一、索引的代价 空间上的代价 每建立一个索引都要为它建立一棵 B+ 树,每一棵 B+ 树的每一个节点都是一个数据页,一个页默认会占用 16KB 的存储空间,一棵很大的 B+ 树由许多数据页组 成,那可是很大的一片存储 阅读全文
摘要:
一、第一个Mybatis项目 采用接口式编程 1. 创建maven工程并导包 可以使用maven在线下载依赖。 2. 创建数据库表和对应的 JavaBean 数据库表 CREATE TABLE `tbl_employee` ( `id` int(11) NOT NULL AUTO_INCREMENT 阅读全文
摘要:
第一部分:自定义持久层框架 1.1 分析JDBC操作问题 public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; Result 阅读全文
摘要:
一、第一部分 1、#{}和${}的区别是什么? ${}是 Properties 文件中的变量占位符,它可以用于标签属性值和 sql 内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc. Driver。 #{}是 sql 的参数占位符,MyBatis 会将 sql 阅读全文
摘要:
Kafka之生产者与消费者 2.1 生产者 2.1.1 消息发送 2.1.1.1 数据生产流程解析 Producer创建时,会创建一个Sender线程并设置为守护线程。 生产消息时,内部其实是异步流程;生产的消息先经过拦截器->序列化器->分区器,然后将消息缓存在缓冲区(该缓冲区也是在Produce 阅读全文
摘要:
Linux 的命令确实非常多,然而熟悉 Linux 的人从来不会因为 Linux 的命令太多而烦恼。因为我们仅仅只需要掌握常用命令,就完全可以驾驭 Linux。 接下来,让我们一起来看看都有那些常用的 Linux 命令吧! 一、文件目录操作 1. ls 命令 ls 命令不仅可以查看 linux 文件 阅读全文
摘要:
1.1 概念和基本架构 1.1.1 Kafka介绍 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多生产者、多订阅者,基于 zookeeper 协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于20 阅读全文
摘要:
一、String的基本特征 一、String的基本特征 String:字符串,使用一对 “ “ 引起来表示。 String 声明为 final 的,不可被继承。 String 实现了 Serializable:表示字符串是支持序列化的;实现了Comparable接口:表示String可以比较大小。 阅读全文
摘要:
JVM与Java体系结构 一、前言 大部分Java开发人员,除会在项目中使用到与Java平台相关的各种高精尖技术,对于Java技术的核心Java虚拟机了解甚少。 一、程序员如何看待上层框架 一些有一定工作经验的开发人员,打心眼里觉得SSM、微服务等上层技术才是重点,基础知识并不重要,这其实是一种本末 阅读全文