后端经典面试题合集

目录

  • [1. Java基础](#1. Java基础)
    • [1-1. JDK 和 JRE 和 JVM 分别是什么,有什么区别?](#1-1. JDK 和 JRE 和 JVM 分别是什么,有什么区别?)
    • [1-2. 什么是字节码?采用字节码的最大好处是什么?](#1-2. 什么是字节码?采用字节码的最大好处是什么?)

1. Java基础

1-1. JDK 和 JRE 和 JVM 分别是什么,有什么区别?

  1. JDK 是Java开发工具包,包含了编译器、调试器、文档生成器等一系列开发Java程序所需要的工具包,也包含了JRE。
  2. JRE 是Java运行时环境,包括了JVM 和 Java 标准类库(Java API)。用于在计算机上运行 Java 程序。
  3. JVM 是Java虚拟机,主要作用是将 Java 代码转换为可以在计算机上运行的机器码,并负责程序的执行。

1-2. 什么是字节码?采用字节码的最大好处是什么?

  1. 字节码是 Java 程序编译后的代码。可以在任何支持 Java 虚拟机(JVM)的平台上运行。

将Java 程序编译成字节码文件,相比于直接将程序编译为特定平台上的机器码,有以下几个好处:

  1. 可移植性:可以在任何支持 JVM 的平台上运行,使得 Java 程序具有很好的可移植性。
  2. 安全性:由于字节码需要在 JVM 中运行,所以可以对字节码进行安全检查,以确保程序不会对系统造成威胁。
  3. 性能:由于字节码是⼀种紧凑的⼆进制格式,相比于直接编译为机器码,可以更快地加载和传输,同时也可以在运行时进行动态优化,提高程序的执行效率。
  4. 可读性:相比于直接编译为机器码,字节码具有更好的可读性,可以方便地进行反汇编和调试

因此,采用字节码作为中间代码的最大好处是提高了 Java 程序的可移植性、安全性、性能和可读性。这也是 Java 跨平台和安全性等特性的基础。

相关推荐
Flynn Liang2 小时前
AI 应用的安全红线:Spring AI 下的 Prompt 注入防护、PII 脱敏、输出审计与密钥管理
人工智能·安全·spring·数据泄露·springai·prompt注入
QCoding3 小时前
企业级Agent Evaluation实战:Agent能跑就能上线?AI Agent到底怎么测?
后端·spring
海的透彻3 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat3 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习4 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one4 小时前
算法--构造
java·数据结构·算法
SL_staff4 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
IT规划师5 小时前
编程术语中的同步与异步:从"等不等"到工程取舍
后端·面试
SL_staff5 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko76 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端