随笔分类 - Java
Java相关的随笔
摘要:1、首先介绍一下自动装箱和自动拆箱过程, 自动装箱,就是把基本数据类型用他们对应的引用类型包装起来,使他们可以具有对象的特质。例如我们可以把int类型包装成Integer类型的,把double类型的包装成Double类型的。 自动拆箱,就是进行与自动装箱相反的操作。 自动装箱的过程:当需要一种类型的
阅读全文
摘要:1、exists 通常情况下用exists来判断一个key是否存在没什么问题。但如果过期时间需要精确到秒或十秒级,那么exists就可能错误返回。原因是在redis Key过期之后,但是执行exists命令的返回值可能还为true,这个时候使用TTL命令发现返回值已经小于等于0了。 ps : red
阅读全文
摘要:最近在排查一个线上问题,浏览器请求的URL中包含一个参数,并且参数的值是"#"号开头的, 如下:www.aaa.com?name1=bbb&name2=#erqwers 发现在没有登录的情况下,正常会跳转到登录SSO,然后SSO登录后refer url和return url变成www.aaa.com
阅读全文
摘要:最近在做一个文件上传需求,发现当上传文件大于60M时,前端ajax文件上传后,服务请求不到服务端。 排查过程: 第一步,页面请求返回NS_BINDING_ABORTED,先查了下Nginx日志,Nginx 400 Bad Request 猜测是因为客户端Post请求Packet在网络传输过程中部分丢
阅读全文
摘要:问题描述: java导出或数据库导出的数据保存成csv 格式, 使用 excel 打开后 , 数字类型被科学计数法表示,大长串的数字被当成了数值类型 短串的小数字没有问题。 如何能够让excel 认为是字符串类型 而不是 number类型,不会使用科学计数法呢? 解决办法: 1、在每个数字后面加个\
阅读全文
摘要:最近在MAC上遇到个问题,就是配置maven环境,运行maven命令时,maven会自动在用户家目录下创建.m2文件夹,并且会在文件夹中创建repository文件夹,做为本机maven库。 并且我们习惯会把maven根目录中conf目录下的settings.xml,复制到~/.m2目录下。 那么问
阅读全文
摘要:git 命令删除本地分支,(以删除分支aaa为例)操作如下, 1、git branch 查看本地分支,比如: aaa bbb 2、然后本地切换到其它分支上比如bbb上, git checkout bbb 3、删除aaa分支,git branch -d aaa 备注: 1、删除远程主机上的分支也是可以
阅读全文
摘要:最近做项目时发现,代码上传远程仓库之后把应该要忽略的文件或目录给push上去了(如.idea/,*.iml文件), 这时候去编辑project目录下的.gitignore文件并添加忽略已经不起作用了,因为.gitignore只对从来没有commit过的文件起作用。 那应该怎么处理呢? 可以通过git
阅读全文
摘要:问题: 1、编码问题经常给程序员带来一些困扰,比如编辑保存文件时,有不少字符集选项,应该选哪个呢,Unicode、utf-8、GB2312、ANSI又有什么关系呢? 2、在简体中文系统下,ANSI 编码为什么会代表 GB2312 编码? 为使计算机支持更多语言,通常使用 0x80~0xFF 范围的
阅读全文
摘要:背景: 最近在做一个关于上传文件,需要识别文件编码的场景需求,项目中使用org.springframework.web.multipart.commons.CommonsMultipartFile来接收上传上件对象,此对象并没有类似getFileCharset()等相关的获取文件编码的API。因此,
阅读全文
摘要:今天部署项目时,启动tomcat8初始化失败,日志如下: 十二月 23, 2020 4:45:07 下午 org.apache.catalina.startup.SetAllPropertiesRule begin警告: [SetAllPropertiesRule]{Server/Service/C
阅读全文
摘要:1、在官网上下载,比如apache-tomcat-8.5.57.tar.gz: https://tomcat.apache.org/download-80.cgi 2、解压缩:tar -zxvf xx.tar.gz 3、授权,进bin目录:chmod 755 *.sh 4、sh ./startup.
阅读全文
摘要:最近在排查生产环境响应慢的问题时,通过排查数据库、内存、网络等指标,都未发现异常。 在排查redis慢日志时,发现调用了API底层的Keys命令,导致生产环境redis命令操作都比较慢,延迟比较大。 因此, 生产环境redis是不允许使用keys ,flushall这些命令的。 如果要使用类似key
阅读全文
摘要:git fork项目后merge request会保留源库relationship避免出现误merge操作。 1、比如当在gitlab上fork完另一个项目时,在开发新需求从主干拉了个分支,需要合并到主干,点击下面的Merge Request按钮。 2、此时会发现,默认merge 的target B
阅读全文
摘要:这段时间做项目间的代码分离,从git上的A库 fork一份到B库,然后A库和B库就各自独立的需求代码开发。 这样A库和B库的开始时代码基本相同,但遇到一个问题,有些时候A库的代码BUG修改,需要在B库中再修改一下,不太方便。 因此,就试一下用cherry-pick是否可行。 经过翻看一些前辈文章并开
阅读全文
摘要:在开发时,某些场景是需要格式化时间到毫秒等精度,比如生成文件名字等,实现代码如下: SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); System.out.println(" "+sdf.format(new Date
阅读全文
摘要:Java 生成随机数常用的生成方式: 1、使用Random类,下面的方式可以生成0-10000的整数,不包括10000,但不一定是四位数 Random random = new Random();System.out.println(" "+random.nextInt(10000) ); 2、Ma
阅读全文
摘要:最近排查线上问题,遇到几次线上日志从凌晨0点到全天的某一个随机的时刻日志丢失了,如图所示,打开每天的第一个文件不是从0点开始的日志,莫名其妙的丢失一部分日志。 项目是spring-boot项目,日志的组件是log4j2 version=1.5.12.RELEASEgroupId=org.spring
阅读全文
摘要:最近在需求code中,在调用一个项目中的方法,一直报如下错,百思不得其解。 HV000151: A method overriding another method must not alter the parameter constraint configuration, but method p
阅读全文
摘要:1、通过字符流或字节流获取 @ApiOperation("desc")@RequestMapping(value = "/api", method = {RequestMethod.GET, RequestMethod.POST}, produces = "application/json;char
阅读全文