自定义博客皮肤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)
  • 收藏
  • 关注

原创 mysql总结

mysql知识点总结,持续更新中。。。。

2024-06-20 11:00:29 752

原创 Redis高级

(1)下载1.1.6版本canal.deployer-1.1.6.tar.gz https://github.com/alibaba/canal/releases/tag/canal-1.1.6。(3)I/O多路复用和非阻塞IO:redis使用IO多路复用功能来监听多个socket连接客户端,这样就可以使用一个线程连接来处理多个请求减少线程切换带来的开销。#ROW模式:除记录sql语句外,还会记录每个字段的变化情况,能够清楚的记录每行数据的变化历史,但会占用较多的空间。

2024-04-03 16:40:21 591

原创 Elasticsearch记录

分布式搜索引擎es

2024-02-06 17:05:28 1882

原创 设计模式(23种)

角色(产品-具体的产品对象、抽象建造者-创建产品各个部件的接口/抽象类、具体建造者-实现接口构建和装配各个部件、指挥者-创建复杂的对象,主要作用是隔离客户与产品的生产过程且负责控制产品对象的生产过程),StringBuild则为建造者模式。深拷贝:复制对象的所有基本数据类型的成员变量,同时为所有引用类型的成员变量申请存储空间,并复制每个引用数据类型的成员变量所引用的对象。:为子系统中的一组接口提供一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部实现。

2024-01-03 17:02:03 1352

原创 Redis基础

Redis:Remote Dictionary Server 远程字典服务器,使用C语言编写基于key-value键值对的内存数据库。官网:https://redis.io http://www.rediss.cn中文文档:https://www.redis.com.cn/documentation.html命令操作手册:http://doc.redisfans.com。

2023-12-17 22:02:43 1628

原创 Docker

docker解决的问题:避免了各种环境中的配置、中间件版本等不一致所导致的问题。避免各个环境重复安装各种软件的繁琐工作。docker理念:一次镜像处处运行;即可以将源码、运行环境、配置文件、中间件等等打成一个包,生成镜像文件后在各个地方都可以运行。docker官网:https://www.docker.com/仓库:docker hub:https://hub.docker.com。

2023-11-15 21:13:46 41

原创 JVM相关

3、在jdk1.8中,永久代已经不存在,存储的类信息、编译后的代码数据等已经移动到了元空间(MetaSpace)中,元空间并没有处于堆内存上,而是直接占用的本地内存。现在的商业虚拟机都采用这种收集算法来回收新生代,但是并不是将新生代划分为大小相等的两块,而是分为一块较大的 Eden 空间和两块较小的 Survivor 空间,3)复制:将内存划分为大小相等的两块,每次只使用其中一块,当这一块内存用完了就将还存活的对象复制到另一块上面,然后再把使用过的内存空间进行一次清理。是线程私有的,生命周期和线程一致。

2023-08-24 16:54:42 96 1

原创 集合相关内容

4、jdk7中由数据+链表实现(查找的时间复杂度取决于链表的长度为O(n)),jdk8中由 数组+链表+红黑树实现(当链表中的元素达到了 8 个时,会将链表转换为红黑树,查找的时间复杂度O(logN))2、自动扩容:数组进行扩容时,会将老数组中的元素重新拷贝一份到新的数组中,每次数组容量的增长大约是其原容量的1.5倍,扩容操作最终是通过grow()方法完成。原理:采用安全失败机制的集合容器,在遍历时不是直接在集合内容上访问的,而是先复制原有集合内容,在拷贝的集合上进行遍历。但该容器不保证元素的顺序;

2023-08-18 19:16:21 8 1

原创 Kafka

Kafka是一个分布式的基于发布订阅模式的消息队列,主要应用于大数据实时处理领域。

2023-08-06 16:54:49 27

原创 MySQL高级

linux安装MySQL前准备需要准备两台centos7虚拟机,可安装一台后通过克隆一台,克隆后需要修改如下方面:1、mac地址:网络适配器 - 高级 - 下方mac地址点击生成即可(启动前修改)启动后修改以下三项,通过终端命令方式修改:使用root用户修改2、主机名:vim /etc/hostname 修改后重启虚拟机reboot命令3、ip地址:动态ip无需修改,静态ip修改如下文件:修改目录/etc/sysconfig/network-scripts/ifcfg-ens334、UUID

2022-05-30 21:26:47 34

原创 MySQL基础

一、概述Mysql 支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位最大可支持8TB。1、关系型数据库:RDBMS(R为关系,DBMS为数据库管理系统如mysql、oracle)1)、关系型数据库模型是将复杂的数据结构归结为简单的二元关系(即二维表格形式);2)、关系型数据库以行(row)和列(column)的形式存储数据,这一系列的行和列被称为表(table),一组表组成了一个库(database即DB);3)、表与表之间的数据记录存在一定的关系。2、非关系型数据库

2022-05-10 18:09:23 44

原创 Apollo配置中心记录

Apollo分布式配置中心一、原理笔记网址 http://www.pbteach.com/java/java_05_03/20210527/582534840956485632.html服务启动前需要安装mysql并导入表且需要在配置脚本中更改数据库的连接信息apollo-portal-1.3.0.jar 控制台服务,用于配置各个服务的配置信息。默认的管理员账户密码:apollo/adminapollo工作原理:两库三服务(congfigService中包含Meta Server 和Eureka)

2022-04-03 19:13:08 49

原创 SpringCloud记录

1、Cloud官网https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle2、中文文档https://www.bookstack.cn/read/spring-cloud-docs/docs-index.md3、SpringCloud与springboot版本选型查询地址https://start.spring.io/actuator/info4、IDEA创建父工程并设置开发环境1.Ne

2022-01-22 19:46:37 34

原创 RocketMQ高级篇

1.1消息存储分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。1.1.1 存储介质1)关系型数据库DB通过关系型数据库进行持久化消息,但在数据量达到千万级时其IO性能会出现瓶颈且DB一旦出现故障则MQ的消息就无法落盘存储会导致线上故障。如ActiveMQ2)文件系统像RocketMQ、Kafka、RabbitMQ均采用消息刷盘至所部署虚拟机/物理机的文件系统来做持久化(刷盘方式一般可分为异步刷盘和同步刷盘两种)。消息刷盘则为消息存储提供了一种高效率、高可靠性和高性能的数据持久化方

2022-01-08 22:33:48 44

原创 责任链模式

责任链模式概述对于请求存在多个处理者,每个处理者都会包含下一个处理者的引用,从而形成链的形式,请求会沿着链进行传递,直到有处理者处理请求为止;同时也可以让所有处理者都对请求进行处理,形成闭环(如查询多个系统的数据组装成一个对象用于前端展示就可使用闭环的形式)。主要包含以下角色(1)抽象处理者角色:定义一个处理请求的接口,包含抽象的处理方法和一个后继处理者;(2)具体处理者角色:实现抽象处理者的抽象方法,判断能否处理本次请求,如果可以处理则处理,否则将请求转给它的后继者;(3)客户类角色:创建

2021-12-22 20:09:27 257

原创 RocketMQ基础

1、 概述MQ( Message Queue)消息队列是一种先进先出的数据结构。由阿里使用java语言开发。1.1、作用(1)服务间解耦 --> 同步调用改为异步调用(2)流量削峰 --> 将高峰时刻的请求放置mq队列,一点点消费(3)数据分发 --> 生产者将消息发送至MQ,哪个系统需要哪个系统消费即不需要使用接口调用1.2、缺点(1)系统可用性降低:一旦mq宕机会对业务造成影响,需保证mq的高可用(2)系统复杂度提高:mq的加入增加了系统的复杂度,系统间由同步

2021-12-19 22:03:26 240

原创 装饰者模式.

概述动态的将新功能附加到对象上,在对象功能扩展方面它比继承更有弹性,也更体现了ocp开闭原则使用场景星巴克咖啡订单,单品咖啡与调料的组合思路使用装饰者(调料如牛奶/糖)包含被装饰者(主体咖啡/主体咖啡+调料),使用递归方式维护咖啡和调料的组合//被装饰者public abstract class Drink { public String des;//描述 private float price = 0.0f;//价格 public String getDes(

2021-12-06 21:21:10 168

原创 桥接模式.

概述桥接模式是指将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。桥接模式使基于类的最小设计原则,通过使用聚合、封装及继承等行为让不同的类承担不同的职责。主要特点是将抽象与行为实现分离开来,从而可以保持各部分的独立性及应对他们的功能扩展。JDBC的驱动使用了桥接模式//桥接模式,// 当增加手机样式时只增加一个样式类继承Phone类即可,增加其他品牌的手机实现Brand即可public class BridgeMain { public static void main(S

2021-12-05 21:27:50 315

原创 适配器模式.

概述适配器模式是将某个类的接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作,别名称为包装器。springMvc接受请求时的处理器适配器(处理器映射器根据映射路径找到对应的controller,处理器适配器调用该controller执行具体的逻辑并封装结果返回ModelAndView)有使用到适配器模式主要分类1、 类适配器模式Adapter类通过继承src类(被适配的类)实现dst(适配接口)接口,完成str->dst的适配场

2021-12-05 19:45:05 432

原创 建造者模式.

概述又叫生成器模式,它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法构造出不同表现(属性)的对象。它是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建他们,用户不需要知道内部的具体构建细节建造者模式的四个角色1、 Product(产品角色):一个具体的产品对象。2、 Builder(抽象建造者):创建一个Product对象各个部件指定的接口/抽象类。3、 ConcreteBuilder(具体建造者);实现接口,构建和装配各个部件。4

2021-12-04 21:54:49 443

原创 原型模式.

概述:原型模式指用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。使用clone方法实现,例spring配置对象时指定scope属性使用到了该模式Java中Object类是所有类的根类,Object类提供了clone方法,该方法可以将一个java对象复制一份,但需要实现clone方法的java类需要实现Cloenable,该接口表示类可以复制且具有复制的能力。使用clone方法得到的拷贝对象与原对象的内存地址是不一样的浅拷贝与深拷贝:当一个对象被拷贝时,拷贝得到的对象内部的

2021-12-04 19:48:31 443

原创 单例设计模式.

概述:单例模式即采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实力的方法(静态方法)。单例模式实现步骤:构造器私有化(防止外部new对象)在类的内部创建对象向外暴露一个静态的方法供获取该对象单例模式的八种编码方式:饿汉式(2种实现方式)1 饿汉式(静态常量)class SingletonType1{ //2. 在类的内部创建对象 private final static SingletonType1 single

2021-11-28 19:45:23 71

原创 设计模式分类

创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式...

2021-11-28 19:37:24 43

原创 搭建Maven的私有服务器nexus

Nexus介绍Nexus是开源的框架,是属于sonatype机构的开源框架,用该框架架设maven的私有服务器。windows系统下:将nexus-2.14.11-01-bundle.zip解压进入nexus-2.14.11-01—bin—jsw—windows-x86-64(根据实际操作系统选择jsw下的哪个文件夹)首先运行install-nexus.bat安装在运行start-nexus.bat启动nexus最后输入http://localhost:8081/nexus访问页面Nexu.

2020-05-09 10:03:42 73 1

空空如也

空空如也

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

TA关注的人

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