Java十大简单性能优化(23)
第一件事:始终(不仅在NOPE分支中)equals()提前终止所有方法 , 如果:
·this == argument
·this \"incompatible type\" argument
请注意argument == null , 如果您要instanceof检查兼容类型 , 则后一个条件包括 。 之前我们在“编码Java的10个微妙的最佳实践”中已经对此进行过博客撰写 。
现在 , 在明显的情况下尽早中止比较之后 , 您可能还想在做出部分决策时就中止比较 。 例如 , jOOQ的契约是要使Table.equals()两个表相等 , 无论具体的实现类型如何 , 它们都必须具有相同的名称 。 例如 , 这两个项目不可能相等:
·com.example.generated.Tables.MY_TABLE
·DSL.tableByName(\"MY_OTHER_TABLE\")
如果argument不能等于this , 并且我们可以轻松地进行检查 , 那么我们可以进行检查 , 如果检查失败 , 则中止检查 。 如果检查成功 , 我们仍然可以从开始进行更昂贵的实现super 。 鉴于Universe中的大多数对象不相等 , 我们将通过简化此方法来节省大量CPU时间 。
推荐阅读
- 三国杀|三国杀:谁是技能最简单的武将,返璞归真,这就是武将基本元素!
- ag战队|关键的卡位赛,AG超玩会却上了猫神,原因很简单,但是却很心酸
- ps3|魔兽怀旧服:专业打“补丁”的装备,虽然获取简单,但能弥补短处
- 地下城堡|LOL手游上分总结,中单最简单上单没人帮,快手投大钱招新主播
- |《英雄联盟手游》当前版本最强上分英雄公布,阿克尚最强团战“利器”,上分很简单
- 黄忠|五个能秒坦克的射手,香香仅排第五,榜首瞬秒脆皮太简单
- 显卡|游戏盘点:十大最费显卡的PC单机大作,需要配置过硬的电脑才能玩
- 炸弹人|英雄联盟手游:炸弹人+石头人走下,简单又强力啊
- 貂蝉|高难度英雄等于高操作英雄?非也,有些英雄简单,但你却玩不好
- 原神|原神:新深渊出炉后,钟离最终还是倒了?削弱一个角色太简单了