摘要: 一、MyCAT概述MyCAT是一款由阿里Cobar演变而来的用于支持数据库读写分离、分片的分布式中间件。MyCAT可不但支持Oracle、MSSQL、MYSQL、PG、DB2关系型数据库,同时也支持MongoDB等非关系型数据库。基础架构如下: 1、MyCAT原理 MyCAT主要是通过对SQL的拦截 阅读全文
posted @ 2019-07-18 22:14 慕容小拽 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Hashmap里面的bucket出现了单链表的形式,散列表要解决的一个问题就是散列值的冲突问题,通常是两种方法:链表法和开放地址法。链表法就是将相同hash值的对象组织成一个链表放在hash值对应的槽位;开放地址法是通过一个探测算法,当某个槽位已经被占据的情况下继续查找下一个可以使用的槽位。java 阅读全文
posted @ 2019-07-09 16:33 慕容小拽 阅读(131) 评论(0) 推荐(0) 编辑
摘要: JVM运行内存的分类 程序计数器:当前线程所执行的字节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有 注:如果正在执行的是Native方法,计数器值则为空 Java虚拟栈:存放基本数据类型、对象的引用、方法出口等,线程私有 Native方法栈:和虚拟栈相似,只不过它服务于Native 阅读全文
posted @ 2019-07-08 18:18 慕容小拽 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 栈区: 栈分为java虚拟机栈和本地方法栈 重点是Java虚拟机栈,它是线程私有的,生命周期与线程相同。 每个方法执行都会创建一个栈帧,用于存放局部变量表,操作栈,动态链接,方法出口等。每个方法从被调用,直到被执行完。对应着一个栈帧在虚拟机中从入栈到出栈的过程。 通常说的栈就是指局部变量表部分,存放 阅读全文
posted @ 2019-07-08 10:16 慕容小拽 阅读(178) 评论(0) 推荐(0) 编辑
摘要: Mysql 的存储引擎,myisam和innodb的区别。 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。 2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。 阅读全文
posted @ 2019-07-02 15:44 慕容小拽 阅读(410) 评论(0) 推荐(0) 编辑
摘要: AOP中的相关概念 Aspect(切面): Aspect 声明类似于 Java 中的类声明,在 Aspect 中会包含着一些 Pointcut 以及相应的 Advice。Joint point(连接点):表示在程序中明确定义的点,典型的包括方法调用,对类成员的访问以及异常处理程序块的执行等等,它自身 阅读全文
posted @ 2019-07-02 14:45 慕容小拽 阅读(108) 评论(0) 推荐(0) 编辑
摘要: Redis实现分布式锁 1.加锁 最简单的方法是使用setnx命令。key是锁的唯一标识,按业务来决定命名,value为当前线程的线程ID。 比如想要给一种商品的秒杀活动加锁,可以给key命名为 “lock_sale_ID” 。而value设置成什么呢?我们可以姑且设置成1。加锁的伪代码如下: se 阅读全文
posted @ 2019-07-02 10:48 慕容小拽 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Redis支持的数据类型 String字符串:string类型是二进制安全的。意思是redis的string可以包含任何数据。 Hash(哈希):hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。 List(列表):Redis 列表是简单的字符串列表,按照 阅读全文
posted @ 2019-07-01 16:19 慕容小拽 阅读(96) 评论(0) 推荐(0) 编辑
摘要: ThreadPoolExecutor构造器参数详解 序号名称类型含义 1 corePoolSize int 线程池维护线程的最少数量 2 maximumPoolSize int 线程池维护线程的最大数量 3 keepAliveTime long 线程最大空闲时间 4 unit TimeUnit 时间 阅读全文
posted @ 2019-06-29 23:21 慕容小拽 阅读(138) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ一般情况很少丢失,但是不能排除意外,为了保证系统高可用,我们必须作出更好完善措施,保证系统的稳定性。 1.消息持久化 2.ACK确认机制 3.设置集群镜像模式 4.消息补偿机制 第一种:消息持久化 RabbitMQ 的消息默认存放在内存上面,如果不特别声明设置,消息不会持久化保存到硬 阅读全文
posted @ 2019-06-22 16:06 慕容小拽 阅读(1730) 评论(0) 推荐(0) 编辑