会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
mghio
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2020年8月9日
RabbitMQ 基础概念进阶
摘要: 上一篇 RabbitMQ 入门之基础概念 介绍了 RabbitMQ 的一些基础概念,本文再来介绍其中的一些细节和其它的进阶的概念。 一、消息生产者发送的消息不可达时如何处理 RabbitMQ 提供了消息在传递过程中无法发送到一个队列(比如根据自己的类型和路由键没有找到匹配的队列)时将消息回传给消息发
阅读全文
posted @ 2020-08-09 18:41 mghio
阅读(485)
评论(0)
推荐(0)
2020年7月18日
RabbitMQ 入门之基础概念
摘要: 什么是消息队列(MQ) 消息是在不同应用间传递的数据。这里的消息可以非常简单,比如只包含字符串,也可以非常复杂,包含多个嵌套的对象。消息队列(Message Queue)简单来说就是一种应用程序间的通讯方式,消息发送后立即返回,然后由消息系统保证消息的可靠性传输,消息生产者只需要把消息发到 MQ 中
阅读全文
posted @ 2020-07-18 17:49 mghio
阅读(521)
评论(1)
推荐(1)
2020年6月11日
Java 中队列同步器 AQS(AbstractQueuedSynchronizer)实现原理
摘要: 前言 在 Java 中通过锁来控制多个线程对共享资源的访问,使用 Java 编程语言开发的朋友都知道,可以通过 synchronized 关键字来实现锁的功能,它可以隐式的获取锁,也就是说我们使用该关键字并不需要去关心锁的获取和释放过程,但是在提供方便的同时也意味着其灵活性的下降。例如,有这样的一个
阅读全文
posted @ 2020-06-11 22:07 mghio
阅读(560)
评论(0)
推荐(0)
2020年5月31日
一文让你快速上手 Mockito 单元测试框架
摘要: 前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用。为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多其它功能。使用 Java 语言的朋友应该用过或者听过 Junit 就是用来做单元测试的,那么为什么我
阅读全文
posted @ 2020-05-31 09:27 mghio
阅读(1124)
评论(0)
推荐(1)
2020年5月17日
如何在一台计算机上安装多个 JDK 版本
摘要: 前言 对于使用 Java 语言开发的朋友可能会遇到这种情况,有时想学习和探索 Java 的最新版本提供的一些新特性,比如 Java 11,但你无法将其安装在自己的计算机上,因为你的团队正在使用比这个旧的版本(我们目前用的 Java 8),你并不想影响目前的项目。或者你目前是在维护和开发多个项目,而这
阅读全文
posted @ 2020-05-17 17:49 mghio
阅读(4390)
评论(0)
推荐(1)
2020年4月19日
如何在亿级数据中判断一个元素是否存在?
摘要: 前言 在日常工作中,经常要判断一个元素是否在一个集合中。假设你要向浏览器添加一项功能,该功能可以通知用户输入的网址是否是恶意网址,此时你手上有大约 1000 万个恶意 URL 的数据集,你该如何实现该功能。按我之前的思维,要判断一个元素在不在当前的数据集中,首先想到的就是使用 ,通过哈希函数运行所有
阅读全文
posted @ 2020-04-19 21:42 mghio
阅读(1776)
评论(2)
推荐(7)
2020年4月12日
字符串操作 — Google Guava
摘要: 前言 里字符串表示字符的不可变序列,创建后就不能更改。在我们日常的工作中,字符串的使用非常频繁,熟练的对其操作可以极大的提升我们的工作效率,今天要介绍的主角是 开源的一个核心 库 "Guava" ,它提供了集合类型、不可变的集合、并发、I / O、缓存、字符串等许多实用功能。在本文中,我们将学习使用
阅读全文
posted @ 2020-04-12 19:50 mghio
阅读(770)
评论(0)
推荐(0)
2020年4月6日
如何编写优雅的异步代码 — CompletableFuture
摘要: 前言 在我们的意识里,同步执行的程序都比较符合人们的思维方式,而异步的东西通常都不好处理。在异步计算的情况下,以回调表示的动作往往会分散在代码中,也可能相互嵌套在内部,如果需要处理其中一个步骤中可能发生的错误时,情况变得更加糟糕。Java 8 引入了很多的新特性,其中就包含了 "Completabl
阅读全文
posted @ 2020-04-06 22:42 mghio
阅读(534)
评论(1)
推荐(1)
2020年3月29日
代码中的坏味道
摘要: 前言 在日常生活中,当我们买的水果放久了之后会发出一种难闻的气味(“坏味道”),这个时候我们就应该把它扔掉。同样,代码也有“坏味道”,当然确定什么是和不是代码“坏味道”是主观的,它会随语言、开发人员和开发方法的不同而不同。在工作当中,很多时候都是在维护之前的项目和在此基础上增加一些新功能,为了能让项
阅读全文
posted @ 2020-03-29 19:33 mghio
阅读(848)
评论(0)
推荐(1)
2020年3月21日
Java 垃圾收集技术
摘要: 前言 在计算机科学中,垃圾回收( )是内存自动管理的一种方式,它并不是同 语言一起诞生的,实际上,早在 1959 年为了简化 "Lisp" ) 语言的手动内存管理,该语言的作者就开始使用了内存自动管理技术。 和`手动内存管理 Java 1. 哪些内存需要回收 2. 什么时候进行回收 3. 怎么进行内
阅读全文
posted @ 2020-03-21 15:27 mghio
阅读(356)
评论(0)
推荐(1)
上一页
1
2
3
4
5
下一页
公告