程序语言
文章平均质量分 72
java、python、shell
qrainly
qrainly,一名大厂高级码农,技术爱好者,爱钻研,喜欢动手搭建技术平台,“重复造轮子”。随着年龄的增长兴趣爱好也逐渐单一,爱生活,爱技术,为努力成为一名懂技术有温度的CTO(或者CEO)前进!
展开
-
优雅的单测-Jacoco
一、背景 前面介绍过单测框架Junit5以及辅助单测的Mock框架MockIto。但是这些仅仅是提供给我们如何去写好一个单测,单测的有效性怎么样,是否满足所有的case场景,等等这些问题,是需要有度量指标去统计衡量。所以我们需要去定义一串代码的case是否都已经覆盖到。于是我们需要统计单测覆盖率来衡量单测case的覆盖范围。 二、单测覆盖率指标 常见的覆盖率指标有 行覆盖率 类覆盖率 分支覆盖率 方法覆盖率 圈复杂度 而行覆盖率是我们主要的衡量指标,有些平台要求较低可能只关注方法覆盖率。 业内的标准:原创 2021-09-18 16:59:04 · 351 阅读 · 0 评论 -
优雅的单测-Mock
一、 背景 测试替身 测试替身 说明 Dummy 假数据,填充参数,无实际意义 stub 插桩 spy 伪装的真实对象 mock 模拟对象 fake 假对象,内存数据库 二、Mock 为什么需要mock 测试驱动的开发( TDD)要求我们先写单元测试,再写实现代码。在写单元测试的过程中,我们往往会遇到要测试的类有很多依赖,这些依赖的类/对象/资源又有别的依赖,从而形成一个大的依赖树,要在单元测试的环境中完整地构建这样的依赖,是一件很困难的事情。 为了测试类A,我们需要M原创 2021-09-18 11:23:56 · 376 阅读 · 0 评论 -
优雅的单测-Junit5
背景原创 2021-09-18 10:56:41 · 262 阅读 · 0 评论 -
Java基础--浅谈NIO
目录什么是NIO相比较传统I/O的区别NIO三大核心部分ChannelFileChannelSocketChannelSelectorBuffer使用步骤操作示例三个重要的方法文件映射到内存 什么是NIO NIO即NEW I/O,是在JDK1.4引入的一套新的I/O标准。NIO是基于Block,以块为基本单元处理数据。并且为所有的基础类型提供了Buffer支持。 数据从Channel中读...原创 2019-07-06 16:45:04 · 194 阅读 · 0 评论 -
Java基础--Java的四种引用类型
目录java的引用类型强引用(StrongReference)软引用(SoftReference)弱引用(WeakReference)虚引用(PhantomReference) java的引用类型 强引用(StrongReference) 软引用(SoftReference) 弱引用(WeakReference) 虚引用(PhantomReference) 强引用(StrongReference)...原创 2019-07-15 16:20:27 · 127 阅读 · 0 评论 -
Java--Java基础数据类型
目录基本类型整型 byte short int long浮点型 double float字符型 char布尔型 boolean自动装箱、自动拆箱 基本类型 byte short int long float double char boolean 整型 byte short int long byte:1个字节8位 -128(-27)~127(27-1) 默认0 short:2个字节16位 -...原创 2019-07-15 16:09:51 · 94 阅读 · 0 评论 -
Java基础--初步分析ArrayList源码
简介 ArrayList作为Java集合容器,在我们的开发过程中是非常常见的。 ArrayList继承了AbstractList,实现了List、RandomAccess、Cloneable以及Serializable接口,支持快速访问、复制以及序列化。 ArrayList底层是基于数组的存储结构,支持null,可以通过索引进行随机访问,所以ArrayList的查询效率非常高。 但是数组的长度是固...原创 2019-07-09 15:37:00 · 215 阅读 · 0 评论 -
Java基础--面向对象开发的六大原则
目录对象的六大原则单一职责原则开闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特原则(最少知道原则) 对象的六大原则 单一职责原则(Single Responsibility Principle SRP) 开闭原则(Open Close Principle OCP) 里氏替换原则(Liskov Substitution Principle LSP) 依赖倒置原则(Dependence Inve...原创 2019-07-08 15:10:16 · 161 阅读 · 0 评论 -
java面试常见算法总结
java面试常见算法总结 一个int[]数组 如何打印出重复次数前5的元素及重复次数 /** * 排序 * @author v_liuwen * @date 2019/3/5 */ public class SortDemo { public static void main(String[] args) { int[] nums = new int[]{1,3...原创 2019-03-05 18:23:27 · 1515 阅读 · 0 评论 -
AOP注解方式实现redis分布式抢占锁
很多项目中都会有一些需要做定时跑批的任务需求,大多数是通过spring注解的方式实现的,但是到了生产环境,多节点的部署可能会造成定时任务的多节点同时触发而可能会出现脏数据。之前的处理方案是通过在字典里配置指定生产节点处理定时任务。虽然此方法也能实现需求,但总觉得很low,所以自己就通过JAVA的AOP方式利用redis实现了一套分布式抢占锁,通过注解的方式解决生产环境多节点部署带来的定时任务触发。原创 2019-01-18 19:24:26 · 710 阅读 · 0 评论