随笔分类 - Java
摘要:一.概述 本文说明Java中finally的用法和可能遇到的坑 finally的目的是保证代码被执行,但也会存在不执行的情况 finally 代码块的原理是复制 finally 代码块的内容,分别放在 try-catch 代码块所有正常执行路径以及异常执行路径的出口中。 所以不管是是正常还是异常执行
阅读全文
摘要:jar 一. 参数类型说明 1. 标准参数(-) 所有类型JVM都必须实现这些参数的功能 2. 非标准参数(-X) 默认jvm实现这些参数的功能,不保证所有类型JVM都实现 -Xms512m -Xmx512m 3. 非Stable参数(-XX) 各个jvm实现会有所不同,将来可能会随时取消,需要慎重
阅读全文
摘要:一. 域说明 cron表达式由6或7个域组成 顺序(从左到右) 域 允许值 允许的特殊字符 1 秒(Seconds) 0~59的整数 , - * /(四个字符) 2 分(Minutes) 0~59的整数 , - * /(四个字符) 3 小时(Hours) 0~23的整数 , - * /(四个字符)
阅读全文
摘要:一. CGLIB动态代理示例 1. 被代理对象 public class UserServiceImpl { public void addUser(String name) { System.out.println("add user into database."); } public Stri
阅读全文
摘要:一. JDK动态代理示例 1. 接口 public interface UserService { void addUser(String name); String getUser(String name); } 2. 被代理对象 public class UserServiceImpl impl
阅读全文
摘要:一. 说明 功能:在 redisTemplate 命令执行前后 输出日志 原理 作用是输出 RedisTemplate 命令执行日志。包括:命令名称、参数、返回值等 原理是使用动态代理拦截类 redisConnectionFactory 的 getConnection() 方法,监控Redis命令
阅读全文
摘要:一. 阻塞/非阻塞 阻塞非阻塞说的是线程的状态 阻塞: 线程调用IO接口后,一直等待,不能做其它事 非阻塞:线程调用IO接口时,可以做其它事,不用一直等待 二. 同步/异步 同步和异步说的是消息的通知机制 同步:线程调用IO接口后,不停询问IO接口是否完成 异步:线程调用IO接口后,不用一直询问,由
阅读全文
摘要:背景 Java打印日志时,输出自定义变量值(以logback为例) 步骤 1. 删除引入的基础配置类(如无则忽略) <include resource="org/springframework/boot/logging/logback/base.xml"/> 2. 添加配置信息 traceId为自定
阅读全文
摘要:分类被锁对象代码说明 方法 实例方法 public synchronized void method(){} 1. 锁住的是该类的实例对象2. 相同实例对象在不同线程中调用方法 会同步3. 不同实例对象在不同线程中调用 不会同步 方法 静态方法 public static synchronized
阅读全文
摘要:一、背景 方法添加了@Transactional注解,为什么事务不生效 二、步骤 测试用表结构 CREATE TABLE `test_aop` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIM
阅读全文
摘要:一、背景 logback输出日志时,包名过长时会显示简称,比如o.a.d.config.bootstrap.DubboBootstrap 完整包名是:org.apache.duboo.config.bootstrap.DubboBootstrap 本文说明其原因并给出解决方法 二、原因 logbac
阅读全文