![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
简历发我邮箱哦~
文章平均质量分 80
业务知识
不会汪汪的猫咪
可以称得上是做互联网金融的开发工程师,会点Java,会点Python
展开
-
业务知识——Logger日志打印规范
初期,我们的系统比较简单,在这个过程中,加上大家平时都不注意,所以Logger日志一直是打印的随心所欲,什么是随心所欲的,就是大家想在哪里打日志就在哪里打印日志,想输出什么就输出什么,毫无规范可言,在系统的流量和业务量变得越来越复杂的情况下,良好的日志才能帮助我们更快地找到问题,更好地解决问题。 首先来看一下比较常用的Logger日志级别(部分未列出):error - 运行期错误日志记...原创 2018-05-17 22:59:16 · 6623 阅读 · 0 评论 -
springBoot JunitTest的使用以及如何在junit启动前加载
springBoot JunitTest的使用@SpringBootTest(classes = {Application.class},webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)@TestExecutionListeners(listeners = {TestListener.class, DependencyInj...原创 2019-03-04 15:54:32 · 4289 阅读 · 0 评论 -
一次C端线上缓存问题的总结
一次C端线上缓存问题的总结做C端需求的第二周,有个小需求,需要将从中央配置中心的拿回来的数据做一个缓存,保证数据访问快速。由于项目中直接有ehcache,集成spring-boot,所以开发起来比较简单,只是随手加上了@Cacheable注解,并在需要清除缓存的时候加上了@CacheEvict。当然,正常情况下没有任何问题。结果….突然当配置中心挂了的时候,我们把null值缓存进去了,导...原创 2019-02-28 11:45:09 · 289 阅读 · 0 评论 -
linux 创建连接命令 ln -s 软链接
linux 创建连接命令 ln -s 软链接这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(...转载 2018-10-11 11:57:41 · 216 阅读 · 0 评论 -
Java中 SPI的使用
Java中 SPI的使用SPI(Service Provider Interface), 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。今天才知道,原来在Spring中使用了很多了SPI的操作。在这里记录一下。1,SPI 的使用场景SPI一般使用在一个接口有多个实现的情况,在外界无感的情况下可以实现自动的切换。比如在发短信的场景下,有多个供应商,可以使用SPI来...原创 2018-09-18 17:01:20 · 3350 阅读 · 0 评论 -
写接口文档及生成mock数据
写接口文档及生成mock数据 在web应用开发的过程中,与前端联调时总会有一些接口,需要接口文档,在接口先行的情况下,前端不能拿到实际的接口进行开发,所以就需要mock数据。今天搜索了下,阿里在这方面已经有一个相对比较成熟的应用 RAP ,现在已经到了RAP2. http://rap2.taobao.org/注册后创建仓库即可使用 ...原创 2018-09-11 18:15:17 · 2477 阅读 · 0 评论 -
RSA加密的原理——为什么被公钥加密的可以被私钥解密?
RSA加密的原理——为什么被公钥加密的可以被私钥解密?目录 一,RSA 数学理论基础 二,RSA实现原理 三,RSA加密的过程 四,参考文献引言在密码学最开始,都是使用的普通加密模式 A 用加密规则加密了字符串m 然后发给B B 用A的加密规则来解密,得到原始信息m在这个过程中A必须把自己的加密规则告诉B,否则B无...原创 2018-08-25 15:32:43 · 43625 阅读 · 26 评论 -
高并发缓存处理之——缓存穿透的几种形式及解决方案
缓存失效的几种形式1 缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。 key不存在时,大量的数据进来查询DB解决方案:有很多种方法可以有效地解...转载 2018-08-24 19:26:54 · 18970 阅读 · 0 评论 -
高并发系统处理之——限流
高并发系统处理之——限流对于高并发应用服务,有三个很好的方案可以保护系统 1.缓存 缓存的目的是提升系统访问速度和增大系统处理容量 2.降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 3.限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待...原创 2018-08-22 14:17:53 · 1261 阅读 · 0 评论 -
接口幂等性的设计之————redis分布式锁的应用
接口幂等性的设计之————redis分布式锁的应用在集群机器部署的前提下,接口在相同数据高并发的情况下如果没有唯一索引的情况下,可能会有一些问题。比如:插入或更新商品的接口,如果没有则插入,有则更新的接口。支持多次修改。考虑一种情况,前端页面第一次提交时瞬间点击多次。这种情况下会先去数据库查询,然后再插入。(当然唯一索引也可以解决,但是这种的有一次提交将会被拒绝)。所有分布式锁...原创 2018-07-13 11:42:51 · 3304 阅读 · 0 评论 -
BUG总结——【构造函数写逻辑】引发的极大的线上问题
刚才排查出一个线上问题,极为严重,但是引发点却非常小,让人深省。构造函数不写逻辑 这句话一直说,但是一直不理解原因原创 2018-06-28 21:03:00 · 1142 阅读 · 0 评论 -
使用POI进行数据导出excel时的OOM服务挂掉,cpu飙升的问题
在日常工作中,经常可能会使用到poi来进行数据导出,但是在导出的过程中,如果对poi类使用不当,则可能会出现一些问题,比较严重,下面对poi中三种不同的类来进行说明。 1. HSSFWorkbook(excel 2003)HSSFWorkbook 针对是 EXCEL2003 版本,扩展名为 .xls;所以 此种的局限就是 导出的行数 至多为 65535 行,此种 因为行数不够多 所以一般不会发生O...原创 2018-06-23 09:28:16 · 5467 阅读 · 0 评论 -
一个网站的演进之路
1,应用和数据库分机部署2,应用服务器集群3,软硬件负载均衡4,解决统一session5,数据库读写分离6,缓存7,分布式存储,redis等非关系型数据库8,拆库,按业务垂直拆分数据,专库专用。水平拆分数据库表,sharding9,拆分应用,服务化。10,搜索引擎摘自《大型网站系统与JAVA中间件实践》...原创 2019-09-23 21:24:35 · 217 阅读 · 0 评论