
Java
文章平均质量分 96
惑边
每一分努力都会在合适的时机得到回报...
展开
-
枚举
文章目录枚举一、枚举二、本质2.1 反编译2.2 特点2.3 values()方法三、Enum3.1 属性3.2 构造方法3.3 其他方法四、应用4.1 自定义构造方法4.2 抽象方法4.3 实现接口4.4 枚举和单例参考 枚举 枚举是JDK5 引入的一个特性,他是一种特殊的数据类型,它特殊在即是一种类型,又有一些特殊之处,这些特殊造就了枚举的特性,比如简单,安全等。 一、枚举 在没有枚举之...原创 2019-12-18 10:43:09 · 232 阅读 · 0 评论 -
03-HashMap
文章目录HashMap1、HashMap的主要参数都有哪些?2、HashMap 的数据结构?3、hash的计算规则?4、hash碰撞和解决方法?5、关于扩容5.1 为什么扩容是以2的幂次?5.2 HashMap的扩容时机,什么时候会进行rehash?6、存取6.1 HashMap put的过程6.2 HashMap的get过程7、HashMap初始化传入的容量参数的值就是HashMap实际分配的空...原创 2019-12-17 21:01:21 · 523 阅读 · 0 评论 -
02-LinkedList
文章目录LinkedList一、简述二、属性和数据结构2.1 属性2.2 数据结构2.3 构造方法三、重要方法3.1 添加元素3.1.1 add添加3.1.2 头部添加3.1.3 尾部添加3.1.4 指定位置添加3.2 删除元素3.2.1 指定位置移除3.2.2 头尾移除3.2.3 尾部移除3.2.4 移除指定值3.3 修改元素3.4 查询元素3.4.1 下标获取3.4.2 头部获取3.4.3 尾...原创 2019-10-22 17:21:58 · 304 阅读 · 0 评论 -
01-ArrayList
文章目录ArrayList一、简述二、属性和构造方法2.1 属性2.2 构造方法三、重要方法3.1 添加元素3.2 删除元素3.3 修改元素3.4 查询元素3.5 扩容3.6 其他工具方法四、小结 ArrayList 一、简述 ArrayList是基于数组实现的List集合,内部使用数组保存元素,支持根据下标随机访问元素,并能动态扩容 二、属性和构造方法 2.1 属性 //默认容量 ...原创 2019-10-22 17:20:44 · 383 阅读 · 0 评论 -
04-LinkedHashMap
文章目录LinkedHashMap一、主要数据结构和属性1.1 Entry1.2 主要属性二、继承自HashMap的钩子方法2.1 afterNodeAccess2.2 afterNodeInsertion2.3 afterNodeRemoval三、主要方法3.1 构造方法3.2 get获取操作3.3 removeEldestEntry核心方法四、内部方法4.1 linkNodeLast4.2 t...原创 2019-10-22 09:28:53 · 671 阅读 · 0 评论 -
ConcurrentHashMap 1.7
文章目录ConcurrentHashMap 1.7一、数据结构1.1 HashEntry1.2 Segment二、初始化三、Segment方法3.1 put3.2 get3.3 rehash四、ConcurrentHashMap方法4.1 size4.2 remove4.3 containsKey4.4 containsValue4.5 clear五、小结六、参考 ConcurrentHashMa...原创 2019-09-24 00:35:16 · 1252 阅读 · 0 评论 -
HashMap中巧妙获取2的幂次
HashMap中巧妙获取2的幂次 /** * Returns a power of two size for the given target capacity. */ static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; ...原创 2019-03-04 20:55:07 · 487 阅读 · 1 评论 -
使用位运算设计权限
使用位运算设计权限 假设我们有4中权限,我们用二进制来表示,四位的二进制对应四种权限,对应位置上0表示没有权限,1表示有权限,这样在权限比较多的时候设计就会带来比较大的便利,如果本身权限的类型比较少,这样的便利体现的不那么明显; /** * @author by mozping * @Classname Permission */ public class Permission { ...原创 2019-03-05 15:03:49 · 812 阅读 · 0 评论 -
记录一次性能优化的过程
性能优化: 背景 查询接口,一个复杂条件查询,符合条件的记录有17W,查询首页的100条,postman测试接口耗时在1.6-2秒不等。 (重复查询同一个条件,mongodb会将符合条件的记录加载到内存,因此后面查询会快一些,然后趋于一个比较稳定 的值1.6s 附近) 1.查看查询过程,因为是分页,需要知道总记录的条数(countByCondition,这一步耗时0.7-0.9秒,是性能瓶颈) 同...原创 2018-12-27 21:24:31 · 377 阅读 · 0 评论 -
自定义注解简单计算方法耗时
一.需求来源 很多方法我们需要跟踪它的时间消耗,但是频繁的添加日志又显得很冗余,因此使用注解来优雅的开启计时功能 二.直接上代码 2.1 首先添加依赖 <dependencies> <dependency> <groupId>org.sprin原创 2018-12-27 14:32:43 · 2328 阅读 · 0 评论 -
[线程池] 关于线程池的五种状态
线程状态 在ThreadPoolExecutor类中定义了线程的五种状态表示,通过AtomicInteger 的高三位来表示线程的状态: private static final int COUNT_BITS = Integer.SIZE - 3; private static final int RUNNING = -1 << COUNT_BITS; p...原创 2018-11-05 14:10:10 · 1401 阅读 · 0 评论