摘要: 该rpc框架是一个mini版的dubbo。学习rpc之前,建议先了解NIO,Netty和Dubbo等知识。请移步网络编程 前言:(借用阿里大佬的一段话) 为什么要自己写一个RPC框架,我觉得从个人成长上说,如果一个程序员能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现、负载均衡 阅读全文
posted @ 2022-02-15 10:55 小猴子_X 阅读(1077) 评论(0) 推荐(7) 编辑
摘要: 一. CAP理论,BASE理论? CAP: C:强一致性,保证每一节点(微服务)统一时间点数据的完全一致 A:可用性,整个系统是一直可用的,而且是正常响应时间。不允许出现用户访问失败的情况 P:分区容错性,某一个节点或者网络分区发生故障时,整个系统还是可用的,对于用户来说没有影响 注意:CAP理论就 阅读全文
posted @ 2022-02-21 22:39 小猴子_X 阅读(391) 评论(0) 推荐(2) 编辑
摘要: 一. Spring注解发展过程 SpringBoot的自动装配依赖于注解,所以我们先来看一下注解的发展过程。 以下主要对核心注解进行说明 Spring1.0:刚刚出现注解。 @Transaction:简化了事务的操作 Spring2.0:一些配置开始被xml代替,但是还不能完全摆脱xml,主要是co 阅读全文
posted @ 2022-02-20 18:41 小猴子_X 阅读(1273) 评论(0) 推荐(0) 编辑
摘要: 一. Spring是什么? 是一个轻量级的开源容器框架,用来装JavaBean,可以把其他的一些框架进行整合使用,使得开发更快,更简洁。 轻量级:占用空间小,非入侵式的(Spring中的对象不依赖于Spring的特定类) IOC,AOP 二. IOC和AOP 谈谈你对AOP的理解? 将程序中的交叉业 阅读全文
posted @ 2022-02-19 19:57 小猴子_X 阅读(402) 评论(1) 推荐(4) 编辑
摘要: 前言:要想理解本文,必须先了解JVM的内存结构 一.创建对象的方式 new:最常见 反射:Class.newInstance() 使用clone() 反序列化 二.创建对象的步骤(对象在JVM中怎么存储?) 判断对象的类是否加载,没加载进行加载 为对象分配内存空间 内存规整:采用指针碰撞,指针就是空 阅读全文
posted @ 2022-02-18 19:51 小猴子_X 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 上篇我们知道垃圾回收机制,接下来,我们具体到垃圾回收器,看看JVM到底有哪些垃圾回收器。 一.GC性能指标 不可能三角 吞吐量:运行用户代码的时间占总运行时间的比例 暂停时间:进行GC时,用户线程被暂停的时间(STW) 内存占用:JAVA堆所占内存的大小,这一点随着硬件的发展,越来越容易实现 主要矛 阅读全文
posted @ 2022-02-17 17:59 小猴子_X 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 前言:建议先了解JVM的内存结构才能对垃圾回收有更深的理解,可以移步JVM内存结构 我们都知道:java最大的特点就是实现自动内存管理(自动分配对象,自动垃圾回收),接下来我们就看看它是怎么回收垃圾的。 一.垃圾回收相关算法 垃圾回收主要有两个阶段: 标记阶段 清除阶段 标记阶段:该阶段主要为了判断 阅读全文
posted @ 2022-02-16 23:19 小猴子_X 阅读(486) 评论(0) 推荐(1) 编辑
摘要: 说起并发的底层,不得不提volatile,CAS,AQS,本文就是揭露它们神秘的面纱 一.volatile 为了更好的理解volatile,我们需要知道以下几个概念 JMM (java内存模型) 抽象的概念,并不真实存在,它描述的是一组规则或者规范 规定了内存主要划分为主内存和工作内存 (与JVM是 阅读全文
posted @ 2022-02-13 19:38 小猴子_X 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一.概述 dubbo是一款经典的rpc框架,用来远程调用服务的。 dubbo的作用: 面向接口的远程方法调用 智能容错和负载均衡 服务自动注册和发现。 自定义序列化协议 Dubbo 架构中的核心角色有哪些? Container: 服务运行容器,负责加载、运行服务提供者。必须。 Provider: 暴 阅读全文
posted @ 2022-02-12 20:53 小猴子_X 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 一.概述 ZooKeeper 是什么? 是一个开源的分布式协调服务。使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了。 从设计模式角度 阅读全文
posted @ 2022-02-11 21:59 小猴子_X 阅读(1529) 评论(0) 推荐(2) 编辑