AlstonWilliams's Blog

Thinking will not overcome fear but action will.

Linux下连接OpenStack-Swift的客户端

昨天要验证一个配置文件是否正确,然而以前只是通过accesskey,secretkey这些,通过s3cmd来连接。这次需要通过username和password来连接。 在Windows下很简单,有一个叫做CloudBerry Explorer的软件,但是对于不是Windows而用Linux的我,就十分心急了。 经过搜索,发现Python有一个小工具,叫做python-swfitclie...

Linux下简单测试IO-CPU性能(译)

原文地址:https://haydenjames.io/web-host-doesnt-want-read-benchmark-vps/ 译者注:本篇文章只是非常简单的概括原文的内容,原文有更多的指导,所以建议直接阅读原文。 使用dd测试IO性能 测试IO write性能。使用下面的命令即可: dd if=/dev/zero of=diskbench bs=1M coun...

Kafka-Stream-maven-WordCount实例

我们打算设计一个接口统计系统,根据日志统计出来具有高延时的接口,以及错误信息等.开始打算使用Spark来做,后来得知Kafka中提供了这个功能,叫做Kafka Stream,基本的流处理已经能够实现了.于是就打算直接使用Kafka Stream来做.毕竟结构比较简单. 下面,我将会把操作的步骤,记录下来. 首先,启动ZooKeeper,可以使用Kafka提供的脚本来启动: bin/zo...

Kafka-Consumer通过WebSocket发送数据给WebUI

Kafka Stream API在处理完数据后,会将数据发送到我们预定义的topic.如果我们需要将这些数据发送给我们的WebUI,那么我们就需要写一个Consumer,让它订阅上面的那个topic,然后发送数据给WebUI. 那么到底如何来做呢?下面我会一步步的描述. 首先,我们需要新建一个WebApp.其目录结构大体如下: 我们为什么需要新建一个WebApp项目呢?因为WebS...

Java集合框架源码研读-TreeSet

其实Java集合框架中的很多类的设计思想,都是相同的. 比如,前面介绍Map时,我们介绍了HashMap, LinkedHashMap, TreeMap,现在介绍Set,我们前面也介绍过了HashSet, LinkedHashSet.现在又来介绍TreeSet. 那么为什么我们需要TreeSet呢? 如果你认真读过我前面的关于Java集合框架的文章,那么这里想必你很容易回答上来. 因...

Java集合框架源码研读-TreeMap

前面我们已经介绍了两个AbstractMap的实现了,分别是HashMap和LinkedHashMap.我们也看到了,LinkedHashMap是HashMap的一个优化版本,它能够根据元素的插入顺序或者元素的访问顺序来进行遍历. 那么今天要介绍的TreeMap又是什么鬼? 简介 我们这里直接贴出文档首部的说明.从说明中我们可以看到,我们关注的主要有三点: 这个map能够根...

Java集合框架源码研读-PriorityQueue

前面我们已经介绍了好几个Map了,今天我们来介绍一个更加简单的数据结构,PriorityQueue. 从其名字中,我们就能看出,PriorityQueue首先是一个Queue,其中它的元素都是按照priority进行排序的. 那么如何实现一个PriorityQueue呢? 实际上有很多方法,数组,链表,堆都可以实现.因为实际上我们可以看到,它不过就是一个按照priority进行排序的一...

Java集合框架源码研读-LinkedList

具体的代码,我不会在这里分析了.实际上,LinkedList的实现和ArrayList的实现基本相同,除了内部的数据结构. LinkedList内部的数据结构是一个双向链表,它还维护了一个指向这个双向链表的指针,分别是first和last. LinkedList提供给我们的方法,时间复杂度基本上都是O(n).因为需要定位到具体的节点的位置.除了对LinkedList最前面和最后面的元素进...

Java集合框架源码研读-LinkedHashSet

在上一篇文章中,我们介绍了HashSet.今天我们就来介绍一下LinkedHashSet. 其实HashSet和LinkedHashSet的关系,就跟HashMap和LinkedHashMap的关系一样. LinkedHashSet是通过实例化一个LinkedHashMap来实现按序访问,只不过LinkedHashSet不允许我们指定按照哪种顺序进行排序,而只是默认按照元素插入的顺序排序...

Java集合框架源码研读-LinkedHashMap

上一篇文章中,我们已经介绍了一个很重要的集合类-HashMap.我们也提到了它的一个特性,就是不是按我们插入的顺序来读取元素.那么,今天我们就来介绍一个能够按照我们插入的顺序来读取元素的HashMap的变体,LinkedHashMap. 其实LinkedHashMap和HashMap的实现并没有什么差别,LinkedHashMap是HashMap的一个子类.从源码中,我们可以看到,很多方法...