![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
梁初夏
一位专注于服务、产品和技术的攻城狮
展开
-
Java IO入门
本文主要对Java IO相关知识点做了结构性梳理,包括了Java IO的作用,数据源File类,输入流,输出流,字节流,字符流,以及缓冲流,不同场景下的更细化的流操作类型,同时用了一个文件拷贝代码简单地说明了主要的流操作原创 2019-11-24 22:28:55 · 542 阅读 · 0 评论 -
对比分析HashMap、LinkedHashMap、TreeMap
前面花了4章对HashMap、LinkedHashMap以及TreeMap的原理实现进行了讲解,本章对它们进行简单的对比分析,从线程安全、初始容量、存储结构、顺序规则、存储特点、插入效率、遍历效率、使用场景及举例。另外:前面提到的插入效率和遍历效率的高、较高都是在大数量的情况下,当数据量少的情况下基本没有区别原创 2019-07-26 12:38:40 · 2213 阅读 · 0 评论 -
聊一聊Java的枚举enum
枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景,本文主要介绍了枚举enum主要特点,定义,无参构造器,有参构造器,枚举的常用方法举例以及主要的应用场景,若有不对之处,请批评指正,望共同进步,谢谢!原创 2019-08-01 15:42:50 · 5547 阅读 · 0 评论 -
Java集合 HashSet的原理及常用方法
HashSet是Java集合Set的一个实现类,Set是一个接口,其实现类除HashSet之外,还有TreeSet,并继承了Collection,HashSet集合很常用,同时也是程序员面试时经常会被问到的知识点,本文主要介绍了HashSet的原理以及主要方法,同时简单介绍了LinkedHashSet和TreeSet原创 2019-07-28 09:30:05 · 2683 阅读 · 0 评论 -
TreeMap原理实现及常用方法
本文详细介绍了TreeMap的基本特点,并对其底层数据结构红黑树进行了回顾,同时讲述了其自动排序的原理,并从源码的角度结合红黑树图形对put方法、get方法、remove方法进行了讲解,最后简单提了一下遍历操作,若有不对之处,请批评指正,望共同进步,谢谢!原创 2019-07-21 16:32:30 · 3573 阅读 · 0 评论 -
HashMap原理(一) 概念和底层架构
本文主要讲解了HashMap中的一些主要概念,同时对其底层数据结构从源码的角度进行了分析,table是一个数据和链表的复合结构,size记录了key-value对的数量,capacity为HashMap的容量,其容量规则为2的幂次,loadFactor为装载因此,衡量满的程度,而threshold为临界值,当超出临界值时就会扩容。原创 2019-07-06 15:47:45 · 4606 阅读 · 0 评论 -
List集合总结,对比分析ArrayList,Vector,LinkedList
本文对List集合进行了总结,包括类结构图,List是一个接口,继承了Collection,同时Collection继承了Iterable,表明List的实现类都是可用迭代遍历的,ArrayList和Vector对比分析,ArrayList和LinkedList的对比分析原创 2019-06-30 11:16:06 · 2376 阅读 · 0 评论 -
Java基础(四) StringBuffer、StringBuilder原理浅析
本文StringBuffer与StringBuilder的创建,append方法的原理讲解,对比了String、StringBuffer与StringBuilder异同原创 2019-06-24 22:52:20 · 10645 阅读 · 7 评论 -
Java基础(一) 八大基本数据类型
J2SE入门(一) 八大基本数据类型自从Java发布以来,基本数据类型就是Java语言的一部分,分别是***byte, short, int, long, char, float, double, boolean***.其中:整型:byte, short, int, long字符型:char浮点型:float, double布尔型:boolean在详细介绍之前,先科普一下,Java...原创 2019-06-16 23:28:46 · 6569 阅读 · 0 评论 -
Java基础(三) String深度解析
本文从String的不可变性,String创建时字面量和String对象的不同,字符串字面量常量池,字符串的内存结构,常用的String相关方法的描述原创 2019-06-22 10:50:45 · 5224 阅读 · 0 评论 -
Java集合 ArrayList原理及使用
本文主要讲解了ArrayList原理,从底层数组着手,讲解了ArrayList定义时到底发生了什么,再添加元素时,扩容规则如何,删除元素时,数组的元素的移动方式以及一些常用方法的用途原创 2019-06-26 15:14:49 · 4311 阅读 · 0 评论 -
Java基础(五) final关键字浅析
本文主要对final关键字的原理进行了讲解,同时对其基本用法进行了说明,包括final修饰的类,final修饰的方法和final修饰的变量,另外文中String变量通过==比较只是为了更加清晰的说明final原理,实际应用场景比较的时候还是用equals()方法,final也经常和static配合使用作为“全局常量”原创 2019-06-23 09:22:47 · 9608 阅读 · 4 评论 -
Java基础(六) static五大应用场景
static是java中很常用的一个关键字,使用场景也很多,本文主要介绍了它的五种用法,static变量,static方法,static代码块,static内部类,static包内导入,在一定环境下使用,可以提高程序的运行性能,优化程序的结构原创 2019-06-24 22:56:56 · 7892 阅读 · 3 评论 -
HashMap原理(二) 扩容机制及存取原理
本文在上一章基本概念和底层结构的基础上,从源码的角度讲解了扩容机制以及存取原理,主要分析了put方法和get方法,put方法的核心为hash(),putVal(),resize(),get方法的核心为getNode()原创 2019-07-08 10:30:25 · 3955 阅读 · 2 评论 -
LinkedHashMap如何保证顺序性
LinkedHashMap使用的也较为频繁,它基于HashMap,用于HashMap的特点,又增加了双链表的结构,从而保证了顺序性,本文主要从源码的角度分析其如何保证顺序性,accessOrder的解释,以及常用方法的阐释原创 2019-07-13 15:46:44 · 7840 阅读 · 0 评论 -
再说Java集合,subList之于ArrayList
本文续接上一章ArrayList原理及使用,对ArrayList中的常用方法subList进行了剖析,从源码的角度对通过subList方法得到的集合和原集合有何关系,有何不同点,从而避免工作中遇到各种坑原创 2019-06-29 08:31:33 · 3749 阅读 · 0 评论 -
Java集合 LinkedList的原理及使用
本文基于java8从定义一个LinkList入手,逐步展开,从源码角度分析LinkedList双向链表的结构是如何构建的,同时针对其常用方法进行分析,包括get,add,remove以及常用的遍历方法,并简单的说明了它的插入、删除操作为何相对高效,而取值操作性能相对较低原创 2019-06-29 17:30:00 · 3064 阅读 · 0 评论 -
Java基础(二) 基本类型数据类型、包装类及自动拆装箱
J2SE入门(二) JAVA基本类型数据类型、包装类及自动拆装箱我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long, Float, Double, Character, Boolean。关于基本数据类型的介绍可参考J2SE入门(一) 八大基本数据...原创 2019-06-24 22:55:46 · 4538 阅读 · 2 评论