![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 88
insist-2020
这个作者很懒,什么都没留下…
展开
-
Java对象的内存布局
对象内存存储布局概述 在JVM虚拟机中,对象的储存布局可以为分为三个部分,对象头(Object Header)、实例数据(Instance Data)和对齐填充(Padding)。 下面我们来具体说一下各个部分。 对象头(Object Header) 虚拟机的头部分主要包括存储对象自身的运行时数据(Mark Word) 和 类型指针,在数组对象中这两个的基础上会多一个数组长度。这个是对象头包含的内容。 Mark Word Mark Word是用于存储对象自身的运行时数据。在32位和64位原创 2021-12-31 15:25:01 · 820 阅读 · 0 评论 -
Threadlocal学习
一、threadLocal简介 ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前的线程。该变量对其他线程而言是隔离的,也就是说该变量是独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 二、threadlocal的底层实现原理 每一个线程的Thread对象中都会有一个ThreadLocalMap对象,这个对象存储了一组以ThreadLocalHashCode为键,以本地线程变量为值的K-V健值对,Thr原创 2021-12-28 17:09:45 · 293 阅读 · 0 评论 -
接口与抽象类
一、接口 接口的概念 在Java语言中,接口有两种意思: 一是指概念的接口,即指系统对外所提供的所有服务。类的所有能被外部使用者访问的方法构成了类的接口。 二是指用interface关键字定义的实实在在的接口,也称为接口类型。它用于明确地描述系统对外提供的所有服务,他能够更加清晰地把系统的实现细节与接口分离。 在这里介绍的是接口类型。 接口的基本特性 接口中的成员变量默认都是public、static、final类型的,必须被显式初始化。并且接口中中只能包含public、static、final类型的原创 2021-05-22 20:44:59 · 476 阅读 · 0 评论 -
LinkedList部分源码分析
一、LinkedList概述 1.1 表ADT 介绍ArrayList集合和LinkedList集合之前我们必须要对表ADT(抽象数据类型)有一定的了解。 抽象数据类型(ADT) 抽象数据类型是带有一组操作的一些对象的集合。 表ADT 我们将处理形如A0,A1,A2,……,An-1的一般的表。我们说这个表的大小是N。大小为0的特殊的表称为空表。 对于除空表外的任何表,我们说Ai后继Ai-1并称Ai-1前驱Ai。 表ADT的两种实现方式 表的数组实现 对于表的所有操作都可以通过使用数组来实现。 表的链表实现原创 2021-04-08 21:29:48 · 99 阅读 · 0 评论