摘要: CopyOnWriteArraylist CopyOnWrite容器 定义:写时复制容器,当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。 1.CopyOnWriteArra 阅读全文
posted @ 2021-07-01 15:13 __先森 阅读(121) 评论(0) 推荐(0)
摘要: 单例模式 定义 所谓单例,指的就是单实例,有且仅有一个类实例,这个单例不应该由人来控制,而应该由代码来限制,强制单例。 应用场景 1.整个程序的运行中只允许有一个类的实例; 2.需要频繁实例化然后销毁的对象。 3.创建对象时耗时过多或者耗资源过多,但又经常用到的对象。 4.方便资源相互通信的环境 代 阅读全文
posted @ 2021-07-01 10:00 __先森 阅读(49) 评论(0) 推荐(0)
摘要: ###策略模式 定义: 定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。——《设计模式:可复用面向对象软件的基础》 角色 策略模式有三个角色,分别是: 抽象策略角色(Strategy):是所有具体策略类共同的接口 具体策略角色(ConcreteSt 阅读全文
posted @ 2021-07-01 09:48 __先森 阅读(96) 评论(0) 推荐(0)
摘要: 一、编写HTML <link type="text/css" rel="stylesheet" href="css/hm-multi-select.css" /> <script type="text/javascript" src="js/hm-multi-select.js"></script> 阅读全文
posted @ 2021-06-22 21:28 __先森 阅读(1104) 评论(0) 推荐(1)
摘要: 使用JS调用浏览器的打印功能 使用JS调用浏览器的打印功能 阅读全文
posted @ 2021-06-18 17:23 __先森 阅读(846) 评论(0) 推荐(0)
摘要: 一、使用插件 1.html2canvas.js script引入: 2.jspdf.js script引入: 二、编写HTML文件 <script src="./js/jquery-3.1.1.min.js"></script> <script src="./js/html2canvas.js">< 阅读全文
posted @ 2021-06-18 17:16 __先森 阅读(1658) 评论(0) 推荐(0)
摘要: 插入排序 一、概念及其介绍 插入排序(InsertionSort),一般也被称为直接插入排序。 对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表。在其实现过程使用双层循环,外层循环对除了第 阅读全文
posted @ 2021-06-15 17:09 __先森 阅读(103) 评论(0) 推荐(0)
摘要: 选择排序 选择排序(Select Sort) 是直观的排序,通过确定一个 Key 最大或最小值,再从带排序的的数中找出最大或最小的交换到对应位置。再选择次之。双重循环时间复杂度为 O(n^2) 算法描述: 在一个长度为 N 的无序数组中,第一次遍历 n-1 个数找到最小的和第一个数交换。 第二次从下 阅读全文
posted @ 2021-06-15 15:36 __先森 阅读(84) 评论(0) 推荐(0)
摘要: 顺序表(顺序存储的结构) 什么是顺序表 顺序表,全名顺序存储结构,是线性表的一种。线性表用于存储逻辑关系为“一对一”的数据,顺序表自然也不例外。此外,线性表是逻辑,顺序表是这种逻辑结构在内存上的实现,顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间 阅读全文
posted @ 2021-06-15 10:43 __先森 阅读(71) 评论(0) 推荐(0)
摘要: System.arraycopy的参数及使用方法: 下面是 System.arrayCopy的源代码声明 : public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 代码解释 阅读全文
posted @ 2021-06-15 10:32 __先森 阅读(103) 评论(0) 推荐(0)