随笔分类 -  Java

摘要:在后端返回数据给前端时,公司的框架会把值为null的数据去掉,方便前端取值。 如:Person对象为:{name:"浩二", age:24, weight:null, height:114},那返回给前端的就为{name:"浩二", age:24, height:114}。 如果这个时候有个需求: 阅读全文
posted @ 2023-06-09 18:01 LonZyuan 阅读(690) 评论(0) 推荐(0)
摘要:快速失败机制 是Java集合的一种错误检测机制,当遍历集合时,集合的结构进行了修改,可能会触发"fail-fast"机制 Java.util包中所有集合都被设计为快速失败机制 示例代码 public class TestFailFast { ​ public static void main(Str 阅读全文
posted @ 2022-12-30 15:49 LonZyuan 阅读(368) 评论(0) 推荐(0)
摘要:1.使用Postman 操作步骤: 1)进入一个collection,点击run按钮: 2)选择需要并发请求的接口,配置数量以及延迟等,点击运行: 3)查看运行结果: 2.代码使用CountDownLatch 了解CountDownLatch:https://blog.csdn.net/yangsh 阅读全文
posted @ 2022-09-16 17:55 LonZyuan 阅读(1313) 评论(0) 推荐(0)
摘要:上一篇:关于Redis的问题探讨(一):为何存放集合偏向于转String后存放而非直接存 在上篇中发现了一个问题,明明存的是一个对象的集合,为什么通过range方法返回的却是LinkeHashMap 于是通过debug看看源码,了解执行流程,找一下原因 这是笔者通过debug画出的大致流程: 注意看 阅读全文
posted @ 2022-05-26 11:38 LonZyuan 阅读(1621) 评论(0) 推荐(1)
摘要:公司有一个比较庞大的项目,今天在拉取最新代码后启动,等待很久之后发现报错 java.lang.OutOfMemoryError:GC overhead limit exceeded 然后就去查阅资料,参考:https://blog.csdn.net/liuxinghao/article/detail 阅读全文
posted @ 2022-05-24 16:15 LonZyuan 阅读(1436) 评论(0) 推荐(0)
摘要:在拉取代码后,项目的部分版本与本地存在的不一定一致,所以IDEA会自动下载并引入,但是在启动时可能存在java.lang.NoClassDefFoundError这个报错 比如引入marshalling后启动报错: java.lang.NoClassDefFoundError: org/jboss/ 阅读全文
posted @ 2021-07-06 10:01 LonZyuan 阅读(1391) 评论(0) 推荐(0)
摘要:GitHub:https://github.com/ownzyuan/test-cloud 前篇:搭建简单的SpringCloud项目一:注册中心和公共层 搭建简单的SpringCloud项目二:服务层和消费层 启动失败一 org.springframework.beans.factory.Unsa 阅读全文
posted @ 2021-04-16 14:16 LonZyuan 阅读(384) 评论(0) 推荐(0)
摘要:GitHub:https://github.com/ownzyuan/test-cloud 前篇:搭建简单的SpringCloud项目一:注册中心和公共层 后篇:搭建简单的SpringCloud项目三:问题及解决 服务层(server) 搭建 用于直接操作数据库,对外提供相应接口,同时服务层也可以消 阅读全文
posted @ 2021-04-16 11:29 LonZyuan 阅读(251) 评论(0) 推荐(0)
摘要:注:笔者在搭建途中其实遇见不少问题,统一放在后面的文章说明,现在的搭建是测试OK的。 GitHub:https://github.com/ownzyuan/test-cloud 后续:搭建简单的SpringCloud项目二:服务层和消费层 搭建简单的SpringCloud项目三:问题及解决 数据库 阅读全文
posted @ 2021-04-16 11:20 LonZyuan 阅读(257) 评论(0) 推荐(0)
摘要:概念 简介 线程池就是先创建一些线程,他们的集合称为线程池。 使用线程池,可以很好的提高性能,线程池再系统启动时即创建大量空闲的线程,程序奖一个任务传给线程池,线程池就会启动1条线程来执行此任务,执行结束后,线程不会死亡,而是再次返回线程池成为空闲状态,等待下一任务。 工作机制 1)在线程池的编程模 阅读全文
posted @ 2021-03-02 19:49 LonZyuan 阅读(132) 评论(0) 推荐(0)
摘要:概念 阻塞队列(BlockingQueue):支持2个附加操作的队列。阻塞队列常用于生产者和消费者的场景,生产者是往队列中添加元素的线程,消费者是从队列中获取元素的线程。 附加操作: 1)队列为空时,获取元素的线程会等待队列变为非空 2)队列为满时,存储元素的线程会等待队列可用。 种类 ArrayB 阅读全文
posted @ 2021-02-26 16:51 LonZyuan 阅读(177) 评论(0) 推荐(0)
摘要:概念 CAS(Compare And Swap 比较并交换),是 乐观锁 的一种典型实现机制。 乐观锁主要的两个步骤:冲突检测、数据更新。 当多个线程尝试使用CAS同时更新通过一个变量的时候,只有一个线程可以更新变量的值,其他线程都会失败,失败的线程不会被挂起,而是告知失败并可以再次尝试。 CAS操 阅读全文
posted @ 2021-02-25 16:21 LonZyuan 阅读(291) 评论(0) 推荐(0)
摘要:Volatile volatile是Java虚拟机提供的轻量级的同步机制 3大特性 1.保证可见性 当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值 案例代码 import java.util.concurrent.TimeUnit; ​ class MyD 阅读全文
posted @ 2021-02-24 15:33 LonZyuan 阅读(654) 评论(0) 推荐(0)
摘要:引言 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream 阅读全文
posted @ 2021-01-14 21:02 LonZyuan 阅读(573) 评论(0) 推荐(0)
摘要:前几天,在CodeReview的时候,看了一个同事代码有许多不好的地方, 虽然业务运行是OK的,但是能为了规范或是后续维护迭代,都应该注意一下部分问题。 注:因为保密原则,文章贴出来的代码都是我按照格式仿写的,并非公司源码。 1.命名随意 代码: List<UserDTO> list = new A 阅读全文
posted @ 2020-10-23 16:36 LonZyuan 阅读(361) 评论(0) 推荐(0)