0%

概述

这篇文章介绍了单元测试的概念,以及在 springboot 项目中如何使用单元测试来检查代码是否正确。

关于单元测试

单元测试(Unit Testing)又称模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用程序的最小可测试部件,在过程化编程中,一个单元就是单个程序、函数、过程;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

——维基百科

阅读全文 »

概述

这篇文章介绍了如何在虚拟机和实体机中安装 Linux 系统,这是学习 Linux 系统的第一步。

关于 Linux 系统

Linux,全称 GNU/Linux ,是一开源和自由传播的类 UNIX 操作系统,是一个基于 POSIX 的多用户、多任务、支持多线程和多 CPU 的操作系统,深受全世界软件爱好者、组织和公司的支持。Linux 可以运行在服务器和其他大型平台上,也广泛应用于嵌入式系统中,在移动设备中广泛使用的 Android 操作系统就是创建在 Linux 内核之上。

Linux通常被打包成供个人计算机和服务器使用的 Linux 发行版,发行版包含 Linux 内核和支撑内核的实用程序和库,通常还带有大量可满足各类需求的应用程序。现在流行的 Linux 发行版主要分为两派:一是 Debian 及其衍生版本 Ubuntu、Linux mint,二是 Fedora 及相关版本 Red Hat Enterprise Linux、CentOS 等。

Linux 系统族谱

GNU/Linux Distribution Timeline: http://futurist.se/gldt/

阅读全文 »

概述

这篇文章介绍了模板方法模式,这是一个很简单而应用广泛的设计模式,仅仅使用到类的继承机制。

classDiagram
class Game {
  + play():void
  + init():void
  + start():void
  + run():void
  + stop():void
}
class Basketball {
  + init():void
  + start():void
  + run():void
  + stop():void
}
class Football {
  + init():void
  + start():void
  + run():void
  + stop():void
}
Game <|-- Basketball
Game <|-- Football

关于模板方法模式

模板方法模式(Template Method Pattern),定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

模板方法模式,是一种行为模式,目的是减少重复代码,特点是把固定不变的逻辑作为一个模板方法,放到父类中,其中的具体操作步骤由子类实现,来完成总体逻辑一致,但又存在个体差异的行为。

阅读全文 »

概述

Trie 树,名字源于 retrieval,意为检索、找回,又称为前缀树、字典树,是一种有序树形结构,是哈希树的变种,用于保存关联数组,通常是字符串。与二叉查找树不同,键不是保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀。一般情况下不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。

graph TB
root((/))
root ---- t((t))
t ---- h((h))
	h ---- r2((r))
		r2 ---- e3((e))
			e3 ---- e4((e))
t ---- r((r))
    r ---- e1((e))
    	e1 ---- e2((e))
    r ---- i((i))
    	i ---- e((e))
    r ---- y((y))
root ---- w((w))
	w ---- o((o))
		o ---- r3((r))
			r3 ---- d((d))
阅读全文 »

概述

这篇文章介绍了在 CentOS 7 中搭建 hexo 博客的方法,内容包括在 linux 系统中安装与配置 nodejs,安装与启动 hexo 博客服务,开启防火墙的端口访问。

阅读全文 »

概述

这篇文章讲解了使用 rxtx 工具包在 java 程序中连接串口,并使用串口收发数据。

认识串口

串行接口(Serial Interface)简称串口,也称串行通信接口或串行通讯接口(通常是指COM接口),是采用串行通信方式的扩展接口,串口传输时数据一位一位地顺序传送。串行通信具有通信线路简单的特点,只需要一对传输线就可以实现双向通信,降低了成本,适合远距离通信,缺点是传输速度较慢。

串口标准分类:

  • RS-232: 也称标准串口,最常用的串行通信接口。
  • RS-422: 全称“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。
  • RS-485: 在 RS-422 基础上发展而来。
阅读全文 »

概述

UML图是程序员必须学会的基础知识,这篇文章介绍了UML类图的使用方法。

什么是 UML 类图

UML (Uinfied Modeling Language),统一建模语言,是广泛使用的开发建模工具,是面向对象设计的建模工具,独立于任何具体程序设计语言。UML图有用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图,其中类图用于描述系统中的类,以及各个类之间的关系,是使用频率最高的UML图之一。

阅读全文 »

概述

使用 kindle 阅读[美] 哈 尔· 埃 尔 罗 德( Hal Elrod)的《早起的奇迹》电子书后的笔记。

关于本书

本书

阅读全文 »

概述

这篇文章介绍了 redis 支持的数据类型,以及对这些数据类型的操作与使用场景。

认识 Redis

Redis ,全称 Remote Dictionary Server(远程字典服务),是一个使用 C 开发的开源的 Key-Value 型的内存中的数据结构存储系统,可作为数据库、缓存和消息中间件,Redis 的数据都在内存中处理,因此具有极高的读写速度。

Redis 存储时的键一般用字符串,但不限于字符串,也可以是任何二进制序列,比如一个 jpeg 文件的内容,但建议不要太长,会消耗内存,而且计算成本很高。存储的值支持多种类型的数据结构,包括:string(字符串)、list(链表)、set(集合)、sorted set(有序集合)、hash(字典)、bitmap(位操作)、hyperloglog(基数统计)、geospatial(地理信息)。

Redis 官网:

中文官网:http://www.redis.cn/

英文官网:https://redis.io/

阅读全文 »

概述

jvisualvm 是 jdk 中提供的程序监控工具,能够帮我们监控程序运行,辅助程序调优,排查程序故障。比如 java 项目中很多时候需要用到线程池来并发处理工作任务,但在写代码的时候很难确定线程池的容量配置,此时可以使用 jvisualvm 来监测程序中创建线程的情况,以此来确定线程池配置。在学习线程相关知识时,可以用这个工具来辅助,更加直观的看到那些线程在运行,查看死锁的情况等。

关于 jvisualvm

jvisualvm (Java VisualVM)是 jdk(1.8) 中自带的故障处理工具,功能强大,能够对 java 程序进行运行时监测和故障处理,还能进行性能分析。jvisualvm的优点是不需要被监视的程序基于特殊的 Agent 运行,对应用程序的实际性能影响很小,这使得它可以直接运用在生产环境中。

jvisualvm 还支持扩展插件,实现更多功能。

阅读全文 »