- 博客(9)
- 收藏
- 关注
原创 Cglib动态代理Demo
cglib动态代理的主要组成 MethodInterceptor 接口的实现类 被代理的类(不用必须实现接口,但是不能是final的,final类不能被继承,所以不能被代理) Enhancer 类设置代理关系 代码 实现MethodInterceptor接口的类 import org.springframework.cglib.proxy.MethodInterceptor; import org...
2020-05-06 17:55:03
672
1
原创 Jdk动态代理Demo
Jdk动态代理的被代理类必须实现接口 JDK动态代理的组成 1.被代理类的接口 A 2.被代理类 B 3.实现了InvocationHandler接口的处理逻辑类 C(此类可复用) 4.Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws Illegal...
2020-05-05 11:58:53
417
原创 Java线程安全与锁优化
Java线程 Java线程的实现 在JDK1.2中,线程模型替换为基于操作系统原生线程模型来实现。对于Sun JDK来说,它的windows版和Linux版都是使用一对一的线程模型来实现的,一条Java线程映射到一条轻量级进程之中,因为Windows和Linux系统提供的线程模型是一对一的。 Java线程调度 Java线程调度是指系统为线程分配处理器使用权的过程,主要有两种调度方式:抢占式和协同式...
2020-04-02 15:40:23
210
1
原创 JAVA内存模型之关键字volatile
JAVA内存模型之关键字volatile volatile关键字可以说是Java虚拟机提供的最轻量级的同步机制,Java内存模型对volatile专门定义了一些特殊的访问规则。当一个变量定义为volatile后,它将具备两种特性:可见性和禁止指令重排序。 可见性 可见性是指一条线程改变了这个变量的值,新值对其他线程可立即得知,根据Java虚拟机规范的规定,volatile变量依然有工作内存的拷贝,...
2020-03-26 16:05:08
156
原创 JAVA并发之内存模型
JAVA并发之内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量的这样的底层细节。此处的变量与Java编程中所说的变量有所区别,它包括了实例字...
2020-03-24 15:58:47
357
1
原创 @Transactional无效 JDBC Connection @$ will not be managed by Spring # SqlSession was not registered
spring中@Transactional生效 建表语句 CREATE TABLE trans ( id int(11) NOT NULL, name varchar(5) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci mapper代码 @Repositor...
2019-07-08 10:38:56
4799
原创 mysql索引查询优化及原理
一、hash索引和Btree索引 1.Hash索引 hash索引是基于hash表实现的,对于hash索引中的所有列,存储引擎都会为每一行计算一个hash码,hash索引原理是将 Hash运算结果的 Hash 值和所对应的行指针信息存放于一个 Hash 表中。只有查询条件精确匹配到hash索引中的所有列时,才能使用到hash索引。 hash索引的匹配效率非常高。但是会存在使用限制 (1)Hash索引...
2018-11-04 23:22:58
369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人