【面经总结】Java基础 - 语言特性

参数传递

形参和实参的区别是什么?

形参:方法定义的参数

实参:调用方法实际传入的参数

Java是值传递还是引用传递?

Java是值传递:将数据拷贝一份传递

  • 基本参数类型:拷贝字面量
  • 引用类型(对象):拷贝对象地址

值传递和引用传递区别是什么?

  1. 值传递:方法接收的是实参值的拷贝会创建副本
  2. 引用传递:方法接收的直接是实参所引用的对象在堆中的地址不会创建副本,对形参的修改将影响到实参。

为什么 Java 要设计成值传递?

  1. 简化理解:值传递的语义比较简单和直接。
  2. 安全性:避免方法对原始变量的意外或恶意修改

Final 关键字

Final 的作用是什么

final 是关键字。

  1. 修饰类:类不能被继承
  2. 修饰变量:变量不能被修改(常量)
  3. 修饰方法:方法不能被重写

final、finally、 finalize有什么不同?

  • final :关键字
  • finally:保证代码一定要被执行的一种机制。比如 try-finally 或者 try-catch-finally 去关闭 JDBC 连接等
  • finalize:是 Object 类的一个方法,允许对象在被垃圾收集器回收之前执行一些特定的清理操作,比如关闭文件、释放网络资源等。(JDK 9 后已经过时)

为什么 finalize 被弃用

无法保证 finalize 什么时候执行,执行的是否符合预期。

可以使用 try-with-resources 或者 try-finally 代替。

try-with-resources:

with-resources 部分实际上是指在 try 关键字后面的小括号中的资源声明。这些资源会在 try 语句块执行完毕后自动关闭。

// 使用 try-with-resources 语句读取文件内容
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
    String line;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

static 关键字

static 的作用

方便在没有创建对象的情况下来进行访问、调用和共享。

  1. static 修饰方法:可以直接通过类名调用
  2. static 修饰变量 (静态变量):变量属于类而不是对象
  3. static 静态代码块:在创建对象前执行的代码。

static 的底层原理:

  1. 堆:用于存储对象的内存区域。堆区是由 JVM 管理的,被所有线程共享的。
  2. 栈:每个线程有一个独立的栈区。栈保存基本数据和对象的引用地址。
  3. 方法区 (静态区):被所有线程共享,保存类信息、静态变量、静态方法。

堆内存中的成员变量会随着对象的产生而产生,随着对象的消失而消失。静态变量是所有线程共享的,与对象无关不会消失。

static 和 final 的区别

语义方向

  • static 关键字:用于声明类级别的成员,使得这些成员可以在没有实例的情况下被访问和共享。
  • final 关键字:用于声明常量、方法或类,使得这些不能被修改、重写或继承。
java面经-百度准入职老哥整理.pdf》是一份关于百度准入职面试的Java面经整理。这份面经是由百度准入职的老哥整理而成,其中记录了一些面试时可能会遇到的问题以及解答方法。 这份面经对于准备参加百度准入职面试的人来说非常有价值。首先,它列出了一些常见的面试问题,涵盖了Java语言的各个方面,包括基础知识、数据结构与算法、设计模式、多线程、网络编程等等。通过仔细研究和复习这些问题的答案,可以帮助面试者全面了解Java语言特性和应用。 其次,这份面经还提供了问题的解答思路和方法,帮助面试者理清思路,正确回答问题。这对于很多面试者来说特别有帮助,因为在面试时有时会遇到一些棘手的问题,有了这份面经的指导,面试者可以更好地掌握应对策略。 不过需要注意的是,面经作为一份参考资料,不能完全依赖于它来准备面试。面试官可能会问一些不在面经中列出的问题,因此考生还是需要自己对Java语言有充分的了解,并能够熟练运用。同时,面试官还会关注考生的沟通能力、解决问题的能力以及对新技术的学习和掌握能力。 总体来说,《java面经-百度准入职老哥整理.pdf》是一份非常宝贵的资料,可以帮助面试者对Java面试中可能会遇到的问题有更深入的了解,提供了解答思路和方法。但记住,面试准备还需要多方面的知识积累和实践经验的积累,才能在面试中展现自己的优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wmh1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值