自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 HashMap的底层实现原理

HashMap的底层实现原理HashMap使用数组加链表实现。每个数组中储存着链表。当使用put方法储存key-value键值对时,会先调用key的hashCode方法,得到此key经特定哈希运算后的值,然后将此值通过其他运算(?)得到一个值,将这个值与(length-1)做或操作(&),相当于对数组长度做取余操作。最终得到一个值作为此key在数组中的索引值,然后将key-value键值对储存进去。通过这种方法将储存的不同key-value键值对“散列”到数组的不同位置。在储存的时候,如果索

2021-12-18 14:46:10 394

原创 ArrayList和LinkedList的区别?

ArrayList和LinkedList的区别?说在前面的话:ArrayList和LinkedList 是List接口下两个最常用的实现类,ArrayList底层是基于数组实现的,学过数据结构的应该都知道,数组属于线性表中的顺序结构的线性表,物理表现即为内存为连续的空间。 LinkedList 的底层数据结果是链表,该链表是双向链表,即可以从头遍历到尾,也可以从尾遍历到头。数组的优点:随机访问性强查找速度快数组的缺点:插入和删除效率低,必须移动数组可能浪费内存内存空间要求高,必须

2021-12-18 14:06:21 422

原创 ArrayList添加元素的过程及扩容机制?

ArrayList添加元素的过程及扩容机制?先来说一下ArrayList的变量​ 主要为以下五个 private static final int DEFAULT_CAPACITY = 10;//定义一个默认容量为10的数组 private static final Object[] EMPTY_ELEMENTDATA = {};//空数组 private static final Object[] DEFAULTCAPACITY_EMPT

2021-12-18 14:05:46 915

原创 String类

String类概述字符串是由多个字符组成的一串数据(字符序列)的字符串常量,java中所有字符串都是String类的实例.有两种创建形式:第一种:String s = “abc”;先在栈中创建一个对String类的对象引用变量s,然后去字符串常量池中查找有没有"abc", 如果没有则在常量池中添加”abc”, s引用变量指向常量池中的”abc”,如果常量池中有,则直接指向改地址即可,不用重新创建.第二种: String s = new String(“abc”);一概在堆中创建新对

2021-11-27 14:51:42 67

原创 Object,Arrays类 的结构特征

Object类Object类的概述Object类是Javajava.lang包下的核心类,是所有Java类的祖先(根基类)。每个类都使用 Object 作为超类(父类)。所有对象(包括数组)都实现这个类的方法。如果在类的声明中未使用extends关键字指明其基类,则默认基类为 Object类 ,所有的类都直接或间接的继承Object类。下面两种定义的最终效果完全相同。public class Person {…​ }​ 等价于:​ publi

2021-11-27 14:50:40 142

原创 ==与equals的区别

使用 == 比较==是Java语言中的关系(比较)运算符。 基本数据类型:使用"==''比较,比较的它们的字面值是否相等。 引用数据类型:使用"==''比较,比较的是他们在堆内存里面开辟的内存地址是否相等。每新new一个引用类型的对象,会重新分配堆内存空间,使用“==”比较返回false。 字符串对象在进行比较时比较特殊。这是因为字符串的创建方式有所不同。 第一种 String对象的创建方法:String s = "abc",这个是大家使用最多,也是最常用的字符串创建

2021-11-15 21:24:05 209

原创 抽象类和接口

抽象类抽象类,抽象方法,在软件开发过程中都是设计层面的概念。也就是说,设计人员会设计出抽象类,抽象方法,程序员都是来继承这些抽象类并覆盖抽象方法,实现具体功能。抽象类如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。● 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法。● 用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。● 特点:● 抽象类不能被实例化,但可以有

2021-11-15 20:00:40 419

原创 javase接口概述

接口接口的定义和使用接口的定义jdk8之前 接口只能定义 静态常量 和 抽象方法jdk8之后 接口增加了静态方法 默认方法.使用 interface 关键字用来声明一个接口。[访问修饰符] interface 接口名称 [extends 其他的接口名1,….其他的接口名n]{// 声明常量 抽象方法 静态方法 默认方法}/*设计一个动物接口*/public interface Animal{//public static final int num = 10.

2021-11-12 22:28:26 404

原创 抽象类概述

抽象类抽象类,抽象方法,在软件开发过程中都是设计层面的概念。也就是说,设计人员会设计出抽象类,抽象方法,程序员都是来继承这些抽象类并覆盖抽象方法,实现具体功能。抽象类如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。● 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法。● 用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。● 特点:● 抽象类不能被实例化,但可以有

2021-11-12 22:12:58 533

原创 一维数组简单介绍

/*1、Java语言中数组是一种引用数据类型。不属于基本数据类型。2、数组是一个数据的集合,相当于一个容器,可以容纳多个元素 。3、数组中可以存储“基本数据类型”,也可以存储“引用数据类型”的数据。4、数组一旦创建,在java中规定,长度不可变。5、所有的数组对象都有lenggh属性,用来获取数组中元素的个数。6、java中的数组要求数组中元素类型统一,比如int类型数组只能存放int类型。7、怎样声明定义一个数组 int[] array1; double[] array...

2021-10-26 20:47:13 101

原创 javase基础语法

IDE集成开发工具IDE(Integrated Development Environment )集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。注释对代码功能进行说明,使用特殊的符号标记// 对某一行代码说明/* */ 对多行代码进行说明 ctrl+shift+//** */ 对类 、方法,属性进注释,方便开发人员进行调用。关键字java语言中被赋予特殊含义的小写单词,主要用来修饰 类,方法,属性。.

2021-10-26 18:40:49 40

原创 java概述

java第一章java是一门编程语言,而且是一门面向对象的.为什么是java市场需求java开发的应用软件 服务器端的程序 电商后台,银行系统....后端都可以用java实现 安卓应用 前端 移动端 软件工具 嵌入式 大数据 haodp 数据分析 Java语言发展史(了解) 1991sun公司需要开发一种新的语言: 内存小,在不同的平台上运行詹姆斯.高斯林 担任组长开始研发1995年确立1996年1.0版本发布

2021-10-26 17:33:59 53

原创 2021-10-01

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-10-01 08:39:42 67 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除