代码总结
文章平均质量分 95
捡田螺的小男孩
一个喜欢弹吉他的Java程序员
展开
-
实战!接口优化的18种方案
大家好,我是捡田螺的小男孩。之前工作中,遇到一个504超时问题。原因是因为接口耗时过长,超过nginx配置的10秒。然后真枪实弹搞了一次接口性能优化从11.3s降为170ms。本文将跟小伙伴们分享接口优化的一些通用方案。本文我们介绍了,优化接口的18种方案。一起加油。原创 2022-11-18 09:00:15 · 2705 阅读 · 0 评论 -
聊聊工作中使用了哪些设计模式
前言大家好,我是捡田螺的小男孩。平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了。如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己的业务代码。今天跟大家聊聊日常工作中,我都使用过哪些设计模式。工作中常用到哪些设计模式1.策略模式1.1 业务场景假设有这样的业务场景,大数据系统把文件推送过来,根据不同类型采取不同的解析方式。多数的小伙伴就会写出以下的代码:if(type=="A"){//按照A格式解析}elseif(...原创 2021-10-27 22:28:49 · 650 阅读 · 0 评论 -
日志打印的15个好建议
前言大家好,我是捡田螺的小男孩(公众号)。日志是快速定位问题的好帮手,是撕逼和甩锅的利器!打印好日志非常重要。今天我们来聊聊日志打印的15个好建议~1. 选择恰当的日志级别常见的日志级别有5种,分别是error、warn、info、debug、trace。日常开发中,我们需要选择恰当的日志级别,不要反手就是打印info哈~ error:错误日志,指比较严重的错误,对正常业务有影响,需要运维配置监控的; warn:警告日志,一般的错误,对业务影响不大,但是需要开发关注;原创 2021-09-22 22:31:33 · 1391 阅读 · 6 评论 -
聊聊日常开发中,如何减少bug呢?
前言大家好呀~ 我是捡田螺的小男孩,今天跟大家聊聊聊聊日常开发中,如何减少bug?本文将从数据库、代码层面、缓存使用篇3个大方向,总结出一共60多个注意点,助大家成为开发质量之星。 欢迎关注公众号:捡田螺的小男孩 1. 数据库篇慢查询数据库篇的话,哪些地方容易导致bug出现呢?我总结了7个方面:慢查询、数据库字段注意点、事务失效的场景、死锁、主从延迟、新老数据兼容、一些SQL经典注意点。1.1 慢查询慢查询.gif1.1.1 是否命中索引提起慢查询,我们马上就原创 2021-06-20 09:52:58 · 503 阅读 · 0 评论 -
25种代码坏味道总结+优化示例
前言什么样的代码是好代码呢?好的代码应该命名规范、可读性强、扩展性强、健壮性…而不好的代码又有哪些典型特征呢?这25种代码坏味道大家要注意啦公众号:捡田螺的小男孩github地址1. Duplicated Code (重复代码)重复代码就是不同地点,有着相同的程序结构。一般是因为需求迭代比较快,开发小伙伴担心影响已有功能,就复制粘贴造成的。重复代码很难维护的,如果你要修改其中一段的代码逻辑,就需要修改多次,很可能出现遗漏的情况。如何优化重复代码呢?分三种情况讨论:同一个类的两个函数含有相原创 2021-05-16 19:19:45 · 4249 阅读 · 0 评论 -
一次代码优化的实践(模板方法+策略+工厂方法模式)
前言好久没分享工作总结啦,今天来一份代码优化总结。用模板方法+策略+工厂方法模式优化了代码,耐心点看完,应该对大家有帮助的~本文已经收录到githubhttps://github.com/whx123/JavaHome公众号:捡田螺的小男孩优化代码前先来了解一下类似的业务场景,简言之,就是:多个商户接入我们系统,都是走一个类似的流程通过http请求出去的。优化前,每个公司对应一个句柄服务,伪代码如下:// 商户A处理句柄CompanyAHandler implements Reque原创 2020-09-23 07:20:39 · 414 阅读 · 0 评论 -
如何设计一个安全对外的接口?加签与验签了解一下
前言我们在求职面试中,经常会被问到,如何设计一个安全对外的接口呢? 其实可以回答这一点,加签和验签,这将让你的接口更加有安全。接下来,本文将和大家一起来学习加签和验签。从理论到实战,加油哦~密码学相关概念加签验签概念为什么需要加签、验签加密算法简介加签验签相关API加签验签代码实现公众号:捡田螺的小男孩本文已经收录到个人github,文章有用的话,可以给个star呀:https://github.com/whx123/JavaHome密码学相关概念明文、密文、密钥、加密、解密原创 2020-07-19 08:53:07 · 1760 阅读 · 1 评论 -
记一次接口性能优化实践总结:优化接口性能的八个建议
前言最近对外接口偶现504超时问题,原因是代码执行时间过长,超过nginx配置的15秒,然后真枪实弹搞了一次接口性能优化。在这里结合优化过程,总结了接口优化的八个要点,希望对大家有帮助呀~数据量比较大,批量操作数据入库耗时操作考虑异步处理恰当使用缓存优化程序逻辑、代码SQL优化压缩传输内容考虑使用文件/MQ等其他方式暂存,异步再落地DB跟产品讨论需求最恰当,最舒服的实现方式嘻嘻,先看一下我们对外转账接口的大概流程吧1.数据量比较大,批量操作数据入库优化前://for循环单笔入原创 2020-05-31 06:16:07 · 1388 阅读 · 0 评论 -
Java程序员必备:序列化全方位解析
前言相信大家日常开发中,经常看到Java对象“implements Serializable”。那么,它到底有什么用呢?本文从以下几个角度来解析序列这一块知识点~什么是Java序列化?为什么需要序列化?序列化用途Java序列化常用API序列化的使用序列化底层日常开发序列化的注意点序列化常见面试题一、什么是Java序列化?序列化:把Java对象转换为字节序列的过程反序列...原创 2020-04-20 07:36:30 · 1222 阅读 · 0 评论