自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对ConcurrentHashMap1.7的一些理解

ConcurrentHashMap 1.7 数据结构:每一个实际存放元素的HashEntry数组由不同的Segment锁保护,HashEntry是一个链表。 1.put put时先定位到Segment上, s = (Segment<K,V>)UNSAFE.getObject(segments, (j << SSHIFT) + SBASE) ...

2019-11-15 12:28:37 154 1

原创 为什么ReentrantLock可重入次数最大为2147483647

因为AQS中的state使用int类型存储,最大到2^31-1。

2019-09-19 09:19:13 494

原创 HashMap1.8put过程源码转伪码表述

HashMap 1.8 put 调用putVal方法 putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) ,onlyIfAbsent参数为冲突时是否覆盖原值,此处传false,覆盖原值。 使用hash(key)方法获取第一个参数。如果key为null,该方法返回0,所以可以存null键 putV...

2019-08-19 11:34:49 446

原创 个人对策略模式和状态模式的理解

半年前学习了《大话设计模式》中的状态模式和策略模式,前几天回顾了一下,对这两个模式有了新的见解。 根据一个接口设计不同算法的实现就是策略模式,其实说白了就是多态。一般和简单工厂结合起来,工厂用来选择实例化哪个对象。 状态模式和策略模式很像,但是它不需要和工厂结合,“工厂选择实例化哪个对象”到这个模式中被替换为了状态链。相较策略+工厂,状态模式将简单工厂中大量的if-else(switch-ca...

2019-08-19 09:19:12 100

原创 java类加载的加载阶段

java类加载过程中的加载阶段 1.概述 类加载包括加载,连接,初始化三个阶段。本文主要介绍加载阶段。 2.概念 List item 2.类加载器 (1)BootStrap Loader启动类加载器 (2)Extension Loade (3)App Loader ...

2018-11-19 21:22:40 370

原创 代理模式和java中的动态代理

1.代理模式 为什么使用代理模式? 当处理实际的业务逻辑之前或者之后,想要处理一些别的事。比如吃饭是我真实要做的事情,但是在吃饭之前我必须要做饭,之后必须要洗碗。 做饭洗碗可以让别人代做。 吃饭接口 package com.wch.api; public interface IChifan { void Chifan(); } 吃饭实现 package com.wch.impl; im...

2018-11-17 15:32:22 109

空空如也

空空如也

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

TA关注的人

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