自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Caused by: java.lang.NoSuchMethodError: org.apache.commons.collections.CollectionUtils.isEmpty

而jar包被jvm加载的顺序在同一个文件夹下是从上到下的,而根据类的双亲委托模型可知,CollectionsUtils这个类在3.1.jar包里已经被加载了,所以在加载2.2.2的jar包时这个class就不会被加载。而3.1的jar包的这个类并没有。可以看到是 com.timevale.tgpdfsign.sign.c这个类的a方法里面调用的CollectionUtils类的方法。在两个jar包里使用了该类,看项目里引入依赖的jar包里有两个。看看tech-sdk这个jar包的具体类的具体方法里。

2022-12-12 11:36:34 1052

原创 ResultSetMetaData.getColumnName遇到的一个坑

这段还是可以理解的,但是每个方法里调用的com.mysql.jdbc.Field里的方法没怎么看懂,毕竟还只是一只小萌新,但是网上查阅的资料都建议用getColumnLabel(),这里只是好奇为什么这几种类型的select就能从getColumnName()获得别名。因为sql的写法都是一样的,都是根据这种样式的sql查询出的结果来获取MetaData的,前面十几个sql都没有问题,直到到该sql是,控制台开始报错。获取的是你在语句中要求的该字段的名称,该方法的具体描述是。没办法,还另一种方法。

2022-11-18 17:23:58 1065

原创 使用jol如何判断一个对象当前处于哪种锁

今天突然发现一个jar包很好用,里面包含了很多可以查看对象的一些信息的方法,包括对象的对象头信息。拓展一下 锁的状态有四种,无锁,偏向锁,轻量级锁,重量级锁。4.重量级锁——第一位是0 ,后两位是10,也就是010。3.轻量级锁——第一位是0,后两位是00,也就是000。1.无锁—— 第一位是0,后两位是01,也就是001。2.偏向锁——第一位是1,后两位是01,也就是101。锁的升级是单向的,即偏向锁->轻量级锁->重量级锁。第一位是偏向锁标志位,后两位是锁标志位。工具叫JOL,里面有几个很有用的方法。

2022-11-17 18:39:44 522

原创 Thread.join()和Object.wait()

当主线程执行过快,而子线程需要耗费大量的执行时间,但是主线程执行时最后需要使用到子线程的一些结果,而主线程却比子线程先结束,那怎么去用到子线程的结果呐,这时Thread类的join方法就可实现满足上述条件的结果。notify,notifAll()也同理,值得注意的是notify执行后线程不会立即去执行wait后的代码,而是等notify执行完后释放object监视器,释放锁之后重新获得后才会继续执行wait之后的代码。而代码里面的wait就是Object类里的wait()方法。先看不加join的。

2022-11-16 14:25:04 376

原创 docker部署一个web应用遇到的问题

研究了两天用docker部署应用,终于能部署了一个简单的应用,下面总结一下遇到的问题。

2022-11-15 18:21:13 508

原创 VMware——docker部署一个web应用

这里在容器里创建相应的文件夹,并把下载好的jdk,tomcat的压缩包上传到容器里,ADD上传之后会自动解压,并把war包文件复制到webapps文件夹下。这里上传时可以下载VMware tools,之后直接把文件拖至虚拟机上,或者是启用虚拟机的共享文件夹即可。因为只是写了个简单的jsp,没有和数据库交互,所以还没有去用docker安装mysql容器。在后台运行并指定端口映射,开放主机8080端口映射到容器的8080端口上。1.先给web应用打一个war包,上传到linux下自己创建的一个目录里。

2022-11-14 18:12:35 607

原创 MYSQL报错:Error writing file ‘./xxxx/xxxxxx.frm‘ (Errcode: 28 - No space left on

可以发现最上面的两个查询语句一致在执行,导致涉及到上面两个语句的表一直被锁,继而阻塞同表后面的所有操作,因为被锁的表使用率也很高,导致后面的语句都会被记录进慢查询日志里,久而久之慢查询日志就变得很大,继而占满服务器的磁盘空间。今天在测试环境数据库插入数据时没响应,然后在测试环境服务器上也新建不了文件,直到在测试环境的数据库里建表时,报了一个这个错。命令查看日志的存储方式,FILE和TABLE两种,这里是file文件类型的,也可以是存储到数据库表中。查看每个目录下的大文件,发现了一个文件很大,有几十G。

2022-11-08 17:22:47 2788

原创 mysql - 增加字段并设置该字段为主键问题

今天业务需求要增加一个字段,并且这个字段因为参与了group by,插入时会与其他四个主键有冲突,所以需要把该字段也设置为主键。

2022-11-03 14:04:48 4091 1

原创 打开idea时报内存溢出OOM

D:\ideaIC-2020.3.2.win\bin\ 下的 idea64.exe.vmoptions 文件里面去修改 ,但是发现里面既不是之前改过的堆内存,修改之后也没有效果。于是到这个目录下C:\Users\zrq\AppData\Roaming\JetBrains\IdeaIC2020.3,该目录下的 idea64.exe.vmoptions 文件。之前设置的初始堆大小5m,最大堆设置的20m,在代码里倒是会报OOM,万万没想到重启之后直接idea打不开了。然后去查看了idea的日志。

2022-11-02 10:10:00 2012

原创 VM安装docker及其图形化工具

对docker的学习刚入门,百度时搜索的win11自带的Hyper-V,可以启用它在windows上创建和运行虚拟机,但奈何要求是windows专业版。无奈之下采用的下载VMware Workstation来学习docker。使用的CentOS系统。首先安装时要切换到root的用户下进行下载先su切换到root用户安装docker查看docker版本,安装成功后会显示启动docker查看docker运行状态正在运行。关闭docker安装图形化工具查看portainer镜像下载port

2022-11-01 18:07:06 645

原创 改变哈希值造成的内存泄漏问题

这里的hashset的remove方法可以删除,但是在实体类上使用lombok的 @Data注解,该注解里包含了@EqualsAndHashCode,会去重写equals和hashcode,重写后的equals方法比较属性值,hashcode根据属性值生成。这里可以看出hashcode的值改变了,同时即便remove后集合里的元素值依旧增加了,因为add方法也是根据哈希值来判断是否新增元素,而哈希值的不同可以使其重复添加。重写hashcode,这里不使用@Data,我们进行自己的hashcode的重写。

2022-10-31 17:03:54 695

原创 记录一次rabbitmq ConfirmCallback不生效的问题

以上都未生效的话,检查一下是否自己写了连接rabbitmq的bean,在里面加上下面东西即可。springboot版本的问题,改为2.1.7.RELEASE即可。application.yml里是否存在。最终成功调用回调函数。

2022-10-25 11:00:34 1700 1

空空如也

空空如也

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

TA关注的人

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