- 博客(273)
- 资源 (23)
- 收藏
- 关注
原创 Set集合如何判断对象是否重复
当将一个元素添加到 Set 集合中时,会先调用该元素的 hashCode() 方法,得到其 hash 值,然后与集合中已有的元素的 hash 值进行比较,如果 hash 值相同,再调用元素的 equals() 方法进行比较,如果 equals() 方法也返回 true,则认为该元素重复,不会被添加到集合中。hashCode() 方法返回的 hash 值应该是稳定的,即如果两个对象 equals() 方法返回 true,则它们的 hashCode() 方法返回值应该相等。需要注意的是,如果一个类。
2023-11-21 18:07:19 213
转载 Spring常见问题解决 - @EnableWebMvc 导致自定义序列化器失效
Spring常见问题解决 - @EnableWebMvc 导致自定义序列化器失效
2023-09-21 11:07:00 205
原创 SpringBoot统一返回处理遇到cannot be cast to java.lang.String问题
1、ResponseBodyAdvice 接口允许在执行 @ResponseBody 或 ResponseEntity 控制器方法之后,但在使用 HttpMessageConverter 写入响应体之前自定义响应,进行功能增强。通常用于 加密,签名,统一数据格式等。2、ResponseBodyAdvice 接口一共有两个方法:/*** 1、选择是否执行 beforeBodyWrite 方法,返回 true 执行,false 不执行.
2023-09-20 15:52:45 1537
原创 spring-boot2.x,使用EnableWebMvc注解导致的自定义HttpMessageConverters不可用
@EnableWebMvc注解可能导致自定义HttpMessageConverters不可用
2023-09-20 13:51:11 573
原创 Mybatis中 list.size() = 1 但显示 All elements are null
在此时,resultType中对应的是实体bean,但由于参数不完全对应或参数类型不完全匹配,造成查询到的数据不能正常返回。此时可以调整实体bean或修改xml,使字段完全对应;或者使用resultMap重新定义返回参数,示例如下:2.2.情形二:使用了MySQL中的聚合函数在使用MySQL中的聚合函数,分别是求和函数SUM()、求平均函数AVG()、最大值函数MAX()、最小值函数MIN()和计数函数COUNT, 进而导致出现size = 1,但结果为空的情况。此时无论是否数据库中是否有值, 返
2023-08-30 16:37:00 2050
转载 ELK ② 索引, 创建, 查看, 删除, 分词器安装及使用, 映射, 创建, 查看, 修改,文档,增删改查及局部更新
ELK ② 索引, 创建, 查看, 删除, 分词器安装及使用, 映射, 创建, 查看, 修改,文档,增删改查及局部更新
2023-02-24 16:28:52 1160
转载 Sonarlint扫描报出“static“ base class members should not be accessed via derived types
Sonarlint扫描报出“static“ base class members should not be accessed via derived types
2023-02-01 18:05:44 1682
转载 线程池的三种队列区别:SynchronousQueue、LinkedBlockingQueue 和ArrayBlockingQueue
线程池的三种队列区别:SynchronousQueue、LinkedBlockingQueue 和ArrayBlockingQueue
2022-07-12 11:16:27 97
转载 MySQL not in查询不出数据(MySQL not in 无效)
MySQL not in查询不出数据(MySQL not in 无效)
2022-06-23 14:19:21 10860
转载 CLH锁 简介
概述在学习Java AQS框架的时候发现加锁的逻辑非常奇怪,后来得知加锁逻辑是CLH锁的一个变种,于是了解一下,对于理解AQS框架有好处。简介CLH锁是有由Craig, Landin, and Hagersten这三个人发明的锁,取了三个人名字的首字母,所以叫 CLH Lock。CLH锁主要有一个QNode类,QNode类内部维护了一个boolean类型的变量,每个线程拥有一个前驱节点(myPred)和当前自己的节点(myNode),还有一个tail节点用于存储最后一个获取锁的线程的状态
2022-04-14 15:30:48 1085
原创 图片base64的换行问题处理
有时,是后端临时生成一个图片,这时就需要把流返回给前端.如果采用base64编码的话,返回前端时,需要确定一下返回字符串的格式问题.标准的返回格式,如下,其中png表示图片类型,可以调整.data:image/png;base64,base64编码后的字符串实际开发中,发现返回的字符串,在图片还原的网站上,还原时,总是失败.定位问题的方法,先用同一个图片,在这个网站上,生成base64字符串.然后用自己写的代码,把这个图片也生成base64的字符串,看看两者的区别.经过对比
2022-02-28 11:29:51 6904
转载 flowable 控制台打印 sql 语句
配置文件中增加如下:logging: level: org.flowable.engine.impl.persistence.entity.*: debug org.flowable.task.service.impl.persistence.entity.*: debug
2022-01-14 14:04:35 889
转载 spring bean标签的primary属性
primary这个翻译过来是 首要的,首选的意思。primary的值有true和false两个可以选择。默认为false。当一个bean的primary设置为true,然后容器中有多个与该bean相同类型的其他bean,此时,当使用@Autowired想要注入一个这个类型的bean时,就不会因为容器中存在多个该类型的bean而出现异常。而是优先使用primary为true的bean。不过,如果容器中不仅有多个该类型的bean,而且这些bean中有多个的primary的值设置为true,那么使
2022-01-05 11:14:00 630
转载 mysql 1071错误,原因是Mysql的字段设置的太长了
mysql 1071错误经过查询才知道,是Mysql的字段设置的太长了,于是我把这两个字段的长度改了一下就好了。建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度1000:latin1 = 1 byte = 1 characteruft8 = 3 byte = 1 charactergbk = 2 byte = 1 character举例能看得更明白些,以GBK为例:CREATE UNIQUE INDEX `...
2021-11-17 15:48:37 1920
转载 创建唯一联合索引报 Duplicate entry for key
问题解释:Duplicate entry ‘…’ for key 'PRIMARY,即插入数据时,要插入数据的主键数据(…)已经存在,不能再重复添加了。例:Duplicate entry ‘0’ for key 'PRIMARY是指主键为0的数据已经存在,不能再插入主键值为0的数据了。问题解决:在执行插入操作insert前,可以先执行一遍该主键值的查找操作select,例如:执行插入一条(0,“张三”)操作insert into table(id,name) values(0,'张三')
2021-11-17 15:46:41 839
转载 MySQL索引操作
索引创建完成后,可以利用 SQL 语句查看已经存在的索引。在MySQL中,可以使用 SHOW INDEX 语句查看表中创建的索引。查看索引的语法格式如下:SHOW INDEX FROM <表名> [ FROM <数据库名>]语法说明如下:<表名>:指定需要查看索引的数据表名。 <数据库名>:指定需要查看索引的数据表所在的数据库,可省略。比如,SHOW INDEX FROM student FROM test; 语句表示查看 test 数据库..
2021-11-17 15:45:28 76
转载 一个我一直以为是Swagger缓存的巨坑,今天终于解决了
最近项目开始使用Swagger作为Api文档的编写工具,Swagger确实是为开发工作带来了很多方便。但是偶尔总会出现明明接口说明已经修改了,但在doc.html上总是看到旧的字段描述。甚至有时字段已经删除了,不管怎么重启,怎么清缓存,还是赖着在那里。期间一直以为是缓存的问题,各种请浏览器缓存,换浏览器,甚至删除操作系统的tmp目录,都是无法解决。导致这期间总是被前端开发人员说我的接口与文档描述不符。心累啊。今天无意间打开了“Swagger Models”菜单,发现界面上显示的model数量怎么那么
2021-11-01 20:07:56 1872 2
转载 Dubbo抛出自定义异常时报:Got unchecked and undeclared exception
转载:http://blog.csdn.net/xlee1905/article/details/44660449dubbo的service端定义有自定义异常进行throw的时候,却发现在Controller中无法instanceof,自己自定义的异常类被转换成了Runtime异常,dubbo源码:[java]view plaincopypublicResultinvoke(Invoker<?>invoker,Invocationinvocation)thro...
2021-10-25 17:28:40 4908
原创 Elasticsearch 中基于wildcardQuery的中文模糊查询失效
es内容{ "took" : 0, "timed_out" : false, "_shards" : { "total" : 6, "successful" : 6, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 5, "max_score" : 1.0, "hits" : [ { "_index" : "person_award", ...
2021-10-25 15:52:20 4074 3
转载 Spring 之AOP AspectJ切入点语法详解(最全面、最详细)
6.5 AspectJ切入点语法详解6.5.1 Spring AOP支持的AspectJ切入点指示符 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下: execution:用于匹配方法执行的连接点; within:用于匹配指定类型内的方法执行; this:用于匹配当前AOP代理对象类型的执行方法;注意是AOP代理对象的...
2021-10-12 17:46:11 992
转载 Spring AOP中@Pointcut的用法,注解开发AOP
Spring AOP中@Pointcut的用法,注解开发AOP首先在xml中开启注解支持<!--开启AOP的注解支持--><aop:aspectj-autoproxy/>举例,环绕通知创建一个切点类,com.spring.service下及其子包所有方法进行匹配public class AopPointcutClass { @Pointcut("execution(* com.spring.service..*(..))") public v
2021-10-12 16:07:26 634
原创 模板方法模式和建造者模式区别
这个Builder,其实和模板模式非常的像,但是也有区别,那就是在模板模式中父类对子类中的实现进行操作,在父类之中进行一件事情的处理,但是在Builder模式之中,父类和子类都不用关心怎么处理,而是用另一个类来完成对这些方法的有机组合,这个类的职责就是‘监工’,规定了到底要怎么样有机的组合这些方法。在监工类(Director)中,将父类组合进去,然后调用父类的操作来抽象的实现一件事情,这就是面向接口(抽象)变成的妙处了,当然这个Builder可以使接口也可以是抽象类,在这里我们使用抽象类。关于...
2021-08-04 17:18:02 477
转载 Java 大白话讲解设计模式之 -- 建造者(Builder)模式
建造者模式是日常开发中比较常见的设计模式,它的主要作用就是将复杂事物创建的过程抽象出来,该抽象的不同实现方式不同,创建出的对象也不同。通俗的讲,创建一个对象一般都会有一个固定的步骤,这个固定的步骤我们把它抽象出来,每个抽象步骤都会有不同的实现方式,不同的实现方式创建出的对象也将不同。举个常见的例子,想必大家都买过电脑,电脑的生产或者组装其实就是属于建造者模式,我们知道,电脑的生产都需要安装CPU、内存条、硬盘等元器件。我们可以把这个安装步骤抽象出来,至于到底装哪种CPU,比如i5还是i7就是对该抽象安装步骤
2021-08-04 17:01:44 318
转载 java正则表达式匹配所有数字,包括带小数点的数字
用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9])([1-9] :匹配1~9的数字;\d :匹配数字,包括0~9;* :紧跟在 \d 之后,表明可以匹配零个及多个数字;\. :匹配小数点;? :紧跟在 \. 之后,表明可以匹配零个或一个小数点;0 :匹配一个数字0;)其中的 [1-9]\d*\.?\d* 用以匹配诸如:1、23、34.0、56.78 之类的非负的整数和浮点数;其中的 0\.\d*[1-9] 用以匹配诸如:0.1、0.2
2021-08-03 17:39:56 6095
转载 JVM:内存监控及各区域内存溢出解决
引言本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个部分内存溢出的发生和对应的解决方案,总体来说属于概括性总结,涉及相对不是很深入,目的是让自己和其它初学者有一个框架性、概念性的了解,当遇到问题时有迹可循、不至于不知所措。一、虚拟机内存监视手段虚拟机常出现的问题包括:内存泄露、内存溢出、频繁GC导致性能下降等,导致这些问题的原因可以通过下面虚拟机内存监视手段来进行分析,具体实施时可能需要灵活选择,同时借助两种甚至更多的手段来共同分析。比如GC日志可以分析出哪些GC较为频
2021-08-02 17:33:36 716
转载 GitLab 在线合并解决冲突后反向合并的问题
问题描述: 在gitlab上面做合并操作,出现冲突,解决冲突后提交,确认合并,发现两个分支互相合并了,平白无故多了很多麻烦,巨坑。 已经被它坑了不少次了,如果使用 Gitlab 提供在在线冲突解决工具的话,本来是将 A 往 B 合并的,结果变成了 B 往 A 合并,导致分支管理混乱。这个设计合理吗?git正常的合并分支: 切换到目标分支 执行合并命令,git merge 源分支 没有冲突合并结束,出现冲突,在目标分支上面解决冲突,执行commit命令,合并...
2021-07-26 14:14:44 728
org.objectweb.asm-3.3.1.v201105211655.jar
2017-09-29
backport-util-concurrent-3.1.jar
2015-04-14
org.springframework.beans-3.0.5工程所需jar包
2015-04-14
深入理解OSGi:Equinox原理、应用与最佳实践源代码+equinox-SDK-3.8源代码
2014-08-06
jdk7源代码(内含jsse源代码)
2013-12-24
Photoshop新手非常详细的教程
2013-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人