最新文章

【数据结构】Java里的各种Map

Map就如它字面意思,是一个从键(key)到值(value)的映射。我们在Map里面存储键值对,根据键得到值,因此键是不能重复的(如果插入一个有重复键的记录,则会覆盖原有的值),但是值可以重复。

Java里面基于对Map的不同访问需求创建了它的不同实现类:

  • 对键的顺序没有要求
  • 取出键的顺序按照插入记录时的顺序
  • 取出键的顺序按照键的升序排序
2020-07-10 / 4 min read

JavaScript里的对象

JavaScript简单数据结构包括数字、字符串、布尔值、null值、undefined值,其他都是对象。
对象时属性的容器,其中每个属性都是名字和值。
JavaScript里面的对象时无类型的,对新属性的名字和值没有限制,适合用于聚集和管理数据,对象里也可以包含其他对象。

2020-07-10 / 3 min read

MySQL不同的存储引擎

MySQL由以下几部分组成:

  • 连接池组件
  • 管理服务和工具组件
  • SQL接口组件
  • 查询分析器组件
  • 优化器组件
  • 缓冲(Cache)组件
  • 插件式存储引擎
  • 物理文件

MySQL区别于其他数据库的最重要的特点就是其插件式的表存储引擎。MySQL插件式的存储引擎架构提供了一系列标准的管理和服务支持,这些标准与存储引擎本身无关,可能是每个数据库系统本身都必需的,如SQL分析器和优化器等,而存储引擎是底层物理结构的实现,每个存储引擎开发者都可以按照自己的意愿来进行开发。

注意:存储引擎是基于表的,而不是数据库。

2020-07-10 / 14 min read

【数据结构】数组和链表

在计算机程序里,数据存储的方式无外乎两种:顺序存储和链式存储。顺序存储的结构可以称为顺序表,也可以用数组描述,链式存储的结构可以称为链表。
我们每一个学过数据结构的都知道,它们两者各自有一些鲜明的特性,比如:

  • 我们可以通过数组下标去访问数组里的元素,查询、更新的效率高,时间复杂度是O(1),但是在中间某个位置插入或删除一个元素就要挪动后面所有的元素,时间复杂度是O(n)。
  • 链表里元素之间存在指针指向关联的另一个元素,我们只能通过指针挨个去遍历访问链表里的元素,查询、更新的效率低,时间复杂度是O(n),在中间某个位置插入或删除一个元素比较方便,只需要修改相邻指针的引用就可以了,时间复杂度是O(1)。
2020-07-10 / 4 min read

Linux 中的 2> /dev/null

本文亦发布于ThinkBucket
在 Linux 的 shell 命令或者脚本中,我们经常看到这样的命令:

2> /dev/null

这是何意?

2020-05-21 / 5 min read

面向对象编程与纯函数

在面向对象编程里面,我们常常对现实世界建模抽象成一个个类,然后创建它们的对象,通过对象的方法行为去描述逻辑。

纯函数是一种特殊的函数,给它相同的输入永远会得到相同的输出,而且没有任何可观察的副作用。

2019-06-27 / 1 min read

在Shell里管理多个Java版本

自从Oracle宣布Java开始收费之后,越来越多的人会考虑从[Open JDK][1]下载安装Java环境。可能自己机器上也会同时并存好几个Java版本,本文以macOS为例介绍一下如何从Open JDK安装并进行管理多版本。

2019-06-27 / 3 min read

Try with closable resources

2019-06-17 / 1 min read

以单元测试的角度聊聊写代码

单元测试,也就是对代码较细粒度单元的测试,一般就是测某个方法或函数。说到单元测试,基本上每个开发者都不陌生,时不时会听到“测试覆盖率太低了!”,然后“We need to increase our code coverage!”。经常出bug?好好准备测试吧。

2019-05-24 / 8 min read

HTTP 响应状态码

目前HTTP在Web开发中被广泛使用,REST (Representational State Transfer) 很多人应该或多或少都知道些。当然了,比较熟悉的可能主要是GET、POST方法。这篇文章不是介绍REST的定义和如何创建符合REST风格的API,而是讲讲在Web开发中通用的不同HTTP响应状态码的含义。在普通网站开发、分布式集群开发、团队协作方面,如果采用了HTTP作为组件之间交互的协议,遵守通用的响应状态码是很有必要的(一是有充分的信息量、二是避免歧义)。

HTTP响应状态共有5大类,分别是数字1、2、3、4、5开头。

2019-04-06 / 6 min read