摘要:前言 如果要研究高并发,一般会借助高并发工具来进行测试。JCStress(Java Concurrency Stress)它是OpenJDK中的一个高并发测试工具,它可以帮助我们研究在高并发场景下JVM,类库以及硬件等状况。 JCStress学起来很简单,而且官方也提供了许多高并发场景下的测试用例, 阅读全文
posted @ 2021-04-07 23:22 陈皮的JavaLib 阅读(353) 评论(0) 推荐(0) 编辑
摘要:前言 Java注解和反射是很基础的Java知识了,为何还要讲它呢?因为我在面试应聘者的过程中,发现不少面试者很少使用过注解和反射,甚至有人只能说出@Override这一个注解。我建议大家还是尽量能在开发中使用注解和反射,有时候使用它们能让你事半功倍,简化代码提高编码的效率。很多优秀的框架都基本使用了 阅读全文
posted @ 2021-04-07 09:55 陈皮的JavaLib 阅读(810) 评论(0) 推荐(2) 编辑
摘要:缘由 接口文档想必是许多开发小伙伴的噩梦,不仅要写详细,还要及时维护文档与后端代码保持一致,稍有没及时更新接口文档,前端同学肯定会抱怨后端同学给的文档与实际情况不一致。 于是,引入了Swagger组件,它实现了代码即文档,后端只管写代码,只需要通过几个注解,会自动生成接口文档,前端同学可在线访问。 阅读全文
posted @ 2021-03-28 21:30 陈皮的JavaLib 阅读(5762) 评论(26) 推荐(18) 编辑
摘要:前言 就在2021/03/16,官方正式发布了Java 16。我们可以下载使用Java 16了。 特性 向量API(孵化) 在运行期,Vector 表示向量计算可以可靠地编译成支持CPU架构上的最佳矢量硬件指令,从而实现优于等效标量计算的性能。提升了Java在CPU向量计算的性能。 启用c++ 14 阅读全文
posted @ 2021-03-17 14:54 陈皮的JavaLib 阅读(1520) 评论(13) 推荐(2) 编辑
摘要:对于 i 和 i,许多人可能都知道,不就是先加1再取值,和先取值再加1嘛。然而,真的是这样吗?请先看以下4道题,能全部答对可以忽略这篇文章。 题目 // 示例1 int i = 1; i = i++; System.out.println("i = " + i); // 示例2 int i = 1; 阅读全文
posted @ 2021-03-15 23:34 陈皮的JavaLib 阅读(535) 评论(2) 推荐(3) 编辑
摘要:一 前言 系统执行业务逻辑之前,会对输入数据进行校验,检测数据是否有效合法的。所以我们可能会写大量的if else等判断逻辑,特别是在不同方法出现相同的数据时,校验的逻辑代码会反复出现,导致代码冗余,阅读性和可维护性极差。 鉴于通用性和普遍性,Spring框架提供了validator组件,通过一些校 阅读全文
posted @ 2021-03-13 16:17 陈皮的JavaLib 阅读(108) 评论(0) 推荐(0) 编辑
摘要:一 前言 项目开发中,总会遇到解压缩文件的时候。比如,用户下载多个文件时,服务端可以将多个文件压缩成一个文件(例如xx.zip或xx.rar)。用户上传资料时,允许上传压缩文件,服务端进行解压读取每一个文件。 基于通用性,以下介绍几种解压缩文件的方式,包装成工具类,供平时开发使用。 二 压缩文件 压 阅读全文
posted @ 2021-03-10 23:25 陈皮的JavaLib 阅读(239) 评论(0) 推荐(2) 编辑
摘要:一 前言 日常开发中,经常使用到Lambda表达式,例如: public static void main(String[] args) { List<Integer> list = Arrays.asList(1, 5, 10, 4, 2); // 打印列表中的每一个数字 list.forEach 阅读全文
posted @ 2021-03-07 17:23 陈皮的JavaLib 阅读(166) 评论(0) 推荐(0) 编辑
摘要:一 前言 假如有一个15亿用户的系统,每天有几亿用户访问系统,要如何快速判断是否为系统中的用户呢? 方法一,将15亿用户存储在数据库中,每次用户访问系统,都到数据库进行查询判断,准确性高,但是查询速度会比较慢。 方法二,将15亿用户缓存在Redis内存中,每次用户访问系统,都到Redis中进行查询判 阅读全文
posted @ 2021-03-06 23:12 陈皮的JavaLib 阅读(255) 评论(0) 推荐(3) 编辑
摘要:(文章目录) 一、什么是定时任务 开发中经常会使用到定时任务,顾名思义,定时任务就是定时执行的方法,即定时执行的代码。比如,为了减少服务器或者数据库的压力,我们会将一些对服务器或者数据库等有压力的高频操作,改为定时去执行,例如每晚凌晨0点同步A系统的数据到B系统,每2小时统计用户的积分情况,每周一给 阅读全文
posted @ 2021-03-03 14:49 陈皮的JavaLib 阅读(493) 评论(2) 推荐(2) 编辑