加载中
Raft分布式一致性算法整理

CAP定理 Consistency:一致性 Availability:可用性 Partition-tolerance:分区容错性 CAP定理指出,在异步网络模型中,不存在一个系统可以同时满足上述3个属性。换句话说,分布式系统必须舍弃其...

负载均衡算法实现

负载均衡的目的是将请求按照某种策略分布到多台机器上,使得系统能够实现横向扩展。 现在我们来简单实现这些算法,首先我们要有一个服务提供者类。 /** * 服务提供者 */ @AllArgsConstructor...

2020/07/05 03:06
869
自己实现一个RPC框架

RPC框架称为远程调用框架,其实现的核心原理就是消费者端使用动态代理来代理一个接口的方法(基于JDK的动态代理,当然如果使用CGLib可以直接使用无接口类的方法),通过加入网络传输编程,传输...

Spring状态机

有限状态机简称就是状态机,因为一般的状态机的状态都是离散和可举的,即为有限,所以后面的介绍都不加有限二字。状态机表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。通俗...

编译原理整理

计算机 1、图灵机 状态 输入——时钟作为一种标准输入,另一种最好能够读取人类的想法。 状态转换函数F(将输入和当前状态转换为下一个状态) 输出 所以可以有物理计算机,电子计算机,量子计算...

正则表达式

在一个句子中匹配一个单词 public class PatternTest { private static Pattern pattern = Pattern.compile("Ben"); public static void main(String[] args) { Matcher matcher = patter......

Java字节码跟真正汇编的比较

我们来看一下这样一段逻辑(Java实现) public void print(int i,int j) { int f; if (i == j) { f = i + j; }else { f = i - j; } } 编译后的字节码 public void pri......

2020/05/28 04:45
2.1K
Java字节码

Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令。每一个Java字节码指令是一个byte数字,并且有一个对应的助记符。 Java虚拟机常用指令 常量入栈指令 常量入栈指令的功能...

类加载器的双亲委托模式

遵照之前解析反射 中,我们说到类的加载器ClassLoader在对类进行加载的时候,默认会使用双亲委托模式。系统会判断当前类是否已经被加载,如果已经被加载,就会直接返回可用的类,否则就会尝试...

Spring扩展的集合LinkedMultiValueMap和ConcurrentReferenceHashMap解析

MultiValueMap是一个接口,它的一个键可以对应多个值(列表) public interface MultiValueMap<K, V> extends Map<K, List<V>> { /** * 获取key的第一个值 */ @Nullable V getFirst(K k......

LinkedHashMap源码分析

我们都知道HashMap是无序的Map,TreeMap是有序的Map。而LinkedHashMap继承于HashMap,也是一个有序的Map,这似乎违背了Hash的理论。(注:TreeMap和LinkedHashMap的有序性是不一样的,TreeMap...

Oracle迁移MySQL 8特殊SQL处理

递归查询 在Oracle中建立一个表 create table nayi_180328_connect_test( dept_id varchar2(50), parent_id varchar2(50), dept_name varchar2(100), dept_rank varchar2(2000), val number...

分布式事务

JTA/XA二段式提交 普通事务管理的过程 do commit/rollback 外部(全局)事务-JTA 外部事务管理器提供事务管理 通过Spring事务接口,调用外部管理器。 使用JNDI等方式获取外部事务管理器的实例 ...

MySQL性能优化(二)

B-Tree索引和Hash索引 如果数据比较少时,或者查询的频率比较低的时候,索引的作用并不明显。因为这时候表中的数据差不多都可以完全缓存在内存中。所以就算是进行全表扫描也不会太慢。 随着表...

ShardingSphere多数据源,读写分离等的实现

鉴于shardingsphere已经升级,我们现在使用的是RC2的版本 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <vers...

MySQL性能优化(一)

大表 记录行数巨大,单表超过千万行 。但如果是记录日志的表,只有insert和select操作,没有update的,一般超过千万行,对业务也没有影响。 表数据文件巨大,表数据文件超过10G 大表对查询的...

动态规划、回溯、贪心,分治

动态规划篇 从斐波那契数列开始 我们先给出斐波那契数列的常用算法类 public class Fibonacci { private static int num = 0; private Fibonacci() { } public static int fib(int n) { ......

算法可视化

Java GUI可视化 运动的小球 小球实体类 @AllArgsConstructor public class Circle { @Getter @Setter private int x; //圆心横坐标 @Getter @Setter private int y; //圆心纵......

LeetCode算法题

第1题https://leetcode-cn.com/problems/two-sum/ 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每...

图论整理

图的基本概念 根据之前博客数据结构整理 中,我们可以知道 是一种线性数据结构 是一种树结构 而这样一种结构就是一种图的结构 图的每一个点称为顶点(Vertex),通常我们会给顶点标上序号,而这...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部