Java面试题(持续更新中)

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

1.Java基础

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

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

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

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

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

相关推荐
凡人的AI工具箱5 分钟前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
陈王卜7 分钟前
django+boostrap实现发布博客权限控制
java·前端·django
小码的头发丝、8 分钟前
Spring Boot 注解
java·spring boot
java亮小白199713 分钟前
Spring循环依赖如何解决的?
java·后端·spring
飞滕人生TYF19 分钟前
java Queue 详解
java·队列
chnming198721 分钟前
STL关联式容器之map
开发语言·c++
进击的六角龙22 分钟前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂23 分钟前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
湫ccc30 分钟前
Python简介以及解释器安装(保姆级教学)
开发语言·python
程序伍六七34 分钟前
day16
开发语言·c++