专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java应届生面试题

Java应届生面试题

更新时间:2022-10-14 10:16:46 来源:赢咖4 浏览907次

1.你对Java的理解是什么?

Java 是一种面向对象的编程语言 ,专门设计用于关注对象。它是由 Sun Microsystems 的 James Gosling 在 1995 年创建的高级编程语言。Java 是一种快速、安全且可靠的编程语言,可用于各种游戏、小工具和应用程序。

2.JDK和JRE有什么区别?

Java Development Kit (JDK) 是 Java Development Kit 的首字母缩写。它包括创建 Java 程序所需的工具和库。JRE 代表 Java 运行时环境,它包括用于编译 Java 程序的编译器和调试器。这是JDK的一个特性。JRE 是运行 Java 程序所必需的一组库和虚拟机 (JVM)。

3. Java 编程语言的特点是什么?

面向对象: Java 遵循面向对象的技术,并使用一个类中的对象集合来执行任何操作。

安全:非常安全,因为它不会产生堆栈溢出等任何安全问题。这是因为它没有使用指针的概念。

稳健: Java 强大且可靠,因为它可以及早发现错误并避免垃圾收集、内存分配和异常处理等问题。

简单: Java 易于学习,不需要使用指针或多重继承等高级编程概念。

平台无关:因为我们在任何操作系统上编译和执行的代码都是一样的,Java 是平台无关的。这意味着代码可以在一个系统上编译并在另一个系统上运行。

多线程:支持多线程思想,这意味着我们可以同时运行两个或多个程序,最大限度地提高 CPU 利用率。

出色的性能: Java 利用即时编译器确保高性能。

动态:与 C 或 C++ 等其他编程语言相比,Java 更具动态性。这是因为它可以携带大量运行时信息,我们可以使用这些信息来验证运行时对象的访问。

4. JVM分配的内存区域有哪些不同类型?

在 java 中,JVM 将内存分配给不同的进程、方法和对象。JVM 也依赖于平台。JVM 提供执行 java 文件的环境。JVM分配的一些内存区域是:

ClassLoader:它是JVM的一个组件,用于加载类文件。

类(方法)区:它存储每个类的结构,例如运行时常量池、字段和方法数据以及方法的代码。

堆:堆创建了一个运行时,它包含分配对象的运行时数据区。

堆栈: 堆栈在运行时存储局部变量、引用变量和部分结果。它还有助于方法调用和返回值。每个线程在创建线程时都会创建一个私有 JVM 堆栈。

程序计数器寄存器:此内存区域包含当前正在执行的 Java 虚拟机指令的地址。

本机方法堆栈:此区域为应用程序中使用的所有本机方法保留。

5. Java平台与其他平台有何不同?

以下是 Java 平台与其他平台之间的主要区别:

Java 平台是一个纯软件平台,可在其他基于硬件的平台之上运行;其他平台主要是硬件软件或纯硬件,只能在硬件上运行。在任何操作系统上,程序员都可以编写 Java 代码。Java 字节码可以在任何支持它的平台上运行。

另一方面,其他语言需要为特定平台开发的库才能运行。

6. 可以把main方法写成public void static而不是public static void吗?

不,你不能这样写。任何方法都必须先指定修饰符,然后是返回值。修饰符可以按任何顺序重新排列。

代替 public static void main(),我们可以使用 static public void main()。

7.什么是核心java?

Sun 对 Java SE、标准版以及 Java 虚拟机、CORBA 等一组相关技术的指定是“Core Java”。例如,这主要是为了将其与 Java ME 或 Java EE 区分开来。还值得注意的是,它们指的是库集合而不是编程语言。

8. java中的数组是什么?

存储固定数量的单一类型值的容器对象称为数组。数组的长度在创建时确定。它的长度在创建时设置。

9. Java中字节和字符数据类型有什么区别?

byte 和 char都是Java 中的数字数据类型,它们可以表示一个范围内的整数,但它们有着根本的不同。byte 和 char 数据类型的主要区别在于前者用于存储原始二进制数据,而后者用于存储字符或文本数据。字符文字可以存储在 char 变量中,

例如,char ch ='x'; 字符文字用单引号括起来。byte 变量可以存储 -128 到 127 之间的任何值,但 char 变量可以存储 0 到 255 之间的任何值。

10. 为什么我们需要Java中的构造函数?

Java 是一种面向对象的编程语言,它允许我们构建和操作事物。构造函数类似于方法,因为它是一段代码。它用于制作对象并设置实体的初始状态。构造函数是与类同名的独一无二的函数。没有构造函数就没有其他方法可以创建对象。默认情况下,Java 中的每个对象都有一个默认的函数构造函数。

11.Java支持多少种构造函数?

Java 支持以下构造函数:

默认或非参数化构造函数

参数化构造函数

复制构造函数

12. 为什么Java中的构造函数不能是final、static或abstract?

我们知道static关键字指的是一个类而不是一个类的对象。不使用静态构造函数,因为在创建类对象时会调用构造函数。要考虑的另一点是,如果我们指定静态函数构造函数,我们将无法从子类访问或调用它。因为我们知道,虽然类中允许使用静态,但子类中不允许使用静态。

当我们将一个方法标记为final 时,我们是在说我们不希望任何其他类覆盖它。但是,构造函数不能更改(根据 Java 语言规范)。因此,将其指定为 final 是没有意义的。

当我们将方法标记为抽象时,我们表明它没有主体,应该在子类中实现。然而,当使用 new 关键字时,构造函数被隐式调用。因此,它需要一个身体。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>