并发-构建基础模块 并发-构建基础模块
同步容器类 Vector , Hashtable , Collections.synchronizedXxx等工厂方法创建 这些类实现线程安全方式: 将它们的状态封装起来,并对每个共有方法都进行同步,是的每次只有一个线程能方法容器状态
2019-08-20
并发-对象的组合 并发-对象的组合
实例封闭 将数据封装在对象内部,可以将数据的访问限制在对象的方法上,从而更容易确保线程在访问数据时总能持有正确的锁 java类库中有很多线程封闭示例: Collections.synchronizedList及其类似方法,这些工厂方法通过
2019-08-18
并发-对象的共享 并发-对象的共享
非原子的64操作 非volatile类型的64位数值变量(double和long),JVM允许将64位的读或写操作分解为两个32位操作,因此在多线程中使用共享且可变的long与double类型的变量是不安全的,需要使用volatile声明或
2019-08-10
数据压缩 数据压缩
数据压缩 在此主要介绍使用Huffman编码压缩和LZW压缩算法 地址: 整合为JUI程序(Java 8+) 1.Huffman压缩(霍夫曼压缩)1.1.BitBuffer辅助类 - 按bit位处理字节数组/** * BitterBuf
2019-07-30
正则表达式 正则表达式
正则表达式 对于任意正则表达式都存在一个与之对应的非确定有限状态自动机(NFA),反之亦然 1.正则匹配/** * 正则表达式的模式匹配 * 概述: 每个正则表达式都对应一个NFA,反之亦然 * 思路: 将正则表达式转换为有向图(仅
2019-07-16
子字符串查找 子字符串查找
子字符串查找 给定一段长度为n的文本txt和一个长度为m的pattern模式串,在文本中找到和该模式匹配的字串 1.BruteForce算法(暴力子字符串查找算法)/** * 暴力子字符串查找: * 时间复杂度: 一般情况1.1N
2019-07-15
单词查找树 单词查找树
单词查找树 利用字符串的性质构建比通用的查找算法更有效的查找算法 1.R向单词查找树/** * R向单词查找树 * 概述: 1.每个节点都含有R个连接,对应着每个可能出现的字符 * 2.字符和键隐式的保存在数据结构中
2019-06-24
字符串排序 字符串排序
字符串排序 利用字符串的特殊性质将字符串排序,比通用的排序算法效率更高 1.低位优先的字符串排序(LSD)/** * 低位优先的字符串排序(LSD) * 概述: 适合相同长度的字符串排序,是稳定排序 * 思想: 键索引计数法 *
2019-06-21
6 / 9