自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Expected one result (or null) to be returned by selectOne(), but found: 3

Expected one result (or null) to be returned by selectOne(), but found: 3 因为你数据库有多条 你返回的是单条 所以报错了

2022-12-19 15:18:44 337 1

原创 sun.misc.Unsafe.park(Native Method):

sun.misc.Unsafe.park(Native Method):

2022-12-19 15:16:24 1004

原创 Reuired reowest part ‘fie‘ is not oresent

java 报错 上传报错

2022-12-19 15:12:55 131

原创 org.springframework.web.client.ResourceAccessException: I/O error on POST request for “http://127.0.

org.springframework.web.client.ResourceAccessException: I/O error on POST request for “http://127.0.0.1:5000/”: Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect

2021-01-27 16:55:52 2040 1

原创 多线程怎么解决高并发?

多线程怎么解决高并发?synchronized关键字主要解决多线程共享数据同步问题。ThreadLocal使用场合主要解决多线程中数据因并发产生不一致问题。ThreadLocal和Synchonized都用于解决多线程并发访问但是ThreadLocal与synchronized有本质的区别:synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal是为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对

2020-11-23 20:16:46 1001

原创 import sso.ticketFilter.ticketUser.TicketExtendUser;报错

import sso.ticketFilter.ticketUser.TicketExtendUser;

2020-11-23 20:16:16 131

原创 Thymeleaf静态化页面

为什么要做页面静态化?在生产环境中,业务复杂多变,我们需要保证系统要求高可用,高并发。如果系统的某一个页面需要返回大量的数据,而且该页面经常被大量请求访问,那么该页面的数据渲染问题就会变成系统性能的短板,同时大量的请求会对数据库造成极大的压力。这个时候,我们通过后端获取数据,然后响应前端渲染数据的方法就很难解决这个问题。Redis缓存?Redis是一款基于缓存的数据库,可以快速地响应大量数据,可以使用Redis作为缓存来响应该页面的数据,保证该页面的访问性能吗?不行!因为Redis虽然是基于缓

2020-11-23 20:14:09 142 1

原创 关于项目中的面试题

Maven的生命周期mvn clean:清理编译的项目mvn compile:编译项目mvn test:测试项目(运行测试类)mvn package:负责将我们的项目打包mvn install:将这个项目安装到仓库中Jar包冲突怎么解决?1、我们可以借助Maven Helper插件中的Dependency Analyzer分析冲突的jar包,然后在对应标红版本的jar包上面点击execlude,就可以将该jar包排除出去。2、手动在pom.xml中使用标签去排除冲突的jar包介绍一下spr

2020-10-26 14:22:08 1067 2

原创 医疗项目的一个讲解(医疗项目)搜索模块 药品添加模块 订单生成 注册模块 支付模块

架构:我们这个项目是由Maven搭建的项目,前后端分离,使用的springcloud微服务架构,结合了springboot搭建。前台页面使用了VUE,持久层用的是Mybatis框架,图片上传使用的fastDFS,/*静态页面使用了Thymeleaf[taim li:f]/,并且使用Nginx代理静态页面。搜索用的是Elasticsearch,缓存用到了redis主要做了单点登录,使用RabbitMQ做消息中间件,支付接口调用了微信支付的第三方接口。注册模块:注册用户:注册这块呢,为了让用户更加便捷

2020-10-26 14:05:16 4067 3

原创 mybatis:特点、缺点、框架适用场合

Mybaits 的优点:(1) 基于 SQL 语句编程,相当灵活,SQL 写在 XML 里,解除 sql 与程序代码的耦合,便于统一管理;提供 XML 标签,支持编写动态 SQL 语句, 并可重用。(2) 与 JDBC 相比,减少了 50%以上的代码量,消除了大量冗余的代码,不需要手动开关连接;(3) 很好的与各种数据库兼容(因为 MyBatis 使用 JDBC 来连接数据库,所以只要 JDBC支持的数据库 MyBatis都支持)。(4) 能够与 Spring 很好的集成;(5) 提供映射标签,

2020-10-19 20:51:00 448

原创 redis的生存时间expire

redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它。expire 设置生存时间(单位/秒)pexpire设置生存时间(单位/毫秒)ttl/pttl 查看键的剩余生存时间persist 取消生存时间应用场景:限时的优惠活动网站数据缓存(对于一些需要定时更新的数据)限制网站访客访问频率(例如:1分钟最多访问10次)...

2020-10-16 17:08:26 198

原创 冒泡排序

冒泡排序public void sort(int[]array){for(int i = 1;i<array.length;i++){for(int j = 0;j<array.length-i;j++){if(array[j]>array[j+1]){//如果前一个>后一个,将前一个的值存在temp中,后一个的值赋值给前一个位置,然后将temp中的前一个赋值给后一个int temp = array[j];array[j] = array[j+1];array[j+1

2020-10-15 09:57:52 101

原创 常用的线程池有(4种)

常用的线程池有哪些newSingleThreadExecutor:创建一个单线程的线程池,此线程池保证所有任务的执行顺序按照任务的提交顺序执行。newFixedThreadPool:创建固定大小的线程池,每次提交一个任务就创建一个线程,直到线程达到线程池的最大大小。newCachedThreadPool:创建一个可缓存的线程池,此线程池不会对线程池大小做限制,线程池大小完全依赖于操作系统(或者说 JVM)能够创建的最大线程大小。newScheduledThreadPool:创建一个大小无限的线

2020-10-14 15:59:16 497

原创 多线程怎么解决高并发?

多线程怎么解决高并发?synchronized关键字主要解决多线程共享数据同步问题。ThreadLocal使用场合主要解决多线程中数据因并发产生不一致问题。ThreadLocal和Synchonized都用于解决多线程并发访问但是ThreadLocal与synchronized有本质的区别:synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal是为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对

2020-10-04 16:38:01 2728

原创 乐优商城项目总结

整个乐优商城可以分为两部分:后台管理系统、前台门户系统。后台管理:后台系统主要包含以下功能:商品管理,包括商品分类、品牌、商品规格等信息的管理销售管理,包括订单统计、订单退款处理、促销活动生成等用户管理,包括用户控制、冻结、解锁等权限管理,整个网站的权限控制,采用JWT鉴权方案,对用户及API进行权限控制统计,各种数据的统计分析展示后台系统会采用前后端分离开发,而且整个后台管理系统会使用Vue.js框架搭建出单页应用前台门户:前台门户面向的是客户,包含与客户交互的一切功能。例如:搜索商

2020-10-04 10:49:27 1010

原创 Mysql优化方案?

Mysql优化方案?我们一般从以下几点入手:使用支持mysql主从复制的版本在使用MySQL时使用索引优化sql语句优化MySQL服务,修改MY.INI文件,根据服务器配置缓存的大小根据服务器配置索引的缓存使用视图,将冗余字段放在一张表里使用第三方技术mycat,对数据库拆分,水平拆分和垂直拆分,我们用的水平拆分设置表内存放数据上限,同时通过mycat配置读写分离...

2020-09-30 11:09:32 79

原创 String类中常用的方法?

String类中常用的方法?split():把字符串分割成字符串数组indexOf():从指定字符提取索引位置append():追加字符或字符串trim():去除字符串两端空格replace():替换hashCode():返回此字符串的哈希码subString():截取字符串equals():比较length():获取字符串的长度valueOf():转换为字符串concat():将指定字符串连接到此字符串的结尾contains(): 检查一个字符串中是否包含想要查找的值...

2020-09-30 11:06:55 111

原创 String类中常用的方法?

split():把字符串分割成字符串数组indexOf():从指定字符提取索引位置append():追加字符或字符串trim():去除字符串两端空格replace():替换hashCode():返回此字符串的哈希码subString():截取字符串equals():比较length():获取字符串的长度valueOf():转换为字符串concat():将指定字符串连接到此字符串的结尾contains(): 检查一个字符串中是否包含想要查找的值...

2020-09-30 11:03:47 95

原创 Spring Boot 可以兼容老 Spring 项目吗,如何做?

Spring Boot 可以兼容老 Spring 项目吗,如何做?可以兼容,使用 @ImportResource 注解导⼊⽼Spring 项目配置⽂件

2020-09-30 10:55:49 399

原创 什么是 SpringBoot?、优点、

什么是 SpringBoot?、1、用来简化 spring 初始搭建和开发过程使用特定的方式进行配置(properties 或者 yml 文件)2、创建独立的 spring 引用程序 main 方法运行3、嵌入 Tomcat 无需部署 war 包,直接打成 jar 包 nohup java -jar – & 启动就好4、简化了 maven 的配置4、自动配置Springboot 的优点是什么?1、减少开发、测试时间和努力2、使用 JavaConfig 有助于避免使用 XML3、避

2020-09-30 10:54:31 224

原创 Mybatis 的一级、二级缓存:

Mybatis 的一级、二级缓存:1)一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。2)二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如Ehcache。默认不打开二级缓存,要开启二级缓存

2020-09-30 10:51:01 198

原创 Mybatis 动态 sql 有什么用?执行原理?有哪些动态

Mybatis 动态 sql 有什么用?执行原理?有哪些动态sql?Mybatis 动态 sql 可以在 Xml 映射文件内,以标签的形式编写动态 sql,执行原理是根据表达式的值 完成逻辑判断并动态拼接 sql 的功能。Mybatis 提供了 9 种动态 sql 标签:trim | where | set | foreach | if | choose| when | otherwise | bind。...

2020-09-30 10:48:26 508

原创 Java中#{}和${}的区别是什么?

Java中#{}和${}的区别是什么?#{}是预编译处理,KaTeX parse error: Expected 'EOF', got '#' at position 22: …替换。Mybatis 在处理#̲{}时,会将 sql 中的#{…{}时,就是把${}替换成变量的值

2020-09-30 10:43:16 400

原创 什么是 Mybatis?、优点、缺点、适用场合、MyBatis 与 Hibernate 有哪些不同。

1、什么是 Mybatis(1)Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。(2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。(3)通过 xml 文件或注解的方式将

2020-09-30 10:41:57 330 1

原创 java.lang.ClassNotFoundException: io.jsonwebtoken.Jwts

2020-09-30 09:56:51 1069 4

原创 java.lang.IllegalArgumentException: Cookie name may not be null or zero length

解决了 :: 是因为在yml文件里面少了两横代码cookieName: LY_TOKENcookieMaxAge: 30

2020-09-28 21:49:45 980

原创 java.lang.IllegalArgumentException: JWT String argument cannot be null or empty.

问题已解决:在yml配置

2020-09-28 21:35:28 6022

转载 HTTP状态码400/500/404/405/504/401/200

一些常见的状态码为:200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功处理了请求的状态代码。代码 说明200 (成功) 服务器已成功处理了请求。 通

2020-09-28 18:08:22 1107

转载 intellij IDEA下载安装教程

intellij IDEA下载安装教程

2020-09-28 11:21:29 124

原创 如何解决get 和post 乱码问题?

如何解决get 和post 乱码问题?解决post 请求乱码: 我们可以在web.xml 里边配置一个CharacterEncodingFilter 过滤器。设置为utf-8.解决get 请求的乱码:有两种方法。对于get 请求中文参数出现乱码解决方法有两个:修改tomcat 配置文件添加编码与工程编码一致。另外一种方法对参数进行重新编码String userName = NewString(Request.getParameter“( userName”).getBytes“( ISO88

2020-09-24 18:52:00 286

原创 SpringMVC 常用的注解有哪些?

、SpringMVC 常用的注解有哪些?@RequestMapping:用于处理请求url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。@RequestBody:注解实现接收http 请求的json 数据,将json 转换为java 对象。@ResponseBody:注解实现将conreoller 方法返回对象转化为json 对象响应给客户。@RequestParam , 将请求的参数绑定到方法中的参数上@RequestParam(value

2020-09-23 19:27:26 536

原创 SpringMVC 的流程?

SpringMVC 的流程?

2020-09-23 19:24:13 65

原创 什么是Spring MVC

SpringMVC 框架什么是Spring MVC ?简单介绍下你对springMVC 的理解?Spring MVC 是一个基于Java 的实现了MVC 设计模式的请求驱动类型的轻量级Web74 / 196框架,通过把Model,View,Controller 分离,将web 层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。...

2020-09-23 19:06:46 84

原创 Spring 框架中都用到了哪些设计模式?

Spring 框架中都用到了哪些设计模式?(1)工厂模式:BeanFactory 就是简单工厂模式的体现,用来创建对象的实例;(2)单例模式:Bean 默认为单例模式。(3)代理模式:Spring 的AOP 功能用到了JDK 的动态代理和CGLIB 字节码生成技术;(4)模板方法:用来解决代码重复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate。(5)观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到

2020-09-23 19:04:18 189

原创 @Autowired 和@Resource 之间的区别

@Autowired 和@Resource 之间的区别(1) @Autowired 默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在(可以设置它required 属性为false)。(2) @Resource 默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入。...

2020-09-23 19:02:38 195

原创 Spring的AOP和IOC还有IOC的三大注入方式

Spring 的AOP 理解?OOP 面向对象,允许开发者定义纵向的关系,但并适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用。AOP,一般称为面向切面,作为面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。可用于权限认证、日志、事务处理。AOP 实现的关键在于代理模式,AOP 代理主要分为静态代理和动态

2020-09-23 17:21:56 322

原创 什么是Spring?

.Spring 框架1. Spring 是什么?Spring 是一个轻量级的IoC 和AOP 容器框架。是为Java 应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML 的配置、基于注解的配置、基于Java 的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC 服务;Spring Context:提供框架式的Bean 访问方式,以及企业级功能(JNDI、定时任务等);Spring A

2020-09-23 17:18:39 146

原创 ActiveMQ、RocketMQ、Kafka、RabbitMQ

ActiveMQ:非常成熟,功能强大,在业内大量的公司以及项目中都有应用偶尔会有较低概率丢失消息而且现在社区以及国内应用都越来越少,官方社区现在对ActiveMQ 5.x维护越来越少,几个月才发布一个版本而且确实主要是基于解耦和异步来用的,较少在大规模吞吐的场景中使用RocketMQ接口简单易用,而且毕竟在阿里大规模应用过,有阿里品牌保障日处理消息上百亿之多,可以做到大规模吞吐,性能也非常好,分布式扩展也很方便,社区维护还可以,可靠性和可用性都是ok的,还可以支撑大规模的topic数量,支持复

2020-09-23 17:05:17 156

原创 关于RabbitMQ的几道面试题

1、什么是RabbitMQ?为什么使用RabbitMQ,RabbitMQ好处?RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的,消息中间件;可以用它来:解耦、异步、削峰。好处就是:解耦、异步、削峰。2、如何保证RabbitMQ不被重复消费?先说为什么会重复消费:正常情况下,消费者在消费消息的时候,消费完毕后,会发送一个确认消息给消息队列,消息队列就知道该消息被消费了,就会将该消息从消息队列中删除;但是因为网络传输等等故障,确认信息没有传送到消息队列,导致消息队列不知道自己已经

2020-09-23 10:52:45 359

转载 RabbitMQ,什么是rabbitMQ,优点,干什么用的,为什么选择RabbitMQ,使用场景

RabbitMQ什么是rabbitMQ RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现, 能够实现异步消息处理 RabbitMQ是一个消息代理:它接受和转发消息。优点:异步消息处理业务解耦(下订单操作:扣减库存、生成订单、发红包、发短信),将下单操作主流程:扣减库存、生成订单然后通过MQ消息队列完成通知,发红包、发短信错峰流控 (通知量 消息量 订单量大的情况实现MQ消息队列机制

2020-09-23 10:18:54 9419

空空如也

空空如也

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

TA关注的人

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