- 博客(16)
- 收藏
- 关注
原创 面试题总结
Java基础1. @Transactional的失效问题在同一个类中,方法A(没有加@Transactional注解)调用方法B(加了@Transactional注解),则事务失效,原因是通过**this.**调用,不经过 AOP,导致事务不开启。事务传播特性有哪几种?目前,Spring在TransactionDefinition类中定义了以下7种传播特性,具体特性我们接下来会分析:PROPAGATION_REQUIRED:如果不存在外层事务,就主动创建事务;否则使用外层事务PROPAGATIO
2021-09-30 11:08:26
314
原创 什么是最左前缀
最左前缀原则:顾名思义是最左优先,以最左边的为起点任何连续的索引都能匹配上。(1)如果第一个字段是范围查询需要单独建一个索引;(2)在创建多列索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边;当创建(a,b,c)复合索引时,想要索引生效的话,只能使用 a和ab、ac和abc三种组合!实例:以下是常见的几个查询:mysql>SELECT `a`,`b`,`c` FROM A WHERE `a`='a1' ; //索引生效mysql>SELECT `a`,`b`,`c`
2021-09-29 10:47:11
2632
原创 RDB和AOF的区别
RDB和AOF的区别redis的持久化方式RDB和AOF的区别1、前言最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据。由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF持久化(原理是将Reids的操作日志以
2021-09-25 17:37:20
5645
原创 Redis缓存穿透、缓存击穿、缓存雪崩(解决方案)
一、前言在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。为了克服上述的问题,
2021-09-25 14:41:03
188
原创 Java面试(全)
Java面试一、基础1.&&和&的区别? |和||的区别?1.当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。2.当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算2.fianl关键字的作用fianl修饰类时,类不能被继承fianl修饰方法时,方法不能被重写fianl修饰变量时,变量不能被修改。他就变成常量了3.static的作用?被static所修饰的是静态变量,静态变量由多个对
2021-09-25 09:04:14
10497
3
原创 线程与线程池
什么是线程,线程和进程的区别是什么什么是线程呢?线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 – 来自百度百科线程可以理解成是在进程中独立运行的子任务。比如,QQ.exe 运行时就有很多的子任务在同时运行。像好友视频、下载文件、传输数据、发送表情等,这些不同的任务或者说功能都可以同时运行,其中每一项任务完全可以理解成是“线程”在工作,传文件
2021-09-17 19:32:48
414
原创 邮箱API
绪论没开POP3/SMTP服务的只能通过网页发送邮件,开通后,可以通过Java代码程序发送邮件。(这儿以网易邮箱为例)第一步 开启POP3/SMTP服务第二步 生成授权授权码切记保密第三步 创建springboot项目1. 添加依赖<!--邮箱依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s
2021-09-14 20:31:01
2776
原创 短信API
短信应用场景异常通知注册码重要操作(银行转账的验证码)的验证码实现步骤第一步 注册云通讯账号云通讯网址](https://www.yuntongxun.com/)第二步 添加测试号码可添加三个免费测试号码第三步 关闭鉴权IP第四步 创建springboot项目1. 添加依赖<!--短信验证--><dependency> <groupId>com.cloopen</groupId> <artifactId>
2021-09-14 19:55:55
439
原创 微服务架构常用注解
微服务架构常用注解@EnableFeignClients@EnableFeignClients 注解描述启动类时,用于告诉springboot在启动时,扫描启动类所在包及其子包中的类,假如接口上有@FeignClient注解描述,则对这样的接口创建其实现类,在实现类内部帮我们进行远程服务调用@FeignClient(name = “服务名”)注解用于描述远程服务调用接口,这个借口不需要写实现类,你只需要定义访问规则即可(例如请求方式,请求URL,请求参数)可能出现错误: . . . . no
2021-09-14 14:35:31
430
原创 单体架构常用注解合集
JDK自带注解@Override在java中如果方法上加@Override的注解的话,表示子类重写了父类的方法。当然也可以不写,写的好处是:可读性提高编译器会校验写的方法在父类中是否存在元注解@Target表示注解可用在哪里:类上、方法上、属性上等等@Retention注解的生命周期:源文件中、字节码文件中、运行中SOURCE 在源文件中有效(即源文件保留)CLASS 在class文件中有效(即class保留)RUNTIME 在运行时有效(即运行时保留)框架注解@Spring
2021-09-14 14:33:43
218
原创 spring工具类
添加依赖<dependencies> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-parameter-names</artifactId> <version>2.9.8</version>
2021-09-09 10:56:53
304
1
原创 微服务打jar包
在需要打jar包的微服务pom文件中添加如下代码:<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>
2021-09-03 10:07:47
927
1
原创 Docker常用指令
Docker常用指令Docker基本操作启动dockersystemctl start docker停止dockersystemctl stop docker重启dockersystemctl restart docker设置docker开机自启动systemctl enable docker关闭docker开机自启动systemctl disable docker查看docker状态systemctl status docker查看docker信息docker i
2021-09-03 09:42:31
132
原创 SpringMVC调用流程(笔记)
MVC设计思想经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。MVC设计模式的优点好处:实现分层的思想,达到松耦合的目的。提高代码的复用性,扩展性,容错性M:Model模型,用来封装数据V:View视图,用来展示数据C:Controller控制器,用来接受请求和处理响应工作原理前端控制器:DispatcherServlet,用来接受请求分发请求处理
2021-08-27 19:39:36
291
原创 单点登录(笔记)
单点登录单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,包括单点登录与单点注销两部分。...
2021-08-27 19:30:28
369
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人