自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 spring boot 多数据源和事务管理

spring boot 配置多数据源1 properties参数配置# 数据源 1spring.datasource.db1.jdbc-url = jdbc:mysql://ip:port/yangliu-dev-1?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=truespring.datasource...

2019-03-23 17:45:15 2506 3

原创 真正理解mybatis拦截器以及Interceptor和Plugin作用

看了很多博客文章和,mybatis 的拦截器概念还是不能很好理解,可能是因为自己基础不好或者理解方式和他人不同吧,所以决定自己花时间好好捋捋,然后把理解后的总结记录下来,供他人参考,也许你们的理解和我也不同,但是不妨花几分钟时间看看,说不定能帮助你文章主要是讲解 org.apache.ibatis.plugin 包下的 Interceptor 类和 org.apache.ibatis....

2019-03-01 11:43:46 11975 18

原创 真正理解和使用Mybatis自定义转换器

Mybaits 是一个映射文件框架,映射就是 java对象字段和数据库表字段进行映射,比如设置参数阶段 PreparedStatement 或者 对查询结果映射ResultSet ,就会使用TypeHandler来处理。Mybatis 默认的转换器如果真实开发中有int需要和string相互对应的变态需求,或者String转String,但是需要额外做一些处理,那么默认类型转...

2019-02-28 11:12:26 988

原创 java值传递和引用传递区别和易错点

先看一个值传递案例 @Test public void fun1(){ String name = "name1"; fun2(name); System.out.println(name); } public void fun2(String name){ name = "name2"; }...

2019-02-27 13:05:13 242

原创 非spring容器下如何使用Mybatis

非 spring 容器下如何使用 mybatis ?构建 maven 环境 <!--驱动依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java&a

2019-02-26 14:26:19 2082

原创 锁lock和等待wait区别以及ReentrantLock-Condition使用

AQS中的ReentrantLock.lock可以对应理解成synchronized刚进入代码块获取到锁AQS中的ReentrantLock.unlock可以对应理解成synchronized代码块结束释放锁Condition condition = reentrantLock.newCondition()condition.await 可以理解成 Object.wait 方法的封装con...

2019-02-25 16:44:54 7543

原创 mysql串行化serializable隔离级别使用注意点

针对mysql-InnoDB引擎讨论本文可串行化事务 serializable 是事务的最高级别,在每个读数据上加上锁比如A事务使用了 serializable 隔离级别,只查询数据,那么B事务这个时候如果要update相同数据,则必须等待A事务完成。串行化事务中,读锁被获取后,写锁需要等待代码演示1: // 设置当前事务级别,这种作用域为 session 级别 @Tra...

2019-02-22 15:33:30 5607 1

原创 编解码base64、对称加密aes和非对称加密rsa

base64 :(兼容所有bit8位的字符,然后用64种字符进行转码,达到一致性)      意思就是:考虑到多语言原因,有的特殊字符传输不兼容,因为很多都是只支持ASSIC码,那么特殊字符就会找不到对应的ASSIC码,所以采用BASE64 可以叫全天下所有字符用 64中字符表示,而且这64种字符都在 ASSIC 中,所以在网络传输中很流行。   特点:      首先这算法是编码...

2019-02-21 16:33:32 1828

原创 java字符串、常量池和intern方法理解

1 对于常量字符串,在编译的时候就会将这个字符存入常量池   常量池中其实有一个table表对象维护所有的字符串 2 对于 new String("abc")的理解:   有种说法new String会在堆中和常量池中创建两个对象,这种说法其实没错   因为括号里面出现的"abc"其实相当于String s1 = "abc"的作用,这个对象就已经存入了常量池   但是如果出...

2019-02-21 16:01:19 306

原创 Object 关于线程的几个方法

1 sleep() :当前线程进入停滞状态,所以执行sleep()的线程在指定的时间内肯定不会执行, 同时sleep函数不会释放锁资源. 2 yield():只是使当前线程重新回到可执行状态,所以执行yield()线程有可能在进入到可执行状态后马上又被执行. sleep和yield的区别在于, sleep可以使优先级低的线程得到执行的机会, 而yield只能使同优先级的线程...

2019-02-21 14:14:52 820

原创 线程通信wait() notify() notifyAll()的正确使用

本文主要是文字描述,如果有耐心则坚持看完,理解了必有收获~~ 基于使用 synchronized 锁,JVM都会为锁对象维护两个集合,你必须知道的两个概念:   Entry Set(别名锁池):线程获取对象锁失败,则会进入这个对象的锁池。      (若线程A获取了对象锁,那么线程B再来获取这个对象锁,必定失败,B线程则会进入锁池)   Wait Set(别名等待池):线程获取...

2019-01-31 17:02:57 768 1

原创 JDK-Cglib代理以及SpringAop-ProxyFactory

我们知道,java中代理分为静态代理和动态代理:静态代理: 1 用户自定义硬编码,就是将代理代码直接入侵到业务类中 2 著名的 AspectJ 代理,AspectJ很多人以为是动态代理,其实它是静态,原因是它在编译 期间利用字节码框架asm改变了被代理对象,将代码"入侵"到了目标对象,只不过我们并不知道,因为是编译期间发生的。其实这种方式调用性能是非常高的,比jdk反...

2019-01-29 13:14:14 216

原创 AOP方法嵌套调用为何失效和解决方案

嵌套方法调用失效业务类package liu.york.aspect.demo3;@Componentpublic class OrderService{ public void fun1(){ System.out.println("fun1 ..."); fun2(); } public void fun2(){ ...

2019-01-28 19:45:54 2291

原创 EventTranslatorOneArg类使用

EventTranslatorOneArg是一个泛型类,比如EventTranslatorOneArg,被用在disruptor发布事件event的时候作为参数传入。disruptor发布event后,会执行这个类的translateTo方法,据我目前的了解其作用是:将SourceEventModel转换成TargetEventModel,然后disruptor中的handler链就消费Targe

2018-01-15 17:47:27 1791

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除