首页 > 编程语言 >java面试

java面试

时间:2022-08-26 22:44:09浏览次数:64  
标签:JRE java 数组 JDK equals 面试 JVM

1.ArrayList 和 LinkList

字面上来看,两个都实现了List接口。

ArraryList是基于索引的数据接口,底层是数组,以O(1)时间复杂度对元素进行随机访问。LinkList以元素列表的形式存储数据,还会存储指向下一个节点的指针,本质是双向链表,有头尾节点,首尾指针,以O(n)时间复杂度对进行查找元素。

很多插入,添加,删除的操作使用LinkList,因为当元素被添加到集合的任意位置的时候,改变指针方向就行,不需要项数组一样重新计算大小或者跟新数组。缺点是更占内存。

很多查询的时候,选择ArrayList。

2.JDK  包含 JRE  包含 JVM

JDK:java标准开发包,提供了编译运行java程序所需的工具和资源。如果单写java程序,用txt就可以了,那么要运行jiava程序就需要JDK。

JRE(java运行环境) 和JVM(java虚拟机)都是运行java的字节码文件,JVM是JRE的一部分。比如*.class文件就需要JRE了。

3.HashCode()和equals()之间的关系

在比较两个对象是否相等时,会先调用对象的HashCode()方法得到HashCode进行比较,一样在通过equals()方法确定两个对象是否相等。

4.String StingBuffer StringBuilder 区别

String是不可变的,如果要去修改,会新生成一个字符串对象,另外两个是可变的。append方法

StingBuffer是线程安全的,StringBuilde是线程不安全的,所以单线程环境StringBuilde效率更高。

5.== 和equals方法

 

 6.List 和Set 的区别

 7HashMap 和HashTable 和底层实现

key为null时,放在数组0上。数组和链表都是存储节点数据上的。

 

标签:JRE,java,数组,JDK,equals,面试,JVM
From: https://www.cnblogs.com/zfx5201314/p/16625632.html

相关文章

  • JavaScript中的面向对象及原型和原型链
    一、面向对象概述:面向对象是一种编程思维(oopObjectOrientedProgramming),简单来说就是对应的对象做对应的操作,面向对象的核心就是将内容抽取为属性、将行为抽取为方法二......
  • java学习笔记015 集合
    1.集合Collection List 有序,可重复 Set 无序,不可重复Map key<==>value2.Collection接口通用的方法 boolean add(Ee) boolean addAll(Collectioncoll) int......
  • 面试相关
    初级软件测试工程师,什么东西是能被公司看重的亮点?1.经历过大型项目--至少测试组3个人以上,且版本经历在10以上3个测试,可以做什么项目?花椒直播,初版本,3个测试......
  • 【Java学习Day07】标识符
    标识符Java使用的组成部分的需要名字。类名、变量名以及方法名都被称为标识符标识符的注意点所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始首字符之......
  • day27--Java集合10
    Java集合1021.集合家庭作业21.1Homework01按要求实现:封装一个新闻类,包括标题和内容属性,提供get、set方法,重写toString方法,打印对象时只打印标题;只提供一个带参数......
  • Java Script运动
    一、运动概述运动原理:JavaScript实现运动的原理,就是通过定时器不断改变元素的位置,直至到达目标点后停止运动。通常,要让元素动起来,我们会通过改变元素的left和top值......
  • JAVA基础-jar包和war包的区别
    转载:https://juejin.cn/post/7086099522903883790jar包:是与平台无关的文件格式,允许将多个文件组合成一个压缩文件,以zip文件格式为基础,不同的是jar文件不仅用域压缩和发布,......
  • mabties Mapper 实体类与数据库字段不匹配问题,java.sql.SQLSyntaxErrorException: U
    实体类与数据库字段不匹配问题,java.sql.SQLSyntaxErrorException:Unknowncolumn'xxx'in'fieldlist'控制台报错Errorqueryingdatabase.Cause:java.sql.SQLS......
  • javascript怎么判断字符串是否是数字
    在javascript中,可以利用Number()函数和isNaN()函数来判断字符串是否是数字,语法“isNaN(Number("字符串",10)”;如果返回true,则该字符串不是数字,否则是数字。javascript判断......
  • 2022-8-25 第四组 曹雨 Java script HTML元素操作,BOM
    对HTML元素的操作获取某个元素的属性的值:方法1:元素.属性名特别注意:元素.属性名的方式只适用于元素原生的属性,自定义的属性是拿不到的例子:console.log(div.id)方法2:......