![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
lightingsui
坚持-进步-成功
展开
-
Java并发编程(一)线程的创建方式
Java并发编程(一)线程的创建方式现成的创建方式共有三种,三种各有各的优点,各有各的特色。在项目中可根据自己的需求灵活的进行选择。实现方式一实现方式一采用的是实现Runable接口来执行多线程,但是有一个弊端就是执行的run方法是没有返回值的,也不可以抛出异常。public class ThreadOne implements Runnable { private int a...原创 2020-03-10 20:48:33 · 150 阅读 · 0 评论 -
HashTable、ConCurrentHashMap、Collections.synchronizedMap原理
HashTableHashTable是快速失败的,在使用Iterator进行遍历的时候,不允许修改容器中的值。但是为什么HashTable是线程安全的呢,因为在HashTable内部,给每个方法都加上了同步锁Synchronized,也就是悲观锁,每次只能确保一个线程对HashTable进行操作,其它线程是都需要排队的,虽然它支持高并发,但是,他的并发度是不够的,很容易造成大规模阻塞。那么...原创 2020-02-16 22:57:09 · 674 阅读 · 0 评论 -
快速失败(fail-fast)和安全失败(fail-safe)
何为快速失败?快速失败是一种机制,他的特性就是在遍历java集合时候,不允许进行值的修改,否则会抛出ConcurrentModificationException 异常,那么实现原理是什么呢?以HashMap举例,在HashMap内部维护了一个变量,midCount,这个值在每次进行增删的时候会进行自增,当遍历集合的时候,每次通过next获取到值之前,都会判断这个值和可是遍历之前的值是否相同,如...原创 2020-02-15 15:45:35 · 246 阅读 · 0 评论 -
HashMap源码系列-HashMapput()全过程
public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node...原创 2020-02-13 23:18:04 · 191 阅读 · 0 评论 -
HashMap源码-HashMap的构造方法
无参构造方法/** * Constructs an empty <tt>HashMap</tt> with the default initial capacity * (16) and the default load factor (0.75). */public HashMap() { this.loadFactor = DEFAULT_LOAD_F...原创 2020-02-13 14:51:01 · 162 阅读 · 0 评论 -
HashMap源码系列-HashMap的属性
HashMap的属性public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { // 序列号 private static final long serialVersionUID = 362498820763181...原创 2020-02-13 12:19:26 · 183 阅读 · 0 评论 -
日期格式化的BUG
转载 程序猿DD 原文地址:http://blog.didispace.com/something-about-YYYY-MM-dd/昨天在v站上看到这个关于YYYY-MM-dd的使用而出现Bug的帖子(v2ex.com/t/633650)非常有意思,所以拿过来分享一下。在任何编程语言中,对于时间、数字等数据上,都存在很多类似这种平时一切OK,特定时间、特定环境出问题的情况。出现这种问...转载 2020-01-03 21:44:47 · 284 阅读 · 0 评论 -
jdk源码剖析 —— HashMap
本人博客地址:https://www.lightingsui.com读本篇文章您将收获到的东西:HashMap的数据结构。HashMap的构造函数如何实现的。HashMap扩容的原理。HashMap的put原理。HashMap的get原理。1、HashMap的简单介绍HashMap的java程序猿的编程生涯中用到的还是蛮多的,我们既然用它用的这么多,那就要了解它的底层原理,要知...原创 2019-11-25 17:09:24 · 206 阅读 · 0 评论 -
java中正则表达式的使用
转载 Zero-place 原文地址:https://blog.csdn.net/qq_41877184/article/details/90680068目录:(一)完全匹配(二)查找与该模式匹配的下一个子序列,并输出内容(三)分组查询(四)替换(五)分割(一)完全匹配import java.util.regex.Matcher;import java.uti...转载 2019-11-19 18:04:59 · 82 阅读 · 0 评论 -
正则表达式元字符
字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,‘n’ 匹配字符 “n”。’\n’ 匹配一个换行符。序列 ‘\’ 匹配 “” 而 “(” 则匹配 “(”。^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。$匹配输入字符串的...原创 2019-11-19 17:15:33 · 153 阅读 · 0 评论 -
StringUtils API(一)
StringUtils API(一)jar包下载地址1. public static boolean isEmpty(CharSequence cs)说明: 如果字符串为null或者为"",则返回true// exampleStringUtils.isEmpty(null) = trueStringUtils.isEmpty("") = trueStringU...原创 2019-10-23 21:57:40 · 324 阅读 · 0 评论