![](https://img-blog.csdnimg.cn/20200627175534882.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 91
java学习的一点记录
卖卡车的小西瓜
小菜鸡一枚,希望能多多成长
展开
-
AQS源码详解与实践
AQS源码详解 1. 概述 AQS(AbstractQueuedSynchronizer )字面意思是抽象队列同步器,是用来构建锁或者其它同步器组件的重量级基础框架及整个JUC体系的基石。通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类变量表示持有锁的状态。 AQS解决的问题主要是,在加锁的时候会产生阻塞,此时就需要排队。而实现排队就需要某种类型的队列去进行管理。并且排队的线程也需要被唤醒以保证锁的分配。这些都由AQS来进行解决。总结一下可以分为两点: (1)对排队的线程进行管原创 2021-02-03 22:45:32 · 187 阅读 · 0 评论 -
Java锁详解
Java锁详解 乐观锁和悲观锁 乐观锁和悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有其他线程来进行修改,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。而乐观锁认为自己在使用数据的时候不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据,如果数据未被更新,当前线程将自己修改的数据成功写入。如果已被更新,则根据不同的实现方式执行不同的操作。 适用场景:1.悲观锁适用于写操作原创 2020-12-21 21:04:30 · 105 阅读 · 0 评论 -
Java NIO
Java NIO NIO即New IO,同步非阻塞IO。这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。 NIO和IO的区别 IO是面向流的,而NIO是面向缓冲区的 IO的各种流是阻塞的,而NIO是非阻塞的 Java NIO的选择器允许一个单独的线程来监视多个输入通道 直接缓冲区和非直接缓冲区 直接缓冲区:通过all原创 2020-12-16 20:32:42 · 104 阅读 · 0 评论 -
Java注解反射的总结与实践
Java注解和反射总结1. 注解(Annotation)2. 反射(Reflection) 1. 注解(Annotation) java注解又称为java标注,是 JDK5.0 引入的一种注释机制。作用主要是对程序作出解释,同时可以被其他程序读取。java一共定义了7个注解,其中三个在java.lang中,剩下四个在java.lang.annotation中。 内置注解: @Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。如下,表示to原创 2020-08-24 18:30:42 · 265 阅读 · 0 评论 -
Mybatis细节补充
Mybatis细节补充一对一、一对多查询配置配置一级缓存和二级缓存用注解进行基本CURD操作配置 一对一、一对多查询配置 这里的一对多就是指一个表的记录对应着另一个表,多对多就是指多个表对应着另外多个表。本文中以Account为例,一个Account表对应着一个user,这就是一对一;而一个Role对用多个user,一个user也对应着多个role,这就是一对多。 使用xml文件形式进行配置 一对一和一对多的配置区别不大,主要就是在dao.xml文件配置中有点区别,其他步骤都一样。首先就是自定义类,然后原创 2020-07-20 17:20:28 · 86 阅读 · 0 评论 -
MyBatis实现与原理剖析
MyBatis实现与原理剖析1. 入门案例步骤总结2. 执行代码分析3. 配置文件分析4. 手撕Mybatis源码 1. 入门案例步骤总结 使用Maven工程导入相应的包(Mybatis、mysql、log4j(通过一个配置文件来灵活地进行配置)、junit(测试类)) 写相应的dao类和domain类 编写Mybatis的配置文件(例如SqlMapConfig.xml)和相关dao类的配置文件(例如UserDao.xml) 编写测试文件 读取配置文件 创建SqlSessionFactory工厂 生成S原创 2020-07-15 22:05:49 · 187 阅读 · 0 评论 -
PreparedStatement操作总结
PreparedStatement操作总结1. PreparedStatement介绍2. PreparedStatement与Statement的比较3. 适合各类的PreparedStatemenent的sql操作模板整和4. 对ResultSet和ResultSetMetaData的认识 1. PreparedStatement介绍 PreparedStatement 接口是 Statement 的子接口,它表示一条预编译过的 SQL 语句 可以通过调用 Connection 对象的 prepare原创 2020-07-07 19:39:36 · 459 阅读 · 0 评论