11 2018 档案
摘要:为什么需要分布式锁? 当两个应用(进程)并发修改共享数据时,如何确保数据的一致性? JDK提供的锁(Synchronize/Lock)仅支持进程内的线程并发,而无法保证进程间的并发。 此时就需要使用分布式锁。 分布式锁的要求: 1、排他性 2、高可用(分布式是高可用的,所有必须具备高性能) 分布式锁
阅读全文
摘要:各种注解的含义: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)@Test:测试方法,在这里可以测试期望异常
阅读全文
摘要:鸡汤: 某些你认为简单的事,如果不是你肤浅的理解,那么就是你已经深入的了解了它。 自己会的东西,就简单。 我之前看zookeeper,只能看到它与dubbo的配合使用,也就是用zk的命名服务,肤浅到不行。 zookeeper的主要功能:(我所能看见的) 1、命名服务 原理是根据zk的文件系统也就是类
阅读全文
摘要:一、Socket 的使用 1、单线程Socket的使用 /** * 单线程版本 * 问题描述:只能服务单个客户端 * 解决方案:多线程版本 */ public class Socket_V1 { public static void main(String[] args) throws Except
阅读全文
摘要:Mysql的分区分表 一、分区 好处: 1、由于将文件和索引进行了划分,所以查询的时候,速度快。 实现原理:把一个数据表的文件和索引分散到不同的物理文件中。(仍然是同一个表的操作,只不过分区了而已) mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my
阅读全文
摘要:ThreadLocal 本地线程副本工具类 用法: 本地线程副本工具类,顾名思义:线程内的变量,只在线程内部有效。 结构图: 我的理解: 所有的数据,保存在Thread当中。以ThreadLocal为key,需要保存的内容为值,保存在Thread的threadLocals变量当中。 保存的步骤: 源
阅读全文
摘要:垃圾收集器 新生代收集器: 一、Serial(串行收集器) 工作方式:这是一个单线程收集器,在进行垃圾收集时,必须暂停其他所有的工作线程,直到垃圾收集完成。(Stop The World) 优点:简单而高效,单线程对于单核CPU来说,由于没有切换线程的开销,所以性能高。 缺点:单线程收集,且必须暂停
阅读全文
摘要:垃圾收集算法 首先介绍一下如何判断一个对象是否已死: 1、引用计数法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加一;当引用失效时计数器减一。当计数器值为0时,代表对象已经不再被引用。 缺点:无法解决相互循环引用问题。 2、可达性分析算法(JVM用该算法):从一系列的“GC Roo
阅读全文
摘要:MySQL的主从复制 一、为什么需要主从 当负载过大时,web端可以用nginx负载多个tomcat进行负载均衡。那么当请求动态数据(查询数据库)负载过大,该如何解决呢? 此时,首先在web和数据库中间,添加缓存的方式,解决负载过大的问题。 其次,最终的解决方案,还是需要做mysql的主从。 二、优
阅读全文
摘要:集群分片:槽 1、节点记录自己的槽范围,并将自己的槽范围传播给其它的集群节点,同时接收其它节点传播过来的槽信息。 2、节点之间两两相连。 工作方式: 1、当一个请求到达某个节点时,节点先进行hash,再根据hash的值进行判断属于哪个槽。如果是自己的槽,自己处理。如果不是则根据保存的其它节点槽信息,
阅读全文
摘要:Sentinel 哨兵 —— 高可用 (high availability) 监视集群,主服务器的选举。 主服务器的下线判断: 1、在down-after-milliseconds选项设置的时间内,连续向Sentinel返回无效回复。 2、询问其它监视主服务器的Sentinel也得到主服务器下线的回
阅读全文
摘要:仅以我所见的第三方支付公司为例,讲一下核心的支付业务与流程。 核心的支付业务: 一、组织架构: 1、网关组:支付入口,接收所有的支付请求,显示对应商家的支付类型与通道。 2、后台组:负责商家系统与总后台系统。商家系统负责商家的相应设置,总后台系统负责商家的审核,支付、出款、对账业务。 3、接口组:负
阅读全文
摘要:主服务器:master 从服务器:slave 命令:SLAVEOF ip port (在slave中执行该命令,则将ip对应的服务器设置为主服务器。) 主从同步是实现步骤:(用于新的同步) 1、从服务器向主服务器发送SYNC命令。 2、主服务器收到命令后,执行BGSAVE命令,生产RDB文件,并使用
阅读全文

浙公网安备 33010602011771号