摘要: 二分查找算法(JAVA) 1.二分查找又称折半查找,它是一种效率较高的查找方法。 2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列 3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值 阅读全文
posted @ 2018-10-09 14:32 思考的胖头鱼 阅读(1432) 评论(0) 推荐(0) 编辑
摘要: imit 基本实现方式 一般情况下,客户端通过传递 pageNo(页码)、pageSize(每页条数)两个参数去分页查询数据库中的数据,在数据量较小(元组百/千级)时使用 MySQL自带的 limit 来解决这个问题: 收到客户端{pageNo:1,pagesize:10} select * fro 阅读全文
posted @ 2018-10-09 10:00 思考的胖头鱼 阅读(77737) 评论(1) 推荐(2) 编辑
摘要: aop代理分为静态代理、jdk动态代理、cglib动态代理 通过动态代理的方式实现横向扩展,实现权限校验、日志等功能。 jdk静态代理:代理类和委托类实现同一接口,并且在代理类中需要硬编码接口。 jdk动态代理:代理类与委托类实现同一接口,主要是通过实现InvocationHandler并重写inv 阅读全文
posted @ 2018-10-07 21:49 思考的胖头鱼 阅读(684) 评论(0) 推荐(0) 编辑
摘要: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } */ public class Solution { public ListNode EntryNodeOfLoop(ListNode pH... 阅读全文
posted @ 2018-10-07 12:05 思考的胖头鱼 阅读(154) 评论(0) 推荐(0) 编辑
摘要: AQS同步组件 CountDownLatch(只有一个线程对他进行操作): 主线程必须在启动其它线程后立即调用await()方法。这样主线程的操作就会在这个方法上阻塞,直到其它线程完成各自的任务。 Semaphore: 控制某个资源可被同时访问的个数 CyclicBarriar: N个线程相互等待相 阅读全文
posted @ 2018-10-06 21:18 思考的胖头鱼 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 快速排序,顾名思义,是一种速度快,效率高的排序算法。 快速排序,顾名思义,是一种速度快,效率高的排序算法。 快排原理: 快排原理: 在要排的数(比如数组A)中选择一个中心值key(比如A[0]),通过一趟排序将数组A分成两部分,其中以key为中心,key右边都比key大,key左边的都key小,然后 阅读全文
posted @ 2018-10-06 19:37 思考的胖头鱼 阅读(1376) 评论(0) 推荐(0) 编辑
摘要: 递归: 非递归: 层序遍历: 非递归算法: 阅读全文
posted @ 2018-10-06 11:41 思考的胖头鱼 阅读(1882) 评论(0) 推荐(0) 编辑
摘要: 交换机、路由器、七层结构(5层、4层)、ARP、url 阅读全文
posted @ 2018-10-05 21:22 思考的胖头鱼 阅读(6402) 评论(0) 推荐(0) 编辑
摘要: 理解:通过thread创建局部变量,每个线程可以获得该变量的副本,再每个线程中操作该副本相互之间不产生影响。 解决:数据库连接 常规一个线程连接一个数据库是没有问题的,但是在高并发的情况下,可能线程一关闭数据库连接,线程而打开数据库连接,导致,数据库操作不能正常运行。 如果改成局部变量中,需要时连接 阅读全文
posted @ 2018-10-04 12:11 思考的胖头鱼 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 一、前言 Mybatis和Hibernate一样,是一个优秀的持久层框架。已经说过很多次了,原生的jdbc操作存在大量的重复性代码(如注册驱动,创建连接,创建statement,结果集检测等)。框架的作用就是把这些繁琐的代码封装,这样可以让程序员专注于sql语句本身。 MyBatis是一个支持普通S 阅读全文
posted @ 2018-09-29 19:51 思考的胖头鱼 阅读(1297) 评论(0) 推荐(0) 编辑