首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java基础
订阅
Lomo8250
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
Java类集框架 —— HashSet、LinkedHashSet源码分析
HashSet实现了Set接口,它的底层是由HashMap来支持的。HashSet的元素实际上是存储在底层HashMap的key上的。由于HashMap的无序不重复特性,HashSet存储的元素也是无序的,并且元素也不能重复,同时也只允许存储一个null元素。 HashSet是…
Java类集框架 —— LinkedHashMap源码分析
我们知道HashMap底层是采用数组+单向线性链表/红黑树来实现的,HashMap在扩容或者链表与红黑树转换过程时可能会改变元素的位置和顺序。如果需要保存元素存入或访问的先后顺序,那就需要采用LinkedHashMap了。 LinkedHashMap继承自HashMap,它的所…
Java类集框架 —— LinkedList源码分析
在JDK1.7之前,LinkedList是采用双向环形链表来实现的,在1.7及之后,Oracle将LinkedList做了优化,将环形链表改成了线性链表。本文对于LinkedList的源码分析基于JDK1.8。 节点中保存有需要存储的元素,同时持有上一个节点和下一个节点的引用,…
Java虚拟机 —— 垃圾回收机制
在Java虚拟机中,对象和数组的内存都是在堆中分配的,垃圾收集器主要回收的内存就是在堆内存中。如果在Java程序运行过程中,动态创建的对象或者数组没有及时得到回收,持续积累,最终堆内存就会被占满,导致OOM。 JVM提供了一种垃圾回收机制,简称GC机制。通过GC机制,能够在运行…
面试必备:HashMap源码解析(JDK8)
本文将从几个常用方法下手,来阅读HashMap的源码。 按照从构造方法->常用API(增、删、改、查)的顺序来阅读源码,并会讲解阅读方法中涉及的一些变量的意义。了解HashMap的特点、适用场景。 如果本文中有不正确的结论、说法,请大家提出和我讨论,共同进步,谢谢。 概括的说,…
ArrayList内部原理解析
ArrayList内部原理解析
Java 基础(十九)代理
二十三种经典的设计模式之一,属于一种结构模式。 职责清晰,真实的角色就是实现实际的业务逻辑,不用关系其他非本职责的食物,通过后期的代理完成一件事物,附带的结果就是编程简洁清晰。 代理对象可以在客户端和目标之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。 一个真正…
Java类集框架 —— HashMap源码分析
HashMap是基于Map的键值对映射表,底层是通过数组、链表、红黑树(JDK1.8加入)来实现的。 HashMap中存储元素,是将key和value封装成了一个Node,先以一个Node数组的来存储,通过key的hashCode来计算hash值,根据hash值和HashMap…
Java类集框架 —— ArrayList源码分析
ArrayList可以说是在Java开发中最常用的集合容器了,今天就来分析一下ArrayList的源码,可以更加深入的理解ArrayList实现原理。 根据elementData也能看出来,ArrayList的内部是通过数组来实现的,ArrayList对元素的增删改查实际上都是…
Java虚拟机 —— 类的加载机制
我们知道class文件中存储了类的描述信息和各种细节的数据,在运行Java程序时,虚拟机需要先将类的这些数据加载到内存中,并经过校验、转换、解析和初始化过后,最终形成可以直接使用的Java类型。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、…