当前位置: 首页 > article >正文

每日五道java面试题之java基础篇(一)

在这里插入图片描述

第一题 什么是java?

在这里插入图片描述
PS:碎怂 Java,有啥好介绍的。哦,⾯试啊。
Java 是⼀⻔⾯向对象的编程语⾔,不仅吸收了 C++语⾔的各种优点,还摒弃了 C++⾥难以理解的多继承、指针等概念,因此 Java 语⾔具有功能强⼤和简单易⽤两个特征。Java 语⾔作为静态⾯向对象编程语⾔的优秀代表,极好地实现了⾯向对象理论,允许程序员以优雅的思维⽅式进⾏复杂的编程。

第二题 Java语言有那些特点?

Java 语⾔有很多优秀(可吹)的特点,以下⼏个是⽐较突出的:
在这里插入图片描述

  • ⾯向对象(封装,继承,多态);
  • 平台⽆关性,平台⽆关性的具体表现在于,Java 是“⼀次编写,到处运⾏(Write Once,Run anyWhere)”的语⾔,因此采⽤ Java 语⾔编写的程序具有很好的可移植性,⽽保证这⼀点的正是 Java 的虚拟机机制。在引⼊虚拟机之后,Java 语⾔在不同的平台上运⾏不需要重新编译。
  • ⽀持多线程。C++ 语⾔没有内置的多线程机制,因此必须调⽤操作系统的多线程功能来进⾏多线程程序设
    计,⽽ Java 语⾔却提供了多线程⽀持;
  • 编译与解释并存;

第三题. JVM,JDK,JRE有什么区别?

JVM:Java Virtual Machine,Java 虚拟机,Java 程序运⾏在 Java 虚拟机上。针对不同系统的实现(Windows,Linux,macOS)不同的 JVM,因此 Java 语⾔可以实现跨平台。

JRE: Java 运⾏时环境。它是运⾏已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,Java 命令和其他的⼀些基础构件。但是,它不能⽤于创建新程序。

JDK: Java Development Kit,它是功能⻬全的 Java SDK。它拥有 JRE 所拥有的⼀切,还有编译器(javac)和⼯具(如 javadoc 和 jdb)。它能够创建和编译程序。
简单来说,JDK 包含 JRE,JRE 包含 JVM。
在这里插入图片描述

第四题.说说什么是跨平台性?原理是什么

所谓跨平台性,是指 Java 语⾔编写的程序,⼀次编译后,可以在多个系统平台上运⾏。
实现原理:Java 程序是通过 Java 虚拟机在系统平台上运⾏的,只要该系统可以安装相应的 Java 虚拟机,该系统就可以运⾏ java 程序。

第五题. 什么是字节码?采⽤字节码的好处是什么?

所谓的字节码,就是 Java 程序经过编译之类产⽣的.class ⽂件,字节码能够被虚拟机识别,从⽽实现 Java 程序的跨平台性。
Java 程序从源代码到运⾏主要有三步:

  • 编译:将我们的代码(.java)编译成虚拟机可以识别理解的字节码(.class)
  • 解释:虚拟机执⾏ Java 字节码,将字节码翻译成机器能识别的机器码
  • 执⾏:对应的机器执⾏⼆进制机器码
  • 在这里插入图片描述
    只需要把 Java 程序编译成 Java 虚拟机能识别的 Java 字节码,不同的平台安装对应的 Java 虚拟机,这样就可以可以实现 Java 语⾔的平台⽆关性

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述


http://www.kler.cn/news/233033.html

相关文章:

  • 飞桨自然语言处理框架 paddlenlp的 trainer
  • openssl3.2 - exp - buffer to BIO
  • HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用
  • 【ETOJ P1046】斐波那契数列 题解(数学+动态规划)
  • Electron+Vue实现仿网易云音乐实战
  • python 基础知识点(蓝桥杯python科目个人复习计划35)
  • 【开源】JAVA+Vue+SpringBoot实现实验室耗材管理系统
  • 前端图片转base64 方法
  • MinGW/MSYS/GCC/GNU/MSVC/Clang/LLVM都是什么
  • 【01】判断素数/质数(C语言)
  • 使用深度学习对网络摄像头图像进行分类
  • node网站 宝塔 面板配置 防止刷新404
  • DNS 域名系统——应用层
  • 数字图像处理与Python语言实现-常见图像特效(三)
  • 记:STM32F4参考手册-存储器和总线架构
  • Android:Android Studio安装及环境配置
  • (52)只出现一次的数字III
  • Python学习之路-Tornado基础:安全应用
  • 探索未来:集成存储器计算(IMC)与深度神经网络(DNN)的机遇与挑战
  • 「递归算法」:子集(两种解法)
  • 泛娱乐社交出海洞察,Flat Ads解锁海外增长新思路
  • 创建一个VUE项目(vue2和vue3)
  • cleanmymacX和腾讯柠檬哪个好用
  • (delphi11最新学习资料) Object Pascal 学习笔记---第4章第2.6节(默认参数)
  • Java图形化界面编程—— 基本组件和对话框 笔记
  • Spring IoC容器详解
  • 在centos7中利用pybind11构建C++的动态库供python调用
  • Rust-AI todo list 开发体验
  • 第十七篇【传奇开心果系列】Python的OpenCV库技术点案例示例:自适应阈值二值化处理图像提取文字
  • Matlab绘图经典代码大全:条形图、极坐标图、玫瑰图、填充图、饼状图、三维网格云图、等高线图、透视图、消隐图、投影图、三维曲线图、函数图、彗星图