自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CAP And Transaction

CAP

2022-10-21 10:47:27 224

原创 JAVA改写字符串大小写

【代码】JAVA改写字符串大小写。

2022-08-26 11:56:03 373

原创 sentinel 服务熔断和限流

sentinel 下载安装: 访问管理页面 localhost:8080 初始化监控: 建module 导入POM <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifa..

2022-03-26 17:33:38 974

原创 Nacos--服务注册、配置中心

Nacos下载和安装: Release 1.4.3 (Jan 27, 2022) · alibaba/nacos · GitHub 👈下载的链接,这里下载windows版本进行学习 下载后解压,运行startup.cmd,注意单机版的启动命令,默认是集群 此时可以访问localhost:8848/nacos访问控制台,默认用户名密码都是nacos Nacos服务注册: 服务提供者注册: 父工程导入POM <dependency&g...

2022-03-24 19:47:01 789

原创 分布式链路追踪--Sleuth、zipkin

分布式链路追踪--Sleuth: 可以获取各节点的链路调用图,sleuth负责收集整理,zipkin负责展示。 zipkin需要下载jar包,并通过java -jar来运行 启动后,可以通过localhost:9411/zipkin/进行访问前台 在微服务中使用,首先在服务端导入POM依赖...

2022-03-24 14:56:44 252

原创 消息驱动Stream

消息驱动生产者: 导入POM依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-rabbit</artifactId> </dependency> YML server: po...

2022-03-24 12:51:34 2440

原创 Config配置中心

服务端配置: 先新建一个gitee/github的仓库用于存放这些配置文件 导入POM依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId></dependency> 写TML server: port: 3344..

2022-03-23 15:33:52 415

原创 Gateway网关

Gateway的搭建: 导入POM: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>//需要注册到注册中心 <dependency..

2022-03-20 19:35:20 244 1

原创 Hystrix的一些

代码:导入POM依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency> YML: server: port: 8005eureka: client: fetc

2022-03-17 16:55:40 108

原创 Ribbon和OpenFeign实现负载均衡服务调用

Ribbon: 使用eureka的时候不用导入Ribbon的POM依赖,eurekaclient中集成了它。 @SpringBootApplication@EnableEurekaClient//可以替换当前的负载均衡规则@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MyselfRule.class)public class OrderMain80 { public static void main(..

2022-03-17 14:12:40 493 1

原创 使用zookeeper和consul进行服务注册

目录zookeeper进行服务注册:consul进行服务注册: zookeeper进行服务注册: 安装zookeeper(需要先安装jdk); 服务端:导入POM依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactI.

2022-03-17 12:24:40 3019

原创 Eureka一些

生成eurekaServer端服务注册中心建module 改POM <!--加入Eureka server依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>

2022-03-15 13:03:08 461

原创 Rabbitmq的一些笔记

一些概念:消息队列三大功能:流量消峰:超过极限之后,后续的访问人员需要等待;可以避免宕机,但是需要更多的时间; 应用解耦:可以使系统之间解耦,一个系统调用别的系统的时候不会因为被调用的系统故障而一起发生故障;这样在调用的时候,会通过队列去访问别的系统,那么需要调用的系统只需要将这样的一个请求交给了队列则就完成了他的操作,后续的出错不会影响它。 异步处理:可以使得模块之间调用的时候,调用的模块不再需要等待被调用的模块执行结束,而是被调用的模块执行结束以后由队列去通知调用的模块;MQ的四大核心概念.

2022-03-02 14:29:11 2995 2

原创 导入导出Excel的问题

使用EasyExcel<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.4</version></dependency>导出excel:1.首先要创建一个用于存放数据的实体类,每个属性加上注解"@ExcelProperty(value="exc

2022-03-02 10:14:50 428

原创 自定义全局异常类的处理

1.首先要定义全局异常类://定义全局异常类 继承Exception类/其相对应的异常类;public class NotFoundException extends RuntimeException { //定义异常类属性,一般包括错误代码和错误信息; private Integer errorCode; private Object errorMsg; //构造方法; public NotFoundException() { //需要实

2022-02-25 13:20:29 1584

原创 Springboot整合RabbitMQ

消息队列三大功能:流量消峰:超过极限之后,后续的访问人员需要等待;可以避免宕机,但是需要更多的时间; 应用解耦:可以使系统之间解耦,一个系统调用别的系统的时候不会因为被调用的系统故障而一起发生故障;这样在调用的时候,会通过队列去访问别的系统,那么需要调用的系统只需要将这样的一个请求交给了队列则就完成了他的操作,后续的出错不会影响它。 异步处理:可以使得模块之间调用的时候,调用的模块不再需要等待被调用的模块执行结束,而是被调用的模块执行结束以后由队列去通知调用的模块;MQ的四大核心概念:生产者;

2022-02-16 12:07:51 1279

原创 一些常用的Stream使用

1.筛选:stream.filter(筛选条件,一般配合lambda表达式)---筛选出来; stream.anyMatch(筛选条件,一般配合lambda表达式)---是否存在;2.比较:通过比较得到最大值/最小值; stream.max/min(Comparator.comparing(比较的内容)); stream.max/min(Integer::compareTo)---自然排序比较;3.map映射:将map对应的函数应用每个元素上; stream.map(相关操作的函数.

2022-01-26 15:32:26 810

原创 Git一些

1.Git和SVN的主要区别:SVN是集中式版本控制系统,版本库放在中央服务器,操作的时候需要从中央服务器获取到最新的版本,需要联网; Git是分布式版本控制系统,没有中央处理器,每个人电脑上都有完整的版本库,可以不需要联网;2....

2022-01-24 11:53:01 314

原创 JWT身份验证

1.JWT:概念:全称就是Json Web Token,通过数字签名,以Json对象作为载体,在不同的服务终端之间安全的传输信息 作用:授权登录,用户登录后,他后续进行的每个请求都是带着他自己的token的,系统处理每次请求时都会进行JWT验证,即验证该token,通过才处理请求; 组成:JWT有三个组成部分:Header(头部信息):一般有两部分组成---(1).token类型(2).算法,然后进行base64的加密; Paylode(载荷):一般储存一些有效数据,密码,登陆时间等,然后进行b

2022-01-13 11:50:36 2983

原创 SpringBoot2---底层注解

SpringBoot中,@Bean方法用来添加一些没有注解的组件(名字就是方法名); @Configuration中有一个属性是proxyBeanMethods:(1).如果设置成true(Full),那么获取到的就是代理对象调用方法,只会在IOC容器中查找,如果在容器中有就拿,如果没有就新创建一个----保持组件单实例(但效率低)---组件依赖---【操作的是同一个组件,保留每个操作的内容】;(2).如果设置成false,那么就不再是单实例(不是代理对象),每次调用都会创建一个新的对象(相当于每次是ne

2022-01-11 18:58:32 253

原创 Spring---事务

事务是数据库操作最基本单元,一组操作要么都成功要么都失败; 事务四大特性:原子性(不可分割)、一致性(操作前后总量不变)、隔离性(两个操作互不影响)、持久性(表中记录数据持久化处理)---(ACID) 事务操作环境搭建;...

2022-01-10 21:24:46 277

原创 关于Spring中自动装配@AutoWired空指针异常的问题

通过@AutoWired注入的属性不可以通过new这个类的对象直接拿来用,因为直接用相当于没有去读取xml文件就开始操作,那么是无法注入进去的(没有进行扫描,没法读取注解,Spring就不知道要注入什么,创建什么对象);所以自动注入属性以后需要用Spring中的getbean()来获得含有这个被注入属性的类的对象,然后再去使用这个被注入的属性;下面这是直接new被注入属性的类的对象进行操作,就会报错:使用Spring中的getBean()就可以正常执行:...

2022-01-10 13:06:32 1036

原创 Spring--AOP

1.基本概念:面向切面编程; 是对业务逻辑的各个部分进行隔离,使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,提高了开发效率; 可以不修改源代码就可以添加新的功能---将这个新的功能独立出来,然后和原功能关联起来;2.AOP底层原理:Aop底层使用动态代理---来增强类中的方法,动态代理就是给需要增强的对象创建一个代理对象; 动态代理的两种情况:有接口(需要增强的对象属于一个接口)情况---使用JDK动态代理; 没有接口情况---使用CGLIB动态代理; JDK动态代理:(1)

2022-01-09 17:07:49 192

原创 数据库连接池

1.基本介绍:在缓冲池中有一定数量的连接,需要建立数据库连接时,从缓冲池中取出,用完后放回,不会断掉连接; 重复使用现有的数据库连接,而不是重新建立,减少连接次数; 超过最大连接数量时,请求被加入等待队列中;2.连接池分类(常用):C3P0(配置文件(c3p0-config.xml)---ComboPooledDtaSource)---稳定但速度不是很快; Druid(德鲁伊)---集合多种优点;3.阿帕奇Apache-DBUtils:由于关闭connection后,结果集Result

2022-01-08 11:13:11 560

原创 Spring---IOC

1.Spring的两个核心:IOC:控制反转,把创建对象交给Spring进行管理; Aop:面向切面,不修改源代码进行功能增强;2.IOC:IOC思想基于IOC容器完成,IOC容器底层就是对象工厂; IOC的两种实现方式(接口):BeanFactory(接口):IOC容器的基本实现;其在加载过程中不会创建对象,在获取对象的时候才会把配置文件对象进行创建,相当于单例模式中的懒汉模式; ApplicationContext(接口):IOC的实现;其在加载过程中就会创建对象,相当于单例模式中的饿

2022-01-08 01:45:45 273

原创 SQL注入问题---Statement和PreparedStatement

Statement对象用于执行静态SQL语句并返回其生成的结果的对象; 建立连接以后,可以通过以下的对象执行SQL语句:Statement---有SQL注入的问题; PreparedStatement---预处理---实际开发中用这个; CallableStatement---主要用来调存储过程;SQL注入(sql injection):利用某些系统没有对用户输入的数据进行充分地检查,而在用户输入数据中注入非法的SQL语句段或者命令,恶意攻击数据库;...

2022-01-05 12:50:45 639

原创 JDBC相关

1.为了统一各个数据库的操作方法,那么各个数据库需要实现java提供的这个接口,实现接口以后就变成了一种驱动类(.jar)2.JDBC程序编写步骤:在项目下先创建一个文件夹--将mysql.jar放入到该文件夹中,并add as library 注册驱动---new Driver(); 获取链接---String url="jdbc:mysql://localhost:3306/db2""jdbc:mysql://"--->这部分是固定的,是一个协议,通过jdbc连接mysql; "l

2022-01-04 21:39:35 410

原创 DML 增删改、计算列

1.增:即插入数据;(1).单条添加:INSERT INTO...VALUES(....<对应字符段的顺序>)---不方便; INSERT INTO 表名(哪些字符段)VALUES(....<按前面写的顺序>); INSERT INTO 表名(哪些字符段)VALUES(....<按前面写的顺序>)(....<按前面写的顺序>)(....<按前面写的顺序>)...---同时添加多条数据---推荐;(2).将查询结果插入进去:IN

2022-01-04 15:57:23 184

原创 DCL中的COMMIT\ROLLBACK以及TRUNCATE和DELETE的对比

DCL:数据控制语言;1.COMMIT:指的是提交数据,一旦执行COMMIT,那么数据就被永久地保存在数据库中---那么也就不可以回滚;2.ROLLBACK:指的是回滚数据,一旦执行ROLLBACK,那么就可以实现数据的回滚(但是并不一定成功)---回滚到最近的一次COMMIT之后。由此,对比一下TRUNCATE TABLE(DDL)和DELETE FROM(DML):相同点:都能删除表中的所有数据,并且保留表结构; 不同点:TRUNCATE TABLE--->一旦执行此操作,表

2022-01-04 14:44:39 773

原创 数据库中的创建、修改、删除

增删改都需要有对应权限;1.数据库的创建、修改、删除:(1).数据库的创建:方式一:CREATE DATABASE ... 方式二:CREATE DATABASE ... CHARACTER SET '(选择要使用的字符集)'---指定了要创建的数据库的字符集,最好这样创建; 方式三:CREATE DATABASE IF NOT EXISTS ...---如果要创建的数据库已经存在就不创建,如果不存在就创建;(2).管理数据库:查看当前连接了哪些数据库:SHOW DATABASES

2022-01-04 14:26:12 5968

原创 子查询相关问题

单行子查询(返回单行数据)、多行子查询(集合比较查询,返回多行数据)相关子查询、不相关子查询(子查询只执行一次)1.多行子查询:IN(等于任意一个),ANY(和某一个比较),ALL(和所有比较),SOME(ANY别名,一般用ANY)...

2022-01-04 12:24:25 479

原创 MySQL中的函数

1.单行函数和多行函数(聚合函数、分组函数):(1).单行函数:a.数值函数:ABS(x)---绝对值; SIGN(x)---0:0,整数:1,负数:-1; CELL(x)、CELLING(x)---天花板函数,取离该值最近的,大于该值的整数; FLOOR(x)---地板函数,取离该值最近的,小于该值的整数; LEAST(...),GREATEST(...) RAND()--->0-1、RAND(x)--->x是因子,如果两个随机数的因子是相同的那么得到的随机数也是相同的。

2022-01-03 14:34:36 624 2

原创 多表的查询、表的别名、多表查询的分类

优点:避免冗余、减少IO次数、多个表格并发 容易出现笛卡尔积的错误,即每组数据中的每个数据之间都会连接一次,哪怕是没有关联的,因为没有给匹配的条件;

2022-01-03 12:12:23 763

原创 排序与分页

1、排序数据:一级排序: 如果没有使用排序操作,那么默认顺序是添加时的顺序; ORDER BY; 升序:ASC;降序:DESC; 如果ORDER BY后申明排序方式,那么默认是升序; 列别名只能在ORDER BY里使用,不能在WHERE 里使用; 多级排序: 接着一级排序后面写;2.分页:LIMIT: LIMIT 0,20:从0(即从第一条)偏移到20---0是偏移量; 不写偏移量则默认选前n条; WHERE---ORDER BY---LIMIT; 8.0新特性:LIMIT.

2022-01-02 21:48:28 217

原创 运算符相关

1.算术运算符:在SQL中,+没有连接的作用,即+不能连接字符串和别的数据类型,而是将字符串隐式转换成数值,如果不能转换成字符那么就会看作0; 除法结果默认是浮点型;2.比较运算符:(1).结果有真、假、null; =: <=> <> != < <= > >= 相等返回1,不相等返回0; null参与比较结果就是null; <=>: 安全等于; 可以...

2022-01-02 11:57:10 170

原创 列的别名、去除重复行、NULL、DESC、过滤查询

列的别名:重命名列; 法一:在原名后面加空格加别名; 法二:或者AS+别名;AS:alias---别名,可以省略; 法三:别名可以使用" ";去除重复行:在要查找的字符段名前面加DISTINCT; 如果要查找多个字符段,只能都用DISTINCT来修饰,结果是结合两个字符段去重的,没有实际意义;空值参与运算:null:空值,不等同于0; 空值参与运算结果一定也是null; IFNULL(a,b):如果是null那就按b算,如果不是null就按原来的a算;着重号:`...`;

2022-01-01 22:13:17 439

原创 SQL语言基础知识

1.分类:DDL:数据定义语言;(结构层面) DML:数据操作语言;(增删改查) DCL:数据控制语言;(commit/rollba/save point等)2.规则和规范:大小写规则规范:规则:子行分行,必要时缩进; 结束行时:“;、/g、/G” 关键字不可缩写/分行 列的别名尽量不用" "补充:字符串和时间日期用' '规范:win大小写不敏感,linux大小写敏感; 大小写规范:数据库名、表名、表别名、字段名、字段别名都小写;SQL关键字、函数名、绑定变量都大写;

2022-01-01 21:21:10 231

原创 集合的一些问题---Collection和Map

1.Collection:(1).List:(有序可重复)a.ArrayList:底层数据类型:(动态)数组; 构造方法:三个构造方法--->1.无参数的构造方法;2.带默认空间参数的构造方法;3.带Collection参数的构造方法; 常用方法:增--->add();删--->remove();改--->set();查--->get(); 一些补充方法:全部删除--->clear();(参数)全部增加(这需要是一个属于Collection里的,和这里的

2021-12-28 22:19:29 299

原创 枚举的相关问题

枚举(类):1.一个类中的对象,认为个数是有限且固定的,可以将每一个对象一一列举出来;2.默认直接继承Enum类--->间接继承Object类;所以enum不可以再继承别的类了,但是可以实现接口;3....

2021-12-26 10:17:27 218

原创 内部类相关

1.内部类是指Java中可以将一个类定义在另一个类的内部;2.内部类可以定义在类的内部,那也就是和类成员一个层次--->成员内部类;3.内部类可以定义在方法和块的内部,那也就比类成员低一个层次--->和局部变量一个层次--->局部内部类; 3.匿名内部类:成员匿名内部类、局部匿名内部类;4.静态(static修饰的)内部类:是静态成员内部类;5.$通常用来命名内部类字节码文件--->外部类$内部类.class; 1.成员内部类:(...

2021-12-25 15:41:33 202

空空如也

空空如也

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

TA关注的人

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