2024最新!!Java后端面试题(1)看这一篇就够了

hello uu们 感谢收看!!!!我最近听了一首歌《21》,真的很感慨,马上步入20的我也感觉时间真的飞快...望大家都能过上理想的生活,不负内心的所托...

正如人民日报所言,“请你努力,为了自己。”

一、Java基础

  1. JDK 和 JRE 有什么区别?

    • **JDK(Java Development Kit)**是开发工具包,包含了用于开发Java应用程序的工具,如编译器(javac)、调试器和JRE。它提供了开发Java应用所需的所有环境和工具。
    • **JRE(Java Runtime Environment)**是Java运行环境,提供了运行Java程序所需的环境,包括JVM(Java Virtual Machine)、核心类库和其他支持文件。它不包括开发工具,因此不能用于开发应用。
  2. == 和 equals 的区别是什么?

    • **==**运算符用于比较对象的引用(内存地址),即判断两个对象是否是同一个对象。
    • **equals()**方法用于比较对象的内容,判断两个对象的属性是否相等。在默认情况下,equals()方法与==相同,但可以在类中重写以实现内容比较。
  3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

    • 不一定。根据Java的规范,如果两个对象相等(即equals()返回true),则它们的hashCode()值必须相同。但是,两个不同的对象也可能产生相同的hashCode(哈希碰撞)。所以仅根据hashCode相同不能判断equals为true。
  4. final 在 Java 中有什么作用?

    • final关键字用于限制类、方法和变量。用法如下:
      • :被final修饰的类不能被继承。
      • 方法:被final修饰的方法不能被重写。
      • 变量:被final修饰的变量一旦赋值后,不可改变。
  5. java 中的 Math.round(-1.5) 等于多少?

    • Math.round(-1.5)等于-1。根据浮点数的舍入规则,负数会向上取整(趋向于零)。
  6. String 属于基础的数据类型吗?

    • 不属于。String是一个对象类型,属于Java中的引用数据类型。尽管String有时被称为基础类型,但它实际上是由java.lang.String类实现的。
  7. java 中操作字符串都有哪些类?它们之间有什么区别?

    • String:不可变的字符序列,一旦创建后不能被修改。
    • StringBuilder:可变字符序列,线程不安全,适用于单线程环境下进行大量字符串拼接。
    • StringBuffer:可变字符序列,线程安全,适用于多线程环境下的字符串操作。
  8. String str="i"与 String str=new String("i")一样吗?

    • 不一样String str = "i"; 是字符串常量池中的引用,而String str = new String("i"); 创建了一个新的String对象,不会复用常量池中的字符串。因此,常量池中的"i"new String("i")内存地址不同。
  9. 如何将字符串反转?

    • 可以使用StringBuilder的reverse()方法:
      String reversed = new StringBuilder(original).reverse().toString();
      

  10. String 类的常用方法都有那些?

    • 常用方法包括:
      • length()
      • charAt(int index)
      • substring(int beginIndex, int endIndex)
      • indexOf(String str)
      • toLowerCase()/toUpperCase()
      • trim()
      • replace()
      • split(String regex)
      • contains(CharSequence sequence)
  11. 抽象类必须要有抽象方法吗?

    • 不必须。抽象类可以没有抽象方法,但它不能被实例化。
  12. 普通类和抽象类有哪些区别?

    • 普通类可以被实例化,抽象类不能。
    • 抽象类可以包含抽象方法,普通类不能。
    • 抽象类可以有构造函数,普通类也可以;但抽象类的构造函数只用于子类。
  13. 抽象类能使用 final 修饰吗?

    • 可以。使用final修饰的抽象类不能被继承。
  14. 接口和抽象类有什么区别?

    • 接口只能包含抽象方法(Java 8及以后的版本可以有默认方法和静态方法),而抽象类可以有方法的具体实现。
    • 接口支持多重继承,一个类可以实现多个接口;而一个类只能继承一个抽象类。
    • 接口中的变量默认是public static final,而抽象类的变量可以有不同的访问修饰符。
  15. java 中 IO 流分为几种?

    • IO流主要分为两大类:
      • 字节流:用于处理二进制数据,如InputStream和OutputStream。
      • 字符流:用于处理字符数据,如Reader和Writer。
  16. BIO、NIO、AIO 有什么区别?

    • BIO(Blocking I/O):传统的阻塞I/O方式,每个请求都需要一个线程,适合小量并发的场景。
    • NIO(Non-blocking I/O):非阻塞I/O,支持多路复用;通过选择器(Selector)实现,它允许单线程处理多个客户端的连接,适合大并发的场景。
    • AIO(Asynchronous I/O):异步I/O,允许操作在后台进行,不会阻塞主线程;通过回调机制可以实现更高的并发性能。
  17. Files的常用方法都有哪些?

    • Files.readAllLines(Path path):将文件全部读取为一行的列表。
    • Files.write(Path path, Iterable<? extends CharSequence> lines):写入文本内容。
    • Files.copy(Path source, Path target):复制文件。
    • Files.delete(Path path):删除文件。
    • Files.exists(Path path):检查文件是否存在。
    • Files.createFile(Path path):创建新文件。
    • Files.move(Path source, Path target):移动或重命名文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1550179.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP协议代码实现

目录 一. 服务端模块实现 二. HTTP协议模块实现 2.1 HTTP请求部分&#xff1a; 2.2 HTTP响应部分&#xff1a; 2.3 工厂类部分&#xff1a; 2.4 HTTP服务端部分&#xff1a; 2.5 回头处理业务处理函数&#xff1a; 三. 调用服务端模块实现 四. 具体效…

【含文档】基于Springboot+Vue的高校奖助学金系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

柯桥学英语商务口语中老外最爱说的“what‘s up“是什么意思?回答错超尴尬!

“Whats up&#xff1f;” 在看美剧或者和老外聊天的时候 我们总能听到这句话 那你知道这句老外很爱说的 “whats up”是什么意思吗&#xff1f; 快和小编一起来学习吧~ 01 whats up 怎么理解&#xff1f; 很多人觉得Whats up就是更地道的“How are you”&#xff0c;嗯………

【vue3】防抖与节流

1.防抖 &#xff08;多次触发 只执行最后一次&#xff09; 作用&#xff1a; 高频率触发的事件,在指定的单位时间内&#xff0c;只响应最后一次&#xff0c;如果在指定的时间内再次触发&#xff0c;则重新计算时间防抖类似于英雄联盟回城6秒&#xff0c;如果回城中被打断&…

怎么查看员工电脑安装了什么软件

1、使用专业监控软件&#xff1a;安装如金刚钻信息网站行为审计系统、WorkWin等专业的电脑监控软件。这些软件能够实时监控员工的电脑操作&#xff0c;包括安装的软件、运行的程序等。通过软件的管理端&#xff0c;您可以轻松查看员工电脑上安装的所有软件&#xff0c;并可以设…

Library介绍(二)

时序弧&#xff08;timing arc&#xff09; 描述2个节点延迟信息的数据&#xff0c;可以分为net delay和cell delay两大类。 Net delay: drive cell output pin和drived cell input pin之间的net delay&#xff0c;取决于net rc和drive cell驱动能力及drived cell的load。 C…

为什么需要数字集群手持终端?应用优势

在当今社会&#xff0c;无论是应急响应、企业运营还是政府管理&#xff0c;高效、可靠的通讯手段都是成功的关键因素。数字集群手持终端&#xff0c;作为现代通信技术的代表&#xff0c;正成为提升通信效率和确保信息安全的强大工具。据统计&#xff0c;我国的数字集群网络已发…

红蓝攻防实战技术———实战化运营体系的落地

大家好&#xff0c;我是herosunly。985院校硕士毕业&#xff0c;现担任算法研究员一职&#xff0c;热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委&#xff0c;编写微软OpenAI考试认证指导手册。曾获得阿里云天池比赛第一名&#xff0c;CCF比赛第二…

ZYNQ:点亮LED灯

FPGA 开发流程 1、需求分析&#xff1a;分析需要实现什么功能 2、系统设计&#xff1a;对系统进行设计&#xff0c;需要哪些模块&#xff0c;实现什么功能&#xff0c;数据流怎么走&#xff0c;带宽、工作频率怎么样 3、硬件选项&#xff1a;根据功能、性能需求选择合适的FPGA…

安防区域保护:无线电干扰设备技术详解

在安防区域保护中&#xff0c;无线电干扰设备技术扮演着重要角色&#xff0c;它主要用于通过发射特定频率的无线电波来干扰无人机或其他无线电设备的通信链路、导航信号或控制信号&#xff0c;以达到削弱、阻断甚至控制这些设备运行的目的。以下是对无线电干扰设备技术的详细解…

宝塔环境下MinDoc的安装教程

安装 本教程只适用于CentOS 7&#xff0c;其它系统教程参考&#xff1a;Github地址。 1、下载MinDoc并解压 访问https://github.com/mindoc-org/mindoc/releases下载最新版本并解压 #创建一个目录 mkdir mindoc && cd mindoc#一般宝塔带wget和unzip&#xff0c;如果…

大数据新视界 --大数据大厂之Cassandra 分布式数据库在大数据中的应用与调优

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

Open WebUI部署自己的大模型

相关代码地址见文末 1. 概述 Text Generation WebUI 是一个基于网页的界面,提供使用不同语言模型(如Transformers、Llama、ExLlamav2等)进行文本生成的功能。该软件支持以下主要功能: 模型加载:支持从多种框架加载单个或多个LoRA。LoRA微调:在支持的加载器上进行低秩适…

ArcgisEngine开发中,Ifeatureclass.Addfield 报错0x80040655处理方法

1、ArcgisEngine开发中&#xff0c;Ifeatureclass.Addfield 报错0x80040655。如下图所示。 2、经分析&#xff0c;这是由于字段类型错误&#xff0c;经检查&#xff0c;是由于字段名为中文名&#xff0c;超出shp格式的最大字段长度量&#xff0c;看资料说是5个中文字符&#xf…

关于BSV区块链覆盖网络的常见问题解答(上篇)

​​发表时间&#xff1a;2024年9月20日 在BSV区块链上的覆盖网络服务为寻求可扩展、安全、高效交易处理解决方案的开发者和企业家开辟了新的视野。 作为开创性的曼达拉升级的一部分&#xff0c;覆盖网络服务提供了一个强大的框架&#xff0c;用于管理特定类型的交易和数据访问…

城市应急演习演练三维电子沙盘推演系统

深圳易图讯科技(www.3dgis.top)城市应急演习演练三维电子沙盘推演系统&#xff0c;依托大数据、云计算、虚拟现实等先进技术&#xff0c;集成了高清卫星影像、地形数据、实景三维模型等多元信息&#xff0c;真实模拟城市应急场景。该系统通过三维可视化展示和交互操作&#xff…

Pytorch 学习手册

零 相关资料 官方网址 官方网址下的API搜索网站 一 定义 深度学习框架是用于设计、训练和部署深度学习模型的软件工具包。这些框架提供了一系列预定义的组件&#xff0c;如神经网络层&#xff08;卷积层、全连接层等&#xff09;、损失函数、优化器以及数据处理工具&#xf…

Mybatis-Mapper接口方式

目录 配置方式和接口方式的区别 示例&#xff1a;Mapper接口方式实现数据库的CRUD 配置方式和接口方式的区别 Mybatis框架在配置方式的情况下&#xff0c;对数据库的CRUD操作直接通过SqlSession对象来操作&#xff0c;常用的方法有select、insert、update、delete等方法&…

免费送源码:Java+B/S+ssm+MySQL 公众养老服务网上预订系统 计算机毕业设计原创定制

摘 要 本论文主要论述了如何使用JAVA语言开发一个公众养老服务网上预订系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;SSM框架进行开发。在引言中&#xff0c;作者将论述公众养老服务网上预订系统的当前背景以及系统开发…

基于STM32的无人驾驶汽车路径规划与视觉识别系统

目录 引言项目背景环境准备 硬件准备软件安装与配置系统设计 系统架构关键技术代码示例 摄像头图像采集与处理路径规划算法实现实时视觉障碍物检测电机控制与执行应用场景结论 1. 引言 无人驾驶技术是当前自动化和人工智能领域的热门课题之一&#xff0c;涉及到复杂的感知、…