java是一个纯面向对象的高级编程语言,为什么还要有基本类型呢? - 爱问答

(爱问答)

java是一个纯面向对象的高级编程语言,为什么还要有基本类型呢?

为了性能+惯性

先理解下java的数据构成:java的基本数据类型有八种 简单点就是,基本数据类型+引用型数据类型。 接下来查查为啥还要基本数据类型呢? 因为这样子,性能上的追求。 那么进一步,为啥栈要比堆快呢?其实这个就是个博弈,要灵活性(堆,动态分配内存空间),就要舍弃速度;要速度(栈,速度快,严格限制进出方式),就要牺牲灵活性。 具体看这里:栈和堆的区别是什么? 为什么说栈的速度快,堆的速度慢? 但是java发展这么多年,想现在这点速度差别应该不算什么事儿了吧,为啥还有。 仔细查查看,发现还是一开始出现的这个东西,一直沿用了下来呗,让面向对象的代码中,出现了一丝丝的不和谐。 

 最后说下装箱和基本类型: 基本类型都有对应的装箱类型,但声明的时候看声明况判断是否是对象:

 int a = 0; // 基本类型 

Integer b = 1; //自动装箱

 Integer c = new Integer(3); // 对象声明 

可以自动装箱不代表就是基本类型,比如 

String str = "str";

相关标签:java

下一篇:autocadcomponent已停止工作

上一篇:开机显示E4

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?