08 2021 档案
摘要:匿名内部类 匿名内部类: 匿名内部类仍然是一个类,不需要指定类名,编译器会自动为该类取名 Java中的匿名内部类: public class MainAnonymousClass { public static void main(String[] args) { new Thread(new Ru
阅读全文
摘要:iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。 iptables基础 规则(r
阅读全文
摘要:一、消费者与消费者组 消费者负责订阅 Kafka 中的主题,并且从上面拉取消息,但与生产者不同的是它增加了消费者组的概念,这是因为很多时候 Kafka 的消费者在消费消息的时候经常会做一些高延时的动作,比如把数据写到数据库,读取数据进行计算处理等,这就相对于 producer 慢的多了,因此消费者组
阅读全文
摘要:一.线程的状态 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法的理解。 线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(block
阅读全文
摘要:作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。 不同的场景需要不同的解决方案,
阅读全文
摘要:当你在处理文本文件时,复制,剪切,粘贴文本是最常用的操作。 Vim 以及它的前辈 Vi 在 macOS 和基本上所有的 Linux 版本上都预装了。在你喜欢的编辑器还没有安装的情况下,对 Vim 有一些基本了解是很有用处的。 本文展示在 Vim/Vi 编辑器中如何拷贝,剪切以及粘贴。 在正常模式复制
阅读全文
摘要:Python中自带的堆heapq,不支持自定义的比较函数。 这导致,heapq中的元素,如果是结构体的话,不太方便。 实现了一个支持自定义比较函数的Heap类。 import heapq import random class MyHeap(object): def __init__(self, i
阅读全文