- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 AtomicBoolean与compareAndSet原理
Atomic是原子性,能够保证在高并发的情况下只有一个线程能够访问这个属性值。 compareAndSet(boolean expect, boolean update)。这个方法主要两个作用 1、比较AtomicBoolean和expect的值,如果一致,执行方法内的语句。 2、把AtomicBoolean的值设成update public class AtomicBeanTest1 implements Runnable { private static AtomicBoolean exists
2021-08-02 22:30:38
851
原创 2021-7-5 声明式事务
1、什么是事务 把一组业务当成一个业务来做。要么都成功,要么都失败 事务在项目开发中,十分重要,涉及到数据的一致性问题,不可马虎! 确保完整性和一致性 事物的ACID原则 原子性(确保都成功,货都失败) 一致性(资源和状态保持一致) 隔离性(多个业务操作同一个资源,防止数据损坏) 持久性(事务一单提交,无论系统发生什么事情,结果都不会被影响,被持久化到存储器中) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://
2021-07-05 19:02:32
121
原创 2021-7-4-AOP面向切面编程
面向切面编程,通过预编译的方式,和运行期动态代理实现程序功能的统一维护的一种技术。 使用AOP织入,需要导入一个依赖包 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version> </dep
2021-07-03 18:52:38
126
原创 2021-7-3-动态代理
动态代理和静态代理角色一样 动态代理和代理类是动态生成的,不是我们直接写好的 动态代理分为两大类:基于接口的动态代理、基于类的动态代理 基于接口-----JDK动态代理 基于类------cglib Java字节码实现:javasist Proxy类 (代理): InvocationHandler(调用处理接口): import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.r.
2021-07-03 18:12:40
128
原创 Redis集成SpringBoot
SpringBoot操作数据:spring-data jpa jdbc mongodb redis SpringData也是和SpringBoot 齐名的项目 说明:在SpringBoot2.x之后,原来使用的jedis被替换为了lettuce jedis:采用直连,多个线程操作的话,是不安全的,如果想要避免不安全的话,使用jedis pool连接池 ! 更像BIO模式 lettuce:使用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像NIO模式 源码分析 [外链
2021-06-29 10:09:05
638
1
原创 2021-06-05 Swagger
<!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency>
2021-06-05 09:41:30
178
原创 邮件发送 2021-6-5
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ```java /*SimpleMailMessage mailMessage = new SimpleMailMessage();
2021-06-05 09:34:42
372
原创 2021-05-26 Druid
com.alibaba druid 1.1.21 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency&...
2021-05-26 13:18:29
193
原创 验证码的设计与运用
@WebServlet("/CheckCodeServlet") public class imageYZM extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //
2021-05-25 23:01:06
113
原创 2021-05-25 分页插件实现分页
当前第 [[${pageInfo.pageNum}]] 页,共 [[${pageInfo.pages}]] 页,一共 [[${pageInfo.total}]] 条记录 首页 上一页 上一页 下一页 下一页 尾页 ==========...
2021-05-25 22:56:54
105
原创 2021-03-23 spring整合Mybatis
spring整合Mybatis 步骤: 1、导入相关jar包 junit mybatis mysql数据库 spring相关的 aop织入 mybatis-spring【new】 <dependencies> <!--junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</ar
2021-03-24 10:37:39
111
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人