<导航
摘要: 数据库通常借助日志来实现事务,常见的有undo log、redo log,undo/redo log都能保证事务特性,undolog实现事务原子性,redolog实现事务的持久性。 为了最大程度避免数据写入时io瓶颈带来的性能问题,MySQL采用了这样一种缓存机制:当query修改数据库内数据时,I 阅读全文
posted @ 2018-07-10 19:02 字节悦动 阅读(11536) 评论(2) 推荐(97) 编辑
摘要: 一、MySQL事务提交过程(一) MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中。今天我们来讨论下事务的提交过程。 由于mysql插件式存储架构,导致开启binlog后,事务提交实质是二阶段提交,通过两阶段提交,来保证存储引擎和二进制日志的一致。 此目录节点只讨论binlog未打 阅读全文
posted @ 2018-07-10 17:55 字节悦动 阅读(5085) 评论(0) 推荐(25) 编辑
摘要: 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别与锁机制。 一、事务的四大特性(ACID) 1、 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到 阅读全文
posted @ 2018-07-09 15:42 字节悦动 阅读(2787) 评论(1) 推荐(15) 编辑
摘要: 一、问题由来 假设在一个订单系统中(以火车票订单系统为例),用户A,用户B都要预定从成都到北京的火车票,A、B在不同的售票窗口均同时查询到了某车厢卧铺中、下铺位有空位。用户A正在犹豫订中铺还是下铺,这时用户B果断订购了下铺。当用户A决定订下铺时,系统提示下铺已经被预订,请重新选择铺位。在这个系统场景 阅读全文
posted @ 2018-07-09 10:16 字节悦动 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 1、背景 对于数据库系统来说在多用户并发条件下提高并发性的同时又要保证数据的一致性一直是数据库系统追求的目标,既要满足大量并发访问的需求又必须保证在此条件下数据的安全,为了满足这一目标大多数数据库通过锁和事务机制来实现,MySQL数据库也不例外。尽管如此我们仍然会在业务开发过程中遇到各种各样的疑难问 阅读全文
posted @ 2018-07-07 16:05 字节悦动 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等。这些工具都非常有用,但要用好他们需要不断的进行实践分析。本文将介绍使用MAT工具进行java堆分析的案例。 一、 阅读全文
posted @ 2018-07-07 14:24 字节悦动 阅读(483) 评论(0) 推荐(1) 编辑
摘要: 一、前言 工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程、方法。本文就将介绍利用性能监控工具,帮助开发者更快更准的找到问题产生的根源。本文分为三部分,第一部分将介绍在Linux环境下的常用监控工具 阅读全文
posted @ 2018-07-06 18:37 字节悦动 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 我们知道我们编写的java代码,会经过编译器编译成字节码文件(class文件),再把字节码文件装载到JVM中,映射到各个内存区域中,我们的程序就可以在内存中运行了。那么字节码文件是怎样装载到JVM中的呢?中间经过了哪些步骤?常说的双亲委派模式又是怎么回事?本文主要搞清楚这些问题。 一、类装载流程 1 阅读全文
posted @ 2018-07-06 15:19 字节悦动 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 上一篇我们介绍了常见的垃圾回收算法,不同的算法各有各的优缺点,在JVM中并不是单纯的使用某一种算法进行垃圾回收,而是将不同的垃圾回收算法包装在不同的垃圾回收器当中,用户可以根据自身的需求,使用不同的垃圾回收器,以便让自己的java程序性能到达最佳。 在介绍垃圾回收器之前,我们先回顾一下java堆的结 阅读全文
posted @ 2018-07-06 10:47 字节悦动 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 我们都知道java语言与C语言最大的区别就是内存自动回收,那么JVM是怎么控制内存回收的,这篇文章将介绍JVM垃圾回收的几种算法,从而了解内存回收的基本原理。 一、stop the world 在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world 阅读全文
posted @ 2018-07-05 20:30 字节悦动 阅读(156) 评论(0) 推荐(0) 编辑