JAVA面试必刷题

本文主要探讨Java面试中常见的问题,包括JDK与JRE的区别、基本数据类型与引用数据类型的辨析、==与equals的区别、String类常用方法、接口与抽象类的不同、List、Set、Map的区别以及HashMap的实现原理等核心概念。此外,还涉及线程、进程、ArrayList与LinkedList的差异以及线程创建方式等知识点。
摘要由CSDN通过智能技术生成
  • Java基础

  1. JDK 和 JRE 有什么区别?

JDK是整个java的核心,是Java开发工具包,包括JRE,Java工具和一些基础类库。

JRE是运行Java程序所必须环境集合,包含了JVM和Java程序的核心类库。

JVM是整个Java实现跨平台的最核心部分,能够在不同系统中运行以Java编写的Java程序。

  1. 如何区分基本数据类型和引用数据类型?

  1. 基本数据类型:基本数据类型分为8种,除了8种基本类型,其他所有数据类型都是引用数据类型。

(1)整数类型:Long、int 、short、byte

(2)浮点类型:float、double

(3)字符类型:char

(4)布尔类型:boolean

  1. 引用数据类型:引用数据类型非常多,大致包括:

类、接口类型、数组类型、枚举类型、注解类型、字符串型(例:String类型就是引用类型)

  1. 基本数据类型和引用数据类型的区别:

基本数据类型

在方法中定义的基本数据类型具体内容是存储在栈当中中。

引用数据类型

引用类型的具体内容则存储在堆内存中,而栈中存储的是它存放的内存地址

  1. == 和 equals 的区别是什么?

代码解读:

A和B都指向同一个引用地址,所以A==B的结果为true,而C则是通过关键字new出来的,就会在堆内存中开辟一块新的空间,所以A==C的结果为false。

equals方法它默认比较的是引用地址,只不过是String和Integer对equals方法进行了重写,改变为值的比较,所以输出结果均为true。

  • ==在比较基本类型和引用类型中具有不同的效果:

  1. 基本类型:比较的是值

    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值