自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务—SpringConfig配置中心

前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。文章目录前言一、SpringConfig概念介绍二、配置中心服务器端搭建三、配置中心客户端搭建3.1 文件同步机制介绍一、SpringConfig概念介绍在实际操作中会出现多个微服务操作同一个数据库的情况,那么对于每个微服务都需要重复配置数据库信息,而且当数据库信息改动时也难以维护。因此一套集中的、动态的配置管理设施是必不可少的。S

2021-09-05 09:15:24 5405

原创 Redis设计与实现—复制原理

前言Redis 中的复制命令原理文章目录前言一、旧版复制原理1.1 同步1.2 命令传播1.3 旧版复制的缺陷二、新版复制原理2.1 部分重同步2.1.1 复制偏移量2.1.2 复制积压缓冲区2.1.2 服务器ID2.2 PSYNC 命令的实现三、复制的实现3.1 从服务器保持主服务器的地址和端口3.2 建立套接字连接3.3 发送PING命令3.4 身份认证3.5 发送端口信息3.6 同步3.7 命令传播四、心跳检测心跳检测的作用1) 检测主从服务器的网络状态2) 辅助实现 min-slaves配置选

2021-08-19 18:05:30 604

原创 Redis设计与实现—事件机制

前言Redis 内部消息通信机制学习和了解文章目录前言一、Redis中事件的分类文件事件文件事件处理器I/O 多路复用程序的实现文件事件处理器时间事件时间事件怎么处理关键的时间事件函数 —— serverCron事件调度 —— aeProcessEvents一、Redis中事件的分类Redis是一个事件驱动程序,服务器需要处理以下两种事件:文件事件:Redis服务器通过套接字与客户端进行连接,文件事件就是对套接字操作的抽象。服务器和客户端的通信会产生相应的文件事件,而服务器则通过监听并处理这些

2021-08-19 16:21:00 401

原创 Redis设计与实现—数据库与过期键策略

前言深入了解一下Redis内存机制如何存储数据,以及对于过期数据采取何种策略来清理。文章目录前言一、pandas是什么?一、pandas是什么?

2021-08-03 18:32:53 570

原创 Redis设计与实现—对象

前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。文章目录前言一、对象类型介绍1.1 概念1.2 对象类型和编码1)type:类型2)encoding:编码和底层实现二、字符串对象2.1 编码类型2.2 编码转换2.3 字符串常用方法三、列表对象3.1 编码类型3.2 编码转换3.3 常用方法四、哈希对象4.1 编码类型4.2 编码转换4.3 常用方法五、集合对象5.1 编码类型5.2

2021-08-02 20:46:25 287

原创 Redis设计与实现—跳跃表、压缩列表

前言Redis设计与实现读书笔记,基础数据结构部分——跳跃表文章目录前言一、跳跃表1.1 跳跃表概念1.2 Redis中跳跃表的实现1.3 跳跃表节点(zskipListNode)1.4 手动模拟跳跃表1.4.1 数据结构1.4.2 查找1.4.3 删除1.4.4 插入二、整数集合2.1 介绍2.2 整数集合的实现2.3 整数集合升级三、压缩列表3.1 介绍3.2 压缩列表的构成3.3 压缩列表节点的组成3.4 连锁更新的问题一、跳跃表1.1 跳跃表概念跳表(SkipList) 是用于有序元素序

2021-07-30 15:06:07 457

原创 Redis设计与实现—简单动态字符串、链表、字典

前言《Redis设计与实现》数据结构部分有关字符串类型介绍。文章目录前言一、数据结构——简单动态字符串1.1 SDS定义1.2 SDS与C字符串的区别1.2.1常数复杂度获取字符串长度1.2.2 杜绝缓冲区溢出1.2.3 减少修改字符串时带来的内存重分配次数空间预分配惰性空间释放1.2.4 二进制安全1.2.5 兼容部分C 字符串函数1.3 SDS主要操作API二、链表2.1 链表的实现2.2 Redis链表特性三、字典3.1 字典的实现3.1.1 哈希表 dictht3.1.2 哈希表节点 dict

2021-07-29 09:59:55 149

原创 微服务—OpenFeign服务接口

前言SpringCloud之 OpenFegin服务接口学习!文章目录前言一、Fegin与OpenFegin概念一、Fegin与OpenFegin概念Fegin是一个声明式的WebService客户端,它的使用方法是通过在一个服务接口上面增加注解。Fegin也支持可插拔式...

2021-07-21 10:49:13 1168

原创 微服务—Ribbon负载均衡

前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。文章目录前言一、Ribbon简介一、Ribbon简介Spring Cloud Ribbon是基于Netfix Ribbon实现的一套客户端负载均衡工具;主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项比如连接超时、重试等。简单的来说就是在配置文件中列举出Load Balancer后面的所

2021-07-20 16:08:24 543

原创 微服务—Consul实现注册中心

前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。文章目录前言一、consul简介1.1 Consul基础介绍1.2 Linux下Consul的安装1.3 Linux下Consul启动1.4 Linux下Consul集群的搭建二、采用Consul作为服务注册中心三、CAP理论及运用3.1 CAP理论解释3.2 三种注册中心对比一、consul简介1.1 Consul基础介绍服务发现

2021-07-19 20:15:23 1019 2

原创 微服务—Zookeeper实现注册中心

前言实现SpringCloud与Zookeeper整合,将Zookeeper作为注册中心实现!文章目录前言一、简单整合Zookeeper二、配置Zookeeper客户端三、测试一、简单整合Zookeeperpom.xml <dependencies> <!-- 引入自定义的通用api包--> <dependency> <groupId>org.example</groupId&gt

2021-07-19 14:58:51 374

原创 Zookeeper:五、实现分布式锁

前言Zookeeper实现分布式锁。文章目录前言一、实现思路一、实现思路为什么有分布式锁?1)分布式情况下多个客户端请求处理同一个资源,如果不加锁可能会产生数据一致性等其他严重问题,但是单机情况下的一些锁(比如ReentrantLock、Synchorized)只能控制对当前机器请求的数据一致性,不能处理多台机器,因此产生了分布式锁。2)每个客户在处理资源前先要获取到分布式锁,只有获取到才能操作资源,否则等待。Zookeeper怎么实现?1)如图创建一个临时根节点/locks,每当有一

2021-07-19 12:52:22 177 2

原创 Zookeeper:四、实际生产环境模拟

前言对Zookeeper实际生产环境使用情景的模拟练习。文章目录前言一、服务器动态上下线模拟1.1 服务器集群设计1.2 客户端集群监听设计1.3 测试结果一、服务器动态上下线模拟当一个系统中存在多台服务器时,每当有服务器上下线需要动态地告知客户端进行连接调整。可以采用Zookeeper的监听机制来实现服务器动态上下线情景模拟,此时服务器集群和客户端集群对于Zookeeper集群而言都是客户端。服务器集群需要通过create、delete方法实现机器上下线;客户端集群通过get -w、ls

2021-07-19 12:52:09 169 1

原创 Zookeeper:三、客户端命令

前言Zookeeper的客户端命令详解文章目录前言一、节点信息二、节点类型三、节点操作四、监听器介绍和原理(重要)4.1 监听操作4.2 监听原理一、节点信息ls -s /:相应节点的详细信息[zk: centos1(CONNECTED) 5] ls -s /[zookeeper]cZxid = 0x0 # znode被创建时的事务IDctime = Thu Jan 01 08:00:00 CST 1970 # zno

2021-07-18 14:53:47 324

原创 Zookeeper:一、入门初识

前言SpringCloud整合Zookeeper一、概述只是将原本的Eureka更换为了Zookeeper来使用。

2021-07-17 15:30:13 288 2

原创 微服务—Eureka入门

前言微服务的服务注册中心:Eureka学习提示:以下是本篇文章正文内容,下面案例可供参考一、Eureka概念初识Eureka 是Spring Cloud 封装的用来实现服务治理的模块。什么是服务治理?在传统的rpc远程调用框架中,管理每个服务与服务之间的依赖关系比较复杂,所以需要使用服务治理,管理服务与服务之间的关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。什么是RPC?RPC指远程过程调用,比如说有两台服务器A和B,A上的应用想要调用B上的函数或者方法,由于不在一个内存

2021-07-16 15:26:46 273

原创 支付访问—简单的微服务工程

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、项目准备前言SpringCloud项目入门搭建一、项目准备在项目学习前先配置好项目的编码、jdk版本等信息。分别配置父工程和子工程的pom.xml 文件,注意二者有所区别。父工程中: <!-- 主配置 --> <groupId&gt

2021-07-15 16:41:30 121

转载 微服务体系初识

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、微服务二、SpringCloud与SpringBoot版本选型三、组件停更和停用前言SpringCloud 是当前Java开发微服务方向的技术栈标杆,希望自己能坚持学习下去一、微服务微服务是一种架构模式,它提倡将单一应用程序划分为一组的小服务,服务之间相互协调

2021-07-15 16:17:39 110

原创 软件实训总结

实践任务1:代码规范与标注目标1. 阅读和理解样例代码fork样例工程,并clone到本地仓库;在本地开发环境上运行样例工程,理解样例工程的代码逻辑;精读样例工程软件代码,描述代码结构及部件组成;以UML图描述样例工程的组成及结构图(类及类之间的关系);2. 标注样例工程中的代码基于javadoc规范标注代码,对包、类、方法、代码片段、参数和语句等代码层次进行注释(可参考Game类的标注样例);注释后的代码提交到本地代码库后,同步推送到远程代码仓库;可参考ESLint、github

2021-07-01 00:17:37 1018 4

原创 Java 如何获取到泛型类型

Java 获取到泛型类型当我们需要将 Json 字符串反序列化为对象时,往往会需要使用到泛型场景假设我们定义了一个类,内部有一个数据结构,泛型为 T,当我们输入一个 Json 字符串,想把这个 Json 反序列化成对象,那么此时,我们就需要知道这个泛型的类型。抽象父类:abstract class Base<T extends Comparable<T>> { T data; public Base(String json){ this.dat

2021-03-31 09:52:45 1101

原创 Java读取csv文件并将数据放入对象中

读取csv文件并封装数据为对象例如图中的一个 .csv 文件,需要读取数据封装对象进行数据持久化。public static void readCSV(String readpath, ArrayList list){ File inFile = new File(readpath); try { BufferedReader reader = new BufferedReader(new FileReader(inFile)); boolea

2021-03-31 09:18:40 2089

原创 SpringBoot读取 Resource下文件

SpringBoot项目构建成jar运行,如何正确读取resource里的文件SpringBoot 项目在打包成jar 文件后运行在服务器上后是无法读取到 jar 文件中的内容的总结了一般有如下四种读取文件的方式:第一种:ClassPathResource classPathResource = new ClassPathResource("excleTemplate/test.xlsx");InputStream inputStream = classPathResource.getInpu

2021-03-31 09:01:33 3202 2

原创 计算机网络、(一)计算机网络概念、组成

文章目录一、概念、组成功能和分类1.计算机网络的概念2.计算机网络的功能3.计算机网络的组成4.计算机网络的分类二、标准化工作及相关组织1.标准分类三、性能指标1.速率2.带宽3.吞吐量4. 时延5. 时延带宽积6.往返时间RTT7.利用率四、分层结构,协议,接口,服务1.为什么需要分层?2.怎么分层?3. 分层总结五、OSI模型1.OSI 参考模型解释通信过程2.各层详解应用层表示层会话层传输层网络层数据链路层物理层一、概念、组成功能和分类1.计算机网络的概念计算机网络:是一个将分散的、具有独

2021-03-11 18:02:25 812

转载 面试:乐观锁与悲观锁

乐观锁与悲观锁以下摘自:https://blog.csdn.net/qq_34337272/article/details/81072874 何谓悲观锁与乐观锁 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。 悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次

2021-03-10 09:48:45 124

原创 Mysql、(八) 主从复制

文章目录一、MySQL主从复制步骤二、主从复制的配置主机的配置从机的配置其它操作一、MySQL主从复制步骤Master 将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events。slave 将 master的binary log events 拷贝到它的中继日志(relay log);slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步且串行化的。二、主从复制的配置主机的配置[必须]主服务器唯一

2021-03-09 20:20:43 82 1

原创 Mysql、(七) 锁机制

文章目录一、锁的概念锁的分类二、读锁案例(MyISAM引擎)三、写锁案例(MyISAM引擎)四、MyISAM引擎锁总结五、如何分析表锁定六、行锁理论1. 行锁演示2. 行锁失效变为表锁3. 间隙锁的危害4. 如何锁定一行5. 行锁总结一、锁的概念锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除了传统的计算资源(CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是数据库必须解决的一个问题。锁冲突也是影响数据库并发访问性能的

2021-03-09 19:16:36 132 1

原创 Mysql、(六) Show Profile

文章目录一、Show Profile简介二、分析步骤1. 开启功能2. Show Profile查看执行情况3. 诊断具体的SQL语句三、日常开发需要注意的结论一、Show Profile简介Show Profile 是mysql提供的可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优测量。默认情况下参数关闭,使用需要配置打开。二、分析步骤1. 开启功能show variables like 'profiling;' 默认是关闭的,需要提前开启。set profiling

2021-03-09 13:39:15 92 1

原创 Mysql、(五) 千万级数据批量插入

文章目录一、开启函数创建错误日志二、创建sql脚本1) 创建函数2) 创建存储过程3) 调用存储过程一、开启函数创建错误日志查看是否开启: show variables like '%log_bin_trust_function_creators';开启:set global log_bin_trust_function_creators=1;永久开启:windows my.ini [mysqld]加上:log_bin_trust_function_creators=1

2021-03-09 11:44:02 306 1

原创 Mysql、(四) 索引优化

文章目录一、 查看SQL执行频率二、 定位低效率执行SQL1. show processlist:2. 慢查询日志三、explain 分析执行计划一、 查看SQL执行频率命令: show status like 'Com______' 查看本次连接的增删改查语句执行次数;show global status like 'Com______' 查看子数据库上次启动至今的执行次数;show global status like 'Innodb_rows_%' :针对Innodb 数据库

2021-03-08 21:31:41 1206 1

原创 Mysql、(三) 体系结构与存储引擎

文章目录一、Mysql体系结构概览二、存储引擎概述一、Mysql体系结构概览整个 MYSQL Server由以下组成:Connection Pool: 连接池组件,接收请求后开启一个线程进行相关的认证授权操作后,再进行相关请求的处理;Management Service & Utilities:管理工具和服务组件;主要进行数据的备份与恢复。SQL Interface:SQL组件接口;主要进行相关的DML语句、DDL语句、存储过程、视图、触发器等封装。Parser:查询分析器组件;

2021-03-02 23:00:33 122

原创 Mysql、(二) 索引

文章目录一、索引概述二、索引的优势劣势三、索引结构一、索引概述索引定义: 索引(index) 是帮助MYSQL高效获取数据的数据结构(有序)。在数据之外,数据库还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。二、索引的优势劣势优势提高数据检索的效率,降低数据库的IO成本;降低数据排序的成本,降低CPU的消耗;劣势三、索引结构...

2021-03-02 23:00:19 85

原创 Mysql、(一)Linux下Mysql 基础操作

文章目录一、Linux下安装Mysql二、启动Mysql服务三、登录Mysql一、Linux下安装Mysql百度二、启动Mysql服务service mysql startservice mysql stopservice mysql statusservice mysql restart三、登录Mysqlmysql 安装完成后会有一个随机密码,并保存在一个密码文件中 :/root/.mysql_secret登录后修改密码: set password = passw

2021-03-02 23:00:05 69

原创 JVM、(三) 垃圾回收机制

文章目录一、如何判断对象可以回收一、如何判断对象可以回收1. 引用计数法每引用一次,就计数一次,当某个对象的引用计数为0时进行回收。弊端:循环引用的两个对象永远得不到回收。2. 可达性分析算法扫描堆中的对象,看能否沿着 GC Root 对象为起点的引用链找到该对象,找不到表示可以回收。3. 四种引用强引用软引用弱引用虚引用终结器引用...

2021-03-02 22:59:49 108

原创 JVM、(二)JVM内存结构

文章目录一、程序计数器(PC)定义: Program counter Register作用:记住下一条JVM指令的执行地址。(通过寄存器来实现的)特点:二、虚拟机栈(Virtual Stack)定义:面试问题:栈内存溢出线程运行诊断三、本地方法栈四、堆介绍堆内存溢出堆内存诊断五、方法区构成方法区的内存溢出常量池运行时常量池一、程序计数器(PC)定义: Program counter Register作用:记住下一条JVM指令的执行地址。(通过寄存器来实现的)二进制字节码通过解释器被解释为机

2021-03-01 21:06:36 185 2

原创 JVM、(一)JVM开篇

文章目录一、JVM是什么?二、常见的JVM三、学习路线一、JVM是什么?定义:Java Virtual Machine - java程序的运行环境 (Java 二进制字节码的运行环境)比如 Helloworld.java 程序通过javac编译成了 class字节码然后被加载到java虚拟机中运行。好处:跨平台实现的基石。 Java程序一次编译,到处运行,JVM屏蔽了字节码和底层操作系统之间的差异,使得编译后的二进制字节码文件能够运行在不同的操作系统平台上。自动内存管理,垃圾回收

2021-03-01 21:04:16 111

原创 Redis:八、企业级解决方案(重点)

文章目录一、缓存预热二、缓存雪崩三、缓存击穿四、缓存穿透五、性能指标监控一、缓存预热概念: 缓存预热就是在系统启动前,提前将相关的缓存数据加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询实现被预热的缓存数据!解决方案:二、缓存雪崩三、缓存击穿四、缓存穿透五、性能指标监控...

2021-02-28 21:29:15 98

原创 Redis:七、集群

文章目录一、集群是什么?二、集群的存储结构设计三、集群的搭建四、主从下线和主从切换总结一、集群是什么?集群:集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果。集群的作用:分散单台服务器的访问压力,实现负载均衡;分散单台服务器的存储压力,实现可扩展性;降低单台服务器宕机带来的业务灾难。二、集群的存储结构设计对于输入的一个key,不是直接将其存储到某台服务器中,而是通过算法设计计算出应该存放的位置,之后再存储。如果此时集群中加入了新的服务器,

2021-02-28 17:03:36 149 2

原创 Redis:六、哨兵模式

文章目录一、哨兵模式简介二、哨兵的搭建总结一、哨兵模式简介哨兵(Sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制来选举出新的master并将所有的slave连接到新的master。哨兵也是一台redis服务器,只不过不提供数据服务。哨兵通常配置为单数。二、哨兵的搭建sentinel.conf 配置文件解读# Example sentinel.conf# port <sentinel-port>port 8001

2021-02-28 11:39:28 390

原创 Redis:五、主从复制

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-02-27 14:20:43 165

原创 Ajax跨域问题

文章目录前言一、问题描述二、问题解决1.引入库2.读入数据三、问题总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、问题描述示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、问题解决1.引入库代码如下(示例):import numpy as npimport pandas

2021-02-27 14:15:12 109

空空如也

空空如也

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

TA关注的人

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