java
DoBetterEveryDay
这个作者很懒,什么都没留下…
展开
-
深入理解SimpleDateFormat为什么线程不安全?
深入理解SimpleDateFormat为什么线程不安全背景说明源码解析解决方案背景说明今天代码审查的时候,发现有人在spring service中定义了SimpleDateFormat类型的字段,然后在后续方法中使用,头脑中立马出现了“线程不安全”几个大字,那么为什么SimpleDateFormat是线程不安全的呢?接下来从源码进行解析说明源码解析先看下类图:其中我们日常使用format方法在父类DateFormat中,如下:调用抽象方法,然后SimpleDateFormat实现如下:原创 2021-05-13 15:20:19 · 403 阅读 · 1 评论 -
类加载器-双亲委托机制源码详解
本文深入源码,解析双亲委托机制的实现原理原创 2021-04-22 21:35:15 · 170 阅读 · 0 评论 -
IDEA中使用jclasslib插件可视化方式查看类字节码
本文主要讲解了如何使用IDEA中的插件jclasslib可视化方式查看类字节码原创 2021-04-22 20:47:10 · 790 阅读 · 4 评论 -
修改tomcat下项目标题小图标
替换tomcat_install_home/webapps/ROOT/favicon.ico原创 2017-03-06 18:13:19 · 2420 阅读 · 0 评论 -
tomcat打成rpm包
目录环境要求常用命令一、准备tomcat包1、下载tomcat2、解压tomcat3、增加pid文件配置4、修改编码5、压缩二、安装打包工具三、准备rpm包1、创建工作目录2、拷贝tomcat3、增加tomcat.service文件4、增加tomcat.spec四、制作rpm包五、安装参考:https://www.cnblogs.com/lc161616/p/9030643.html环境要求Tomcat版本: 8.5.59操作系统:centos7常用命令systemctl daemon-relo原创 2020-11-09 10:11:41 · 1680 阅读 · 0 评论 -
maven执行JUnit单元测试时,控制台中文乱码
场景描述: 代码中使用JUnit编写测试代码,有中文输出。在使用maven执行测试运行时,即执行maven test命令,控制台中文乱码解决方案:项目pom.xml中增加<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.1..原创 2020-06-24 10:48:10 · 1349 阅读 · 0 评论 -
JNI-java调用C/C++方法,简单6步轻松搞定
1、编写java类,包含native方法publicnativevoidprintHelloWorld();2、编译成class文件javacxxx.java3、生成.h头文件javahclassName4、编写c代码,实现头文件(.h)中的方法5、编译成dllgcc--shareHelloWorld....原创 2020-04-25 16:06:15 · 217 阅读 · 0 评论 -
IDEA最常用快捷键汇总
IDEA快捷键说明CTRL+N查找类CTRL+Shift+N查找文件双击Shift查找全部Ctrl+Shift+F全局搜索ALT+F7查找全部相关被使用的地方CTRL+Q查看JavaDoc文档CTRL+B查看声明CTRL+点击跳转到声明CTRL+F12查看文件结构Shift+F6重命名CTRL+O...原创 2020-04-01 19:54:28 · 168 阅读 · 0 评论 -
IDEA中查看类字节码
默认IDEA中没有此功能,但是jdk工具中默认有javap工具可以实现此功能,然后结合IDEA中的External Tools功能,就可以实现在IEDA中查看类的字节码的功能了。1. 配置配置步骤如下:File -> Settings -> Tools -> External Tools点击1处的新增按钮,会弹出Edit Tool窗口,填入如下内容Nam...原创 2020-03-31 09:24:21 · 940 阅读 · 0 评论 -
移位并赋值操作 >>>=
今天在看ThreadLocal源码的时候遇到了如图红色标注的操作符,一时不清楚什么意思,经过求证最终确定为“无符号右移及赋值”及赋值操作int i = 8;i >>>= 1; //移位并赋值System.out.println(i); //结果为4...原创 2020-03-18 14:41:43 · 990 阅读 · 0 评论 -
使用JsonFormat格式化日期少8个小时的问题
在使用jackson-annotations-2.0.5.jar,目标对象中存在日期类型的字段时,需要对字段进行自定义格式化,默认日期会输出日期对应的毫秒值。 可使用com.fasterxml.jackson.annotation.JsonFormat原创 2017-03-08 17:52:30 · 4199 阅读 · 1 评论 -
jar中找不到配置文件
代码中:String ipFilePath = this.getClass().getResource("/qqwry.dat").getFile();在未打包前是正常的,打成jar包后,运行,报FileNotFoundException,即文件找不到的异常。经查证,需要使用:InputStream in = this.getClass().getClassLoader().get原创 2017-07-06 13:18:29 · 828 阅读 · 0 评论