摘要: 1. Eureka是什么 Eureka是一个基于REST的服务,主要用于AWS云中的定位服务,以实现中间层服务器的负载平衡和故障转移 在 Spring Cloud 微服务架构中通常用作注册中心 我们称这个服务为 Eureka Server,还有一个与之交互的客户端称之为 Eureka Client 阅读全文
posted @ 2018-10-29 15:32 不要乱摸 阅读(249) 评论(0) 编辑
摘要: 1. 概念理解 1.1. 并行(Parallel)与并发(Concurrent) 并行:指多个垃圾收集线程并行工作,但此时用户线程仍然处于等待状态 并发:指用户线程与垃圾收集线程同时执行 1.2. Minor GC 与 Major GC Minor GC:指发生在新生代的垃圾收集动作,因为Java对阅读全文
posted @ 2018-10-26 09:46 不要乱摸 阅读(119) 评论(0) 编辑
摘要: 1. Java虚拟机运行时数据区 在JDK1.8之前,JVM运行时数据区分为堆、虚拟机栈、本地方法栈、方法区、程序计数器。如下图所示: 虚拟机栈:线程私有,随线程创建而创建。栈里面是一个一个“栈帧”,每个栈帧对应一次方法调用。栈帧中存放了局部变量表(基本数据类型变量和对象引用)、操作数栈、方法出口等阅读全文
posted @ 2018-10-25 15:46 不要乱摸 阅读(316) 评论(0) 编辑
摘要: 秒杀商品页面静态化阅读全文
posted @ 2018-10-23 18:06 不要乱摸 阅读(150) 评论(1) 编辑
摘要: 本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 1. 分布式理论 1.1. CAP定律 CAP指的是:一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。 CAP定律说的是,在一个分布式系统中,最多只能满足C、A、P阅读全文
posted @ 2018-10-23 15:51 不要乱摸 阅读(128) 评论(0) 编辑
摘要: 1. 基本用法 针对上面这段代码,重点看一下Redisson是如何基于Redis实现分布式锁的 Redisson中提供的加锁的方法有很多,但大致类似,此处只看lock()方法 更多请参见 https://github.com/redisson/redisson/wiki/8.-distributed阅读全文
posted @ 2018-10-22 17:37 不要乱摸 阅读(269) 评论(0) 编辑
摘要: 1. wait / notify 要想执行 wait() / notify() / notifyAll() 这些方法,必须首先获得对象的监视器 换言之,这些方法必须在 synchronized 中执行 2. Condition 3. wait() Causes the current thread 阅读全文
posted @ 2018-10-11 18:38 不要乱摸 阅读(60) 评论(0) 编辑
摘要: 1. ThreadLocal是什么 ThreadLocal提供线程局部变量。这些变量与普通的变量不同之处在于,每个访问这种变量的线程(通过它的get或set方法)都有自己的、独立初始化的变量副本。 ThreadLocal实例通常是希望将状态关联到一个线程的类的私有静态字段(比如,user ID 或者阅读全文
posted @ 2018-10-11 16:10 不要乱摸 阅读(313) 评论(0) 编辑
摘要: 1. 前言 1.1. 集成方式 Spring Boot中集成Elasticsearch有4种方式: 本文用后面两种方式来分别连接并操作Elasticsearch 1.2. 环境与配置 服务端:elasticsearch-6.3.2 1台 客户端:elasticsearch 6.4.1 服务端配置文件阅读全文
posted @ 2018-10-08 20:39 不要乱摸 阅读(838) 评论(5) 编辑
摘要: 1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序阅读全文
posted @ 2018-09-27 12:46 不要乱摸 阅读(708) 评论(6) 编辑