摘要:
一、Lock接口 Lock实现和synchronized关键字类似的同步功能,只是Lock在使用时需要显式地获取和释放锁,synchronized实现的隐式的获取所和释放锁。 虽然Lock它缺少了(通过synchronized块或者方法所提供的)隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操
阅读全文
posted @ 2021-03-20 17:20
H__D
阅读(153)
推荐(0)
摘要:
并发包中ThreadLocalRandom类原理剖析 ThreadLocalRandom类是JDK7在JUC包下新增的随机数生成器,它解决了Random类在多线程下多个线程竞争内部唯一的原子性种子变量而导致大量线程自旋重试的不足。本节首先讲解下Random类的实现原理已经它在多线程下使用的局限性,然
阅读全文
posted @ 2021-03-19 19:24
H__D
阅读(191)
推荐(0)
摘要:
方法官方说明 interrupt()方法 其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程),但实际上只是给线程设置一个中断标志,线程仍会继续运行。 interrupted()方法 作用是测试当前线程是否被中断(检查中断标志),返回一个boolean并清除中
阅读全文
posted @ 2021-03-19 13:03
H__D
阅读(126)
推荐(0)
摘要:
一、双向链表介绍 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表 双向链表图示 双向链表与单链表对比 1、单向链表,查找的方向只能是一个方向,而双
阅读全文
posted @ 2021-03-19 01:57
H__D
阅读(98)
推荐(0)
摘要:
一、约瑟夫问题介绍 Josephu 问题为:设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数 到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由 此产生一个出队编号的序列。 1.1 约
阅读全文
posted @ 2021-03-19 01:49
H__D
阅读(79)
推荐(0)
摘要:
享元模式 在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如,围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相似的地方,如果能把它们相
阅读全文
posted @ 2021-03-18 23:56
H__D
阅读(87)
推荐(0)
摘要:
一、链表的介绍 1、链表是以节点的方式来储存,是链式储存。 2、每个节点包含data域(存放数据)、next域(指向下一个节点)。 3、链表的各个节点不一定是连续储存的。 4、链表分为带头节点的链表和没有头节点的链表,根据实际的需求来确定。 二、带头节点单链表示意图 三、编写java代码实现带头节点
阅读全文
posted @ 2021-03-18 01:11
H__D
阅读(117)
推荐(0)
摘要:
外观模式 影院管理项目 我们先举现实中一个家庭影院的例子 DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关 • 开爆米花机 • 放下屏幕 • 开投影仪 • 开音响 • 开DVD,选dvd • 去拿爆米花 • 调暗灯光 • 播放
阅读全文
posted @ 2021-03-17 23:37
H__D
阅读(140)
推荐(0)
摘要:
1、String 的基本特性 1.1、String 概述 1、String:字符串,使用一对 “” 引起来表示 1 String s1 = "mogublog" ; // 字面量的定义方式 2 String s2 = new String("moxi"); // new 对象的方式 2、String
阅读全文
posted @ 2021-03-17 21:16
H__D
阅读(190)
推荐(0)
摘要:
一、队列的介绍 队列是 有序 的,可以用 数组 或者 链表来实现,而且队列遵循一个 先入先出 的原则,即存入队列的数据,要先取出,后存入的要后取出。 二、用数组模拟队列思路 1、队列是有序的,若使用数组的结构来存储队列的数据,首先要用 maxsize 来指定队列的最大容量。 2、因为队列的输出、输入
阅读全文
posted @ 2021-03-17 02:18
H__D
阅读(267)
推荐(0)