随笔分类 - JDK
摘要:
在遍历中删除元素,百分之九十的人都犯过的错,你确定你知道正解?
阅读全文

摘要:
一、基础概念 为了讲清楚他们的差异,这里先介绍几个概念。 1.1 常量池 所谓常量池:顾名思义就是用来存放一些常量的。该常量是在编译期被确定,并被保存在已编译的.class文件中,其中包括了类,方法,接口等包含的数值常量,字符常量和字符串常量。 1.2 字符串常量池 在常量池中,有个专门用来存储字符
阅读全文

摘要:`Java 8`种基本的数据类型,其他一切皆为对象。因此,在 中定义函数或方法都离不开对象,也就意味着很难直接将方法或函数像参数一样传递,而 中的 表达式解决了这个问题。 一、为什么需要 ? 简单的来说,引入 就是为了简化代码,允许把函数作为一个方法的参数传递进方法中。 1.1 真的简化了? 示例:
阅读全文
摘要:一、背景 之前, 时间使用 和 类。 的几个问题: 1. 如果不格式化, 打印出的日期可读性差; 1. 可以使用 对时间进行格式化,但 是线程不安全的(阿里巴巴开发手册中禁用 修饰 ); 1. 对时间处理比较麻烦,比如想获取某年、某月、某星期,以及 天以后的时间,如果用 来处理的话真是太难了,并且
阅读全文
摘要:一、概述 泛型( )是 中引入的一个新特性, 泛型提供了 编译时类型安全检测机制 ,该机制允许开发者在编译时检测到非法的类型。 1.1 什么是泛型? 泛型,即 参数化类型 。 一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具
阅读全文
摘要:一、定义 是`JDK ThreadLocal`意思就是本地线程的意思。 1.1 是什么? 要想知道他是个啥,我们看看 的源码(基于 )中对这个类的介绍: 大致能够总结出: 1. 可以给我们提供一个线程内的局部变量,而且这个变量与一般的变量还不同,它是每个线程独有的,与其他线程互不干扰的; 1. 与普
阅读全文
摘要:Map 中 ConcurrentHashMap是线程安全的,但不是所有操作都是,例如 get() 之后再 put() 就不是了,这时使用 merge() 确保没有更新会丢失。因为Map.merge()意味着我们可以原子地执行插入或更新操作,它是线程安全的。
阅读全文