JAVA基础
粥白快跑
一个在苟且偷生的技术玩家
展开
-
HashMap负载因子为什么是0.75
HashMap负载因子为什么是0.75? HashMap有一个初始容量大小,默认是16 static final int DEAFULT_INITIAL_CAPACITY = 1 << 4; // aka 16 为了减少冲突概率,当HashMap的数组长度达到一个临界值就会触发扩容,把所有元素rehash再放回容器中,这...原创 2020-05-04 17:20:55 · 1869 阅读 · 3 评论 -
JVM分代垃圾回收策略的基础概念
由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略。本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素。AD:本文来自和你在一起的博客,原文标题为《JVM调优总结(五)-分代垃圾回收详述1》。文章总结了JVM垃圾回收策略为什么要分代,如何分代,以及垃圾回收的触发因素。为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因...原创 2020-02-25 18:40:20 · 150 阅读 · 0 评论 -
Java结合类概念总结
1. 下列说法正确的是()A. LinkedList继承自ListB. AbstractSet继承自SetC. HashSet继承自AbstractSetD. WeakMap继承自HashMap答案:AC解析:下面是一张下载的 Java 中的集合类型的继承关系图,一目了然。Paste_Image.png2. ArrayList list = new ArrayList(2...原创 2020-02-23 22:26:25 · 710 阅读 · 0 评论 -
Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢
1、什么是Set?(what) Set是Collection容器的一个子接口,它不允许出现重复元素,当然也只允许有一个null对象。2、如何来区分重复与否呢?(how) “用iterator()方法来区分重复与否”,这是在网上流传的答案,个人认为这是个错误的答案。API中写的很明白:“set 不包含满足e1.equals(e2)的元素对e1...原创 2020-02-23 22:22:46 · 4165 阅读 · 1 评论 -
Comparable 和 Comparator 接口是干什么的?列出它们的区别
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧。Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对...原创 2020-02-23 22:20:33 · 1919 阅读 · 1 评论 -
Collection 和 Collections 的区别
1、java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。2、java.util.Collections 是一个包装类(工具类/帮助类)。它...原创 2020-02-23 21:59:15 · 221 阅读 · 0 评论 -
Stack和Heap的区别
堆栈的概念: 堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。要点:堆,队列优先,先进先出(FIFO—first in first out)。栈,先进后出(FILO—First-In/Last-Out)。 堆和栈的区别:一...原创 2020-02-23 21:30:22 · 324 阅读 · 0 评论 -
说说 ArrayList,Vector, LinkedList 的存储性能和特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据效率较低,Vector由于使用了synchronized(同步)方法(线程安全),通常性能上较ArrayList差。LinkedList使用双向链表实现存储,按序号索引数据需要...原创 2020-02-23 21:26:03 · 370 阅读 · 0 评论 -
heap 和 stack 有什么区别
堆栈的概念: 堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。要点:堆,队列优先,先进先出(FIFO—first in first out)。栈,先进后出(FILO—First-In/Last-Out)。 堆和栈的区别:一...原创 2020-02-23 18:23:02 · 230 阅读 · 0 评论 -
HashMap详解
本文讲解HashMap相关内容JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。简介Java为数据结构中的映射定义了一个接口java.util.Map1、HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度。HashMap最多只允许一条记录的键为null,允许...原创 2020-02-23 15:22:31 · 307 阅读 · 0 评论 -
List和Set比较,各自的子类比较
List和Set比较,各自的子类比较对比一:Arraylist与LinkedList的比较1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。 3、LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存空间的...原创 2020-02-23 13:27:38 · 303 阅读 · 0 评论 -
== 和 equals 的区别是什么
java中equals和==的区别 值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。 ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 equals方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的...原创 2019-06-19 18:56:46 · 3559 阅读 · 0 评论 -
JDK 和 JRE 有什么区别?
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核...转载 2019-06-19 18:47:05 · 745 阅读 · 0 评论