自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis持久化

题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Redis 学习课程中的一部分笔记。Redis持久化为什么要持久化?Redis是内存数据库,宕机后数据会消失。Redis重启后快速恢复数据,要提供持久化机制Redis有两种持久化方式:RDB和AOF注意:Redis持久化不保证数据的完整性。当Redis用作DB时,DB数据要完整,所以一定要有一个完整的数据源(文件、mysql)在系统启动时,从这个完整的数据源中将数据load到Redis中数据量较小,不易改变,比如:字典库

2020-07-22 16:49:11 1421

原创 Redis缓存过期和淘汰策略

题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Redis 学习课程中的一部分笔记。Redis缓存过期和淘汰策略Redis性能高:官方数据读:110000次/s写:81000次/s长期使用,key会不断增加,Redis作为缓存使用,物理内存也会满。内存与硬盘交换(swap) 虚拟内存 ,频繁IO 性能急剧下降一、maxmemory1、不设置的场景Redis的key是固定的,不会增加Redis作为DB使用,保证数据的完整性,不能淘汰 , 可以做集群,横向扩展缓存淘汰策

2020-07-22 10:07:36 4911

原创 Redis底层数据结构

题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Redis 学习课程中的一部分笔记。Redis底层数据结构Redis作为Key-Value存储系统,数据结构如下:Redis没有表的概念,Redis实例所对应的db以编号区分,db本身就是key的命名空间。比如:user:1000作为key值,表示在user这个命名空间下id为1000的元素,类似于user表的id=1000的行。一、RedisDB结构Redis中存在“数据库”的概念,该结构由redis.h中的redisDb定义

2020-07-21 15:56:17 1840

原创 Dubbo集群容错源码剖析

题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Dubbo 学习课程中的一部分笔记。Dubbo集群容错源码剖析在对集群相关代码进行分析之前,这里有必要先来介绍一下集群容错的所有组件。包含 Cluster、Cluster Invoker、Directory、Router 和 LoadBalance 等。集群工作过程可分为两个阶段,第一个阶段是在服务消费者初始化期间,集群 Cluster 实现类为服务消费者创建 Cluster Invoker 实例,即上图中的 merge 操作。第二

2020-07-20 13:55:49 2352

原创 Redis集群搭建(动态扩缩容、踩坑经验)

题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Redis 学习课程中的一部分笔记。Redis集群搭建(动态扩缩容、踩坑经验)1、准备一台sentos7虚拟机192.168.80.1292、去官网下载最新redis5安装包redis-5.0.8.tar.gz3、创建redis文件夹并上传redis安装包mkdir -p /home/db/redis4、解压tar -zxvf redis-5.0.8.tar.gz5、安装cd /redis-5.0.8/srcm

2020-07-19 17:35:29 3005

转载 Dubbo扩展SPI源码剖析

题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Dubbo 学习课程中的一部分笔记。Dubbo扩展SPI源码剖析SPI在之前都有使用过,其中最重要的类就是 ExtensionLoader ,它是所有Dubbo中SPI的入口。这里会具体介绍org.apache.dubbo.common.extension.ExtensionLoader.getExtensionLoader 和 org.apache.dubbo.common.extension.ExtensionLoader.get

2020-07-17 11:14:14 4143

原创 Dubbo架构设计、服务注册与消费源码剖析

本文知识点较多,篇幅较长,请耐心学习题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Dubbo 学习课程中的一部分笔记。Dubbo架构设计和服务注册与消费源码剖析一、源码下载和编译源码下载、编译和导入步骤如下:(1)dubbo的项目在github中的地址为: https://github.com/apache/dubbo(2)进入需要进行下载的地址,执行 git clone https://github.com/apache/dubbo.git(3)为了防止master.

2020-07-16 16:38:15 3650

原创 Dubbo高级实战(SPI、负载均衡)

题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Dubbo 学习课程中的一部分笔记。Dubbo高级实战一、SPI1、SPI简介SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现,简单来说,它就是一种动态替换发现的机制。使用SPI机制的优势是实现解耦,使得第三方服务模块的装配控制逻辑与调用者的业务代码分离。2、JDK中的SPIJava中如果想要使用SPI功能,先提供标准服务接口

2020-07-16 08:44:21 4212

原创 从零入门Nginx

本文知识点较多,篇幅较长,请耐心学习题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Nginx 学习课程中的一部分笔记。Nginx入门一、Nginx基础1、Nginx是什么?Nginx 是⼀个⾼性能的HTTP和反向代理web服务器,核⼼特点是占有内存少,并发能⼒强。2、Nginx 应⽤场景Http服务器(Web服务器)性能⾮常⾼,⾮常注重效率,能够经受⾼负载的考验。⽀持50000个并发连接数,不仅如此,CPU和内存的占⽤也⾮常的低,10000个没有活动的连接才占.

2020-07-15 10:52:43 3542

原创 MySQL分库分表

本文知识点较多,篇幅较长,请耐心学习题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 MySQL 学习课程中的一部分笔记。MySQL分库分表互联网系统需要处理大量用户的请求。比如微信日活用户破10亿,海量的用户每天产生海量的数量;美团外卖,每天都是几千万的订单,那这些系统的用户表、订单表、交易流水表等是如何处理呢?数据量只增不减,历史数据又必须要留存,非常容易成为性能的瓶颈,而要解决这样的数据库瓶颈问题,“读写分离”和缓存往往都不合适,目前比较普遍的方案就是使用NoSQL/Ne.

2020-07-14 13:31:46 9657

原创 MySQL集群架构

本文知识点较多,篇幅较长,请耐心学习题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 MySQL 学习课程中的一部分笔记。MySQL集群架构一、集群架构设计1、架构设计理念在集群架构设计时,主要遵从下面三个维度:可用性扩展性一致性2、可用性设计站点高可用,冗余站点服务高可用,冗余服务数据高可用,冗余数据保证高可用的方法是冗余。但是数据冗余带来的问题是数据一致性问题。实现高可用的方案有以下几种架构模式:主从模式简单灵活,能满足多种需求。比较主流的.

2020-07-13 17:50:24 11757 2

原创 MySQL事务和锁

本文知识点较多,篇幅较长,请耐心学习题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 MySQL 学习课程中的一部分笔记。MySQL事务和锁一、ACID 特性在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。1、原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改—.

2020-07-13 13:02:25 3723

原创 MySQL索引(详细,1万字长文)

本文知识点较多,篇幅较长,请耐心学习MySQL索引索引类型索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下:从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引从应用层次划分:普通索引、唯一索引、主键索引、复合索引从索引键值类型划分:主键索引、辅助索引(二级索引)从数据存储和索引键值逻辑关系划分:聚集索引(聚簇索引)、非聚集索引(非聚簇索引)普通索引这是最基本的索引类型,基于普通字段建立的索引,没.

2020-07-10 17:00:36 4716

原创 MySQL存储引擎(详细、全,1万字长文)

MySQL存储引擎存储引擎在MySQL的体系架构中位于第三层,负责MySQL中的数据的存储和提取,是与文件打交道的子系统,它是根据MySQL提供的文件访问层抽象接口定制的一种文件访问机制,这种机制就叫作存储引擎。使用show engines命令,就可以查看当前数据库支持的引擎信息。InnoDB:支持事务,具有提交,回滚和崩溃恢复能力,事务安全MyISAM:不支持事务和外键,访问速度快Memory:利用内存创建表,访问速度非常快,因为数据在内存,而且默认使用Hash索引,但是一旦关闭,数据就会丢

2020-07-10 10:45:07 3612

原创 MySQL体系架构与运行机制

前言MySQL是最流行的关系型数据库软件之一,由于其体积小、速度快、开源免费、简单易用、维护成本低等,在集群架构中易于扩展、高可用,因此深受开发者和企业的欢迎。MySQL从最初的1.0、3.1到后来的8.0,发生了各种各样的变化。被Oracle收购后,MySQL的版本演化出了多个分支,除了需要付费的MySQL企业版本,还有很多MySQL社区版本。还有一条分支非常流行的开源分支版本Percona Server,它是MySQL的技术支持公司Percona推出的,也是在实际工作中经常碰到的。Percona

2020-07-09 14:04:39 3564

原创 深度分析Redis的二进制安全

简单动态字符串(Simple Dynamic Strings,SDS)是Redis的基本数据结构之一,用于存储字符串和整型数据。SDS兼容C语言标准字符串处理函数,且在此基础上保证了二进制安全。什么是二进制安全?通俗的讲,C语言中,用“\0”表示字符串的结束,如果字符串中本身就有“\0”字符,那么这个字符串就会被截断,即非二进制安全;若通过某种机制,保证读写字符串时不损害其内容,则是二进制安全。Redis 3.2 之前的SDS主要是通过int len; int free; char buf[];这三个

2020-07-07 13:43:07 3272

原创 ZGC的7种垃圾回收触发时机

ZGC中,为了实现更高的性能,尽量避免进行同步垃圾回收,也就是说尽量避免触发同步的垃圾回收的消息。ZGC中触发同步消息的场景也比较少,总体以触发异步消息为主。异步消息主要由ZDirector根据规则判断是否可以触发,在ZDirector流程图中【了解更多,可以阅读小编的另一篇文章:ZGC线程之时钟触发器和消息触发】介绍了ZDirector有4种触发规则,本文主要介绍这4种规则是如何触发的,最后,还会简要介绍其他的垃圾回收消息是如何触发的。一、基于固定时间间隔触发ZDirector提供的第一个规则就是基于

2020-07-06 23:01:56 3411

mybatisgenerator逆向工程(含注释)

生成的pojo属性包含注释(应用数据库注释数据库注释)

2018-04-12

空空如也

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

TA关注的人

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