自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 dubbo

框架设计理念实战服务端必须配置的 serviceConfig appcationConfig protocolConfig客户端必须配置的 referenceConfig appcationConfigdubbo 依赖 自带包总结timeout 优先级 由低到高

2022-03-07 23:44:04 630

原创 zk 源码

Zkserver:zkClient分布式事务ACID|2pc 3pc 二阶段 三阶段分布式cap 理论CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。Paxos算法:共识算法,选举分布式一致性算法:最终一致性:DNS GOSSIP cassandra强一致性:Paxos(实现非常复杂)

2022-03-07 21:32:24 1964

原创 分布式入门

默认是 持久类型语法 create -s 持久排序 create -e 临时Zk 默认节点就是zookeeperZk 可以存储对象(序列化) 可以存储图片 byte[]Dubbo 就是用的临时节点(session 会话) 不能重复的创建 要动态的注册于发现Session会话 客户端来创建一个和zk服务端的连接的句柄 状态分为connecting,connected,closeWatcher : 客户端注册(getdata get childDate,exist) 服务端触发 (c..

2022-03-07 21:30:14 169

原创 Rocket Mq

一 服务搭建细节二 Rocket Mq 特性详解broker 里面每个topic 都是有四个队列;RocketMQ推荐了几种Broker集群方式,这里的Slave不可写,但可读,类似于Mysql主备方式1. 单个Master这是一种风险比较大的集群方式,因为一旦Borker重启或宕机期间,将会导致这个服务不可用,因此是不建议线上环境去使用的。2. 多个Master一个集群全部都是Master,没有Slave,它的优点和缺点如下:优点:配置简单,单个Master宕机或者是重启维护对应

2022-03-06 23:15:52 971

原创 初识消息中间件

为什么要用消息中间件?可以异步,解偶,降压,等

2022-03-06 17:16:30 110

原创 jedis 客户端详解和源码分析

一,客户端,快速入门1.pom依赖2.jedis 连接二,API 介绍具体看代码jedis .set(“key”,“value”), jedis .append(“key”,“111”), 字符串拼接jedis mset (‘key1,‘value1’,’key2,‘value2’)支持批量操作jedis mget (‘key1,’key2’)支持批量操作三 .源码分析...

2022-03-06 15:44:26 143

原创 redis

一 . redis 基础数据结构和核心原理1.redis 五种基础数据结构string(字符串) list(列表) set(集合) hash (hash) zset(有序集合)原子计数器(单线程) 可以做分布式锁(incrby xxx谁是1谁获取锁,用完释放 decr XXX)redis 存储键值对实际使用的是 hashtable的数据结构(和 hashMap存储一样)二, redis 核心原理RDB 持久化 ,单独fork() 一个子线程 把父线程数据 复制一份,放到文

2022-03-06 00:08:27 321

原创 java NIO 详解

1

2022-03-05 21:59:50 558

原创 jvm 垃圾回收器

一.对象在JVM 堆的详解二.垃圾收集算法三.垃圾收集器

2022-03-05 21:39:30 156

原创 jvm 类加载器和jvm 性能调休监控工具

一.类加载String 类加载去 加载不了的原因 是c++ 写的 ,类似native 方法全盘负责委托记载机制: 如果一个加载起 加载类A 那么A 类引用的所有类 都是这个加载器加载;双亲委派机制: 一个类加载,首先委托父类加载,找不到的情况下 再自己 去自己路径查找加载. (目的 是为了防止重复加载,防止 篡改)二.jdk 性能调优...

2022-03-04 23:57:02 542

原创 java虚拟机 (JVM)

一.JVM 内存模型jvm 分为三部曲 :类加载 -> 运行数据区->执行引擎堆和方法区属于共享区域程序计数器,本地方法栈,java栈 独享栈,每个java 线程都有一套(a).java 栈栈内部解析:方法栈帧,局部变量表,操作数栈,动态连接(实现类连接接口),方法出口堆:分为年代代(1/3):老年代(2/3):永久代(直接内存,jdk1.8之后叫做元空间 单独的一块虚拟机内存)GC 分为轻GC(年轻代) 和FullGC(老年代) ,java 调优目的让fullGC

2022-03-03 23:59:50 554

原创 mysql 锁

1.表锁(便读)表锁偏向于MYSAIM 存储引擎,开销小,加锁块 无思索,锁的颗粒度大,发生锁冲突的概率高,并发最低手动增加表锁lock table 表名称 read(write) ,表名称2read(write)查看表加过的锁show open tables;删除表锁unlock tables;总结读锁加上之后只能读 ,其他session 可以读 ,但是session 写入会报错;一般用来做表数据迁移;写锁加上之后本 session 可以curd ,但是其他session curd

2022-03-02 23:38:17 192

原创 nginx

1

2022-03-02 23:29:17 51

原创 mysql索引实战篇

索引会自动优化(但是尽量按照顺序写)顺序使用索引 范围查询 后面索引会失效由于非顺序使用索引 索引会自动优化 重新排序可能是表数据量小,也可能值不存在总结

2022-03-02 22:44:14 244

原创 并发BlockingQueue

一.阻塞队列 和并发队列1.什么是队列一种支持先进先出(FIFO)的线性数据结构2.如果让你设计一个线程安全的队列 你会怎么做?可以用锁,消费者 生产者模式,状态变更 condition注意去判断的时候要用while (因为等待线程有很多个,你倍唤醒之后不一定是执行成功,可能再次等待)等待之后 唤醒所有线程去抢(1)arrayBockingQueue 一把锁要么能取 要么放a.数组b.从哪里取的指针c.从哪里放指针d. 现有数量c.锁d. 队列状态 是否空(condition

2022-02-27 23:50:23 82

原创 mysql

一 .mysql 架构1.主从2.集群3.分布式(1)路由(2)存储(3实例

2022-02-27 19:58:18 457

原创 Collections

2022-02-24 21:52:17 176

原创 JMM和Lock

一 .**CPUCPU怎么保证并发控制(1) 关中断(2)缓存一致性协议 每个硬件厂商 协议不同 常见的interl 的 MESI 通过四种状态 判断如上图CPU的速度和内存的速度(100 :1)这里的速度值得是ALU访问寄存器的速度比访问内存的速度快100倍为了充分利用CPU的计算能力,在CPU和内存中间引入缓存的概念(工业上的妥协,考虑性价比)现在的工业实践,多采用三级缓存的架构缓存行:一次性读取的数据块程序的局部性原理:空间局部性 时间局部性如果缓存行大:命中率高,但读取效率低

2022-02-23 23:55:26 337

原创 线程thread

什么是线程 什么是进程答:进程 相当于一个加载到内存当中静态资源文件, 线程 是进程中的某个实体 是cup 调度和分派的基本单位并发属于逻辑性定性,并行属于物理级别线程的实现方式 ()Runable 接口 Thread 类 ,callable 接口callable&& Future 能有返回值是因为 Futuretask 实现 RunnableFuture 接口 会去执行 run 方法用 volatile 修饰的 state 这个状态值 去判断执行操作(4中流程 看..

2022-02-20 22:43:57 284

原创 proxy 代理

proxy动态代理 demo//接口public interface Student {void getStudentName();void getStudentAge();}//实行接口public class JuniorStudent implements Student {public void getStudentName() {System.out.println(“my name is king”);}public void getStudentAge() {Sy.

2022-02-20 01:20:35 211

原创 spring mvc (了解关键字 和执行流程即可)

1

2022-02-16 09:19:59 122

原创 spring aop

spring 事物底层原理分析a. 数据库事物的基本特性 ACID原子性 atomicity 事物中的各项操作 要么全做 要么全不做,任何一项操作的失败都会导致食物的失败一致性 consitency 事物结束后系统状态是一致的隔离性 isolationv 并发执行的事物无法看到对方的中间状态持久性 durabilit 事物完成者之后所由的改动都会被持久化 即使发生灾难性的失败b 隔离级别在高并发的情况下 要完全保证其ACID特性是非常困难的,除非把所有的事物串行话执行,但带来的负面的影.

2022-02-16 09:19:28 224

原创 spring ioc

1

2022-02-16 09:18:30 71

原创 mybatis

1

2022-02-16 09:17:30 320

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除