自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Java 多线程三大核心

原子性Java 的原子性就和数据库事物的原子性差不多,一个操作中要么全部执行成功或者失败。JMM 只是保证了基本的原子性,但类似于 i++ 之类的操作,看似是原子操作,其实里面涉及到:获取 i 的值。 自增。 再赋值给 i。这三步操作,所以想要实现 i++ 这样的原子操作就需要用到 synchronize 或者是 lock 进行加锁处理。如果是基础类的自增操作可以使用 Ato...

2018-07-18 16:06:07 654

原创 Synchronize 关键字原理

众所周知 Synchronize 关键字是解决并发问题常用解决方案,有以下三种使用方式:同步普通方法,锁的是当前对象。 同步静态方法,锁的是当前 Class 对象。 同步块,锁的是 {} 中的对象。实现原理: JVM 是通过进入、退出对象监视器( Monitor )来实现对方法、同步块的同步的。具体实现是在编译之后在同步方法调用前加入一个 monitor.enter 指令,在退出方法...

2018-07-18 13:54:06 119

原创 HashMap 底层分析

 以下基于 JDK1.7 分析。如图所示,HashMap 底层是基于数组和链表实现的。其中有两个重要的参数:容量 负载因子容量的默认大小是 16,负载因子是 0.75,当 HashMap 的 size > 16*0.75 时就会发生扩容(容量和负载因子都可以自由调整)。put 方法首先会将传入的 Key 做 hash 运算计算出 hashcode,然后根据数组...

2018-07-18 11:05:25 137

原创 LinkedList 底层分析

LinkedList 底层分析如图所示 LinkedList 底层是基于双向链表实现的,也是实现了 List 接口,所以也拥有 List 的一些特点(JDK1.7/8 之后取消了循环,修改为双向链表)。新增方法 public boolean add(E e) { linkLast(e); return true; } /** ...

2018-07-18 10:46:33 151

原创 ArrayList/Vector 的底层分析

ArrayListArrayList 实现于 List、RandomAccess 接口。可以插入空数据,也支持随机访问。ArrayList相当于动态数据,其中最重要的两个属性分别是: elementData 数组,以及 size 大小。 在调用 add() 方法的时候: public boolean add(E e) { ensureCapacityInterna...

2018-07-18 10:24:02 220

原创 springmvc对session的操作

在项目中很多时候需要临时存储一些数据,这时候首先想到的是session,当然也有别的方式,比如缓存或是临时文件,此处只说session的一种用法,学习使用。ServletRequestAttributes attrs =(ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest

2017-07-20 17:02:52 651

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-07-20 16:58:46 127

原创 springmvc对session的操作

在项目中很多时候需要临时存储一些数据,这时候首先想到的是session,当然也有别的方式,比如缓存或是临时文件,此处只说session的一种用法,学习使用。ServletRequestAttributes attrs =(ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServlet

2017-07-20 16:41:03 625

空空如也

空空如也

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

TA关注的人

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