java
文章平均质量分 66
A股慈善家
金融鬼才
展开
-
递归判断对象或集合是否全为空的工具
说明1、代码依赖了hutool的相关API,如果不想依赖hutool的话可以用阿帕奇或者spring的相关API进行替换。2、对于是否为空的标准在代码里是写死的,详见注释。代码实现工具类的代码如下:/** * {@link #isDeepEmpty(Object object, Boolean ignoreBoolean)}的重载方法,ignoreBoolean参数为false * * @param object 要判断的对象 * @return object的所有属性是否都为空 */原创 2020-09-29 17:31:38 · 872 阅读 · 0 评论 -
java实现一个本地缓存
缓存接口定义:import java.util.Iterator;/** * @author lijiaxing * @Title: GatewayCache * @ProjectName gateway * @date 2019/12/4下午4:11 * @Description: 缓存接口 */public interface GatewayCache<K, V>...原创 2019-12-13 16:16:25 · 769 阅读 · 0 评论 -
一个实用的数据库和redis的心跳检测工具类
先贴代码,然后再演示,代码非常简单。代码public class TestHeartBeat { public static void main(String[] args) throws Exception { databaseHeartBeatCheck(); redisHeartBeatCheck(); } //测试数据库 publ原创 2018-03-03 11:09:52 · 2562 阅读 · 0 评论 -
ArrayList源码学习笔记------常用API
本文的源码来自于jdk1.8版本,然而并不会涉及jdk8新特性。ArrayList简介ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayLis...原创 2018-04-30 11:31:31 · 531 阅读 · 1 评论 -
java8中的default关键字
在学习集合代码时发现在Iterable接口中使用了default关键字。default关键字介绍default是在java8中引入的关键字,也可称为Virtual extension methods——虚拟扩展方法。是指,在接口内部包含了一些默认的方法实现(也就是接口中可以包含方法体,这打破了Java之前版本对接口的语法限制),从而使得接口在进行扩展的时候,不会破坏与接口相关的实现...原创 2018-05-05 09:56:29 · 107072 阅读 · 44 评论 -
LinkedList源码学习笔记
LinkedList简介LinkedList是一个实现了List接口和Deque接口的双端链表。 LinkedList除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。 LinkedList同样是非线程安全的,只在单线程下适合使用。 LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了Cloneable接口,能被克隆。...原创 2018-05-06 09:36:23 · 327 阅读 · 0 评论 -
使用栈来实现字符串符号平衡的检测
什么是联机算法?联机算法是在任意时刻算法对要操作的数据只读入(扫描)一次,一旦被读入并处理,它就不需要在被记忆了。而在此处理过程中算法能对它已经读入的数据立即给出相应子序列问题的正确答案。该算法仅需要常量空间并以线性时间运行,因此联机算法几乎是完美的算法。优点占用空间少,所用时间少缺点不宜设计,正确性不易观察,同时附加保留信息较少什么是平衡符号?所谓平衡符号就是说,每...原创 2018-10-09 11:31:22 · 1383 阅读 · 0 评论 -
实现一个简单的单向链表
什么是单向链表单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点单向链表的结构图代码因为实现比较简单所以不做过多解释,该实现未实现Iterable接口,也未做并发修改异常的检测。public class...原创 2018-10-09 11:41:02 · 1810 阅读 · 0 评论 -
HashMap源码学习
HashMap的成员属性//数组的默认初始化容量static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;//哈希表的最大容量static final int MAXIMUM_CAPACITY = 1 << 30;//默认的加载因子static final float DEFAULT_LOAD_FACTOR = 0.7...原创 2019-09-05 16:30:16 · 194 阅读 · 0 评论