
Java基础知识
记录学习Java i/o重点知识
还你一梦
路漫漫其修远兮,吾将上下而求索!
展开
-
ArrayList和LinkedList源码分析
ArrayList和LinkedList设计结构注:绿色实线是接口之间继承关系绿色虚线是类实现接口关系蓝色实现是类之间的继承关系1. ArrayList设计结构2. LinkedList设计结构3. 对ArrayList和LinkedList结构进行分析从整体上来说,ArrayList和LinkedList主要区别是,LinkedList实现了队列(Queue)接口,也就...原创 2021-05-07 13:31:55 · 175 阅读 · 0 评论 -
代理模式-静态代理和动态代理
1. 代理模式三要素,理解这个代理模式就足够了图片来源地址2. why:代理模式产生的背景是什么?要解决什么问题3. 静态代理的缺点是什么?4. 动态代理又解决了什么问题?肯定与静态代理有关5. 代理模式的应用场景有哪些?AOP肯定是经典之一...原创 2021-05-07 13:29:42 · 117 阅读 · 0 评论 -
关于mybatis-plus中QueryWrapper使用
这里借鉴一下别人的文章,这里先上文章链接参考文章链接原创 2021-04-18 17:21:10 · 2036 阅读 · 0 评论 -
MyBatis一级缓存和二级缓存
一级缓存和SqlSession绑定,当开启一个sqlSession就会在本地创建一个一级缓存,其中一级缓存也就是Map集合,map的key有statementId-也就是接口的全限定路径+sql语句+参数值+返回值范围+环境变量名称,值为查询结果。下面这个例子:-1540658202:1619949906:org.apache.ibatis.zzTest.mapper.UserMapper.selectByName:0:2147483647:select * from user where userna原创 2021-04-12 21:28:55 · 138 阅读 · 0 评论 -
MyBatis启动
MyBatis启动原理是构建者模式,这里都不是重点,重点是:怎么将sql解析出来,放在那里了怎么将mapper.xml 和mapper.class绑定在一起sql解析出来放在了MappedStatement中,这里是sql语句的抽象类至于这两者是怎么绑定了,那就要到binding模块了,通过mapperRegistry进行mapper注册了然后通过XMLMapperBuilder. bindMapperForNamespace()进行绑定,也就是通过命名空间进行绑定。...原创 2021-04-12 11:54:41 · 122 阅读 · 0 评论 -
MyBatis事务
整体认识Mybatis的事务真的没啥学法,全都是依赖于jdbc 和 manage的事务。真的要了解事务,就要去了解Spring 事务,但是Spring事务也是用的数据库事务。所以还是要了解数据库事务是如何实现才行。...原创 2021-04-11 22:31:13 · 167 阅读 · 0 评论 -
JDK动态代理认识
整体认识JDK动态代理是基于接口的代理,也就是说目标对象一定要实现某个接口。实现原理获取被代理对象引用,得到它的接口通过反射重新生成一个代理对象,该代理类实现被代理对象的所有接口(注意:这里可能有很多接口,接口多实现)生成代理对象字节码,重新编译,加载到JVM中,返回该代理对象的实例。在代理对象中,可以对目标方法实现前后增强处理执行代理对象的目标方法,返回执行结果。使用JDK动态代理元素接口接口实现类InvocationHandler的实现类,该类中对目标函数进行增强Proxy原创 2021-04-11 19:36:29 · 109 阅读 · 0 评论 -
Java对象开销的认识
这是第一遇到对象开销的概念,以前对这个基本没有概念。关于对象开销,如上图的概念那样。对象开销与JVM相关,我大胆猜测一下,jvm的性能提升,其中有一些优化就是对于对象开销的优化。...原创 2021-03-24 09:42:35 · 366 阅读 · 0 评论 -
Java i/o学习之File抽象类
File和FilenameFilter1.File的内涵一个特定的文件一个目录下的文件集合,可以用list()方法来查询这个文件集2.FilenameFilter根据名称顾名思义,文件名过滤器源代码就一个accept(File dir, String name)方法,这个方法就是判断所给的文件名是否在文件目录下@FunctionalInterfacepublic interface FilenameFilter { /** * Tests if a specifie原创 2020-05-26 23:07:38 · 344 阅读 · 0 评论 -
Java i/o总体认识
总体认识1.流的两种类型:字节流(8Byte )和字符流2.四大基本InputStream和OutputStream(字节流范畴)Reader和Writer(字符流范畴)3.字节流处理的对象字节数组(ByteArray)file(文件)Objecct(对象)Piped(管道)4.字符流处理对象CharArrayWriter和StringWriter (字符数组,字符串)5.拓展的思想:i/o体系拓展的思想:装饰者模式6.两种流之间的转换In原创 2020-05-25 23:33:22 · 130 阅读 · 0 评论