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

Java面经

Java 知识点总结

1. 封装,继承和多态

  • 封装: “高内聚,低耦合”,隐藏内部实现细节,只通过接口开放部分使用权限给外部。
  • 继承: 主要是提高代码复用性,通过子类继承父类,来增加功能扩展的可能性。继承包括单继承和多继承。
  • 多态: 多态可以理解成一个行为在不同的情况下具有不同的表现和结果。多态的三个前提条件:
    1. 子类继承父类
    2. 子类重写父类的方法
    3. 父类引用指向子类的对象

问题:

  • Java如何实现多继承: Java通过接口(interface)实现多继承,一个类可以实现多个接口,从而实现多继承的效果。
  • Java的implement关键字有什么用: 用于实现接口,即一个类通过implements关键字声明它实现了某个接口。
  • Java关键字 thissuper
    • this:指向当前对象的引用,用于区分实例变量和局部变量,或调用当前类的构造函数。
    • super:指向父类的引用,用于调用父类的方法和构造函数。

2. Java的平台无关性

Java的“平台无关性”指的是Java程序编写一次后,可以在任何支持Java的平台上运行。这是因为Java代码会被编译成字节码(bytecode),并通过JVM(Java虚拟机)在不同操作系统上运行,JVM负责将字节码翻译为操作系统本地的机器码。

3. 支持多线程

Java内置对多线程的支持,允许多个线程并发执行,能够提高程序的执行效率。与C++不同,C++没有内置的多线程机制,必须依赖操作系统提供的多线程支持。而Java通过Thread类或实现Runnable接口来支持多线程编程。

4. 可靠性

Java具有较高的可靠性,提供了异常处理机制(try-catch)和自动内存管理机制(垃圾回收)。这使得程序在运行过程中可以更容易地处理错误,并自动管理内存,避免内存泄漏问题。

  • JDK,JRE,JVM的关系

在这里插入图片描述

  • Java的一些执行过程
    在这里插入图片描述
    Java源代码是通过Java编译器javac编译成字节码.class文件后,判断是否是热点代码,由于解释器是逐行解释,这样的话执行速度就会很慢,所以引入了 JIT(Just in Time Compilation 用来执行热点代码也叫常用代码, JIT编译器在执行过第一次代码之后,就会把对应的机器码给记录下来,下次就可以直接使用。机器码的运行效率是非常高的,这样可以极大提高执行效率。这也就是为什么说 Java 是编译和解释并存的语言

  • JDK,JRE,JVM,JIT 的关系大致如下
    在这里插入图片描述

相关文章:

  • 字节跳动AI原生编程工具Trae和百度“三大开发神器”AgentBuilder、AppBuilder、ModelBuilder的区别是?
  • 蓝桥试题:传球游戏(二维dp)
  • 基于海思soc的智能产品开发(芯片sdk和linux开发关系)
  • unity console日志双击响应事件扩展
  • C#核心(21)万物之父Object中的方法
  • Lambda表达式使用介绍
  • 【Bootstrap5】Bootstrap5学习笔记
  • 数据库复习(第五版)- 第七章 数据库设计
  • 3.6c语言
  • 【算法系列】基数排序
  • 维度建模事实表技术基础解析(以电商场景为例)
  • 洛谷 P1480 A/B Problem(高精度详解)c++
  • 相机几何与标定:从三维世界到二维图像的映射
  • 【LeetCode101】对称二叉树
  • 逐梦DBA:MySQL的编码设置
  • PWM子系统芯片驱动源码pwm-tegra.c分析
  • leetcode15 三数之和
  • ruoyi框架接入kkFileView
  • 侯捷 C++ 课程学习笔记:深入理解C++内存管理与类对象构造全过程
  • 【极客时间】浏览器工作原理与实践-2 宏观视角下的浏览器 (6讲) - 2.6 渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的?
  • 脱欧后首次英欧峰会召开前夕,双方却因渔业和青年流动议题僵住了
  • 香港特区政府强烈谴责美参议员恐吓国安人员
  • 首映|《星际宝贝史迪奇》真人电影,不变的“欧哈纳”
  • 河南一县政府党组成员签订抵制违规吃喝问题承诺书,现场交给县长
  • 最高人民法院原副院长唐德华逝世,享年89岁
  • 人民日报民生观:转人工客服,怎么这么难?