错误总结
等会儿咱吃啥
满腔热血无处释放呀呀呀呀呀呀呀呀!!!
展开
-
类的覆盖的实现方式
这是两个月前在工作中遇到的问题,重构的项目引入了swagger,但是有些地方swagger的实现并不完善,譬如,在没有指定bean的字段的数据类型时,swagger默认当做String处理,而实际上可能是Integer或者Long,这时就会抛出NumberFormatException,虽然并不影响使用,但是看到这样的日志也会很不爽。于是新建了同名目录,将报错的类修改了一行代码。但是,为什么这样可以覆盖jar包中的类呢?最开始是刚工作的时候,见到有的老人这样搞,来实现一些骚操作,个人一直是知其然不知所原创 2022-06-08 23:25:02 · 1394 阅读 · 0 评论 -
记录一次分布式锁引发线程饥饿导致死锁问题
这是2021年十月中旬时出现的问题,一次压力测试中,平均一个接口同时被3000个线程请求,最终导致很多线程等待超时,影响压测结果。压测环境部署了两台服务,共用一台redis。分布式锁的实现方式是:在获取锁时,使用lua脚本在redis中创建一个String类型的key,key的value是时间戳。在释放锁时,使用lua脚本删除这个key。并发情况时,线程用setnx查看是否存在,已经存在key时,读取value,对比当前的时间戳是否超过了10秒,超过10秒则删除上一个key并且执行获取锁的脚本,否原创 2022-02-08 14:19:08 · 1033 阅读 · 0 评论 -
java.sql.Timestamp.toLocalDateTime()会丢失精度
当使用代码类似于ResultSet.getTimestamp("start_time").toLocalDateTime();在start_time为0秒时,返回的时间会丢失精度正常情况下:2021-09-03 10:10:08,时间可以正常转换,转换结果是2021-09-03 10:10:08极端情况下:2021-09-03 00:00:00,时间转换会丢失秒,纳秒,毫秒,实际结果是2021-09-03 00:00上代码public LocalDateTime toLocalDateTim原创 2021-09-03 10:55:41 · 1218 阅读 · 0 评论 -
解决方法:linux中无法使用root用户ssh远程登录
一,修改root用户密码sudo su - #切换到root用户 sudo passwd -u rootsudo passwd root #设置密码二,编辑 /etc/ssh/sshd_config文件cd /etc/ssh/lsvi sshd_config找到PermitRootLogin,注释掉这一行添加PermitRootLogin yes,保存,退出。三,执行 sudo service sshd restart四,查看 ps -au|grep sshd 。中,有ro转载 2021-07-23 15:32:38 · 5249 阅读 · 0 评论 -
postgresql中的char
postgresql中:char :定长,不足补空白varchar:变长,有长度限制text:变长,无限制原创 2021-07-20 13:27:05 · 309 阅读 · 0 评论 -
Spring MVC中Context initialization failed解决方案
项目中还在使用SpringMVC框架进行开发,接到一个需求要把mysql数据库改为使用postgresql。修改Tomcat中的server.xml中的数据库连接池后,发现并不能正常启动,抛出Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘XXXXService’: Injection of autowired dep原创 2021-07-17 11:38:19 · 4046 阅读 · 2 评论 -
idea生成返回值快捷键
右键Refactor-Extract-Variable,也可以按快捷键ctrl+alt+v举个例子,在这一行按快捷键生成如下代码转载 2021-04-14 11:34:49 · 3025 阅读 · 0 评论 -
强软弱虚引用,只有体会过了,才能记住
以前学习强软弱虚引用的时候,只是走马观花看看博客,并没有自己写代码去实践、去证明,导致每次看完后,过不了多久就忘了,后来下定决心,一定要自己敲敲代码,这样才能让印象更加深刻,古人云:纸上得来终觉浅,绝知此事要躬行。Java中的四种引用Java中有四种引用类型:强引用、软引用、弱引用、虚引用。Java为什么要设计这四种引用Java的内存分配和内存回收,都不需要程序员负责,都是由伟大的JVM去负责,一个对象是否可以被回收,主要看是否有引用指向此对象,说的专业点,叫可达性分析。Java设计这四种引用的主转载 2021-03-30 22:57:47 · 84 阅读 · 0 评论 -
入门volatile
被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象。原创 2021-03-30 22:25:13 · 62 阅读 · 0 评论 -
POSTGRESQL表、字段添加注释和查询注释
postgresql的注释工具层面的支持并不友好,因此可采用命令的形式来进行字段、表进行添加注释。同时,也可以通过一条SQL语句来查询字段的注释和类型。首先我们来看添加注释:表添加注释comment on table tb_user is ‘The user table’;其中tb_user替换成对应的表明,单引号内的描述替换为对应表的描述即可。字段添加注释comment on column tb_user.id is ‘The user ID’;其中tb_user.id指的是表tb_user转载 2020-07-11 14:39:27 · 21674 阅读 · 1 评论 -
垃圾回收器如何工作
垃圾回收器如何工作如果你以前用过的语言,在堆上分配对象的代价十分高昂,你可能自然会觉得 Java 中所有对象(基本类型除外)在堆上分配的方式也十分高昂。然而,垃圾回收器能很明显地提高对象的创建速度。这听起来很奇怪——存储空间的释放影响了存储空间的分配,但这确实是某些 Java 虚拟机的工作方式。这也意味着,Java 从堆空间分配的速度可以和其他语言在栈上分配空间的速度相媲美。例如,你可以把 C++ 里的堆想象成一个院子,里面每个对象都负责管理自己的地盘。一段时间后,对象可能被销毁,但地盘必须复用。在某些原创 2020-07-02 17:01:50 · 2143 阅读 · 0 评论 -
利用反射遍历一个POJO对象的各个字段名及属性
public class ReflectionFiledPrintTest { private String name = "GoGoGo"; private String city = "DoDoDo"; public String getCity() { return city; } public void setCity(String city) { this.city转载 2020-06-20 19:00:53 · 364 阅读 · 0 评论 -
com.netflix.hystrix.exception.HystrixRuntimeException总结
com.netflix.hystrix.exception.HystrixRuntimeException: PolicyFeignClient#getAgentFriend(List) failed and no fallback available.错误总结有可能的原因:1.请在eureka中确认被调用的应用是否已经成功启动。2.如果是使用的FeignClient,请确认@FeignClient注解中填写的应用名称与提供方的spring.application.name是否一致。原文链接:htt转载 2020-05-15 09:47:40 · 1852 阅读 · 0 评论 -
Parameter 'arg0' not found. Available parameters are [xxx, xxx, param1, param2]
nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method (com.xxxx.xxxx). Cause: org.apache.ibatis.binding.BindingException: Parameter ‘arg0’ not found. Available parameters are [ids, param1]mybatis报‘arg0’这个错误时有两种情转载 2020-05-12 10:58:01 · 1049 阅读 · 0 评论