当前位置:首页 > 每日看点 > 正文内容

java不支持值类型struct,带来了哪些优势?

卡卷网12个月前 (01-12)每日看点190

说实话,最开始我也觉得这是个设计缺陷。毕竟C++、C#都支持struct,为啥Java偏要特立独行? 直到有一天我突然开窍...

简单统一才是王道

想象一下,如果你在厨房做菜,有十种不同形状的铲子,每个都有特定用途。听起来很专业对吧?但实际上99%的时候,一个标准铲子就能搞定所有事情。

Java正是秉承了这种理念 —— Everything is an Object(除了基本类型)。不用再纠结用struct还是class,不用考虑值类型和引用类型的区别,所有的复杂类型都是对象。这种简单统一的设计思想,让代码更容易理解和维护。

一直有的一个疑惑:性能真的会差吗?

没有struct到底会不会影响性能? 实际上JVM的逃逸分析和标量替换优化可以智能地将对象优化成栈上分配,现在的内存访问已经非常快,另外对象池等设计模式可以很好地解决频繁创建对象的问题

就像现在的手机CPU和内存都这么强了,你还会在意微信多用了1MB内存吗?

带来的优势:面向对象更纯粹

记得大学刚学编程时,Java课的老师跟我们说:"编程范式就像武功招式,你可以学很多种,但要成为大师,得专精一门。"

Java取消struct,某种程度上迫使我们更多地思考面向对象的设计。当你不能用struct简单封装数据时,自然会思考更多关于对象职责、封装、继承这些面向对象的核心概念。

举个栗子:

// 如果有struct struct Point { int x; int y; } // 没有struct时你会更多思考面向对象的设计 class Point { private int x; private int y; public void moveTo(int x, int y) { // 可以加入边界检查等业务逻辑 this.x = x; this.y = y; } }

软件开发中有个真理:唯一不变的就是变化。今天你用struct封装的简单数据结构,明天可能就需要添加行为和状态管理。

java不支持值类型struct,带来了哪些优势?  第1张

Java的设计鼓励你一开始就用面向对象的方式思考,这样未来扩展时就不会遇到重构的烦恼。


写在最后

所以说,Java不支持struct看似是个限制,实际上是一种很有远见的设计选择。有时候看似的不足,恰恰成就了一个技术的伟大。

克制不是缺陷,专注才会专业。

如果觉得文章有帮助,欢迎点赞+关注, 我是旷野,探索无尽技术!

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8974.html

分享给朋友:

相关文章

夸克浏览器受欢迎的原因是什么?

夸克浏览器受欢迎的原因是什么?

这是可以说的嘛~哈哈,它比较吸引我的几点是:安全无广、页面简洁、功能丰富、反应速度快......首页页面支持自定义,喜欢什么样子都可以自己调整,没有花里胡哨的各种资讯推送,热搜日报整理归纳好,想看再点开查看,看着舒适度直接拉满!实用日常工具...

PHP承载百万/天 访问量需要用到什么技术?

当年做一个百万PV的商城,也不过是两台2c4g的阿里云虚机罢了(其实一台就够,另外一台主要的逼着大家一定开发的时候一定要有负载均衡和横向扩容的意识)。当时框架还是Thinkphp3.2,框架提高运行效率的开关全打开,标准的lnmp模式,单机...

如何评价小米14pro顶配可以选配卫星通话,小米15全系都无法选配?

如何评价小米14pro顶配可以选配卫星通话,小米15全系都无法选配?

雷总不是说了吗,我可以不用,但你不能没有。市面上OPPO Find X8 Pro和vivo X200 Pro的卫星通信版分别加价300,而荣耀Magic7和Magic7 Pro有卫星通信版且不加价,荣耀更显诚意。我觉得有是更好的,虽然使用卫...

什么样的网站能快速捕获你的心?

什么样的网站能快速捕获你的心?

大家好,我是程序员鱼皮。大家如果平时使用网站或产品时出现了问题,一般都会去寻找 “联系客服” 的位置,从而获得人工的帮助。我们团队的面试刷题产品 - 面试鸭最近就遇到了这样一个难题:明明我们网站右下角就有联系客服按钮、而且我们每道面试题目下...

程序员都有自己的服务器吗?

程序员都有自己的服务器吗?

2024.9. 24,有朋友咨询功耗,我没有单独给服务器弄智能插座,系统做的 esxi 也看不到,所以只能用其他角度判断供大家参考。我有一个餐边柜改的机柜,里面白裙两盘,黑群晖 4 机械 1 mvme,一个爱快硬路由,一个联通光猫,一个 2...

为什么小公司留不住人?

为什么小公司留不住人?

我估计,整个知乎,可能没有比我公司再小得了,。。正对面就是我唯一的一个员工的工位。为啥留不住人。因为那些留不住人的老板,太拿自己当回事。大公司靠制度。小公司靠人情。我这儿的业务,因为全都是线上,所以员工来不来坐班都不重要。天太热可以不来,下...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。