日常业务开发
文章平均质量分 94
记录日常开发的一下常用技巧
李熠漾
22届毕业、软件工程、Java、写代码、独立思考
展开
-
【日常业务开发】代码简洁之道
每次转换原有 Stream 对象不改变,返回一个新的 Stream 对象,这就允许对其操作可以像链条一样排列,形成了一个管道。只要实现方和调用方遵循规范,可以避免不必要的空值判断,这充分体现了阿里的“新六脉神剑”提倡的“因为信任,所以简单”。链式编程,也叫级联式编程,调用对象的函数时返回一个this对象指向对象本身,达到链式效果,可以级联调用。利用 Map 的 computeIfAbsent 方法,可以保证获取到的对象非空,从而避免了不必要的空判断和重新设置值。对于属性字段较少的类,可以自定义构造方法。原创 2023-10-13 09:26:29 · 2444 阅读 · 0 评论 -
【日常业务开发】接口性能优化
我们都用过数据库连接池,线程池等,这就是池思想的体现,它们解决的问题就是避免重复创建对象或创建连接,可以重复利用,避免不必要的损耗,毕竟创建销毁也会占用时间。下图是一个电商的创建订单接口,创建订单记录并插入数据库是我们的核心诉求,至于后续的用户通知,如:给用户发个短信等,如果失败,并不影响主流程的完成。分布式锁,只需要在临界资源处加锁即可,不涉及共享资源的,不必要加锁,就好比你要上卫生间,只需要把卫生间的门锁上就可以,不需要把客厅的门也锁上。引发的问题主要有:死锁、接口超时、主从延迟等。原创 2023-10-13 09:22:58 · 738 阅读 · 0 评论 -
【日常业务开发】Java实现异步编程
首先我们先看一个常见的用户下单的场景:在同步操作中,我们执行到发送短信的时候,我们必须等待这个方法彻底执行完才能执行赠送积分这个操作,如果赠送积分这个动作执行时间较长,发送短信需要等待,这就是典型的同步场景。实际上,发送短信和赠送积分没有任何的依赖关系,通过异步,我们可以实现赠送积分和发送短信。原创 2023-09-20 19:26:25 · 347 阅读 · 0 评论 -
【日常业务开发】Java调用第三方http接口的常用方式
在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适。很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信、天气等)。在Java项目中调用第三方接口的常用方式有:通过JDK网络类通过Apache common封装好的HttpClient通过Apache封装好的通过OkHttp通过Spring的通过hutool的HttpUtil。原创 2023-09-19 17:12:49 · 851 阅读 · 0 评论 -
【日常业务开发】策略+工厂模式优化 if...else判断逻辑
此处的初始化是指:所有的Bean被成功装载,后处理Bean被检测并激活,所有Singleton Bean 被预实例化,ApplicationContext容器已就绪可用。业务中经常有支付业务,项目刚开始所有业务使用支付宝支付,后面湖南地区需要使用微信支付,然后湖北又需要使用易宝支付,后期可能还有扩展。工厂类PayFactory,暴露注册bean到工厂容器Map对象方法,提供根据type类型查询bean的静态方法。Key为bean的名称、value为IPay接口对应的bean实现类。对应的业务类型不好扩展。原创 2023-01-12 17:57:44 · 963 阅读 · 0 评论 -
【日常业务开发】业务代码常见类命名
Aware就是感知的意思,一般以该单词结尾的类,都实现了Aware接口。说实话,它和Properties的区别并不大,但由于Option通常是一个类,所以功能可以扩展的更强大一些。invoker是一类接口,通常会以反射或者触发的方式,执行一些具体的业务逻辑。5、工具类***Util,***Helper。注意它们语义上的区别,一般特别复杂的转换或者有加载过程的需求,可以使用Resolver。如果你的应用程序,需要经过大量的初始化操作才能启动,那就需要把它独立出来,专门处理初始化动作。原创 2023-01-09 10:10:24 · 932 阅读 · 0 评论 -
【日常业务开发】常用JSON库API
Jackson是当前用的比较广泛的,用来序列化和反序列化json的Java开源框架。Jackson社区相对比较活跃,更新速度也比较快, 从Github中的统计来看,Jackson是最流行的json解析器之一,Spring MVC的默认json解析器便是Jackson。GSON 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库,可以快速的将一个 Json 字符转成一个 Java 对象,或者将一个 Java 对象转化为 Json 字符串。原创 2023-01-12 14:29:02 · 1850 阅读 · 0 评论