自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(4)
  • 收藏
  • 关注

原创 对空指针保持嗅觉,如使用 equals 比较时,常量或确定值放左边。

NullPointException 在 Java 世界早已司空见惯,我们在写代码时,可以三思而后写,尽量避免低级的空指针问题。 比如有以下业务场景,判断用户是否是会员,经常可见如下代码: boolean isVip = user.getUserFlag().equals("1"); 如果让这个行代码上生产环境,待君蓦然回首,可能那空指针 bug,就在灯火阑珊处。显然,这样可能会产生空指针异常,因为 user.getUserFlag()可能是 null。 怎样避免空指针问题呢?把常量 1 放到左边就可以啦

2020-07-08 20:28:39 352

原创 查询数据库时,你有没有查多了数据?

大家都知道,查库是比较耗时的操作,尤其数据量大的时候。所以,查询 DB 时,我们取所需就好,没有必要大包大揽。 假设业务场景是这样:查询某个用户是否是会员。曾经看过实现代码是这样。。。 List<Long> userIds = sqlMap.queryList("select userId from user where vip=1"); boolean isVip = userIds.contains(userId); 为什么先把所有会有查出来,再判断是否包含这个 useId,来确定 use

2020-07-08 20:27:57 184

原创 你的程序是否不经意间创建了不必要的对象。

举个粟子吧,判断用户会员是否处于有效期,通常有以下类似代码: //判断用户会员是否在有效期 public boolean isUserVIPValid() { Date now = new Date(); Calendar gmtCal = Calendar.getInstance(); gmtCal.set(2019, Calendar.JANUARY, 1, 0, 0, 0); Date beginTime = gmtCal.getTime(); gmtCal.set(2020, C

2020-07-08 20:27:13 74

原创 复杂的逻辑条件,是否可以调整顺序,让程序更高效

假设业务需求是这样:会员,第一次登陆时,需要发一条感谢短信。如果没有经过思考,代码直接这样写了 if(isUserVip && isFirstLogin){ sendMsg(); } 假设总共有 5 个请求,isUserVip 通过的有 3 个请求,isFirstLogin 通过的有 1 个请求。 那么以上代码,isUserVip 执行的次数为 5 次,isFirstLogin 执行的次数也是 3 次,如下: 如果调整一下 isUserVip 和 isFirstLogin 的顺序呢? if(

2020-07-08 20:26:24 150

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除