06 2020 档案

摘要:一、树 1.概念: 包含n(n>=0)个结点的有穷集;树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。树像是一个不断分叉的树根。 2.相关概念: 一棵树可以没有任何节点,称为空树 一棵树可以只有 1 个节 阅读全文
posted @ 2020-06-15 22:02 Jenne 阅读(253) 评论(0) 推荐(0)
摘要:1.environments:MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者想在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射。还有许多类似的使用场景。 阅读全文
posted @ 2020-06-13 16:58 Jenne 阅读(242) 评论(0) 推荐(0)
摘要:参考链接:深入理解Mybatis插件开发 1.plugins:与其称为Mybatis插件,不如叫Mybatis拦截器,更加符合其功能定位,实际上它就是一个拦截器,应用代理模式,在方法级别上进行拦截。 1):支持拦截的方法 执行器Executor(update、query、commit、rollbac 阅读全文
posted @ 2020-06-13 15:38 Jenne 阅读(165) 评论(0) 推荐(0)
摘要:1.objectFactory:(对象工厂)MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 如果想覆盖对象工厂的默认行为, 阅读全文
posted @ 2020-06-13 03:23 Jenne 阅读(109) 评论(0) 推荐(0)
摘要:本文参考:https://www.cnblogs.com/yulinfeng/p/5991170.html 1.typeHandlers:类型处理器,设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时,将获取到的值以合适的方式转换成 Java 类型;4;官网给出了很 阅读全文
posted @ 2020-06-12 18:45 Jenne 阅读(185) 评论(0) 推荐(0)
摘要:一、写入mybatis配置文件的约束 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd 阅读全文
posted @ 2020-06-11 23:10 Jenne 阅读(235) 评论(0) 推荐(0)
摘要:1.在动态代理中,执行MapperMethod类里面的execute方法,这个方法里面最终是调用DefaultSqlSession类中的相关操作方法。接着之前的文章继续,在DefaultSqlSession类中查看selectList方法,最终执行的都是第三个selectList方法。在这个里面调用 阅读全文
posted @ 2020-06-11 18:07 Jenne 阅读(204) 评论(0) 推荐(0)
摘要:1.通过调试,session调用的getMapper是其实现类DefaultSQLSession中的 //1.读取配置文件 InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); //2.创建 SqlSessionF 阅读全文
posted @ 2020-06-11 16:11 Jenne 阅读(336) 评论(0) 推荐(0)
摘要:一、什么是Mybatis Mybatis框架是一个半ORM框架。Mybatis是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。mybatis通过 xml 或注解的 阅读全文
posted @ 2020-06-10 21:27 Jenne 阅读(167) 评论(0) 推荐(0)
摘要:一、公平锁与非公平锁 公平锁:加锁前检查是否有排队等待的线程,优先排队等待的线程,先来先得 非公平锁:加锁时不考虑排队等待问题,直接尝试获取锁,获取不到自动到队尾等待 非公平锁性能比公平锁高5~10倍,因为公平锁需要在多核的情况下维护一个队列。Java中的ReentrantLock 默认的lock( 阅读全文
posted @ 2020-06-08 15:29 Jenne 阅读(290) 评论(0) 推荐(0)
摘要:一、什么是CAS Compare and Swap, 翻译成比较并交换,是java.util.concurrent.atomic包下的类里面的CompareAndSet()方法;java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁,使用这些类在 阅读全文
posted @ 2020-06-06 23:26 Jenne 阅读(186) 评论(0) 推荐(0)
摘要:一、什么是单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访 阅读全文
posted @ 2020-06-06 20:48 Jenne 阅读(150) 评论(0) 推荐(0)
摘要:前提:什么是Volatile? Java 虚拟机提供轻量级的同步机制 1、保证可见性 >JMM 2、不保证原子性 3、禁止指令重排 一、什么是JMM 1.JMM : Java内存模型,不存在的东西,一个概念或者约定 2.关于JMM的一些同步的约定: 1、线程解锁前,必须把共享变量立刻刷回主存。 2、 阅读全文
posted @ 2020-06-06 16:07 Jenne 阅读(185) 评论(0) 推荐(0)
摘要:一、相关概念 Java的过程是阻塞的,因此要实现异步回调,需要多线程的支持。要实现回调,B函数在不知道A函数具体实现的情况下能够调用A函数,这是一种多态,需要接口来实现。下面实现一个简单的Java回调,模拟客户端向服务器发送请求,服务器在收到请求后执行客户端的函数(相当于服务器回过来通知客户端),整 阅读全文
posted @ 2020-06-06 15:01 Jenne 阅读(202) 评论(0) 推荐(0)
摘要:一、什么是ForkJion Fork/Join框架是Java7提供的并行执行任务框架,思想是将大任务分解成小任务,然后小任务又可以继续分解,然后每个小任务分别计算出结果再合并起来,最后将汇总的结果作为大任务结果。其思想和MapReduce的思想非常类似。对于任务的分割,要求各个子任务之间相互独立,能 阅读全文
posted @ 2020-06-06 14:31 Jenne 阅读(200) 评论(0) 推荐(0)