摘要:
回顾一次容器环境的MySQL、canal、Elasticsearch数据同步 MySQL和Elasticsearch安装初始化就不展示了,版本如下: sql表关键字段如下: CREATE TABLE `fault_code` ( `title` varchar(255) CHARACTER SET 阅读全文
摘要:
大体来分,MySQL分为引擎层和server层 server层 连接器、查询缓存、分析器(解释器)、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 连接器 Navica 阅读全文
摘要:
MySQL日志机制随笔(redolog、binlog、undolog) redolog相关 作用:保证数据库的恢复能力,数据库崩溃了,能使用redolog恢复数据 是什么?redolog是物理日志,记录的是哪个数据页哪个字段被哪个事务改变了, 速记:redolog是一种写前日志,先写redolog, 阅读全文
摘要:
MVCC多版本并发控制机制 Mysql在可重复读隔离级别下如何保证事务较高的隔离性,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。 这个隔离性就是靠MVCC(Multi-Version Concurrency Control)机 阅读全文
摘要:
MySQL锁机制学习随笔 锁机制是什么? 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性 阅读全文
摘要:
#概念 fork/join是JDK1.7加入的新的线程池的实现,体现的是一种分治思想,适用于能够进行任务拆分的cpu密集型运算。 任务的拆分就是将一个大的任务拆分为算法上相同的小任务,直到拆分到可以直接求解,或者说是拆分到问题规模足够小以至于直接求解的效率此时要比再拆分求解的效率更高。常用于跟递归相 阅读全文
摘要:
#概述 AQS全称是AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架 特点是: 用state属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取锁和释放锁 state的访问方式有三种,如下: getState方法是获取sta 阅读全文
摘要:
#tomcat在哪里用到了线程池 LimitLatch用来限流,可以控制最大连接个数 acceptor负责接收新的socket连接 poller负责监听socket channel是否有可读的IO事件 一旦有可读的IO事件被监听到,就封装一个任务对象socketProcessor,提交给execut 阅读全文
摘要:
在任务调度池功能加入之前,可以使用java.util.Timer来实现定时功能,Timer的优点在于简单易用,但由于所有任务都是由同一个线程来调度,因此所有任务都是串行执行的,同一时间只能有一个任务在执行,前一个任务的延迟或者异常会影响到后面的任务。 #例子 import java.util.Tim 阅读全文
摘要:
#定义 就是让有限的工作线程来轮流异步处理无限多的任务。典型实现就是线程池,线程个数是有限的,但是任务是源源不断需要被处理的 假设一个饭店有服务员线程,需要轮流处理客户的点餐任务,如果每一个客户都配一名专属的服务员,那么成本就会非常高。 #饥饿 固定大小的线程池会有饥饿现象,假设这是背景: 两个工人 阅读全文