- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 request设置 request.setCharacterEncoding(“UTF-8”)失效
原因:继承了之前的基类,基类中设置了request.setCharacterEncoding(“UTF-8”),就没有关心这个,然后在子类里面用到了request.getParameter,后面就发现中文就会乱码,查阅资料后发现。问题发现:在重构代码后,request.getParameter获取中文出现乱码。在子类中我用到了这个方法request.getParameter,记录一下。
2023-04-23 10:16:16
945
转载 JVM中漏标的处理
停止业务线程,只运行垃圾回收线程(STW, stop-the-world)会导致单次垃圾回收时间过长,影响用户体验,使用三色标记法(Tri-color marking)进行并发标记,并发标记结束后,再进行STW,对并发标记过程中较少记录对象进行判断回收,缩短单次垃圾回收STW时间。删除屏障在堆栈中都会开启。程序运行到在下面左图时刻,对象objE断开对对象F的引用,对象objD开始对对象F进行引用,由于对象D已经为黑色,不会再本轮重新遍历,而对象F还是白色还没有被遍历,整个标记结束,F会当作垃圾被回收。
2023-03-19 10:47:01
384
原创 WebMvcConfigurationSupport配置json转换不生效
在项目中想配置一个json转换器,结果不生效原因:WebMvcConfigurationSupport(WebMvcConfigurer)在项目中有且仅有一个,如有多个会导致一个失效。配置转换代码@Configuration@EnableWebMvcpublic class MvcConfig implements WebMvcConfigurer { @Bean public AuthInterceptor authInterceptor() { return
2021-10-28 10:15:46
800
原创 springboot打的war包,放tomcat下始终运行不成功(maven学习过程)
接上文:springboot打war包步骤打好的war包放tomcat下部署,启动报错1、报错信息一:26-Oct-2021 11:51:54.707 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [module-info.class] from Jar [file:/D:/JavaInstall/a
2021-10-27 15:25:01
2062
原创 springboot打war包步骤,放tomcat下执行不成功一(war包部署)
springboot打war包1、在pom.xml文件的中添加打包方式 <groupId>****</groupId> <artifactId>****</artifactId> <version>0.0.1-SNAPSHOT</version> <name>****</name> <packaging>war</packaging>2、排除内置的
2021-10-26 11:47:50
457
原创 maven引入报红原因,以及解决方案
原因一:莫名爆红,无包冲突(玄学)解决方案:先去掉爆红的依赖,import,然后再粘贴上原因二:引入包时,遇到网络卡顿,此时包下载到一半,.lastUpdated结尾的无效文件解决方案:删除.lastUpdated结尾的文件,重新引入原因三:版本号不对应,此包无这个版本,但引入了此版本,也会报错解决方案:修改为正确版本原因四:配置的远程仓库有问题等。...
2021-10-25 16:22:06
3023
原创 springboot配置多个yml配置文件,并通过配置类读取
采坑经历:开始分为application.yml和application-config.yml两个配置,结果配置放在application.yml中能正常读取,放在application-config.yml中不能生效。原因:未在application.yml中激活具体步骤:1、引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <art
2021-10-19 14:09:00
843
转载 存储过程之循环遍历查询结果集
存储过程之循环遍历查询结果集– 创建存储过程之前需判断该存储过程是否已存在,若存在则删除DROP PROCEDURE IF EXISTS shxc40;– 创建存储过程CREATE PROCEDURE shxc40()BEGIN– 定义变量DECLARE s int DEFAULT 0;DECLARE p varchar(255);DECLARE s1 varchar(255);DECLARE k varchar(256);DECLARE r varchar(256);DECLARE
2021-09-07 17:15:09
1958
原创 mysql常用命令
启动服务:net start mysql查看链接数SHOW VARIABLES LIKE ‘%max_con%’;查看正在链接数SHOW full PROCESSLIST ;杀死链接kill id值
2021-07-14 09:26:03
62
原创 ibatis中的标签使用
ibatis中iterate标签中嵌套isEqual <isNotNull property="nameList" prepend="and"> <iterate property="nameList" open="(" close=")" conjunction="or"> <isEqual property="nameList[]" compareValue="abc">
2021-07-06 17:12:36
489
原创 @Validated注解不生效问题、如何使用
1、需要引入的包(缺少其中一个包,项目会报错,或者validate注解不生效)hibernate-validator-6.0.14.Final.jarjboss-logging-3.3.2.Final.jarvalidation-api-2.0.1.Final.jarclassmate-1.4.0.jar2、将@Validated打在controller中需要验证的实体类前面@PostMapping("/add")@ResponseBodypublic AjaxResult
2021-03-02 10:36:00
17564
4
原创 访微信生成长短token设计(前后端之间)
token解释:长token指保留时间长的token,短token指保留时间短的token运作流程:过程详解:①网页每次访问应用B携带这短token,如果后台中存在短token则证明短token有效可以进行数据访问。②如果没有查到该短token,则用户使用长token去请求短token,如果长token存在,则请求成功后得到的新短token用于数据访问。③如果长token不存在,则用户需要重新登录获取长短token。...
2021-02-02 10:43:00
875
原创 localStorage、sessionStorage介绍及对比
一、什么是localStorage、sessionStorage在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。二、localStorage的优势与局限localStorage的优势1、localStorage拓展了cookie的4K限制2、l
2021-01-25 09:42:14
188
转载 大话设计模式----外观模式
外观模式:隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。优点:1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。缺点:不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。实例:public interface Shape { void draw();}public class Rectangle implements Shape { @Overrid.
2021-01-08 14:59:05
82
原创 大话设计模式----迪米特法则
迪米特法则:也称最少知识原则,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。意图:降低类与类之间的耦合,在类的设计上,每一个类都应该尽量降低成员的访问权限,类之间耦合越弱,越有利于重复利用...
2021-01-07 15:52:16
111
原创 大话设计模式----模板方法模式
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法实得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。主要解决:一些方法通用,却在每一个子类都重新写了这一方法。何时使用:有一些通用的方法。如何解决:将这些通用算法抽象出来。关键代码:在抽象类实现,其他步骤在子类实现。优点:1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。 3、行为由父类控制,子类实现。缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大.
2021-01-07 15:33:10
86
原创 大话设计模式----原型设计模式
原型设计模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决:在运行期建立和删除原型。如何解决:利用已有的一个原型对象,快速地生成和原型对象一样的实例。优点:1、性能提高。 2、逃避构造函数的约束。缺点:1、配备克隆方法需要对类的功能进行通盘考虑,这对于全新的类不是很难,但对于已有..
2021-01-07 15:09:46
122
转载 大话设计模式----简单工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品
2021-01-06 17:06:46
92
原创 大话设计模式----代理模式
代理模式:对其他对象提供一种代理,来控制对这个对象的访问分类:静态代理与动态代理(JDK动态代理和cglib动态代理)优点:职责清晰 真实角色只需关注业务逻辑的实现,非业务逻辑部分,后期通过代理类完成即可。 高扩展性 不管真实角色如何变化,由于接口是固定的,代理类无需做任何改动。缺点:很明显的一点就是反射机制,没有高安全性,性能也相对来讲低一些。使用场景(1)设计模式中有一个设计原则是开闭原则,是说对修改关闭对扩展开放,我们在工作中有时会接手很多前人的代码,里面代码逻...
2021-01-06 14:25:24
128
原创 大话设计模式----装饰器模式
1、简单工程模式工厂:就是生成bean的类---创建型模式2、策略模式策略:不因算法的变化,而改变客户端的调用(商品收银程序实例)3、单一职责原则(手机干不过照相机)4、开放-封闭原则(考研or工作)既:可以扩展但不可以修改的原则(一国两制)新需求来了,不应该是修改原有代码,而应该是新增代码解决5、依赖倒转原则6、装饰者模式...
2021-01-06 11:30:01
206
原创 jvm内存结构及垃圾回收机制
1、jvm运行时内存分配字节码文件到jvm运行,再到卸载主要经历三个阶段堆:对象生成存放的地方,但是不一定所有的对象都存放在堆中栈:方法执行时,会在栈内创建栈帧,栈帧主要包含局部变量、操作数栈、动态链接、方法出口等信息,每个方法从被调用直至执行完毕的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。程序计数器:可以看做当前线程所执行的字节码的行号指示器本地方法栈:java语言由c++语言写的,本地方法栈就是调用c++语言写的一些本地方法(native修饰)Java 虚拟机栈为 JV
2021-01-05 15:14:05
100
原创 类加载机制
目录1、类加载过程(懒加载方式)2、类加载器和双亲委派机制常用类加载器:双亲委派机制(阅读源码) :为什么要设计双亲委派机制?打破双亲委派1、类加载过程(懒加载方式)加载 :IO读入字节码文件验证:检查字节码正确性准备:静态变量赋默认值、分配内存解析:静态方法(静态链接),运行期间(动态链接)初始化 :静态变量赋初始值使用卸载2、类加载器和双亲委派机制常用类加载器:启动类加载器:负责加载支撑JVM运行的位于JRE的lib目...
2021-01-04 13:51:28
106
原创 Spring cache常规使用
1、简介版本支持:spring3.1以后作用位置:方法上效果:传入的参数作为key,返回结果作为value值#使用方法1、 声明某些方法使用缓存ehcache.xml中<!-- maxElementsInMemory :内存中允许存储的最大的元素个数,0代表无限个 clearOnFlush:内存数量最大时是否清除。 eternal :设置缓存中对象是否为永久的,如果是,超时设置将被忽略,对象从不过期。 根据存储数据的不同,例如一些静态不变的数据如省市区等可
2021-01-04 10:16:34
285
原创 idea中创建maven多模块项目(父子项目)
idea中创建多模块项目(父子项目)目录idea中创建多模块项目(父子项目)1、创建父项目2、创建子项目jar包多模块war包多模块1、创建父项目2、创建子项目jar包多模块后续操作,如父项目一样war包多模块...
2020-12-23 10:14:14
281
原创 springboot中使用到的注解
1、使用自带定时任务1、启动类上添加注解@EnableScheduling2、任务类上添加注解@Component3、任务方法上打上@Scheduled(cron = “0 0 16 ? * FRI”)注解即可2、给springboot添加filter1、启动类上添加注解@ServletComponentScan2、实现filter 类,并打上注解@WebFilter3、s...
2020-04-02 17:22:51
111
原创 SpringBoot配置文件中数据库信息加密实现方案
1、application.yml中配置#数据库配置jasypt : encryptor : password : G0CvDz7oJn6 algorithm : PBEWithMD5AndDESspring: datasource: username: ENC(lK+YrOZz4j3PfdTpRIz/xA==) password: ENC(Io56...
2020-01-21 11:54:13
735
转载 序列化、transient关键字
1、什么是序列化序列化:将 Java 对象转换成字节流的过程。反序列化:将字节流转换成 Java 对象的过程。2、为什么要用序列化3、什么情况下用序列化当 Java 对象需要在网络上传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。4、怎样使用?序列化的实现:类实现 Serializable 接口,这个接口没有需要实现的方法。实现 Serializable 接...
2020-01-20 09:54:40
350
原创 Linux中的软链接
1、软链接与硬链接的区别?硬链接特性:文件有相同的 inode 及 data block;只能对已存在的文件进行创建;不能交叉文件系统进行硬链接的创建;不能对目录进行创建,只可对文件创建;删除一个硬链接文件并不影响其他有相同 inode 号的文件。软链接特性:软链接有自己的文件属性及权限等;可对不存在的文件或目录创建软链接;软链接可交叉文件系统;软链接可对文件或目录创建;...
2020-01-07 10:09:25
290
原创 cat搭建时,一些报错的处理
1、Pool thread stack traces: Thread[C3P0PooledConnectionPoolManager刚开始报这个错,不知道啥意思,百度白天也没有百度到,后来细看是连接池的问题,想到应该是数据库连接池不够用了,所以再百度时发现需要将cat数据库的连接数扩大至1000M解决方案:在mysql数据库命令行执行show VARIABLES like '%max_all...
2020-01-06 14:26:07
1678
原创 并发编程----计算机基础知识、线程、并发
计算机基础1、工作方式模型:冯诺依曼计算机模型工作方式:通过去指令一条条执行,加工2、核心组成控制器:对程序进行解释、根据要求控制运算器:主要对数据进行加工、进行算数或逻辑运算存储器:存储输入、输出3、cpu内部划分控制、运算、存储单元4、多cpu:现在电脑支持一个服务器中放多个cpucpu多核:着这个程序的不同线程需要经常在CPU之间的外部总线上通信,同时还 要处理不...
2020-01-02 15:47:56
144
原创 Spring源码分析之----容器创建准备前期工作
AnnotationConfigApplicationContext构造函数作用:1:org.springframework.context.annotation.AnnotationConfigApplicationContext#AnnotationConfigApplicationContext2:org.springframework.context.support.GenericA...
2019-12-31 10:21:54
158
原创 spring源码分析之----扫描bean定义流程
一、部分源码剖析ApplicationListener作用:applicationListener可以监听某个事件event,通过实现这个接口,传入一个泛型事件,在run方法中就可以监听这个事件,从而做出一定的逻辑比如在等所有bean加载完之后执行某些操作设计模式: 观察者模式运行流程图创建多播器源码 protected void initApplicationEventMulti...
2019-12-31 09:55:42
508
原创 美团CAT客户端(windows版)接入指南
背景我使用cat时,接入的项目既有传统项目又有springboot项目,所以我两种类型的项目介绍一下不同的地方1、在项目的 pom.xml 中引入如下内容:maven项目 <dependency> <groupId>com.dianping.cat</groupId> <artifactId>cat-client<...
2019-12-24 11:43:33
1751
3
原创 美团CAT服务器(windows版)搭建踩坑之路
一、踩坑坑一:git上的资源下载不下来不知道最近git咋的,下啥都下载到一半然后中断,中断重试又重新下载,周而复始了好久还是下载不了,网上说的用git客户端下载、什么镜像下载,我试过,我本地不行,不知道其他人行不行,然后几经周折,终于找到了一个cat项目,下载完后,还要拉分支cat-mvn-repo的资源,不然打包不了,maven里面需要这些包,这里面又耗费了大量时间去下载坑二:安装插件mv...
2019-12-20 11:19:01
1084
原创 CDN
CDN1、什么是cdn2、CDN的服务模式是什么3、有CDN的时候用户浏览web流程和无CDN的时候有什么区别?4、怎样强制刷新CDN5、CDN的关键技术1、什么是cdnCDN全称Content Delivery Network,内容分发网络,一种优化网速的工具,优化速度只有两种,要么时间换空间,要么空间换时间,cdn则采用的是时间换空间策略。①CDN是构建在网络之上的内容分发网络②CDN...
2019-12-18 14:00:03
1391
原创 nginx配置HttpAuthBasic、websocket
一、配置HttpAuthBasicauth_basic "网站名称";auth_basic_user_file passwd; autoindex on;1、auth_basic :代表提示2、auth_basic_user_file 密码文件地址,一般默认conf下面3、autoindex 认证的开关4、passwd放密码的文件,里面内容格式用户名:密码用户名2:密码2:注...
2019-12-18 13:59:13
413
里面包含了cat项目及其分支mvn-repo
2019-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人