摘要: 什么是消息队列(MQ) 消息是在不同应用间传递的数据。这里的消息可以非常简单,比如只包含字符串,也可以非常复杂,包含多个嵌套的对象。消息队列(Message Queue)简单来说就是一种应用程序间的通讯方式,消息发送后立即返回,然后由消息系统保证消息的可靠性传输,消息生产者只需要把消息发到 MQ 中 阅读全文
posted @ 2020-07-18 17:49 mghio 阅读(469) 评论(1) 推荐(1) 编辑
摘要: 前言 在 Java 中通过锁来控制多个线程对共享资源的访问,使用 Java 编程语言开发的朋友都知道,可以通过 synchronized 关键字来实现锁的功能,它可以隐式的获取锁,也就是说我们使用该关键字并不需要去关心锁的获取和释放过程,但是在提供方便的同时也意味着其灵活性的下降。例如,有这样的一个 阅读全文
posted @ 2020-06-11 22:07 mghio 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用。为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多其它功能。使用 Java 语言的朋友应该用过或者听过 Junit 就是用来做单元测试的,那么为什么我 阅读全文
posted @ 2020-05-31 09:27 mghio 阅读(883) 评论(0) 推荐(1) 编辑
摘要: 前言 对于使用 Java 语言开发的朋友可能会遇到这种情况,有时想学习和探索 Java 的最新版本提供的一些新特性,比如 Java 11,但你无法将其安装在自己的计算机上,因为你的团队正在使用比这个旧的版本(我们目前用的 Java 8),你并不想影响目前的项目。或者你目前是在维护和开发多个项目,而这 阅读全文
posted @ 2020-05-17 17:49 mghio 阅读(4303) 评论(0) 推荐(1) 编辑
摘要: 前言 在日常工作中,经常要判断一个元素是否在一个集合中。假设你要向浏览器添加一项功能,该功能可以通知用户输入的网址是否是恶意网址,此时你手上有大约 1000 万个恶意 URL 的数据集,你该如何实现该功能。按我之前的思维,要判断一个元素在不在当前的数据集中,首先想到的就是使用 ,通过哈希函数运行所有 阅读全文
posted @ 2020-04-19 21:42 mghio 阅读(1711) 评论(2) 推荐(7) 编辑
摘要: 前言 里字符串表示字符的不可变序列,创建后就不能更改。在我们日常的工作中,字符串的使用非常频繁,熟练的对其操作可以极大的提升我们的工作效率,今天要介绍的主角是 开源的一个核心 库 "Guava" ,它提供了集合类型、不可变的集合、并发、I / O、缓存、字符串等许多实用功能。在本文中,我们将学习使用 阅读全文
posted @ 2020-04-12 19:50 mghio 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 前言 在我们的意识里,同步执行的程序都比较符合人们的思维方式,而异步的东西通常都不好处理。在异步计算的情况下,以回调表示的动作往往会分散在代码中,也可能相互嵌套在内部,如果需要处理其中一个步骤中可能发生的错误时,情况变得更加糟糕。Java 8 引入了很多的新特性,其中就包含了 "Completabl 阅读全文
posted @ 2020-04-06 22:42 mghio 阅读(473) 评论(1) 推荐(1) 编辑
摘要: 前言 在日常生活中,当我们买的水果放久了之后会发出一种难闻的气味(“坏味道”),这个时候我们就应该把它扔掉。同样,代码也有“坏味道”,当然确定什么是和不是代码“坏味道”是主观的,它会随语言、开发人员和开发方法的不同而不同。在工作当中,很多时候都是在维护之前的项目和在此基础上增加一些新功能,为了能让项 阅读全文
posted @ 2020-03-29 19:33 mghio 阅读(781) 评论(0) 推荐(1) 编辑
摘要: 前言 在计算机科学中,垃圾回收( )是内存自动管理的一种方式,它并不是同 语言一起诞生的,实际上,早在 1959 年为了简化 "Lisp" ) 语言的手动内存管理,该语言的作者就开始使用了内存自动管理技术。 和`手动内存管理 Java 1. 哪些内存需要回收 2. 什么时候进行回收 3. 怎么进行内 阅读全文
posted @ 2020-03-21 15:27 mghio 阅读(345) 评论(0) 推荐(1) 编辑
摘要: 1.1 什么是字节码? Java 在刚刚诞生之时曾经提出过一个非常著名的口号: “ 一次编写,到处运行(write once,run anywhere) ”,这句话充分表达了软件开发人员对冲破平台界限的渴求。“与平台无关”的理想最终实现在操作系统的运用层上: 虚拟机提供商开发了许多可以运行在不同平台 阅读全文
posted @ 2020-03-19 20:03 mghio 阅读(924) 评论(0) 推荐(0) 编辑