首页 > 传媒 > 关键词  > 程序设计最新资讯  > 正文

在程序设计中哪种处理方式显得不LOW

2016-05-13 11:18 · 稿源: 站长之家用户

文/徐瑱

徐瑱,2013年初步涉及云计算行业。并出任首席架构师的职位,熟悉Java、C#、C/C++等开发语⾔,做过超过10个以上的⼤型项目分析、设计经验。目前,服务于是上海新致云产品研发,负责新致云的架构设计,以及运维服务。并负责新致云技术机构及基础技术平台建设。

新致云是目前云服务行业内少有的为客户同时提供IaaS、PaaS、SaaS服务的云服务提供商,具备多年云计算开发经验的佼佼者程序猿,我们也会经常就项目开发中所遇到的问题进行讨论,在此与各位IT大牛们一起分享我们日常开发中所总结的经验。

众所周知,对于判错处理的设计,传统的设计思路是设计检查代码。而在现代程序设计中,同时也提供了异常处理机制。但是如何合理恰当地选择反而成为了程序设计者所困扰的一个问题,特别在性能敏感的场合,更是分歧严重。

我就试图就这个问题展开一些讨论

使用检查机制来处理各种错误情况的方法,不难发现其开销是非常轻量的,并且在代码的复杂度上,与异常处理并没有太大差别。而异常机制,相对较为复杂。下面我们就选择Java语言来看下异常机制的一些特征。

提起异常的特征,首先感觉就是非常昂贵。为什么呢?因为我们需要捕获异常堆栈的当前状态。而且这还不是开销的所有,只是个开头。还有一些其他的特征,包括可以创建、可以被捕获、表示为首先级对象、继承深度3级以上等等。异常对象与正常对象比较大的区别,就是它们可以被抛出和捕获。

接下来我们看下处理异常的流程

JVM通过抛出athrow指令来抛出异常。该指令会使得JVM将异常对象弹出异常堆栈,然后JVM通过搜索当前执行堆栈帧来得到首先个Catch子句来处理该类或者其超类的一个异常。如果没找到,那么需要释放当前的堆栈帧,在下一个堆栈帧中重新抛出。这样一直到找到包含匹配的Catch子句的堆栈帧,或者到达异常堆栈的底部。如果一直没有找到,所有的堆栈帧都会被释放,线程会在ThreadGroup对象有了被处理异常的机会后被中止。如果找到,则程序计数器被重置到Catch代码的首先行。

从上述可以获知,相对于类型检查,抛出异常的处理实在是非常昂贵的。而且,针对异常的处理,跟普通一级对象并没有特殊区别。我们可以得出一个结论就是异常机制应该为异常的情况保留。在超过函数逻辑本身的特殊情况下,使用异常处理是一个合适的选择。在无异常的情况下,还是通过检查来避免使用异常抛出从而可以得到一个对于较优的选择。

以上是我以Java开发为例所分析的异常机制的一些特征,在日常新致云的项目开发中,经常会遇到一些新鲜有趣的问题,后续会为大家呈现更多在开发中遇到的问题和解决方案。

推广

特别声明:以上内容(如有图片或视频亦包括在内)均为站长传媒平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,可及时向站长之家提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明(点击查看反馈联系地址)。本网站在收到上述法律文件后,将会依法依规核实信息,沟通删除相关内容或断开相关链接。

  • 相关推荐
  • 水乡感质 设计探本!ASKO在水乡乌镇开启设计游学之旅

    7月25-27日,第三届ASKO非凡设计大奖在乌镇举办设计游学活动。活动以"水乡质感+设计探本"为主题,邀请设计师们走进木心美术馆、西栅染坊等场所,感受传统与现代交融的水乡美学。ASKO中国区总经理华安、《IDEAT理想家》出版人杨莹等嘉宾参与,共同探讨理想人居设计。活动期间还恰逢贝多芬《命运交响曲》音乐会,设计师们在艺术氛围中汲取灵感。ASKO作为北欧百年家电品牌,秉持极简设计与人文关怀理念,致力于推动美好生活方式。

  • 在天猫买“设计师款”的年轻人,捧红一个百亿市场

    消费正在加速分化。 一方面,各种平替经济、白牌商品纷纷崛起,市场对质价比的追求日益强劲;另一方面,被买断货的泡泡玛特,老铺黄金门口大排长龙的景象,又印证出当下的另一种消费逻辑—— 用户对于消费意义的追求,变得更多元了。在购买商品时,他们不再单纯追求功能性,而是更关注商品能否和自己的兴趣爱好、生活主张乃至更深层次的文化内涵所契合。 从宠�

  • 雷军又揽大将 前宝马i系列设计主管加盟小米:向李田原汇报

    前宝马i系列设计主管Kai Langer宣布加盟小米。 从履历看,他加入小米后的汇报对象应该是小米汽车首席设计师李田原,而有意思的是,李田原在宝马工作期间恰恰是他的下属。 资料显示,Kai Langer在宝马任职超20年,2013年起参与了初代宝马i3和i8的设计,也在宝马前瞻设计部门待过很久。

  • HUAWEI MateBook Fold 非凡大师斩获2025年iF设计奖:折叠屏电脑设计新标杆

    华为MateBook Fold非凡大师荣获2025年德国iF设计奖,该奖项被誉为工业设计界的"奥斯卡"。这款全球最大18英寸折叠屏笔记本以突破性铰链设计和7.3mm超薄机身(展开仅1.16kg)获得评委会认可,在技术创新与用户体验间取得卓越平衡。产品搭载3.3K专业大屏(1600nits峰值亮度/229PPI),配合鸿蒙操作系统带来沉浸式办公体验。水滴型铰链采用三段式转轴设计,确保屏幕平整耐用。此次获奖进一步巩固了华为在笔记本行业的创新引领地位。

  • 重新思考设计的边界:三星Galaxy S25 Edge以5.8mm容纳旗舰体验

    三星Galaxy S25 Edge通过系统性重构实现了轻薄与旗舰性能的完美平衡。机身仅5.8毫米厚、163克重,却搭载完整影像系统(2亿像素主摄+1200万超广角)和骁龙8 Gen4芯片,采用钛金属边框和新型散热结构确保性能稳定。AI方面集成Bixby语义识别、多任务处理等智能功能,支持端侧大模型运行。通过毫米级精密压缩工艺,在保持专业拍摄(10bit HDR视频)和AI体验的同时,重新定义了"减法设计也能成就加法体验"的旗舰标准。

  • 成都地铁官方回应“防走光”设计:后续会考虑普及其他站点

    ​近日,有网友在社交平台上分享了成都地铁的一项人性化设计细节:部分站点的步梯与扶梯之间安装了非透明的磨砂玻璃。这一发现迅速引发了公众的关注和讨论。记者实地走访后确认,成都地铁确实在部分站点采用了这样的磨砂玻璃设计。 针对这一设计,成都地铁官方给出了正式回应。官方表示,这一改变源于此前乘客的反馈意见。有乘客提出,在步梯上行走时,由于透�

  • 马斯克:特斯拉Optimus机器人将采用消费者从未见过的设计

    特斯拉的Optimus机器人已进入生产阶段,但未来交付给消费者的版本很可能与当前形态大不相同,消费者从未见过的设计,埃隆马斯克在最近的公司第二季度财报电话会议上对此做出了暗示。 近年来,特斯拉持续展示了Optimus机器人的迭代升级,最终推出了目前正在生产的V2版本。在2025年第一季度的公司全体会议上,马斯克曾向员工表示,特斯拉将力争在今年生产首批Optimus机器

  • 拒绝“孩子气”!小寻Sport6C 电话手表,潮流设计适配青春期审美

    文章介绍小寻中学生电话手表Sport6C,解决家长对孩子沉迷手机又担心传统手表功能单一的矛盾。该手表售价599元,具有简约潮流设计,支持15种运动模式、视力疲劳监测等核心功能,重新定义学生专属通讯工具。产品特色包括:1)运动管理功能,精准监测心率等数据,配套100+运动课程;2)健康监测,家长可远程关注孩子身体状况;3)多重安全守护,支持危险区域提醒、上下学守护和10重AI精准定位;4)4G全网通,续航达4天;5)内置支付宝和喜马拉雅等内容。手表平衡学习与娱乐,从根源守护孩子专注力。

  • 全新形态惊艳海外,HUAWEI MateBook Fold 非凡大师斩获2025年iF设计奖

    华为5月19日发布首款折叠屏笔记本MateBook Fold非凡大师,凭借18英寸全球最大折叠屏、7.3mm超薄机身和1.16kg轻量化设计,斩获2025年iF设计大奖。该产品采用水滴型铰链技术,支持3.3K分辨率、1600nits峰值亮度和LTPO自适应刷新率,搭载HarmonyOS系统实现多设备互联。通过定制化应用适配和AI智慧助手,重新定义了移动办公体验,标志着华为在PC领域的创新突破,获得海内外媒体高度关注。

  • 首获国际大奖!itcHUB智慧会议平板荣获德国2025红点设计大奖,备受国际权威认可!

    广东保伦电子(itc)自主研发的itcHUB智慧会议平板荣获德国"2025红点产品设计大奖"。该产品凭借极简主义设计与现代会议技术融合,构建安全高效的协作环境,获得国际评审团高度评价。其四大核心优势包括:1)采用X86架构三合一主板,集成NB-IoT模块实现物联网扩展;2)搭载AI功能,支持动作识别和智能签到;3)国密级加密技术保障会议安全;4)超窄边框设计,屏占比达90%,适配多场景需求。此次获奖标志着中国智造在设计美学与技术创新融合维度迈上新台阶。