JAVA基础面试题

本文围绕Java展开,介绍了JDK、JRE、JVM区别及跨平台原理,阐述了字节码好处。对比了Oracle JDK和Open JDK,讲解基本数据类型、访问修饰符等。还涉及面向对象特性、多态实现、内部类等知识,以及反射机制、字符串处理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java概述

JDK和JRE和JVM的区别

JDK :Jdk包括了一些Jre之外的东西 ,就是这些东西帮我们编译Java代码的, 还有就是监控Jvm的一些工具,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了

JRE :Jre大部分都是 C 和 C++ 语言编写的,它是我们在编译java时所需要的基础类库 Java

Runtime Environment和Java程序所需的核心类库等

Jvm:就是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。

什么是跨平台性?原理是什么?

跨平台性是指java程序在一次编译后,可以在多个系统平台上运行。

实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,就可以运行java程序。

什么是字节码?采用字节码的最大好处是什么?

字节码:

Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),只面向虚拟机。

采用字节码的好处:

Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。

Oracle JDK和Open JDK的对比

1. Oracle JDK版本将每三年发布一次,而OpenJDK版本每三个月发布一次;

2. OpenJDK 是一个参考模型并且是完全开源的,而Oracle JDK是OpenJDK的一个实现,并不是完全开源的;

3. Oracle JDK 比 OpenJDK 更稳定。

4. 在响应性和JVM性能方面,Oracle JDK提供了更好的性能。

Java基本数据类型

整数类型(byte,short,int,long)

浮点类型(float,double)

字符型(char)

布尔型(boolean)

Java语言采用何种编码方案?有何特点?

Java语言采用Unicode编码,它为每个字符制订了一个唯一的数值,因此在任何的语言,平台,程序都可以放心的使用。

访问修饰符public、private、protected以及默认的区别

定义:Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。

分类

public : 对所有类可见。

private : 在同一类内可见。

protected : 对同一包内的类和所有子类可见。

default : 在同一包内可见,不使用任何修饰符。

&和&&的区别

&&运算符是短路与运算。逻辑与跟短路与,二者都要求运算符左右两端布尔值都是true 整个表达式的值才是true。&&之所以称为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。

Final有什么用

被final修饰的类不可以被继承

被final修饰的方法不可以被重写

被final修饰的变量不可以被改变

this关键字的用法

this是自身的一个对象,代表对象本身

this有3种用法:

  1. 普通的直接引用,this相当于指向当前对象本身
  2. 形参与成员名字重名,用this来区分
  3. 引用本类的构造函数

Super关键字的用法

super可以理解为是指向自己超(父)类对象的一个指针,而这个父类指的是离自己最近的一个父类。

Super有三种用法:

  1. 普通的直接引用
  2. 子类中的成员变量或方法与父类中的成员变量或方法同名时,用super进行区分
  3. 引用父类构造函数

this和super的区别

super:它引用当前对象的直接父类成员

this:代表当前对象名

super()和this()类似,区别是super()在子类中调用父类的构造方法,this()在本类内调用本类的其它构造方法。

super()和this()均需放在构造方法内第一行。

this和super不能同时出现在一个构造函数里面&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值