Java基础常见面试题复习合集1

目录

1.JDK,JRE,JVM三者去区别

[2.String , StringBuffer , StringBuilder 这三个类的区别及使用场景](#2.String , StringBuffer , StringBuilder 这三个类的区别及使用场景)

3.重载和重写的区别

4.接口和抽象类的区别

5.List和Set的区别


1.JDK,JRE,JVM三者去区别

JDK是 Java开发工具 ,提供给开发人员使用的

JRE是 Java运行时环境,提供给运行Java程序的用户来用的, 谁运行java程序谁要用

JVM是Java虚拟机,是用来解释class文件,解释成机器码,让操作系统能执行

JDK包含了JRE,JRE又包含了JVM

JDK=JRE+Java工具(javac,java等)

JRE=JVM+类库(lib)

一次编译到处运行,class文件在不同操作系统下的JVM都能运行,因为JVM本身在不同操作系统下做了适配。

2.String , StringBuffer , StringBuilder 这三个类的区别及使用场景

String是final修饰的,不可变,每次操作都会产生新的String对象

StringBuffer和StringBuilder都是在原对象上操作

StringBuffer是线程安全 的,StringBuilder线程不安全的

StringBuffer方法都是synchronized修饰的

性能: StringBuilder > StringBuffer > String

场景:经常需要改变字符串内容时使用后面两个

在所有的场景下,优先使用StringBuilder,

当变量为共享变量 ,且在多线程 情况下,要保证结果 正确,使用共享变量时使用StringBuffer

**3.**重载和重写的区别

重载 :发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。

重写 :发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为private则子类就不能重写该方法。

下面这个是重载吗-----》不是,编译错误

public int add(int a,String b)

public String add(int a,String b)

//编译报错

4.接口和抽象类的区别

  • 抽象类 可以存在抽象方法,普通成员变量,普通方法,构造方法,而接口中默认方法是public abstract方法(可省略),也可有static静态和default默认方法(要有方法体)。
  • 抽象类 中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。
  • 抽象类 只能继承一个,接口可以实现多个。

5.List和Set的区别

List :有序 ,按对象进入的顺序保存对象,可重复 ,允许多个Null元素对象,可以使用Iterator取出所有元素,在逐一遍历,还可以使用get(int index)获取指定下标的元素(即可以随机访问)

Set :无序,不可重复 ,最多允许有一个Null元素对象,取元素时只能用Iterator接口取得所有元素,在逐一遍历各个元素

相关推荐
m0_587383005 分钟前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·20 分钟前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
专注仿真21 分钟前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
怕浪猫43 分钟前
2028编程圈很火的10个Skills
算法·面试·github
Best-Wishes1 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停1 小时前
自动化测试(java)
java·开发语言·selenium·自动化
滕州市燕猫虎计算机科技工作室个体工商户1 小时前
《Rust程序设计》学习笔记八:结构体
笔记·学习·rust·rust程序设计
上海广测检测科技有限公司2 小时前
消费类智能联网设备安全分级国标征求意见要点解析:三级五维框架与跨境对标逻辑
网络·经验分享
志尊宝3 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
oooost3 小时前
pytorch学习笔记1
python·学习方法