自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Springboot整合swagger教程

1、创建spring boot项目,导入swagger相应的jar包<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</a

2021-11-15 16:11:26 660

原创 SpringBoot整合JPA(一,单表的CRUD操作)数据库为mysql

创建项目:以下四个地方一般需要改动勾选上lombok、jpa、mysql驱动包即可以上环境准备好之后,开始编写代码。第一步:编写配置文件spring:# 连接mysql的四参数 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: root

2021-08-28 00:42:48 293 1

原创 redis缓存雪崩,缓存击穿,缓存穿透问题介绍

1、缓存穿透简介:一般是黑客故意去请求缓存中不存在的数据,导致所有的请求都落到数据库上,造成数据库短时间内承受大量请求而崩掉。解决办法:有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。另外也有一个更为简单粗暴的方法(我们采用的就是这种),如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短

2021-08-07 21:56:02 146

原创 JDK动态代理和CGLIB动态代理

java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换如何强制使用CGLIB实现A..

2021-08-04 16:47:39 368

原创 SpringAop介绍

1、什么是SpringAOP?aop是面向切面编程,是面向对象编程的一种延伸,目的是为了解耦和,如果把面向对象的程序看成一棵树的枝干的话,我们可以aop看做是树的分支。从业务上来讲,比如银行转账是一个事务,我们可以先编写一个转账程序,利用aop技术来横切事务,转账成功之后则提交,转账失败之后则回滚。具体的介绍可以去spring官网看一下。2、aop的实现技术,实现原理。aop实现主要分为两大类:动态代理,静态代理。a>静态代理指使用aop框架提供的命令进行编译,从而在编译阶

2021-08-04 16:44:20 96

原创 父子关系的构造方法执行顺序

1、当父类有无参构造时才可以直接继承它。2、子类的无参或者有参构造执行时,必先执行父类的无参构造

2021-08-02 21:05:22 242

原创 String,StringBuilder,StringBuffer的区别

1、String是不可变的,因为其底层是private final修饰的char数组,final修饰的变量,一经定义是不可变的,但是在这里大家肯定又好奇final修饰的变量不是一定要赋值吗?我们来看源码。 private final char value[]; public String() { this.value = "".value; } public String(String original) { this.value

2021-08-02 20:59:50 110

原创 Javase基础知识(部分内容)

JDK的安装去Oracle官网根据版本下载jdk安装包,下载完成之后进行傻瓜式安装即可Path环境变量的配置找到jdk安装路径,找到bin目录,将bin目录中的绝对路径复制到window系统中的path环境变量中。常量的分类根据表现形式来划分,有字面值常量和符号常量,字面值常量:也就是一个数字符号常量,就是该符号中保存了一个数据,看到该符号常量就知道该值根据数据类型来划分:整数常量:所有的整数小数常量:所有的小数布尔常量:true和false字符常量:单引号括...

2021-04-07 20:30:20 168

原创 Java运算符(部分)

Java中的运算符 1、算术运算符: + 加 - 减 * 乘 / 除 % 取余运算 2、自增自减运算符: ++ -- 作用:在某个变量的基础上进行自增1,自减1的操作 注意,该运算符可以使用在变量的前面,也可以使用在变量的后面 区别: 1、自成一条Java语句时,没有什么区别。...

2021-04-07 14:28:38 96

空空如也

空空如也

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

TA关注的人

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