- 博客(15)
- 收藏
- 关注
原创 mysql时区问题
未指定serverTimezone spring: datasource: url: jdbc:mysql://localhost:3306/mybatis 出现的异常 您必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性),如果您想要使用时区支持,则需要使用一个更详细的时区值。 网上的解决方案 在url后面加上参数?serverTimezone=utc 遇到的问...
2019-05-16 15:27:58
477
原创 数据结构--红黑树
R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black) 定义 1. 红黑树的节点不是黑色的就是红色的 2. 红黑树的根节点一定是黑色的 3. 红黑树的所有叶子节点都是黑色的(注意:红黑树的叶子节点指Nil节点) 4. 红黑树任何路径上不允许出现相邻两个红色节点 ...
2019-03-13 17:01:12
226
原创 数据结构--(AVL)平衡二叉树
AVL树本质上还是二叉树,但是比二叉搜索树多了一个条件:每个节点的左右子树高度不超过1 因为二叉搜索树在极端情况下无限趋近于链表,这种情况下不能体现二叉搜索树的高效率。如下图 AVL树定义及节点定义 public class AVLTree<T extends Comparable<T>>{ private Node<T> root; ...
2019-03-03 19:42:26
225
原创 数据结构--二叉搜索树
对于数组,查找速度快,而添加和删除速度慢;链表,查找速度慢,而添加和删除速度快;树具备查找、增删速度快的特点 树的常用术语 路径:从一个节点到另一个节点,所经过的节点的顺序排列称为’路径’ 根:树顶端的节点称为根。一棵树只有一个根,如果要把一个节点和边的集合称为树,那么从根到其他任何一个节点都必须有且只有一条路径 父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点 子节点:一个节点...
2019-02-24 22:54:02
223
原创 mybatis-plus 代码生成
之前采用maven-generator 生成代码,在配置文件上因为从单模块到多模块时出现问题, 改用mybatis-plus自动生成代码。 码云地址:https://gitee.com/baomidou/mybatis-plus github地址:https://github.com/baomidou/mybatis-plus 依赖 &lt;dependency&gt; &lt...
2019-01-13 12:35:37
316
原创 Java集合-09LinkedHashMap源码解析及使用实例
LinkedHashMap 简介 hash表和链表实现了map接口,迭代顺序是可以预测的。LinkedHashMap和HashMap的不同是它所有的entry 维持了一个双向链表结构。该链表定义了通常迭代顺序是键插入的顺序。 LinkedHashMap 定义 public class LinkedHashMap&lt;K,V&gt; extends HashMap&lt;K,V&gt; imp...
2019-01-05 15:43:40
276
原创 Java集合-08HashMap源码解析及使用实例
HashMap 简介 HahMap是基于hash表的Map接口实现。该实现提供所有可选的映射操作,且允许key和value为null。同时 它不是线程安全以及不能保证有序。初始容量(initial capacity)和加载因子(initial capacity)是影响 HashMap的两个因素。容量表示hash表中桶(buckets)的数量,初始容量就是表示hash表在创建时候容量大小。 加载因...
2019-01-02 14:27:36
205
原创 Java集合-07Map接口及其抽象类
简介 前面把List基本记录完了,对于集合List,Map,Set,因为Set基于Map,故先记录Map。 这一篇主要记录Map接口及其抽象类(java version:1.8) 整体架构 参考上图,整体分析如下 Map 映射接口,定义了存储内容为键值对(key-value)及map的基本操作方法 AbstractMap 该抽象类对Map接口有了整体的实现,简化实现Map接口所...
2018-12-21 10:00:10
1111
原创 Java集合-06Vector源码解析及使用实例
Vector简介 Vector (矢量类)实现了动态数组的功能,如同数组,它可以通过角标访问数据, 不过Vector被创建后在添加或移除时候能适应性的增加或者减少。继承AbstractCollection类,实现了List、RandomAccess、Cloneable、Serialization接口 构造方法 public Vector() public Vector(int initial...
2018-12-18 22:49:15
172
原创 Java集合-05fail-fast(快速失败)机制原理及解决方法
fail-fast简介 fail-fast(快速失败),是Java集合的一种错误检测机制。当在遍历集合的过程中该集合在结构(改变集合大小)上发生变化时候, 有可能发生fail-fast,抛出java.util.ConcurrentModificationException异常。 fail-fast出现场景 单线程场景 public class FailFastSingleThre...
2018-12-18 14:15:33
781
原创 Java集合-04LinkedList源码解析
回顾与对比 上一章讲到了ArrayList,你也可以在 github上查看,ArrayList底层基于数组,所以支持随机访问, 因为你可以通过下标访问到具体的数据,而LinkedList则是基于链表,这种不同造成它俩有各自的优缺点; ArrayList随机访问数据快,而在中间增加删除较慢,LinkedList相反,随机访问较慢,在中间增加删除较快; 访问前面已经提到ArrayList是支持随机访...
2018-12-17 09:42:01
232
原创 JAVA集合-03ArrayList源码解析和使用实例
JAVA集合-03ArrayList源码解析和使用实例 上一章讲解了Collection接口下得抽象类和继承接口,后续深入到具体的实现类, 博客及对应得代码可在github上查看 ArrayList简介 ArrayList底层实现是数组,相较于数组固定大小,ArrayList可以动态的增加;ArrayList继承AbstractCollection, 实现了List、RandomAccess、C...
2018-12-14 21:05:16
224
原创 Java集合-02集合抽象类
Java集合-02集合抽象类 Collection简介 Collcetion定义(java version:1.8.0_111) public interface Collection&amp;lt;E&amp;gt; extends Iterable&amp;lt;E&amp;gt;{ boolean add(E e); boolean addAll(Collection&amp;lt
2018-12-14 10:21:32
405
原创 Java集合-01概述
Java集合-01概述 Java集合是java提供的工具包,位于java.util包下,包括Collection Map以及工具类Arrays,Collections 粗略分析 集合主要分为Collection和Map,在Collection又主要分为List和Set。 Collection中保存的元素都是同一种对象, 其中List中的元素为有序可重复,Set为无序不可重复, Map保存键值对,...
2018-12-14 10:16:27
251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人