摘要: 一般情况下,我们使用消息队列需要考虑下面几个问题: 如何保证消息的幂等性(消息重复)? 如何保证消息的顺序性(消息有序)? 如何保证消息的可靠性(消息丢失)? 消息幂等性 幂等性其实是一个数学与计算机概念,其意思是: 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 放阅读全文
posted @ 2019-01-07 18:32 陈树义 阅读(48) 评论(0) 编辑
摘要: 要做技术选型,那么必须对现今的各个消息中间件有个深入的理解才能做技术选型。否则别人问你,你为什么要用这个消息中间件,你说不出个所以然来,怎么做架构师呢? 截止到目前为止,现在业界流行的消息队列中间件有:Redis、ActiveMQ、RabbitMQ、RocketMQ、Kafka。下面我们将逐个对他们阅读全文
posted @ 2019-01-07 18:31 陈树义 阅读(80) 评论(0) 编辑
摘要: 消息队列中间件可以说是Java开发中最常使用的一块技术了,基本上上了规模的系统都会使用消息队列来优化系统架构。那么为什么要使用消息队列?我们使用消息队列来解决什么问题呢? 消息队列的优点 对于大多数系统来说,我们使用消息队列来做下面三件事情: 解耦、削峰、异步。 [1] 第一个作用:解耦。 在多个系阅读全文
posted @ 2019-01-07 18:29 陈树义 阅读(105) 评论(0) 编辑
摘要: 许多人知道类加载手机老虎机游戏下载、JVM内存模型,但他们可能不知道什么是《Java虚拟机规范》。对于Java开发来说,《Java虚拟机规范》才是最为官方、准确的一个文档,了解这个规范可以让我们更深入地理解JVM。我们平常说的JVM其实更多说的是HotSpot(HotSpot是JVM规范的一种实现),但我们常常将阅读全文
posted @ 2018-12-19 20:01 陈树义 阅读(369) 评论(0) 编辑
摘要: JVM是深入理解语言的基础,也是排查线上问题的基础。阅读全文
posted @ 2018-11-06 08:21 陈树义 阅读(1433) 评论(10) 编辑
摘要: 2018年就快过去了,趁着这个机会整理今年写下的一些文章。也可以让新来的朋友有个索引,方便查看。 Java基础 "注解的那些事儿(三)| 注解的使用" "注解的那些事儿(二)| 如何自定义注解" "注解的那些事儿(一)| 为什么要使用注解?" "大白话说Java反射:入门、使用、原理" "大白话说J阅读全文
posted @ 2018-11-01 09:53 陈树义 阅读(243) 评论(1) 编辑
摘要: 今天偶然想起之前和朋友讨论过的一个问题:如何唯一确定一个 Java 类?我相信大多数朋友遇到这个问题的回答都是:类的全路径呗。但事实上,唯一确定一个 Java 类,单单靠类路径是不够的,还要多加上一个东西:类加载器。也就是说, 类加载器 + 类路径才唯一确定一个 Java 类。 为了证明我所说的,我阅读全文
posted @ 2018-09-14 11:37 陈树义 阅读(506) 评论(3) 编辑
摘要: 前几天在 code review 时发现有一段代码中存在滥用try catch的现象。其实这种行为我们也许都经历过,刚参加工作想尽量避免出现崩溃问题,因此在很多地方都想着 try catch一下。 但实际上这种习惯不仅会让代码很难看,更会影响代码的运行性能。有些人会觉得,不就是一个 try catc阅读全文
posted @ 2018-09-12 09:48 陈树义 阅读(917) 评论(1) 编辑
摘要: 随着毕业季的来临,我收到许多年轻读者的询问,他们问我是否应该上大学或者读研究生。 答案是? 要看情况。 尽管读大学或研究生能够增加你的竞争力,但它们并不适合所有人。 尽管主流社会告诉你,如果你想要经营成功企业、实现财务自由,那么上大学、上MBA是必须的。但在很多情况下,从财务、时间和经验这几个方面评阅读全文
posted @ 2018-09-10 10:29 陈树义 阅读(235) 评论(0) 编辑
摘要: 这里说的策略模式是一种设计模式,经常用于有多种分支情况的777真钱老虎机设计中。例如我们去掉水果皮,一般来说对于不同的水果,会有不同的拨皮方式。此时用777真钱老虎机语言来表示是这样的: 如上面代码所写,我们用条件语句块去判断不同类型的水果,之后采取不同的剥皮方法。但这种方式在777真钱老虎机设计领域会导致原来的代码被修改,即每次我们阅读全文
posted @ 2018-09-03 09:35 陈树义 阅读(464) 评论(3) 编辑
博聚网