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