游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

支付宝二面大部分人都会答错!

  我是柠檬哥,专注编程知识学习和分享。
  欢迎关注程序员柠檬橙,编程路上不迷路
  私信发送1024打包下载10个G编程资源学习资料
  私信发送001获取阿里大神LeetCode刷题笔记
  私信发送002获取获取谷歌公司编程代码规范
  私信发送003获取10个精美简历模板PDF和Word版
  私信发送004获取100道精选C面试题和答案word版
  私信发送005获取获取谷歌LeetCode算法笔记
  你看着这鬼代码,竟然在for循环里面搞了个trycatch,不知道trycatch有性能损耗吗?
  老陈煞有其事地指着屏幕里的代码:for(inti0;i5000;i){try{dosth}catch(Exceptione){e。printStackTrace();}}
  我探过头去看了眼代码,那老陈你觉得该怎么改?
  当然是把trycatch提到外面啊!老陈脑子都不转一下,脱口而出。
  你是不是傻?且不说性能,这代码的目的明显是让循环内部单次调用出错不影响循环的运行,你其到外面业务逻辑不就变了吗!
  老陈挠了挠他的地中海,好像也是啊!
  回过头来,catch整个for循环和在循环内部catch,在不出错的情况下,其实性能差不多。我喝一口咖啡不经意地提到,准备在老陈前面秀一下。
  啥意思?老陈有点懵地看着我,trycatch是有性能损耗的,我可是看过网上资料的!
  果然,老陈上钩了,我二话不说直接打开idea,一顿操作敲了以下代码:publicclassTryCatchTest{Benchmarkpublicvoidtryfor(Blackholeblackhole){try{for(inti0;i5000;i){blackhole。consume(i);}}catch(Exceptione){e。printStackTrace();}}Benchmarkpublicvoidfortry(Blackholeblackhole){for(inti0;i5000;i){try{blackhole。consume(i);}catch(Exceptione){e。printStackTrace();}}}}
  BB不如showcode,看到没,老陈,我把trycatch从for循环里面提出来跟在for循环里面做个对比跑一下,你猜猜两个差多少?
  切,肯定tryfor性能好,想都不用想,不是的话我倒立洗头!老陈信誓旦旦道。
  我懒得跟他BB,直接开始了benchmark,跑的结果如下:
  可以看到,两者的性能(数字越大越好)其实差不多:fortry:86,261(10035914098)114,457(10035914098)tryfor:95,961(1032167255)110,471(1032167255)
  我再调小(一般业务场景for循环次数都不会很多)下for循环的次数为1000,结果也是差不多:
  老陈一看傻了:说好的性能影响呢?怎么没了?
  我直接一个javap,让老陈看看,其实两个实现在字节码层面没啥区别:
  tryfor的字节码
  异常表记录的是020行,如果这些行里面的代码出现问题,直接跳到23行处理。
  fortry的字节码
  差别也就是异常表的范围小点,包的是914行,其它跟tryfor都差不多。
  所以从字节码层面来看,没抛错两者的执行效率其实没啥差别。
  那为什么网上流传着trycatch会有性能问题的说法啊?老陈觉得非常奇怪。
  这个说法确实有,在《EffectiveJava》这本书里就提到了trycatch性能问题:
  并且还有下面一段话:
  正所谓听话不能听一半,以前读书时候最怕的就是一知半解,因为完全理解选择题能选对,完全不懂蒙可能蒙对,一知半解必定选到错误的选项!
  《EffectiveJava》书中说的其实是不要用trycatch来代替正常的代码,书中的举例了正常的for循环肯定这样实现:
  但有个卧龙偏偏不这样实现,要通过trycatch拐着弯来实现循环:
  这操作我只能说有点逆天,这两个实现的对比就有性能损耗了。
  我们直接再跑下有trycatch的代码和没trycatch的for循环区别,代码如下:
  结果如下:
  差不多,直接看前面的分数对比,没有rycatch的性能确实好些,这也和书中说的trycatch会影响JVM一些特定的优化说法吻合,但是具体没有说影响哪些优化,我猜测可能是指令重排之类的。
  好了,我再总结下有关trycatch性能问题说法:trycatch相比较没trycatch,确实有一定的性能影响,但是旨在不推荐我们用trycatch来代替正常能不用trycatch的实现,而不是不让用trycatch。for循环内用trycatch和用trycatch包裹整个for循环性能差不多,但是其实两者本质上是业务处理方式的不同,跟性能扯不上关系,关键看你的业务流程处理。虽然知道trycatch会有性能影响,但是业务上不需要避讳其使用,业务实现优先(只要不是书中举例的那种逆天代码就行),非特殊情况下性能都是其次,有意识地避免大范围的trycatch,只catch需要的部分即可(没把握全catch也行,代码安全执行第一)。
  好了,老陈你懂了没?
  行啊,BB是一套一套的,走请你喝燕麦拿铁!老陈一把拉起我,我直接一个挣脱,少来,我刚喝过咖啡,你那个倒立洗头,赶紧的!我立马意识到老陈想岔开话题。
  洗洗洗,我们先喝个咖啡,晚上回去给你洗!
  晚上22点,老陈发来一张图片:
  你别说,这头发至少比三毛多。
  文章来源于yes的练级攻略,作者是Yes呀

联想小新Air15锐龙版发布R55000系APU70Wh电池IT之家4月22日消息联想于4月22日晚举办小新YOGA系列新品发布会。发布会上,2021新款小新Air15锐龙版正式发布。这款产品配备15。6英寸窄边框屏幕,配备AMD锐龙5……马上立冬了,想要冬季不生病,这些养生知识要懂得一、冬季养生小常识注意的5个事项。:出点汗冬季养生要适当地动筋骨,出点汗,这样才能强身体。锻炼身体要动静结合,跑步,做操只一微微似汗出为度,汗多泄气,有利于冬季阳气……联想YOGADuet2021二合一笔记本发布i51135G7IT之家4月22日消息今晚,联想发布联想YOGADuet2021二合一笔记本,相比上一代升级至11代酷睿,i51135G716GB内存512GBSSD首发价6499元。Y……时髦养眼的搭配,百褶裙是点睛之笔,尽显妩媚与优雅时髦养眼的搭配,百褶裙是点睛之笔,尽显妩媚与优雅生活的美好无处不在,有心人需要去发现。沿途美丽的风景,华丽的高楼和时尚的女孩在街上穿行,值得一看,我相信大多数女孩都喜欢丰……海力士宣布推出1anm工艺,可制造低功耗LPDDR44266IT之家7月12日消息据外媒Neowin消息,韩国芯片制造商SK海力士今日宣布,已经利用EVU极紫外光光刻机,研发出1anm芯片制造工艺。这项技术相比2019年推出的1znm工……孩子常吃的补钙菜找到了!补充钙质长高个,强身健体身体棒没有父母的精心照料,就不可能完成孩子成长的每一步。如果您希望孩子将来成长良好,并且健康又聪明,则必须为孩子补充足够的营养。其中,钙是人体所需的重要物质之一。钙是我们骨骼的关键,……ZADAK宣布其DDR5内存产品线1632GB,最高可达72IT之家7月1日消息据外媒techpowerup消息,国外内存厂商ZADAK今日宣布了其DDR5内存产品线。该系列内存外表覆盖散热片,具备RGB灯光效果,采用黑色PCB。官方表……国内玩家Takukou暂列HWBOT超频比赛世界第一,时序低IT之家6月29日消息HWBOT网站近日举办了SuperPi32M跑分大赛。这一比赛限制使用英特尔酷睿桌面处理器,主频不得超过5006MHz,选手需要在这一条件下尽可能获得Su……徐起realme真我GT大师版支持DC调光感谢IT之家网友darKuro無心的线索投递!IT之家7月17日消息今日上午,realme副总裁、中国区总裁、全球营销总裁徐起表示,realme真我GT大师版系列支持DC……realme真我GT大师版系列官方剧透骁龙870柔性曲面屏IT之家7月16日消息今日上午,realme官方表示,realme真我GT大师版系列将搭载骁龙870芯片与柔性曲面屏。IT之家了解到,realme将于7月21日14:00……适合婴幼儿饮用的天然水市场需求不断扩大专家婴儿水正在团标的指作为包装饮用水垂直品类,婴儿水(适合婴幼儿饮用的天然水)自从上市以来,就引起诸多关注。2020年3月,中国卫生监督协会发布TWSJD0052020饮用天然矿泉水(适合婴幼儿)团……realmeGT大师探索版真机曝光左上角打孔曲面屏,后盖旅行IT之家7月15日消息realme官宣将于7月21日14:00举行真我GT大师系列新品空中发布会,再次与深泽直人合作,以通感设计唤醒旅行记忆。realme官方已公布了re……
11代标压桌面酷睿要来了,英特尔1月11日举行CES发布会IT之家12月9日消息英特尔宣布将于当地时间1月11日举行CES发布会,预计将会发布11代移动标压处理器和桌面处理器。英特尔暂未公布会CES2021线上新闻发布会将要发布……英特尔首席架构师晒出多款独显GPU黄金时代到来IT之家12月9日消息英特尔高级副总裁、首席架构师RajaKoduri在推特上晒出了几款英特尔独显,其中包括已经发布的新华三XG310PCIeGPU扩展卡。RajaKod……脑科学阐释2岁孩子有三个养育策略,帮娃发展学习力文全文共2416字,阅读时间约4分钟闺蜜球球刚刚结束了一段糟心的旅程,除了需要面对身边风声鹤唳的防疫措施,还要料理好自己家2岁的小炸药包可儿。据闺蜜说,她带着可儿在……联想YOGA14s2021独显版价格公布i5MX450,64IT之家12月24日消息YOGA14s2021独显版的价格今日公布,i516G512GMX450售价6499元,YOGA社群专享。IT之家曾报道,联想10月上市了YOGA……联想YOGA14s2021独显版月底发货2。8K90Hz屏超IT之家12月23日消息根据联想官方的消息,联想YOGA14s2021独显版为社群独享,将于12月30日开始发货。联想表示,YOGA14s2021独显版将在12月25日2……教育信创如何解决智能运维问题?美信时代给予完美答案教育信息化2。0时代,信创产品在各高校、中小学、教育局等得到了广泛应用。信创采购热潮,有效拓宽着教育信息化的提升路径。不仅仅是各教育机构信创热情颇高,我国也从政府层面发挥……联想拯救者Y9000X2021现已开售i7RTX2060,8IT之家12月18日消息11月30日,联想发布了拯救者9000X系列的两款产品,搭载AMD处理器的R9000X首发价7999元起,搭载英特尔处理器的Y9000X售价8699元起……三星GalaxyChromebook2渲染图泄露时尚红色,UIT之家12月22日消息外媒MSPoweruser报道,三星正在开发华丽的GalaxyChromebook的继任者,今天爆料人士EvanBlass发布了GalaxyChrome……海尔董事局副主席谭丽霞中国将会是全球最大的健康增量市场每经记者:彭斐每经编辑:文多海尔集团董事局副主席、执行副总裁谭丽霞图片来源:主办方提供大国必有大健康产业,这是时代赋予中国企业的使命,也是中国企业的创新方向和发展机……AMD旗舰显卡有望突破万元,华硕公布ROGRX6900XT水IT之家12月11日消息根据外媒VideoCardz的消息,华硕确认将推出RadeonRX6900XTROGSTRIXLC水冷旗舰显卡。据报道,华硕还没有透露这款RX69……开启今春首个赏花季北京发布腊梅赏花地图央广网北京2月27日消息近日,北京气温回暖,春意浮现。据北京市公园管理中心消息,北京市属公园、国家植物园多个品种的蜡梅陆续进入花期,开启今年春天首个赏花季。颐和园万……华硕发布RTX3060TiDualmini显卡不到20cm长IT之家12月10日消息根据外媒TechPowerUp的消息,华硕发布了一款紧凑的RTX3060Ti显卡,型号为DualMINI,长度不到20cm。IT之家了解到,这款紧……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网