摘要:
本文主要对Java IO相关知识点做了结构性梳理,包括了Java IO的作用,数据源File类,输入流,输出流,字节流,字符流,以及缓冲流,不同场景下的更细化的流操作类型,同时用了一个文件拷贝代码简单地说明了主要的流操作 阅读全文
摘要:
本文只是抛砖引玉地讲解了注解的基本概念,注解的作用,几种元注解的功用以及使用方法,并通过一个简单的例子讲解了一下注解的处理,并不全面,文中通过Field讲解了注解的基本Api,但注解还可以修饰类、构造器、方法等,也有相对应的注解处理方法,大家可自行查一下API手册相关内容,大同小异,有不对之处,请批评指正,望共同进步,谢谢! 阅读全文
摘要:
Intellij IDEA在maven项目中添加外部Jar包运行,我们知道Intellij IDEA是非常好用的Java语言开发的集成环境。提供了非常多实用的功能,包括了智能代码助手、代码自动提示、代码重构、各种插件等,当然也集成了maven,正常情况下,我们创建maven项目时,相关的jar包会自动导入,当然我们也可以通过IDEA右侧的maven工具来实现jar包的加载,但我们在实际开发过程中,可能会使用外部jar包的情况,如实现与第三方公司的系统对接时,需要使用到他公司提供的jar包,这个时候在maven中央仓库找不到,该如何导入呢? 阅读全文
摘要:
本文对反射的定义,反射使用过程中重要的、常用的类和方法进行了讲解,包括Class类,Constructor类,Field类,Method类的说明及使用。反射机制允许在运行时判断任意一个对象所属的类、构造任意一个类的对象、判断任意一个类所具有的成员变量和方法、调用任意一个对象的方法。大大提高了系统的灵活性和扩展性,不过凡事都有两面性,反射破坏了Java封装的特性,相对来说不安全,需要根据场景酌情考虑 阅读全文
摘要:
泛型在java中可以说很常用,我们前面提到的集合类,如ArrayList,HashSet,以及Map都使用到了泛型,泛型也是也是我们再进行一些组件封装经常用到的,本文主要介绍了泛型基本概念,使用泛型的好处,泛型类、接口、方法、通配符的简单介绍以及使用方法,最后泛型一般和反射集合使用,通过泛型可以进行类型的灵活传递,通过反射可获取到实体以及类的数据信息,从而实现一些框架、组件的封装 阅读全文
摘要:
枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,本文主要介绍了枚举enum主要特点,定义,无参构造器,有参构造器,枚举的常用方法举例以及主要的应用场景,若有不对之处,请批评指正,望共同进步,谢谢! 阅读全文
摘要:
HashSet是Java集合Set的一个实现类,Set是一个接口,其实现类除HashSet之外,还有TreeSet,并继承了Collection,HashSet集合很常用,同时也是程序员面试时经常会被问到的知识点,本文主要介绍了HashSet的原理以及主要方法,同时简单介绍了LinkedHashSet和TreeSet 阅读全文
摘要:
前面花了4章对HashMap、LinkedHashMap以及TreeMap的原理实现进行了讲解,本章对它们进行简单的对比分析,从线程安全、初始容量、存储结构、顺序规则、存储特点、插入效率、遍历效率、使用场景及举例。另外:前面提到的插入效率和遍历效率的高、较高都是在大数量的情况下,当数据量少的情况下基本没有区别 阅读全文
摘要:
本文详细介绍了TreeMap的基本特点,并对其底层数据结构红黑树进行了回顾,同时讲述了其自动排序的原理,并从源码的角度结合红黑树图形对put方法、get方法、remove方法进行了讲解,最后简单提了一下遍历操作,若有不对之处,请批评指正,望共同进步,谢谢! 阅读全文
摘要:
本文主要介绍了红黑树的相关原理,首先红黑树的基础二叉搜索树,我们先简单说了一下二叉搜索树,并且讲了一下搜索的流程,然后就针对红黑树的6大规则特点,红黑树的插入操作,删除操作,都使用了大量的图形来加以说明,技术都是练出来的,有时候很多似是而非的地方,当动笔去写的时候,其实很好理解。红黑树的使用非常广泛,如TreeMap和TreeSet都是基于红黑树实现的,而Jdk8中HashMap当链表长度大于8时也会转化为红黑树,红黑树比较复杂,本人也是还在学习过程中,如果有不对的地方请批评指正,望共同进步谢谢。 阅读全文