![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
木)木
菜鸟一个,正在努力中
展开
-
(二)HashMap源码浅谈:定位原理和容器大小为什么是2的次幂
文章目录什么是定位原理定位二的次幂![在这里插入图片描述](https://img-blog.csdnimg.cn/20190301113940624.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNDUxNzQ5,size_...原创 2019-03-01 11:42:07 · 201 阅读 · 0 评论 -
(一)HashMap源码浅谈:HashMap第一次put元素都干了些什么
文章目录构造方法第一次添加元素.map.put(K,V);putVal()方法今天比较无趣,渐渐迷失在了业务逻辑的海洋当中,而真正原始的技艺正在被渐渐遗忘掉.慢慢捡起来,从今天开始.开始慢慢接触源码性质的东西.本人也是菜鸟一枚,欢迎指点…构造方法一共四个构造方法.暂时只看第一个无参构造. /** * Constructs an empty <tt>Hash...原创 2019-03-01 11:15:27 · 1186 阅读 · 6 评论 -
(三)ArrayList的扩容机制
文章目录扩容机制(无参)10个元素以内的容器是怎么变化的?添加第11个元素的时候发生了什么?容器要扩容到Integer.MAX_VALUE +1的时候发生了什么?总结扩容机制(无参)10个元素以内的容器是怎么变化的?1.继上述代码进行分析.我也是一直很迷,转不过来啊.主要是搞不清楚elementData.length和元素个数质检的关系了elementData.length是这个容器的大小...原创 2018-10-26 14:44:31 · 1234 阅读 · 0 评论 -
(二)ArrayList第一次扩容
初始化大小为10又是怎么回事呢?3.当我们使用public boolean add(E e)方法的时候,走了一个ensureCopacityInternal(size + 1)的方法/** * The size of the ArrayList (the number of elements it contains). * * @serial */private int size;...原创 2018-10-26 14:41:23 · 950 阅读 · 3 评论 -
(一)ArrayList无参构造的初始容器大小
文章目录8版本的jdk初始容量:使用无参构造的初始大小到底是多少?8版本的jdk初始容量:使用无参构造的初始大小到底是多少?1.无参初始化并不是在无参构造方法的位置执行的,而是在第一次执行add方法的时候执行了容器大小的设置/** * Shared empty array instance used for default sized empty instances. We * dist...原创 2018-10-26 14:02:34 · 819 阅读 · 0 评论 -
Iterator遍历遇到的问题
一:hasNext()带来的问题我们平时使用Iterator都是调用hasNext()方法.但是在for循环嵌套的时候就出现了问题....外层for循环内层Iterator这种 结构会有点问题.第一遍的for执行完之后,Iterator肯定hasNext()到结尾了,所以后边哪怕在执行100for都不会在进Iterator了解决方法,自行思考,重新创建迭代器.二:nex...原创 2018-09-11 21:36:57 · 1289 阅读 · 0 评论 -
手写Base64编码的方法
base64是一种编码格式,不算是加密算法.下面呢是Base64编码的过程,这张图是从...忘记哪里拷贝的了.原有字符串每三个一组,将这一组转成ASCII码然后将ASCII码转二进制(一个字节8位,不足在前边补0)然后分为6个一组的二进制数.然后将这四组二进制转化为10进制 A B C D ...原创 2018-08-01 13:51:36 · 1202 阅读 · 2 评论 -
substring()方法的异常处理问题
JDK中的源码如上.我们在这里定义一个字符串:String str = "abc";我们对其进行分割.str.substring(3, 3);你会发现没有报错.按理说这个应该是越界异常......因为3已经越界,下表是取不到这个位置的......我就想表达这个意思,其他的没有了...原创 2018-08-01 11:52:08 · 5961 阅读 · 5 评论 -
MP代码生成器
话不多说pom.xml都加上吧.官网说mp自动配置这个包将mp-gennerator分离出来了.不管他们一股脑都导入.下边那个引擎是要引入的.要不然报错.mysql驱动.这个也是要的.lombok,加上吧.其实这个是无所谓的.因为代码生成的时候,实体类可以选择是用lombok形式生成. <!-- 持久层:MP --> <dependency&g...原创 2019-07-04 15:20:59 · 4380 阅读 · 0 评论