自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java Builder构建对象

【代码】Java Builder构建对象。

2024-07-05 15:54:34 174

原创 JDBC之事务 批处理 BeanUtil的底层原理仿写

DBUtils的总体思路是提供一个结果集的处理器,这个处理器去处理不同的结果集,得到不同的返回值。几行代码一起执行,要么都成功,要么都失败,commit,rollback。注意:事务跟连接相关,如果事务属于不同的连接,那么就无法回滚。你要控制事务,首先要搞明白是不是同一个连接。这个处理器把一个结果集处理成一个对象集合。批处理就是很多句sql一起处理。5.3.3 查询第一行第一列。

2024-07-04 14:13:43 218

原创 原生JDBC

mysql:安装,卸载,环境变量,SQL功能自动完成事务,begin==start transaction ,set autocommit=0/fasle;commit;rollback;事务的传播特性。视图,索引,触发器,存储过程,函数给定一个主键,XXX-XX根据-前面的升序排,后面降序排。

2024-07-03 09:58:38 330

原创 JDK8新增的日期时间、Java日期时间API、LocalDateTimePeriod、DateTimeFormatt 日期类

2024-07-03 09:55:12 82

原创 JDBC、ThreadLocal、连接池等底层封装

​ 这种写法每次获取到的是一个新连接--我希望只获取到同一个连接。

2024-07-03 09:41:51 203

原创 消息通知抽象工厂示例

【代码】消息通知抽象工厂示例。

2024-06-09 17:22:31 417

原创 Thread Local的原理与适用场景

本文转发自。

2024-03-19 17:23:08 296 1

原创 完美解决 IDEA创建JDK1.8的Spingboot项目但Java版本只能勾选17和21,没有 8

今天新建项目发现java只能勾选17和21。

2023-12-07 14:19:00 3975

原创 java工厂模式:简单工厂、工厂方法、抽象工厂

【代码】Java——简单工厂。

2023-11-13 13:43:59 125

原创 Java Javassist动态代理

【代码】Java Javassist动态代理。

2023-09-27 15:13:01 189 1

原创 Java CGLib动态代理

唯一要注意的是,如果被代理的类被final修饰,那么它不可被继承,即不可被代理,同样如果被代理的类中存在final修饰的方法,那么该方法也不可被代理,因为CGLib原理是动态生成被代理类的子类。CGLib 的底层是 Java 字节码操作框架——ASM (https://asm.ow2.io)在JDK8之前CGLib动态代理比JDK的动态代理(使用Java反射)效率要高。final类不能被继承,final方法不能被复写。不仅可以接管接口类的方法还可以接管普通类的方法。

2023-09-26 11:18:25 193

原创 Java JDK动态代理

【代码】Java JDK动态代理。

2023-09-22 17:38:47 241 1

原创 Java 静态代理

【代码】Java 静态代理。

2023-09-22 15:51:32 95 1

原创 设计模式之工厂方法模式(Factory Method Pattern)

定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类.通用类图如下抽象产品类Product定义产品的共性,实现事务最抽象的定义;Creator抽象创建类,也就是抽象工厂。

2023-09-22 15:42:48 51 1

原创 设计模式之单例模式(Singleton Pattern)

Ensure a class has only one instance, and provide a global point of access to it. (确保某一个类 只有一个实例,而且自行实例化并向整个系统提供这个实例。)通用类图如下Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行实例化的(在Singleton中自己使用new Singleton())。饿汉式单例在一个系统中,要求一个类有且仅有一个对象,如果出现

2023-09-22 10:32:12 54 1

原创 java六大设计原则

只要做过项目,肯定要接触到用户、机构、角色管理这些模块,基本上使用的都是 RBAC模型(Role-Based Access Control,基于角色的访问控制,通过分配和取消角色来完成 用户权限的授予和取消,使动作主体(用户)与资源的行为(权限)分离),确实是一个很 好的解决办法。细节就是实 现类,实现接口或继承抽象类而产生的类就是细节,其特点就是可以直接被实例化,也就是 可以加上一个关键字new产生一个对象。从整体上来看,利大于弊,怎么才能让“利”的因素发 挥最大的作用,同时减少“弊”带来的麻烦呢?

2023-09-20 17:25:06 41 1

原创 数据库默认字段-Mybatis自动注入配置

is_deleted` int(11) NOT NULL DEFAULT '0' COMMENT '是否删除',`create_user` bigint(20) NOT NULL COMMENT '创建人',`update_user` bigint(20) NOT NULL COMMENT '修改人',`create_time` datetime NOT NULL COMMENT '创建时间',建表,每个表都需要添加这几个字段。

2023-09-14 09:52:32 97 1

原创 MySQL 字符集 排序规则

因为它广泛支持大部分 Unicode 字符,并且适用于多种语言环境。utf8mb4 是 MySQL 5.5.3 版本及以上的默认字符集,它可以满足大多数应用的需求。如果应用需要正确地排序各种语言、特殊字符或者多语言混合的数据。,能够满足大部分排序需求。

2023-09-14 09:30:12 287 1

原创 数组和链表

数组:查询效率高,新增和修改需要移动元素效率低,内存分配是连续的内存,扩容需要重新分配内存。链表:新增和修改效率高,只需要修改指针指向就好。链表查询效率低,需要从链表头依次查找。内存分配不需要连续的内存,占用连续内存少。原文链接:https://juejin.cn/post/6935049364616249381。

2023-09-07 10:20:18 54 1

原创 pdf文件通过IO流传给前端

【代码】pdf文件通过IO流传给前端。

2023-09-06 10:05:41 603 1

原创 DateTimeFormatter

你可以根据自己的需求,编写符合要求的日期时间模式字符串,然后将其作为参数传递给。方法的参数中,你需要传入一个日期时间模式字符串,用于指定日期时间的格式。这些字符可以根据需要进行组合,形成不同的格式。此外,还可以使用单引号。对象,用于解析和格式化日期时间数据。这样就可以创建一个相应格式的。来包围文字,作为固定的文本。

2023-07-06 13:20:01 1937 1

原创 Mybatis-Plus

/将属性对应字段设为主键。

2023-07-03 17:55:05 38 1

原创 <![CDATA[<]]>、转义字符和xml、mysql大于等于、小于等于的问题

原符号 < <= > >= & ' "但是严格来说,在XML中只有”<”和”&”是非法的,其它三个都是可以合法存在的,但是,把它们都进行转义是一个好的习惯。替换符号 < <= > >= & ' "不管怎么样,转义前的字符也好,转义后的字符也好,都会被xml解析器解析,,如果想在xml中使用这些符号,必须将其转义为实体,如。

2023-05-23 09:26:45 1580 1

原创 Java学习随便写点笔记

在运行状态中也可能导致多个原因运行不下去,比如用户通过wait、jion方法就会让线程进入我们的waiting状态等待,通过run执行完毕或者notify方法唤醒当前线程,或通过sleep(seconds),wait,join等方法使线程进入我们的time waiting状态等待时间结束被唤醒,其中wait会释放对象锁,而sleep不会释放对象锁,也就是说如果当前线程持有某个对象的锁,则即使调用sleep方法,其他对象也无法访问这个对象。》创建进程的开销大于创建线程的开销,进程之间的通信比线程间要难。

2023-04-15 14:33:20 78 1

空空如也

空空如也

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

TA关注的人

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