首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
VanFan
掘友等级
Java
|
风尘博客
我有一杯酒,可以慰风尘
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
作品
赞
17
文章 17
沸点 0
赞
17
返回
|
搜索文章
最新
热门
彻底消灭if-else嵌套
if-else作为每种编程语言都不可或缺的条件语句,我们在编程时会大量的用到。 但if-else一般不建议嵌套超过三层,如果一段代码存在过多的if-else嵌套,代码的可读性就会急速下降,后期维护难度也大大提高。 前阵子重构了服务费收费规则,重构前的if-else嵌套如下。 我…
多账户登陆设计
现在几乎大部分的App都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。 首先输入手机号,然后发送到…
都2020了,还不好好学学泛型?
Java 泛型(generics)是 JDK 1.5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型,即参数化类型。 一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义…
BeanUtils 如何拷贝 List?
VO 就是Controller和客户端交互的数据结构。 在这些数据结构之间很大一部分属性都可能会相同,也可能不同。 Spring 提供了 org.springframework.beans.BeanUtils 类进行快速赋值。 通过打印结果我们可以发现:除了类型不同的sex,其…
分布式全局唯一ID生成策略
分布式系统中我们会对一些数据量大的业务进行分拆,如:用户表,订单表。因为数据量巨大一张表无法承接,就会对其进行分库分表。 但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题。 趋势有序: ID是数字类型,而且是趋势递增;ID简短,查询效率快。 信息安全:ID虽然…
跟我学设计模式之工厂模式
工厂模式应用非常之广,在JDK底层源码以及各大主流框架中随处可见,一般以Factory结尾命名的类,比如Mybatis中的SqlSessionFactory,Spring中的BeanFactory等,都是工厂模式的典型代表。 简单工厂模式又称为静态工厂模式,属于设计模式中的创建…
跟我学设计模式之单例模式
设计模式是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。 项目…
你还在用BeanUtils进行对象属性拷贝?
在做业务的时候,为了隔离变化,我们会将DAO查询出来的DO和对前端提供的DTO隔离开来。大概90%的时候,它们的结构都是类似的;但是我们很不喜欢写很多冗长的b.setF1(a.getF1())这样的代码,于是我们需要简化对象拷贝方式。 Java中,数据类型分为值类型(基本数据类…
JDK 1.8 之 Map.merge()
Map 中ConcurrentHashMap是线程安全的,但不是所有操作都是,例如get()之后再put()就不是了,这时使用merge()确保没有更新会丢失。 因为Map.merge()意味着我们可以原子地执行插入或更新操作,它是线程安全的。 该方法接收三个参数,一个 key…
以商品超卖为例讲解分布式锁
time: 与第四个参数相呼应,代表key的过期时间。 最后,因为我们将value赋值为requestId,代表加锁的客户端请求标识,那么在客户端在解锁的时候就可以进行校验是否是同一个客户端。 然后,将Lua代码传到jedis.eval()方法里,并使参数KEYS[1]赋值为l…
下一页
个人成就
文章被点赞
666
文章被阅读
137,796
掘力值
3,593
关注了
2
关注者
1,144
收藏集
1
关注标签
5
加入于
2019-08-22