自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java面试一百道(第十道)-ArrayList和LinkedList的区别

ArrayList和LinkedList的区别答:ArrayList是动态数组,可以连续存储数据,适合下标访问,且类型一致;LinkedList是基于链表,可以分散存储在内存中。具体实现可以看看这java初级-02_容器_哔哩哔哩_bilibili特别:动态数据查找快,增添修改慢链表则反之。ArrayList有一个扩容机制,其实现原理就是数组长度不够的时候,再创建一个新的对象设置新的长度,把旧的对象的值遍历进来再删除,更长的数组就产生了。...

2021-11-06 22:09:00 61

原创 Java面试一百道(第九题)-什么是HashCode?

什么是HashCode?思路:我们调用hashCode这个方法,发现取得的值是一串数字那么这个数字是什么呢,就是我们的散列码,众所周知,我们的程序在运行的时候,生成的对象都被放入了堆中,而这个散列码就是用来找我们对象的唯一标识符,如果以后国家分配女朋友了,大家就需要根据对应的身份证号去找对应的对象,程序中也是一样,会根据散列码去哈希表找这个对象。为什么需要这个hashCode?答:用hashSet的底层实现来看,因为它是居于set实现的,所以里面的值一个无需不重复的存在,当一个对象放入h

2021-11-06 22:02:58 128

原创 Java面试一百道(第八道)-List和Set的区别

List和Set的区别答:List是一个有序可重复数组,数组之间可以有多个null值,可以用迭代器迭代数据输出,也可以用get(int index)用下表取值输出;Set是一个无须不重复数组,其中的值不能重复,null也只能只有一个,只能用迭代器取值。...

2021-11-06 21:49:05 67

原创 Java面试一百道(第七题)-接口和抽象类的区别?

接口和抽象类的区别?答:抽象类可以存在普通成员函数,接口中在1.8之前,只有抽象方法,而1.8有静态和默认接口;抽象类的成员变量可以提供多个类型,接口只能是public static final 修饰;一个类只能有一个抽象类,但是可以有多个接口。在JDK1.8以后,如果说你已经写好的接口被许多子类继承,你又需要重写和新增方法给个别子类使用,就可以用到JDK1.8新增的默认和静态接口;默认方法可以选择实现与否,静态方法不能重新实现;default 定义的普通方法,通过子类对

2021-11-06 21:44:24 77

原创 Java面试一百道(第六题)-重写和重载的区别

重写和重载的区别重点:重写发生在子类继承父类的情况下,重载发生在类里面,本质上就是提供方法的多样性。定义:重载:方法名相同,参数类型不同重写:方法名相同,参数相同,子类访问修饰符大于等于父类,如果父类的修饰符是private,那么子类无法重写父类中的方法。...

2021-11-06 21:25:17 60

原创 Java面试一百道(第五道)-String,StringBuffer,StringBuilder的区别?

String,StringBuffer,StringBuilder的区别?答:String被final修饰,不可变,每次修改String中的值的时候需要建一个新的对象StringBuffer和StringBuilder则没有用final修饰,其两者的区别在于,StringBuffer使用sychronized修饰,修饰的作用在于多线程,共享变量,起到结果不被更改的作用,这个看源码就可以知道,而StringBuilder中并没有使用sychronized修饰,其两者在实现上的对比是,Sf比Sd更安全,

2021-11-06 21:20:46 64

原创 Java面试一百道(第四道)-final的作用

final的作用翻译:final 最终final修饰的类无法被继承,被final修饰的类就像那被阉割的人,不存在子类,有的话建议给子类做个亲子鉴定;final修饰方法不能被重写,但是可以重载;final修饰的变量不可更改;final修饰的成员变量必须赋值,就像你身份证上的证号一样,如果说你不一开始就设置好值,那么后续用到的时候在给自己身份证证号改值的时候,你猜我们的java编译器和人民警察会不会相信你的鬼话,所以为了不被java编译器检测到报错然后被人民警察意识到,我建议赋值。fin

2021-11-06 21:12:42 79

原创 Java面试一百道题目(第三题)-“==”和equals的区别?

“==”和equals的区别?思路:对equals源码的了解程度。“==”做的判断是基于栈中的值,基本数据类型对比变量值,而引用数据类型对比内存对象地址这样理解一下,你想要找张三的房子,但是你只有一张张三房子的照片,你把这张照片发在网上,于是你在网友的帮助下得到了好几个不同的张三地址,于是你一一去对比,终于找到了张三的房子,请问网友之间传递张三住址透露张三住址构成什么罪…啊呸,回到正题,这个时候我们的“==”,做的比较是张三家的具体住址而不是像张三的房子。“==”比较的则是两者之间的内存地址,而eq

2021-11-06 19:39:18 59

原创 Java面试一百道题目(第二题)-JDK,JRE,JVM的区别?

JDK,JRE,JVM的区别?**思路:**首先得知道这个三个东西分别代表什么JDK:java开发工具包JRE:java运行环境JVM:java虚拟机它们之间得关系就是JDK包含JRE和JVM而JRE又包含JVM,层层嵌套。一个java文件的实现步骤.java文件,通过javac.exe这个文件编译成.class文件,实现步骤可以想象成解密游戏,将a替代成1,b替代成2.。。.class文件,这个时候的文件计算机的编译器,也无法解析这个文件将它编译成汇编文件再由连接器和printf.o这

2021-11-06 19:07:25 113

原创 Java面试一百道题目(第一题)-什么是面向对象,谈谈你对面向对象的理解

Java面试一百道题目(第一题)1,什么是面向对象,谈谈你对面向对象的理解。思路:用面向过程和面向对象做对比来突出什么是面向对象。答:高级语言分为,面向对象语言和面向过程语言,面向过程语言,距离来说,我需要完成一个洗衣服的操作,那么我需要把洗衣服的每个步骤都设计好,衣服放入洗衣机,加水,加多少水,放入洗衣液,洗衣机需要洗多久,洗衣机左转多少下,右转多少下,这些所有都完成以后,开始脱水,脱水完成以后,一个“简单”的洗衣机洗衣的步骤就完成了,整个过程实现都需要我们去实现,每个细节都需要去兼顾,这就是面向过

2021-11-06 18:36:07 202

空空如也

空空如也

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

TA关注的人

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