自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java基础_语法(equals和==以及重写equals和hashcode)

目录1:==和equals1.1:==和equals的区别1.2:hashcode方法(C语言方法,返回地址指针值)1.3:equals方法2:重写equals和hashcode2.1:String类的equals和hashcode2.2:自定义类型测试(没有重写equals和hashcode)2.3:自定义类型测试(重写equals,不重写hashcode)2...

2019-04-01 14:06:45 2406 3

原创 ElasticSearch第四章(数据同步和集群)

因为ES中的是数据来自业务数据也就是数据库,比如mysql等,那么就需要把数据库的数据同步到ES中,那么什么时候进行数据同步呢?在ES中存在单机处理上限,以及单机的稳定性,所以集群的搭建是必不可少的。假如我们搭建三台服务器作为集群9200,9201,9202。2:都具有数据节点的功能:数据局存储、搜索、聚合、crud。3:都是ingest,具有数据存储预处理功能。

2024-03-27 00:17:02 1125 1

原创 ElasticSearch第三章(聚合)

在之前都是使用ES的查询,结合各种查询条件来查询出结果集,聚合即使查询的结果接在学习聚合之前我们先来了解两个名字1:桶(Buckets):满足于特定条件的结果集,相当于mysql的group by2:指标(Metrics):对桶内的文档进行统计计算,相当于mysq的max()、min()、avg()函数。

2024-03-23 19:33:14 822

原创 ElasticSearch第二章(ES8.X的使用)

这里的索引库就是相当于mysql的表创建es01 就是相当于mysql数据库中的表,mapping:就是对表中字段的映射,properties:就是包含各个字段,type:设置字段类型,包含字符类型、数字类型、布尔类型等analyzer:设置字段的分词,创建倒排索引,便于搜索,只是用text类型文档就是数据,对比mysql的话,就是表中添加数据,但是这里添加的数据是json。

2024-03-17 18:58:27 1041

原创 ElasticSearch第一章(ES8.X安装、kibana安装、IK安装)

1:什么是ElasticSearch2:为什么要使用ElasticSearch

2024-02-21 14:30:38 590

原创 SpringBoot_第九章(CAP和分布式事务)

我们知道在单机下边的事务通过注解开启事务。但是在分布式的系统中,比如扣减订单和减库存客户在主业务中,发起了下单和减库存两个服务,这两个服务在不同的服务器上,我们该怎么保证事务的一致性呢?正常情况下,下单和扣减库存都成功,两边保证了数据的一致性。但是不正常情况下的,比如下单模块失败或者是超时。导致了库存扣减成功后,下单失败。两边就有了一致性问题,出现了数据不一致。我们无法通过单机的事务来控制。于是就有了分布式事务的问题。

2023-11-29 23:46:19 212

原创 SpringBoot_第八章(读写分离_ShardingSphere实现)

Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。可以实现读写分离和分库分表Apache ShardingSphere 由ShardingSphere-JDBC 和 ShardingSphere-Proxy这 2 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景,

2023-11-29 23:45:17 327 1

原创 SpringBoot_第七章(读写分离_MybatisPlus和自定义路由实现)

dynamic-datasource的jar包的官方文档。controller代码根据请求不同访问不同的数据源。2:配置spring的主从。

2023-11-01 20:28:08 301

原创 SpringBoot_第六章(知识点总结)

Filter、servlet是Servlet规范,拦截的是自定义的请求。因为DispatcherServlet拦截的是/但是Filter、servlet可以自定义拦截请求,根据匹配规则,他们会自己处理请求。/*** 继承Filter* 不会经过拦截器* 拦截/*所有请求 不管get post* 使用次注解生效*/@OverrideSystem.out.println("执行MyFilter无论什么get、post方法:"+name);//调用链Servlet代码实现:/**

2023-09-06 18:56:54 263 1

原创 MyBatis学习——第六篇(mybatisPlus)

mybatisPlus是一个mybatis的增强工具,。目的是为了简化开发代码,提高效率而生的。

2023-08-10 18:06:58 214

原创 RocketMQ第四节(部署模式、监控面板等)

mq的消息在服务器存放多久:保存3天ocketMQ无法避免消息重复(Exactly-Once)所以如果业务对消费重复非常敏感,务必要在业务层面进行去重处理。可以借助关系数据库进行去重。首先需要确定消息的唯一键,可以是msgId,也可以是消息内容中的唯一标识字段,例如订单Id等。在消费之前判断唯一键是否在关系数据库中存在。如果不存在则插入,并消费,否则跳过。

2023-07-18 19:52:56 743

原创 java基础浮点类型

我们在现实生活中经常用到10进制的数据,比如整数和小数。但是小数经常出现小数点后无限循环的情况。比如圆周率的π和1/3。这些数字想要存入计算机中。我们只能使用double和float来存储。但是计算机的内存不是无限的。我们不可能真正的存储下这些数字。float:单精度,占用4个字节的内存空间,也就是4*8=32位二进制。double:双精度,占用8个字节的内存空间,也就是8*8=64位的二进制。

2023-07-16 12:40:30 1135

原创 RocketMQ第三节(生产者和消费者)

根据消息的key将消息轮训的插入队列中,队列的消息能保证FIFO,但是我们并不知道实际具体那条消息在那个队列,无法保证比如订单号是01的所有操作在同一个队列。所有才有了顺序发送,我们传入指定的订单号,只要订单号一直,就一定会存到相同的队列。我们知道,我们发送的消息,存储到了mq的topic的队列里边,默认的topic是4个队列。第一种(推送模式):订阅mq服务的topic,mq收到消息把消息推送给消费者,适用范围广。第二种(拉取模式):订阅mq服务的topic,mq收到消息,消费者定时去mq拉取消息。

2023-05-04 18:16:17 3058

原创 RocketMQ第二节(安装和模块详解)

在上边我们首先启动了NameServer,然后启动了broker。然后生产者发送消息,消费者接收消息。

2023-04-28 09:29:37 609

原创 RocketMQ第一节(MQ的初步了解)

MQ是什么

2023-04-26 00:19:02 1223

原创 SpringBoot_第五章(Web和原理分析)

SpringBoot参数绑定、返回值处理源码

2023-03-05 20:33:10 544

原创 SpringBoot_第四章(自动装配原理分析)

SpringBoot自动装配和相应注解

2022-07-15 18:33:30 1264

原创 SpringBoot_第三章(依赖管理)

在springboot项目中,简化了Spring应用的初始搭建以及开发过程,同样对jar的依赖管理也有一套自己的标准。我们创建好自己的springboot项目模板后可以看到pom文件,对需要的jar进行依赖管理,在将项目打包之后,由于项目包包含Tomcat,因此我们可以直接使用java -jar 项目包来运行项目。这些都是依赖于springboot的项目管理,下边来具体分析。我们创建好项目,查看pom文件如下开始分析分析结构:我们在此pom中可以看到项目的父级依赖是spring-boot-starte

2022-05-19 17:42:22 1037

原创 java注解

1:什么是注解2:怎么使用注解3:使用自定义注解

2022-02-18 16:02:52 137

原创 java枚举

目录1:什么是枚举2:枚举的用法2.1:final和枚举类2.2:测试方法1:什么是枚举枚举是一个帖特殊的类,用来表示一组常量。Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。2:枚举的用法枚举和final的比较。final可以重新赋值(重新引用)。枚举不行,枚举可以表示结构化的数据,代码少,利于管理。2.1:final和枚举类//1:final修饰public class Colar { static final Stri

2022-02-17 16:21:57 236 1

原创 Java的Lambda

目录1:Lambda的作用2:jdk1.8的引用2.1:线程、list、Map练习2.2:自定义Lambda练习1:Lambda的作用Lambda表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。函数式编程能有少写点代码。Lambda依赖以前的匿名内部类的基础,必须是接口,且里边只能有一个方法。我们是函数编程来实现此方法语法:(parameters) -> expression或

2022-02-16 22:05:24 858

原创 Java泛型

1:什么是泛型泛型就是不确定类型,用一下几种表示<T>,其他的也行,就是规范。在java代码中随处可见,比如list<E> map<k,v>等等,容器中随处可见。用于在应用中传递对象的容器。但对象类型并不总是相同。因此,需要开发一个能够存储各种类型对象的容器。E:元素 K:键 N:数字 T:类型 V:值 S、U、V等:多参数情况中的第 2、3、4 个类型2:为什么使用泛型,不使用object2.1:我们使用object来试试,看看缺点在哪里定.

2022-02-16 21:44:06 248

原创 设计模式——模板模式

目录1:什么是模板模式2:怎么使用模板模式1:什么是模板模式在一个抽象类中定义抽象方法和模板方法,实现类实现抽象方法来执行不同的业务逻辑减少代码中通用方法在子类中的重复构建2:怎么使用模板模式在spring中的各种Template就是模板1:抽象Template模板public abstract class Template { abstract void execute(); //模板方法 public final void run(){

2022-02-15 18:17:50 76

原创 设计模式——观察者模式

1:什么是观察者模式对象之间存在一对多的依赖关系,一个对象发生改变的的时候,通知到其他的对象2:怎么使用观察者模式1:首先是目标对象,要有添加监听者方法和通知监听者方法//目标类public class Target { private int id; //包含所有的监听者 List<Observer> list=new ArrayList<Observer>(); public int getId() {

2022-02-15 17:42:09 112

原创 设计模式——装饰器模式

目录1:什么是装饰器模式2:怎么使用装饰器模式1:什么是装饰器模式装饰器模式允许向一个现有的对象添加新功能,同时不改变原有的结构。跟静态代理很相似。但是装饰器能够扩展,不影响装饰对象和被装饰对象。2:怎么使用装饰器模式1:需要装饰的对象//对象接口public interface Car { void run();}//具体的被装饰对象1public class KaChe implements Car { public void run() {

2022-02-15 16:28:56 90

原创 设计模式——适配器模式

目录1:什么是适配器模式2:怎么使用适配器模式1:什么是适配器模式将一个类的接口转换为另外一个类的接口,比如在springMVC中,我们的前端请到DispatcherServlet,但是后端是不同的controller。DispatcherServlet怎么把不同的请求转发到controller,这时候我们就需要适配器模式。增加一个Adapter,让Adapter接口来找到不同的controller。前端的请求接口DispatcherServlet不需要修改。2:怎么使用适配器模式不

2022-02-15 15:37:47 374

原创 设计模式——工厂模式

1:什么是工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种设计模式是属于创建型模式,是创建对象的最佳方式。在工厂模式中,我们创建对象不会对客户端暴露,通过接口来指向新创建的对象。2:怎样使用工厂模式...

2022-02-14 17:17:20 450

原创 java中的abstract

目录1:abstract的作用2:用法实例1:abstract的作用abstract用来修饰类和方法,表示抽象类和抽象方法,作用是将子类的公共属性和不能确认的方法提取到抽象类,确认的方法也可以写到抽象类,子类继承抽象类,简化代码操作。是模板设计模式。参考Stringbuffer和StringBuilder抽象类和接口相似,抽象方法必须被继承者实现,非抽象方法,继承者可以不复写2:用法实例public abstract class Fu { public int

2022-02-14 16:40:15 5949

原创 java中的this和super

目录1:this关键字(this和this())1.1:this关键字(两种用法)1.2:this()方法 用来调用当前对象的构造方法2:super关键字(super和super())1:this关键字(this和this())1.1:this关键字(两种用法)1:表示当前对象的引用public class Demo2 { private int id; //调用对象返回自身,那个对象调用返回那个对象 public Demo2 add() { .

2022-02-12 00:17:14 290

原创 Java基础_IO流(BIO和NIO)

1:写在文章之前上一张的IO了解了IO流的字节流和字符流,主要操作读写文件。我们在网络通信中经常会用到BIO和NIO,主要处理网络数据,以下就是BIO和NIO的特征。BIO NIO 面向流 面向缓冲 阻塞IO 非阻塞IO 无 选择器 2:什么是BIO(Block IO-阻塞IO)BIO:同步阻塞IO同步:客户端跟服务器经过TCP链接后。发数据后服务端立马能接受数据。阻塞:1个客户端线程都会对应1个服务端线程。客户端线程发数据服务端线程接收数

2021-08-31 21:17:00 331

原创 并发基础4(JUC)

1:什么事JUC2:3:4:

2021-08-22 21:59:06 184

原创 Java基础_虚拟机4:(内存调优)

1:jvm垃圾收集器1.1:查看默认垃圾收集器(jdk1.8)cmd执行命令:java -XX:+PrintCommandLineFlags -version如图所示:针对上述的-XX:UseParallelGC,这边我们引用《深入理解Java虚拟机:JVM高级特性与最佳实践》的介绍:垃圾收集器的搭配组合和特点介绍:G1垃圾收集器流程和cms基本一致2:jvm报错2.1.什么是内存泄漏和案例实现内存泄漏:申请的内存在使用之后没有释放,导致jvm..

2021-04-07 15:54:52 142 1

原创 Spring_第六章【Spring知识点总结】

1:spring创建对象的过程2:spring对象的生命周期3:spring的注解注解详解 注解 作用 备注 @Component(value = "people") ...

2021-02-01 19:36:52 106

原创 SpringCloudAlibaba第五章(分布式事务实现方式)

目录1:2PC方案(Prepare预提交 Commit提交)1.1:方案介绍1.2:方案优缺点2:TCC方案(框架:ByteTCC,TCC-transaction,Himly)2.1:方案介绍2.2:方案优缺点3:RocketMq方案3.1:方案介绍3.2:代码实现1:2PC方案(Prepare预提交 Commit提交)1.1:方案介绍两阶段提交又称2PC(two-phase commit protocol),2pc是一个非常经典的强一致、中心化的原子..

2020-06-01 19:22:59 1096

原创 SpringCloudAlibaba第三章(分布式事务seata)

目录1:什么是seata2:seata安装3:seatas实现分布式事务原理3.1:组件解析3.2:原理解析4:案例4.1:导入pom4.2:application配置文件4.3:项目的file和registry.conf4.4:开启全局事务@GlobalTransactional4.5:启动方法1:什么是seataSeata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。官网:http:seata....

2020-06-01 19:22:43 1273

原创 SpringCloudAlibaba第四章(分布式事务RabbitMQ)

1:什么是MQ2:主流MQ中间间对比3:RabbitMQ安装4:RabbitMQ案例4.1:添加用户、添加Virtual Hosts添加用户和虚拟主机=======================虚拟主机的作用========================4.1: 点对点发送

2020-06-01 17:41:17 1996

原创 SpringCloudAlibaba第二章(Sentinel)

1:Sentinel安装官网下载:https://github.com/alibaba/Sentinel运行:java -jarsentinel-dashboard-1.7.0.jar页面查看:访问:localhost:8080,账号密码均为sentinel2:Sentinel的作用(相当于hystrix)sentinel作为springcloudalibaba的的一个组件,随着服务集群化管理,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量...

2020-05-22 14:35:01 631 1

原创 SpringCloudAlibaba第一章(Nacos)

目录1:安装nocas2:什么是nocas2.1:为什么使用SpringCloudAlibaba2.2:什么是nacos3:案例架构4:服务提供者使用案例4.1:提供者8001和8002的pom4.2:提供者8001和8002的pom的controller4.3:提供者8001和8002的properties4.4:提供者8001和8002的main方法4.5:启动查看5:消费者使用案例5.1:消费者8003的pom5.2:消费者8003...

2020-05-20 15:28:57 17490 6

原创 SpringCloud第九章(消息驱动Strem和RabbitMQ)

1:什么是StremSpring Cloud Stream是一个构建消息驱动微服务框架。他的作用是屏蔽消息中间件的技术差异,就像jdbc连接不同的数据库一样,我们不直接调用消息中间件,我们通过Strem来使用消息中间来发送消息。通过使用 Spring Cloud Stream,可以有效简化开发人员对消息中间件的使用复杂度,让系统开发人员可以有更多的精力关注于核心业务逻辑的处理。但是目前 Spring Cloud Stream 只支持 RabbitMQ 和 Kafka 的自动化配置。2:Strem架构

2020-05-13 20:37:25 1057 2

原创 SpringCloud第八章(服务配置config和服务总线bus)

1:什么config对于一些简单的项目来说,我们一般都是直接把相关配置放在单独的配置文件中,以 properties 或者 yml 的格式出现,更省事儿的方式是直接放到 application.properties 或 application.yml 中。但是这样的方式有个明显的问题,那就是,当修改了配置之后,必须重启服务,否则配置无法生效。在分布式系统中我们同一个项目可能部署了很多的服务器,一旦配置文件发生变化,那么就需要更改很多项目,进行重启,config能够解决项目重启和多个项目统一配置管理的问题

2020-05-13 15:10:16 418

页面管理.zip

定时任务可视化定时任务可视化

2019-10-23

空空如也

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

TA关注的人

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