自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadLocal源码分析

threadlocal源码分析

2023-11-03 23:24:53 81 1

原创 Spring 事务之@Transactional

学习Spring事务之@Transactional万字源码分析,从事务创建-->myabtis连接获取-->事务结束 比较完整的流程分析

2023-05-18 19:42:01 1553 4

原创 ReentrantLock源码介绍,这里只是介绍了4个加锁方法,1个解锁方法。条件变量下次再说啦

AQS分布源码学习(1),从ReentrantLock开始,包括lock(),tryLock(),lockInterruptibly(),unlock()这个方法调用链的所有解析。这篇文章不涉及条件变量。关注,后面会补充大量java源码分析,如ioc,aop,threadlocal,hashmap,concurrentHashMap,LondAdder,线程池等等。我们一起学习,面向面试,分析源码的同时就把八股文背了

2023-05-12 00:39:29 303

原创 mybatis批量更新报错

之前的项目都是导入各种插件,各种框架,就比如mybatis那个逆向工程,你只需要链接数据库,然后就帮你把每张表的实体类,以及对应的mapper通通构建出来,即便只有单表操作的sql语句,但也极大简化了开发,但是对于初学者还是不建议使用的。今天自己手动实现了一下,在测试批量更新的功能时,你向list传入一天记录更新没有问题,但多条记录就报错。在这里困了好久,最后才知道,数据库默认将批量更新设置为false,这里需要我们手动打开,只需要在配置文件的url后面加上allowMultiQueries=true就可以

2022-05-12 12:29:04 1263 2

原创 JDBC与mysql数据类型的映射&通用crud操作的BaseDAO<T>的简单实现&dbutils工具类的简单使用

昨天通过druid连接mysql,使用dbutils工具类实现基本的crud操作,遇见了一个问题,后来发现是我javabean对象的数据类型错了,与数据库对不上号,今天总结一下mysql常用的数据类型在jdbc中的对应。1 日期类型日期与时间是重要的信息,在我们的系统中,几乎所有的数据表都用得到。我们需要知道数据的 时间标签,从而进行数据查询、统计和处理。 在mysql中常用的日期类型有:year 年 date ...

2022-04-26 00:33:24 880

原创 反射获取自定义注解的信息,生成注解处理器

前几天学了注解,说一下我对注解处理器的认识吧,我觉得注解处理器可以用于生成新的类来完成某些功能,但是不能直接修改当前的类.。生成注解处理器需要我们自定义注解,然后将注解标注在类的某些方法或属性上,在利用反射技术提取注解的信息,是否含有该注解,或者有哪些注解,我们再编写代码将我们得到的信息根据需求实现相应的功能,比如提取公共方法生成一个新的接口或类,等等。生成注解处理器有可以是通过反射,也可以用提供的apt实现。在这里我向大家展示存反射技术实现一个提取指定类的方法,生成一个接口的思路。四大元注解和

2022-04-13 01:05:20 591

原创 利用反射为一个只含有setter和getter普通方法的Person类生成一个MyPerson.java文件。之前没做,现在自己动手打一遍,对反射更加熟练了,动态之美。

描述:我已经事先写好了一个Person类如下包含各个属性的setter和getter方法,以及构造器,现在我要编写一个Generate类,传入Person类的全路径,通过反射获取Person的结构,并写一个MyPerson.java文件,除了类名改为MyPerson,其余属性,方法与Person类一模一样,也就是复制。public class Generate { private String classFullPath;//存放Person类的全路径 private ...

2022-04-08 21:41:30 836 4

原创 才学了泛型,简单说一下我对java泛型擦除和补偿的一些理解

其实Java 的泛型是伪泛型,在JVM运行的时候,所有的泛型信息都会被擦除掉。举个例子,ArrayList<Integer> list,在编译的时候你调用add()方法,只能传入Integer类型的变量,传入其他类型编译器无法通过ArrayList<Integer> list = new ArrayList<>(); list.add(3);// 实际上是 list.add(Integer.valueOf(3)); 自动装箱 //li

2022-04-08 15:45:04 2161

空空如也

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

TA关注的人

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