开发中遇到的问题
鲍春海
我们所知的仅是沧海一粟,我们不知的犹如汪洋大海
展开
-
判断相等重写equals和重写hashCode的原因
从开始学习编程,老师或者各种书上都说重写equals就要重新hashCode。但是为什么一定要重写hashCode呢?似乎直接重新equals方法,也是可以判断2个对象的相等。其中equals与hashCode在Object中如下:其中,对于hashCode:返回对象的hash值,是为了像hashMap这类集合提供更好的支持equals方法中相等,hashCode一定相等;hashCode相等,equals方法不一定相等;hashCode不相等,equals方法一定不相等;从这里其实就可以看到,原创 2022-07-07 14:19:40 · 312 阅读 · 0 评论 -
java中double类型较大或者较小会显示成科学计数法
今天有同事找到我,0.0000001,返回到前端之后变成了科学计数法,这种显示方式客户不认可,需要按正常显示。返回前端是put进了JSONObject,我的反应是put的时候是正确的字符串,那就不会有这个问题,让她转成字符串试试,然而并没有什么用。于是,去查了一下,当double类型小数点后超过3位就会按科学计数法显示:1.0E-4 ,即<=0.0001小数点前超过7位也会按科学计数法显示:1.2345678E7,即>=10000000====================原创 2022-05-31 22:39:48 · 7947 阅读 · 0 评论 -
OceanBase中merge into的用法
对于数据库的操作,有时希望库里存在记录就更新,不存在就插入的情况,如果不使用merge into需要先update,根据update的值在进行插入原创 2021-05-11 16:17:31 · 1196 阅读 · 1 评论 -
又一次因为Oracle增加带默认值的字段引起的问题
生产上随着需求和版本的更迭,经常会出现增加字段的情况。操作很简单:alter table 表名 add 字段 类型 (长度);本身并没有什么问题。但是如果加的字段有默认值的话,就变成这样:alter table 表名 add 字段 类型 (长度)default ‘0’;如果这个字段不作为筛选条件也没什么问题,but一旦这个默认值是查询的条件,那在增加这个字段前的记录就会因为这个字段是null查不到。也就是说,虽然这个字段默认值是0 ,但是已经存在的记录并不会设置成0,..原创 2020-08-20 22:41:35 · 1165 阅读 · 0 评论 -
Oracle数据库生僻字入库之后乱码问题
之前处理过一次Oracle数据库的乱码问题,后来系统升级成微服务,数据库管理员那边做的新库,由于测试环境录入的都是非生僻字,最近才由测试发现,在测试环境又出现了生僻字乱码问题。处理方案:1.查询当前数据库的编码格式select userenv('language') from dual;2.修改当前server的编码格式为ZHS32GB18030在数据库服务器上,以dba权限进入数据库sqlplus / as sysdba关闭数据库SHUTDOWN IMMEDIATE;以独占方.原创 2020-08-18 20:31:24 · 1863 阅读 · 0 评论 -
Spring boot热部署导致的Druid dataSorce already closed at xxxxx
服务里有使用kafka做消费者,前不久因为总是重启麻烦,就在pom里加了热部署的包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtoos</artifactId> <scope>runtime</scope></dependency>自动编译之后,一旦...原创 2020-08-10 21:43:44 · 9904 阅读 · 6 评论 -
oracle通过between and做时间筛选
项目中时间普遍都是通过日期筛选,但是数据库中存储的日期是Date类型,精确到秒。当查询条件如下时,因为处理的粗心,就会查询出错查询条件 select * from table where date between sysdate and sysdate;实际查询的时间是2020年8月5日14:01:50 -2020年8月5日14:01:57而不是8月5日当天的时间对时间坐下简单处理,把查询范围设置成 2020-8-5 00:00:00 - 2020-8-6 00:00:00...原创 2020-08-05 14:04:59 · 9117 阅读 · 2 评论 -
Oracle数据添加索引时请加online
添加索引create index 索引名 on表名(字段名)online;问题描述添加索引大家都知道,但是添加索引的过程中Oracle会锁全表,不久前因为添加索引的问题,造成了线上很多笔业务出现了异常解决方案online关键字是oracle提供的非独占锁的方式进行添加索引。online使用了ROW-SHARE锁临时表,并不会对原表的DML操作造成影响。10g以下的版本使用online中断或者手动中断执行会出现重新创建索引已经存在,删除无法删除的bug。具体解决方案这...原创 2020-06-04 16:34:22 · 5528 阅读 · 0 评论 -
alter table的时候Oracle报错ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
生产服务升级的时候,需要修改表字段。报ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效的错误。试着停掉批处理的服务,执行还是报错。查了一下是由于有其他用户正在执行DDL操作,处于锁表状态。执行:select sid, serial#, username, osuser from v$session where sid in(select ses...原创 2019-08-28 20:55:34 · 2168 阅读 · 0 评论 -
关于welogic启动报错VALIDATION PROBLEMS WERE FOUND
项目启动的时候报错VALIDATIONPROBLEMSWEREFOUND。因为更新文件只更新了web.xml。所以,问题直接定位到web.xml文件,但是本地启动都正常,还是很懵逼。查找原因:1.首先是尝试把加的内容给去掉,加的内容是关于HTTP安全请求,但是并没有起作用<security-constraint><web-resource-col...原创 2019-08-05 23:07:14 · 1397 阅读 · 0 评论