![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java知识
YKCCCHEN
一个在努力学习的孩子
展开
-
SpringBoot+Mybatis+多类型数据库 实现一个 支持读写分离的动态多数据源
功能不够完善,努力改进背景一个通用SQL查询的服务器通过SQL直接去对应的数据库去查询数据并返回问题多种数据库,连接方式不同SQL对应不同的数据库,每次查询需要更换数据源解决方式多数据源管理数据库存数据库连接方式server方法或AOP中切换数据源,调用Mapper时自动切换代码动态多数据源抽象类/** * @version 1.0 * @descriptions: 该类是参考了package org.springframework.jdbc.datasource.l原创 2020-08-18 23:48:41 · 742 阅读 · 2 评论 -
PgSQL在使用jdbcTemplate的query方法查询数据库时传入值为空报错
公司开发时遇到的问题,在自己电脑上无法完美还原错误和场景下面sql代码是入参有时正常查找,无时查找全部数据,在PgSQL数据库上使用该代码,入参为空是会出现错误,错误原因是参数传入null值无法识别该传入类型,oracle和mysql上没有出现该问题select * from `notice_mail` where ? is null or id = ?因为当时是动态代码详细处理比较复杂,这里讲解静态解决方法select * from `notice_mail` where ?::int is n原创 2020-07-02 23:54:40 · 1087 阅读 · 0 评论 -
java类与类的继承中,单例情况下,类的静态代码块,代码块,构造方法 执行情况总结
单一类情况父类A的代码情况: public class A { public static String a1="测试数据A"; static { System.out.println("这是A的静态代码块"); } { System.out.println("这是A的普通代码块"); } public st原创 2019-03-09 15:28:45 · 222 阅读 · 0 评论 -
观察者模式(一)------从java代码和图去理解
观察者模式定义定义对象的一种一对多的依赖关系,所有依赖它的对象会自动更新数据,及在被观察的对象发生改变时,主动告知它的观察者们,更新相应的数据信息,并且是一种松耦合的状态。图解(UML图网上一大堆这里就放个我自己画的)java代码接口/** * 观察者接口 * 给予观察者的一个定义 * @author xiaokun */public interface IObser...原创 2019-05-27 23:53:41 · 176 阅读 · 0 评论 -
工厂模式(一)-----简单工厂------从java代码和图去理解
简单工厂模式定义通过一个Factory类获取在这个类下被定义的所有类,获取的类使用者无法看到如何实例化出来的生活中举例:客:我要买宝马!!!商家:您买哪款???客:我买宝马7系!!!图解(UML图网上一大堆这里就放个我自己画的)java代码接口/** * 汽车类 * 工厂模式顶层接口 * 生活中类似于 这款车的品牌是宝马 * @author xiaokun */p...原创 2019-05-28 13:36:39 · 254 阅读 · 0 评论 -
java死锁位置判断实战
死锁问题A线程 与B线程互相等待,原因是A线程持有B线程所需要的锁,B线程持有A线程所需要的锁,互相等待,然后无限月读…然后有时候死锁不易被发现,比如在测试的时候没发生,正式环境等情况出现卡住不运行的情况,需要检测是否是死锁引起,下面将实战演示如何查找问题并定位。测试代码class MyTest implements Runnable { String a; String...原创 2019-08-08 20:53:36 · 247 阅读 · 0 评论 -
ThreadPoolExecutor 七大参数讲解与代码验证
我将讲解JUC包下的线程池七大参数,将分为2篇文章进行讲解,这篇文章将介绍前五个比较重要的参数知识。同时本篇文章不做基础理论介绍。代码在文末。线程池int corePoolSize : 最小线程数最小存活的线程数,或者说固定线程数,通俗点说就是正常上班有2个人int maximumPoolSize: 最大线程数最大线程数,也就是上限线程数,通俗点说就是你再多人加班也只有5...原创 2019-08-11 15:37:44 · 417 阅读 · 0 评论