摘要: 一、基本思想 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。 插入排序非常类似于整扑克牌。 在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行 阅读全文
posted @ 2017-10-14 23:00 心中的山水 阅读(880) 评论(0) 推荐(0) 编辑
摘要: 一、快速排序的思想 基于分治的思想,是冒泡排序的改进型。首先在数组中选择一个基准点(该基准点的选取可能影响快速排序的效率,后面讲解选取的方法),然后分别从数组的两端扫描数组,设两个指示标志(lo指向起始位置,hi指向末尾),首先从后半部分开始,如果发现有元素比该基准点的值小,就交换lo和hi位置的值 阅读全文
posted @ 2017-10-12 22:02 心中的山水 阅读(1847) 评论(0) 推荐(0) 编辑
摘要: 选择排序是常用内部排序的一种,常见的实现算法有直接选择排序算法和堆排序算法,选择排序的基本思想是每次从待排数据中选择第n小的数据放到排序列表的第n个位置,假如共有N个数据待排,那么经过N-1次排序后,待排数据就已经按照从小到大的顺序排列了。 直接选择排序算法的思想比较简单:(假设数据放在一个数组a中 阅读全文
posted @ 2017-10-12 21:51 心中的山水 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 一、概念 java中单例模式是一种常见的设计模式,单例模式分五种:懒汉式单例、饿汉式单例、静态内部类单例、枚举单例和双重校验锁单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例, 阅读全文
posted @ 2017-10-12 18:31 心中的山水 阅读(417) 评论(0) 推荐(0) 编辑
摘要: MyBatis缓存分为一级缓存和二级缓存 一、一级缓存 MyBatis的一级缓存指的是在一个Session域内,session为关闭的时候执行的查询会根据SQL为key被缓存(跟mysql缓存一样,修改任何参数的值都会导致缓存失效) 1)单独使用MyBatis而不继承Spring,使用原生的MyBa 阅读全文
posted @ 2017-10-09 11:12 心中的山水 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 在查询多个表时,我们经常会用到连接查询,连接是关系型数据库的主要特点,也是它区别于其他类型的数据库管理系统的一个标志。 一、什么是连接查询 连接查询:根据两个表或者多个表的列之间的关系,来从这些表中查询数据。 它的目的只要是实现多个表的查询操作。一共分为六种连接,分别为:外连接、内连接、交叉连接和自 阅读全文
posted @ 2017-09-20 20:17 心中的山水 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 一、摘要 数据库对于我们开发人员来说是相当的重要。我们在开发过程中都会使用到数据库,例如mysql,oracle等。而且在面试中基本上都会问到数据库。总的来说。就是数据库非常的重要。今天我们就来说一说数据库中的索引。 在介绍数据库的索引之前,我们先来了解一下两种数据结构B-tree和B+tree(数 阅读全文
posted @ 2017-09-20 16:40 心中的山水 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 一、EXISTS运算符简介: 使用EXISTS语句可以测试集合是否为空,EXISTS语句通常与子查询结合在一起使用。只要子查询中至少返回一个值,则EXISTS语句的值就为True。EXISTS子查询的语法结构如下: 语句中相关参数的说明如下所示。 Field1,Field2,…,Fieldn:表示要 阅读全文
posted @ 2017-09-18 18:51 心中的山水 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: 前言 线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池对线程进行统一分配、调优和监控,有以下好处:1、降低资源消耗;2、提高响应速度;3、提高线程的可管理性。 Java1.5中引入的Executor框架把任务的提交和执行进行解耦,只需要定义好任务,然后提 阅读全文
posted @ 2017-09-18 16:41 心中的山水 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 在java中有三种方式可以终止线程。分别为: 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。 3. 使用interrupt方法中断线程。 下面 阅读全文
posted @ 2017-09-14 18:49 心中的山水 阅读(4215) 评论(0) 推荐(0) 编辑