摘要:
前言 为了业务需要配置文件和jar分离,便于使用者修改配置信息,在网上找了很久,最终找到一个简单有效的方法。 操作步骤 打开project工程的pom.xml文件,将下列配置粘贴到pom文件中: <properties> <java.version>1.8</java.version> <!--在此 阅读全文
摘要:
1、读取数据的实体对象 @Data public class DemoData { private String string; private Date date; private Double doubleData; } 2、保存数据的Listener(监听器) // 有个很重要的点 DemoD 阅读全文
摘要:
一、背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置(使用Slf4j集成Log4j2构建项目日志系统的完美解决方案)以及log4j2配置文件的详解,就需要我们来好好聊一聊了。本文就专门来讲解下log4j2.xml 阅读全文
摘要:
主要原因是Linux服务器上一般安装的字体有限,这时候如果用Aspose转PDF就会出现乱码,解决方法就是把Windows字体拷贝到服务器的目录,逐个安装,然后重启服务器即可; Aspose 转化PDF的过程中需要引用本地的字体库,而centos没有。 具体步骤如下: 1. 获取window字体C: 阅读全文
摘要:
下载aspose-cells-8.5.2.jar包 http://pan.baidu.com/s/1kUBzsQ7 JAVA代码 package webViewer; import java.io.*; import com.aspose.cells.*; //引入aspose-cells-8.5. 阅读全文
摘要:
需求 当用户注册后,给他发送一封邮件通知他注册成功了,然后给他初始化积分,再发放一张新用户注册优惠券等。 用户注册事件 public class UserRegisterEvent extends ApplicationEvent{ public UserRegisterEvent(String n 阅读全文
摘要:
在某些特定的业务场景下,我们可能需要在事务成功提交之后,再做某些操作,而不能将这些操作放在事务代码中,事务还未提交就已经执行了,那这种情况之下,spring提供的TransactionalEventListener就会派上用场了。 使用demo @Service @Slf4j public clas 阅读全文
摘要:
一、线程安全在三个方面体现 1.原子性:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized); 2.可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile); 3.有序性:一个线程观察其他线程中的指令执行顺序,由 阅读全文
摘要:
Java8内存结构图 虚拟机内存与本地内存的区别 Java虚拟机在执行的时候会把管理的内存分配成不同的区域,这些区域被称为虚拟机内存,同时,对于虚拟机没有直接管理的物理内存,也有一定的利用,这些被利用却不在虚拟机内存数据区的内存,我们称它为本地内存,这两种内存有一定的区别: JVM内存 受虚拟机内存 阅读全文
摘要:
前言 最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random 类。但出于对性能的极致追求,就考虑使用 ThreadLocalRandom 类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe 有部分代码,整个流程下来,学 阅读全文