2018年9月8日

ArrayList

摘要: 声明:自己的理解,有错误的地方希望大家指出,共同进步,谢谢。 ArrayList(extends AbstractList,implements List<E>, RandomAccess, Cloneable, java.io.Serializable) 基本属性: 底层是数组 构造方法: 新增元 阅读全文

posted @ 2018-09-08 12:49 IT吴彦祖NT 阅读(85) 评论(0) 推荐(0) 编辑

2018年9月6日

static、final、transient等关键字的作用

摘要: static static方法:静态方法,不依附与对象,可以直接通过类来获取使用。由于这个特性,静态方法不能调用非静态方法或成员变量,因为这两者都依附于对象。 而非静态方法可以调用静态成员变量或方法。 static变量:静态变量,被所有对象共享,类初次加载的时候被初始化。而非静态变量在创建对象的时候 阅读全文

posted @ 2018-09-06 19:16 IT吴彦祖NT 阅读(294) 评论(0) 推荐(0) 编辑

2018年8月23日

HashMap Infinite Loop

摘要: 推荐链接:https://coolshell.cn/articles/9606.html 阅读全文

posted @ 2018-08-23 15:55 IT吴彦祖NT 阅读(72) 评论(0) 推荐(0) 编辑

HashMap底层原理(非原创)

摘要: 1. HashMap的数据结构(非原创:看见好的内容,保存下。摘自https://www.cnblogs.com/holyshengjie/p/6500463.html) 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大 阅读全文

posted @ 2018-08-23 14:24 IT吴彦祖NT 阅读(144) 评论(0) 推荐(0) 编辑

2018年7月18日

String中equals()和hashCode()的实现

摘要: 1、String的数据是final的,即一个String对象一旦创建,便不能修改;形如String s = “hello”; s = “world”;的语句,当s = “world”执行时,并不是字符串对象的值变为了”world”,而是新建了一个String对象,s引用指向了新对象。 2、Strin 阅读全文

posted @ 2018-07-18 17:16 IT吴彦祖NT 阅读(164) 评论(0) 推荐(0) 编辑

2018年6月27日

java类的加载机制

摘要: 纯洁的微笑:http://www.ityouknow.com/jvm.html 1、什么是类的加载 将.class文件中的二进制数据读入内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Cla 阅读全文

posted @ 2018-06-27 10:44 IT吴彦祖NT 阅读(89) 评论(0) 推荐(0) 编辑

2018年6月20日

Java虚拟机(第二版) 学习笔记之Class类文件的结构

摘要: 定义 Class文件是一组以8字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件之中,中间没有添加任何分隔符,使得 整个Class文件中存储的内容全都是程序运行的必要数据,没有空隙存在。当遇到占用8个字节以上空间的数据项时,则会按照高位在前一的方式分割成若干个8个字节进行存 阅读全文

posted @ 2018-06-20 17:05 IT吴彦祖NT 阅读(75) 评论(0) 推荐(0) 编辑

JVM之深入浅出之垃圾收集算法

摘要: 标记-清楚算法 最基础的收集算法,分为“标记”和“清除”两个阶段。它有两个不足的地方:一个是效率问题,标记和清除这两步的效率都不高,第二个是空间问题,标记清除之后会产生大量不连续的内存碎片,导致要分配较大的内存空间时无法找到连续的内存而导致触发另一次的垃圾回收动作。标记 清除算法的执行动作,如下图: 阅读全文

posted @ 2018-06-20 09:59 IT吴彦祖NT 阅读(144) 评论(0) 推荐(0) 编辑

2018年6月4日

Java虚拟机(第二版) 学习笔记之OutOfMemoryError

摘要: 抛出OutOfMemoryError的几种情况 如果虚拟机栈可以动态扩展,如果扩展时无法申请到足够的内存 如果堆中没有内存完成实例分配,并且堆也无法扩展时 当方法区无法满足内存分配需求时 当常量池无法申请到内存时 各个内存区域总和大于物理内存限制 阅读全文

posted @ 2018-06-04 18:05 IT吴彦祖NT 阅读(98) 评论(0) 推荐(0) 编辑

2018年6月1日

Java虚拟机(第二版) 学习笔记

摘要: Java技术体系 sun官方所定义的Java技术体系包括:1、Java程序设计语言 2、各种硬件平台上的Java虚拟机 3、Class文件格式 4、Java API类库 5、来自商业机构和开源社区的第三方Java类库 我们可以把Java程序设计语言,Java虚拟机,Java API 类库这三个部分统 阅读全文

posted @ 2018-06-01 17:55 IT吴彦祖NT 阅读(211) 评论(0) 推荐(0) 编辑

导航