• JAVA面试所问到的问题


    由于一直都在面试找工作,所以在面试的过程中,遇到的公司不同,所做的要求也都不一样,技术面问到的问题也都不尽一致。所以在此记录一下每一次面试所会遇到的问题,方便自己总结经验。

    • 基础类最重要
    • 线程多次遇到
    • 框架一直都问

    基础知识

    JAVA的八大基础类型

    种类

    类型

    整型

    byte、short、int、long

    浮点型

    float、double

    逻辑型

    boolean

    字符型

    char

    其中它们按照字节位数来划分

    位数

    类型

    8位

    byte

    16位

    short、char

    32位

    int、float

    64位

    long、double

    其他

    boolean(true、false)

    面向对象的三大特征

    特征:多态、封装和继承

    • 其中在多次面试中都有问到多态的例子

    • 多态性:允许不同对象对于同一个消息做出不同的行为方式

    • 多态的实现方式有:接口的实现、继承父类对方法重写、同一方法内的方法重载

    String、StringBuffer和StringBuilder的区别

    这也是一个经常会被问到的问题,对于三者的比较一直都会在面试中出现,现在对他们的区别做一个简单的总结

    • String对象是不可变的,StringBuffer和StringBuilder是可变的对象,所以在对他们进行改变的时候,String其实是生成了一个新的对象,通过指针来指向新的对象,而其他两个是对对象本身进行操作,并没有产生新的对象。
    • StringBuffer和StringBuilder的区别:StringBuffer是线程安全的,StringBuilder是线程不安全的。StringBuffer中的方法加了同步锁,所以牺牲了速度保证线程安全。

    int和Integer的区别

    JAVA为了编程的方便,引入基本的数据类型,如以上所说的八大基本类型,同时为了能够把这些基本的数据类型当作是对象来使用,同时也为每一个基本数据类型封包装了包装类型。

    • 基本数据类型:byte、short、int、long、float、double、char、boolean

    • 相对应的包装类型:Byte、Short、Integer、Long、Float、Double、Charater

    • 为什么引入包装类型:在进行类型转换的时候要用到对象引用方法(下次更新添加各种类型相互之间的转换)

    • 给出两个Integer对象的值,比较他们返回的结果是否相等,例如以下代码。

      public class Test {
      public static void main(String[] args) {
      Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;
      System.out.println(f1 == f2);
      System.out.println(f3 == f4);
      }
      }

    以上输出的结果为第一个为true,第二个为false。由于int整型的取值范围为-128到127之间,所以在这之间的数值是直接通过引用Integer取值池中的值,而超过这个范围的会new一个Integer对象,而两个值虽然一样,但是他们的地址不一样,所以返回结果为false。

    =和equals的区别

    比较类型和比较值是否相同,无非就是比较两种:基本数据的比较和引用对象的比较。

    • 基本数据类型存储在内存中的栈中,而对象引用是栈只存储引用类型的地址,而本身的值是存储在堆中的。
    • ==对于基本数据类型比较的是他们两个变量本身的值是否相等,而对于引用对象比较的是两个变量存储在栈中的地址是否一致。
    • equals表示的是两个变量是否是对同一个对象的引用,也就是比较他们存储在堆中的内容。
    • equals比较返回为true的两个对象==不一定返回true

    post和get的区别

    区别是面试的时候最经常遇到的问题了,一下子就能看出一个人的基本

  • 相关阅读:
    2024届 C++ 刷题 笔试强训 Day 02
    Higg FEM的一些小技巧
    Oracle-ADG无法应用日志问题(Bug-17695685)
    Midjourney入门:AI绘画真的能替代人类的丹青妙笔吗?
    P3381 【模板】最小费用最大流
    node exec(“clip“) 复制到剪切板 乱码
    以用户需求为核心能玩出什么新花样?魅族 19 主理人计划构建理想机型
    rosparam参数传递不成功
    Mac显示隐藏文件目录
    【案例分享】华为防火墙出接口方式的单服务器智能DNS配置
  • 原文地址:https://blog.csdn.net/m0_54853503/article/details/126033768