2020年5月3日
摘要: 1、进程与线程 一个程序就是一个进程,一个程序中的多个任务被称为线程。进程是资源分配的基本单位,线程是进程中执行运算的最小单位,亦是调度运行的基本单位。多线程的好处并发执行提高了程序的效率,CPU不会因为某个线程需要等待资源而进入空闲状态 2、线程的实现方式 继承java.lang.Thread类 阅读全文
posted @ 2020-05-03 21:49 玄同太子 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 以下实现仅仅是大概思路,是非公平锁,也是独享锁,而且没有考虑阻塞。 1、基于数据库 它的实现方式很简单,就是在数据库中创建一个lock表,申请锁就是向表中插入一行唯一关键字,数据库能够保证只有一个请求执行成功,也就是说这个请求申请到了锁,其他请求会报错说明没有申请到锁。释放锁就是在数据库中删除这一行 阅读全文
posted @ 2020-05-03 17:28 玄同太子 阅读(1474) 评论(0) 推荐(0) 编辑
摘要: maven依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.6.0</version> </dependency> 程序其它依赖: <!-- Lo 阅读全文
posted @ 2020-05-03 16:24 玄同太子 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 1、排序二叉树 排序二叉树是一种特殊的二叉树,可以非常方便的进行检索,它具有如下特点: 若它的左子树不为空,则左子树上所有节点值都小于根节点的值 若它的右子树不为空,则右子树上所有节点值都大于根节点的值 左子树和右子树都一颗排序 排序二叉树评价查找时间为O(logn),极端情况下(所有节点都靠近一侧 阅读全文
posted @ 2020-05-03 09:57 玄同太子 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1、HashMap 是一种哈希散列结构。JDK1.8中,它由数组+单向链表+黑红树构成。当链表数据量超过8时就会转变为一个红黑树,已降低时间复杂度。 构造函数会创建一个空的HashMap,在插入第一个数据时才会初始化一个数组。它有2个重要的构造参数,分别叫初始容量(initialCapacity,默 阅读全文
posted @ 2020-05-03 01:08 玄同太子 阅读(191) 评论(0) 推荐(0) 编辑