Java 面试题整理

news/2024/9/24 20:42:49/

Java 基础

  • Java 自动装箱、拆箱(编译器自动处理)

    • 装箱: Jdk1.5 之后提供的功能、将包装类型自动转换为基本数据类型
    • 拆箱: Jdk1.5 之后提供的功能、将基本数据类型自动转换为包装类型
  • Jdk 与 Jre 的 区别

    • Jdk 是 Java 开发工具、包含了Jre 和 开发工具包
    • JRE 是 Java 运行时环境
  • == 和 equals 的区别是什么?

    • == 比较引用地址是否相同
    • equals 比较值是否相同
  • 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

    • 不对、hashCode 相同值、不一定相同, 但是值相同、hashCode 一定相同
  • java%20%E4%B8%AD%E6%9C%89%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F">final 在 java 中有什么作用?

    • 变量被final 修饰表示他是一个常量、只能被初始化赋值一次、被final修饰的类是无法被继承的
  • java%C2%A0%E4%B8%AD%E7%9A%84%20Math.round(-1.5)%20%E7%AD%89%E4%BA%8E%E5%A4%9A%E5%B0%91%EF%BC%9F">JAVA 中的 Math.round(-1.5) 等于多少?

  • String 属于基础的数据类型吗?

    • 不属于、String 是被final 修饰的包装类型
  • java%C2%A0%E4%B8%AD%E6%93%8D%E4%BD%9C%E5%AD%97%E7%AC%A6%E4%B8%B2%E9%83%BD%E6%9C%89%E5%93%AA%E4%BA%9B%E7%B1%BB%EF%BC%9F%E5%AE%83%E4%BB%AC%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F">java 中操作字符串都有哪些类?它们之间有什么区别?(String、StringBuilder、StringBuffer)
    • 拓展性 :  String 不支持 ( 每次重新赋值、都是重新创建一个对象、将对象引用切换)、StringBuilder、StringBuffer 支持
    • 安全性: String、StringBuilder 非线程安全的、StringBuffer 是线程安全的通过方法上加synchronized 内置锁实现线程安全
  • String str="i"与 String str=new String("i")一样吗

    • 不一样、第一种如果 i 被多次定义的话、会引用同一块内存地址(堆中的运行时常量池)
    • new String() 是重新在堆中创建一个对象
  • 如何将字符串反转?

    • StringBuffer 和 StringBuilder 的 reverse
  • 抽象类必须要有抽象方法吗?

    • 不是
  • 普通类和抽象类有哪些区别?

    • 抽象类是被abstract修饰的、被继承必须重写抽象方法
  • 抽象类能使用 final 修饰吗?

    • 不能、被final修饰的类不能被继承
  • 接口和抽象类有什么区别?

    • 接口是一种特殊的抽象类、内部方法 除了Jdk1.8 之后的 default 修饰的方法外、都需要被实现
    • 接口是 implement 实现、抽象类是 extend 继承
  • java%C2%A0%E4%B8%AD%20IO%20%E6%B5%81%E5%88%86%E4%B8%BA%E5%87%A0%E7%A7%8D%EF%BC%9F">java 中 IO 流分为几种?

    • 传输内容划分: 字符流、字节流
    • 传输方式分为: 阻塞、非阻塞
  • BIO、NIO、AIO 有什么区别?

    • BIO: 阻塞IO、同步阻塞、必须等待结果返回、不会释放线程
    • NIO: 非阻塞IO、Java 中 通过一个Select 监听结果是否返回、不需要线程一直等待结果返回、只需要一个Select 轮训、
    • AIO: 异步IO 、异步、当结果返回时、又系统自动触发通知
  • 重写和重载的区别

    • 重写: 子类对父类方法的一种拓展、方法名、参数、返回值必须相同
    • 重载: 对本类方法的一种增强、只需要方法名相同、参数类型、个数、返回值类型都可以不同
  • 什么是多态

    • 面向对象语言的一种特性、一个方法被不同类做出响应

        



http://www.ppmy.cn/news/1454706.html

相关文章

CUDA流和事件

CUDA通过流来实现网格级并发。 流和事件 CUDA流是一系列异步的CUDA操作,这些操作按照主机代码确定的顺序在设备上执行。流可以封装这些操作,保持操作的顺序,允许操作在流中排队,并使他们在先前的所有操作之后执行。 这些操作包…

7 - 函数式编程

文章目录 Interface函数式接口Lambda表达式语法格式替代匿名类集合迭代方法引用作用域范围this关键字 Stream流流类型创建流中间操作流过滤 filter映射 map去重 distinct排序 sorted限制 limit跳过 skipflatMap 终结操作流forEachcountmin/maxcollect匹配组合 reduce 延迟执行并…

Py深度学习基础|python中类的特殊方法-__getitem__()

1.基本介绍 在Python中,__getitem__是一个特殊方法(也常被称为“魔术方法”,即双下划线方法),它使一个类的实例对象能够支持通过键来获取其内部数据,类似于操作列表、元组或字典的方式。当你尝试使用方括号…

OpenGL 的内置矩阵种种

文章目录 一、说明二、glMatrixMode的三个选项三、OpenGL 矩阵操作四、入栈和弹出矩阵五、设置内置 OpenGL 矩阵六、矩阵设置异端七、正常矩阵 一、说明 内置 OpenGL有几个重要矩阵,围绕这几个矩阵,OpenGL 有一小组 矩阵操作。在本例中为 glMatrixMode&a…

RFC 791 (1)-导论

目录 浅论 IP是啥 IP可以管啥 操作 范例查看 提示:本系列将会开始RFC文档阅读,这里会给出我的一些笔记 浅论 我们这篇RFC文档描述的是IP和ICMP协议,我们都知道,在传统的OSI七层或者是现在被简化的五层:应用层&…

Docker 入门与实践:从零开始构建容器化应用环境

Docker 一、docker常用命令docker ps 格式化输出Linux设置命令别名 二、数据卷相关命令挂载到默认目录(/var/lib/docker)挂载到本地目录 三、自定义镜像Dockerfile构建镜像的命令 四、网络自定义网络 五、DockerCompose相关命令 一、docker常用命令 dock…

知识图谱实用网站推荐

​ 知识图谱是一种用于描述和组织的图形化表示方法,它是一种基于语义的知识表示方式,可以将各种实体、概念、属性以及关系等知识元素以图谱的形式进行展示和组织。 本文给大家分享了如何实现知识图谱中图关系的构建,以下是相关网站&#xff…

从新手到聊天专家:ChatGPT对话技巧全解析

关于为什么AI未能为你所用,许多人在拿到GPT后的首个问题便是:使用不佳。 这意味着,你可能会觉得ChatGPT的回答过于空洞,缺乏足够的参考价值。 其次,一个常见的问题是:不知如何利用。 即便拥有了GPT&#…