摘要:本文对反射的定义,反射使用过程中重要的、常用的类和方法进行了讲解,包括Class类,Constructor类,Field类,Method类的说明及使用。反射机制允许在运行时判断任意一个对象所属的类、构造任意一个类的对象、判断任意一个类所具有的成员变量和方法、调用任意一个对象的方法。大大提高了系统的灵活性和扩展性,不过凡事都有两面性,反射破坏了Java封装的特性,相对来说不安全,需要根据场景酌情考虑 阅读全文
posted @ 2019-08-18 17:53 工匠初心 阅读 (1008) 评论 (0) 编辑
摘要:泛型在java中可以说很常用,我们前面提到的集合类,如ArrayList,HashSet,以及Map都使用到了泛型,泛型也是也是我们再进行一些组件封装经常用到的,本文主要介绍了泛型基本概念,使用泛型的好处,泛型类、接口、方法、通配符的简单介绍以及使用方法,最后泛型一般和反射集合使用,通过泛型可以进行类型的灵活传递,通过反射可获取到实体以及类的数据信息,从而实现一些框架、组件的封装 阅读全文
posted @ 2019-08-10 17:32 工匠初心 阅读 (2101) 评论 (2) 编辑
摘要:枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,本文主要介绍了枚举enum主要特点,定义,无参构造器,有参构造器,枚举的常用方法举例以及主要的应用场景,若有不对之处,请批评指正,望共同进步,谢谢! 阅读全文
posted @ 2019-08-01 15:43 工匠初心 阅读 (1523) 评论 (0) 编辑
摘要:HashSet是Java集合Set的一个实现类,Set是一个接口,其实现类除HashSet之外,还有TreeSet,并继承了Collection,HashSet集合很常用,同时也是程序员面试时经常会被问到的知识点,本文主要介绍了HashSet的原理以及主要方法,同时简单介绍了LinkedHashSet和TreeSet 阅读全文
posted @ 2019-07-28 09:30 工匠初心 阅读 (1785) 评论 (0) 编辑
摘要:前面花了4章对HashMap、LinkedHashMap以及TreeMap的原理实现进行了讲解,本章对它们进行简单的对比分析,从线程安全、初始容量、存储结构、顺序规则、存储特点、插入效率、遍历效率、使用场景及举例。另外:前面提到的插入效率和遍历效率的高、较高都是在大数量的情况下,当数据量少的情况下基本没有区别 阅读全文
posted @ 2019-07-26 12:38 工匠初心 阅读 (1641) 评论 (0) 编辑
摘要:本文详细介绍了TreeMap的基本特点,并对其底层数据结构红黑树进行了回顾,同时讲述了其自动排序的原理,并从源码的角度结合红黑树图形对put方法、get方法、remove方法进行了讲解,最后简单提了一下遍历操作,若有不对之处,请批评指正,望共同进步,谢谢! 阅读全文
posted @ 2019-07-21 16:32 工匠初心 阅读 (1627) 评论 (0) 编辑
摘要:本文主要介绍了红黑树的相关原理,首先红黑树的基础二叉搜索树,我们先简单说了一下二叉搜索树,并且讲了一下搜索的流程,然后就针对红黑树的6大规则特点,红黑树的插入操作,删除操作,都使用了大量的图形来加以说明,技术都是练出来的,有时候很多似是而非的地方,当动笔去写的时候,其实很好理解。红黑树的使用非常广泛,如TreeMap和TreeSet都是基于红黑树实现的,而Jdk8中HashMap当链表长度大于8时也会转化为红黑树,红黑树比较复杂,本人也是还在学习过程中,如果有不对的地方请批评指正,望共同进步谢谢。 阅读全文
posted @ 2019-07-17 19:43 工匠初心 阅读 (1472) 评论 (0) 编辑
摘要:LinkedHashMap使用的也较为频繁,它基于HashMap,用于HashMap的特点,又增加了双链表的结构,从而保证了顺序性,本文主要从源码的角度分析其如何保证顺序性,accessOrder的解释,以及常用方法的阐释 阅读全文
posted @ 2019-07-13 15:46 工匠初心 阅读 (1743) 评论 (0) 编辑
摘要:本文在上一章基本概念和底层结构的基础上,从源码的角度讲解了扩容机制以及存取原理,主要分析了put方法和get方法,put方法的核心为hash(),putVal(),resize(),get方法的核心为getNode() 阅读全文
posted @ 2019-07-08 10:29 工匠初心 阅读 (1431) 评论 (0) 编辑
摘要:本文主要讲解了HashMap中的一些主要概念,同时对其底层数据结构从源码的角度进行了分析,table是一个数据和链表的复合结构,size记录了key-value对的数量,capacity为HashMap的容量,其容量规则为2的幂次,loadFactor为装载因此,衡量满的程度,而threshold为临界值,当超出临界值时就会扩容。 阅读全文
posted @ 2019-07-06 15:47 工匠初心 阅读 (1437) 评论 (0) 编辑