Java面试题(持续更新中)

一、Java基础+集合+多线程+JVM

1.Java基础

1.1面向对象和面向过程的区别

面向过程:面向过程的性能比面向对象高。因为类调用时需要实例化,消耗比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、Linux/Unix、嵌入式开发等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。

面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、继承、多态的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。

这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java性能差的主要原因并不是因为它是面向对象语言,而是Java是半编译语言,最终的执行代码并不是可以直接被CPU执行的二进制机械码。

而面向过程语言大多数都是直接编译成机械码在电脑上执行,而其他一些面向过程脚本语言性能并不一定比Java好。

相关推荐
用户908324602734 分钟前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋11 分钟前
DecimalFormat 与 BigDecimal
java·后端
beata25 分钟前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端
IT探险家27 分钟前
你的第一个 Java 程序就翻车?HelloWorld 的 8 个隐藏陷阱
java
随风飘的云29 分钟前
SpringBoot 的自动配置原理
java
SimonKing34 分钟前
觅得又一款轻量级数据库管理工具:GoNavi
java·后端·程序员
Seven972 小时前
BIO详解:解锁阻塞IO的使用方式
java
oak隔壁找我12 小时前
JVM常用调优参数
java·后端
蝎子莱莱爱打怪16 小时前
OpenClaw 从零配置指南:接入飞书 + 常用命令 + 原理图解
java·后端·ai编程
狼爷17 小时前
Go 没有 override?别硬套继承!用接口+嵌入,写更清爽的“覆盖”逻辑
java·go