自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 啃一啃java并发编程的这块硬骨头——ConcurrentHashMap!

ConcurrentHashMap是线程安全且高效的HashMap,因此在学习ConcurrentHashMap之前我们先来认识一下HashMap。HashMapjdk1.8的HashMap内部使用的数据结构是数组+链表/红黑树:TREEIFY_THRESHOLD表示链表转红黑树的阈值,当链表的长度超过该值时,就将链表转换为红黑树。UNTREEIFY_THRESHOLD表示红黑树转链表的阈值,该值为6而不是8,这样设计的原因是为避免hash碰撞次数在8左右徘徊时,频繁地在链表和红黑树之间转换。s

2020-09-29 17:29:00 441

原创 什么是ConcurrentModificationException?在哪些场景下会报该异常?

ConcurrentModificationException是基于java集合中的 快速失败(fail-fast) 机制产生的,在使用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了增删改,就会抛出该异常。快速失败机制使得java的集合类不能在多线程下并发修改,也不能在迭代过程中被修改。抛异常实例使用迭代器遍历list,同时使用list.remove方法删除元素,会抛ConcurrentModificationException异常:public void tryRemove(Lis

2020-09-16 19:06:34 23100 1

原创 java面试的常客——HashMap

1. HashMap内部数据结构jdk1.8的HashMap内部使用的数据结构是数组+链表/红黑树:TREEIFY_THRESHOLD表示链表转红黑树的阈值,当链表的长度超过该值时,就将链表转换为红黑树。UNTREEIFY_THRESHOLD表示红黑树转链表的阈值,该值为6而不是8,这样设计的原因是为避免hash碰撞次数在8左右徘徊时,频繁地在链表和红黑树之间转换。static final int TREEIFY_THRESHOLD = 8;static final int UNTREEIFY_

2020-09-14 16:00:11 199

原创 一个java枚举,编译器居然为它做了这么多!

基本使用首先,所有枚举类型都有一个基类:java.lang.Enum抽象类,里面提供了一些基础属性和基础方法。枚举类型不仅可以定义枚举常量,还可以定义属性、构造方法、普通方法、抽象方法等,比如,我们定义了一个包含成员变量,构造方法以及抽象方法的四则运算操作符枚举类型:public enum Operator { ADD("+") { @Override public int calculate(int a, int b) { return

2020-09-12 14:25:46 494

原创 你知道实现单例的最佳方法是枚举吗?

从jdk1.5开始,可通过编写一个包含单个元素的枚举类型来实现单例:public enum Singleton { uniqueInstance; public void SingletonOperation() { ...... }}//然后就可以通过Singleton.uniqueInstace.SingletonOperaion来调用这种方法在功能上与共有域方法相近,但它更加简洁,无偿地提供了序列化的机制,绝对防止多次实例化,即使在面对复杂的序列化

2020-09-12 11:54:15 210

Flash制作的简易贪吃蛇

Flash制作的贪吃蛇小游戏,使用.as文件实现,代码简洁易懂,整体逻辑也十分简单,适合Flash脚本入门初学者

2018-02-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除