Java面试题(持续更新中)

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

1.Java基础

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

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

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

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

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

相关推荐
Tony Bai5 分钟前
Goroutine “气泡”宇宙——Go 并发模型的新维度
开发语言·后端·golang
雨中飘荡的记忆6 分钟前
享元模式深度解析:看Java如何优雅节省内存
java·设计模式
悟空码字7 分钟前
SpringBoot接口防抖大作战,拒绝“手抖”重复提交!
java·spring boot·后端
编程大师哥12 分钟前
Boost C++
java·c++·php
Larry_Yanan15 分钟前
Qt多进程(二)QProcess+stdio
开发语言·qt
码农葫芦侠17 分钟前
Qt 跨线程内存管理陷阱:QSharedPointer、deleteLater() 与 QPointer 的致命组合
开发语言·数据库·qt
d111111111d20 分钟前
C语言中,malloc和free是什么,在STM32中使用限制是什么,该如何使用?
c语言·开发语言·笔记·stm32·单片机·嵌入式硬件·学习
网安_秋刀鱼23 分钟前
【java安全】shiro鉴权绕过
java·开发语言·安全
与遨游于天地25 分钟前
Spring 的10个核心能力,对框架开发的启示
java·后端·spring
白昼流星!30 分钟前
C++内存四区与new操作符详解
开发语言·c++