摘要: 前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用。为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多其它功能。使用 Java 语言的朋友应该用过或者听过 Junit 就是用来做单元测试的,那么为什么我 阅读全文
posted @ 2020-05-31 09:27 mghio 阅读(839) 评论(0) 推荐(1) 编辑
摘要: 前言 对于使用 Java 语言开发的朋友可能会遇到这种情况,有时想学习和探索 Java 的最新版本提供的一些新特性,比如 Java 11,但你无法将其安装在自己的计算机上,因为你的团队正在使用比这个旧的版本(我们目前用的 Java 8),你并不想影响目前的项目。或者你目前是在维护和开发多个项目,而这 阅读全文
posted @ 2020-05-17 17:49 mghio 阅读(4282) 评论(0) 推荐(1) 编辑
摘要: 前言 在日常工作中,经常要判断一个元素是否在一个集合中。假设你要向浏览器添加一项功能,该功能可以通知用户输入的网址是否是恶意网址,此时你手上有大约 1000 万个恶意 URL 的数据集,你该如何实现该功能。按我之前的思维,要判断一个元素在不在当前的数据集中,首先想到的就是使用 ,通过哈希函数运行所有 阅读全文
posted @ 2020-04-19 21:42 mghio 阅读(1698) 评论(2) 推荐(7) 编辑
摘要: 前言 里字符串表示字符的不可变序列,创建后就不能更改。在我们日常的工作中,字符串的使用非常频繁,熟练的对其操作可以极大的提升我们的工作效率,今天要介绍的主角是 开源的一个核心 库 "Guava" ,它提供了集合类型、不可变的集合、并发、I / O、缓存、字符串等许多实用功能。在本文中,我们将学习使用 阅读全文
posted @ 2020-04-12 19:50 mghio 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 前言 在我们的意识里,同步执行的程序都比较符合人们的思维方式,而异步的东西通常都不好处理。在异步计算的情况下,以回调表示的动作往往会分散在代码中,也可能相互嵌套在内部,如果需要处理其中一个步骤中可能发生的错误时,情况变得更加糟糕。Java 8 引入了很多的新特性,其中就包含了 "Completabl 阅读全文
posted @ 2020-04-06 22:42 mghio 阅读(439) 评论(1) 推荐(1) 编辑
摘要: 前言 在日常生活中,当我们买的水果放久了之后会发出一种难闻的气味(“坏味道”),这个时候我们就应该把它扔掉。同样,代码也有“坏味道”,当然确定什么是和不是代码“坏味道”是主观的,它会随语言、开发人员和开发方法的不同而不同。在工作当中,很多时候都是在维护之前的项目和在此基础上增加一些新功能,为了能让项 阅读全文
posted @ 2020-03-29 19:33 mghio 阅读(767) 评论(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 阅读(917) 评论(0) 推荐(0) 编辑
摘要: 前言 现在流行的微服务体系结构正在改变我们构建应用程序的方式,从单一的单体服务转变为越来越小的可单独部署的服务(称为 ),共同构成了我们的应用程序。当进行一个业务时不可避免就会存在多个服务之间调用,假如一个服务 A 要访问在另一台服务器部署的服务 B,那么前提是服务 A 要知道服务 B 所在机器的 阅读全文
posted @ 2020-03-18 11:58 mghio 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-01-16 20:21 mghio 阅读(134) 评论(0) 推荐(0) 编辑