Zeusro Blog

Just for freedom

可能是最全的java线程指南(1-4)[任务调度类_Future系]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 graph TB g(Comparable<Delayed>)-->A A(Delayed)-->C(ScheduledFuture<V>) D(Runnable)-->e(RunnableFuture<V>) F(Future<V>)-->e...

中国互联网极简史

make the world a better place?

印象中的中国互联网 野蛮时代 10年以前,当时流行的是聊天室和BBS,各种盗版软件,上至操作系统,下至winrar很多都是盗版,电脑硬件的价格贵,配置又低。拨号上网,网速很慢。 电商时代 高速网络和智能设备的普及化,让信息的流动变得越来越快.而当信息的流动变快,通过信息的不对称产生利润就变得困难.说句人话,当我们逛街的时候,会发现很多商场的结构都发生了显著变化,核心生活服务(餐饮,美...

分析redis的各种使用情景

使用docker-compose演示redis的各种使用情景,最后介绍了codis和kubernetes方案 总结 模式 特点 单机版-RDB 备份快,但数据可能不完整 单机版-AOF 备份慢,但是数据比较完整 1主...

理解kubernetes的service流量转发链路

iptables

基本 3 个协议:TCP,UDP,ICMP 4 个状态:NEW,ESTABLISHED,INVALID,RELATED 4个表 raw:高级功能,如:网址过滤。 mangle:数据包修改(QOS),用于实现服务质量。 net:地址转换,用于网关路由器。 filter:包过滤,用于防火墙规则。 5个链 PREROUTING链:用于目标地址转换(DNAT...

CIDR

CIDR是一种表示网段的工具,格式比较简洁. CIDR表示方法:IP地址/网络ID的位数 一开始我总是不懂最后那位数字的关系,后来又被CIDR的IP地址给迷惑了, 后来我明白了,斜杆后面的数字表示保持不变的IP位数 IPV4是8*4=32位的.举个例子,192.168.15.0/19(等价于192.168.0.0/19)表示192.168.0.0-192.168.31.255这个网段...

kubernetes的timeout问题

kubernetes + alpine+ php 特别容易出现访问外网/解析外网地址的时候出现超时的问题. 原因 docker容器访问外网的时候,整个完整路径是这样的. 容器–>主机–>外网–>主机–>容器 容器到主机之间的流量要经过源地址转换(SNAT)才能顺利流通. SNAT就像是一个搬运工,把砖(流量)从容器搬到主机 如果一个主机上面运行多个容器,并...

可能是最全的java线程指南(1-4)[任务调度类_Future系]


可能是最全的java线程指南(1-3)[任务调度类_CompletionService系]

1 2 graph TB A(CompletionService<V>)-->B(ExecutorCompletionService) CompletionService 可自行实现该接口.这是一个任务队列. 取出队列元素的poll和take方法 take会阻塞知道队列出现结果 poll使用的前提是确保队列已经有结果,不然贸贸然使用会出现空指针.可以指定一个...

可能是最全的java线程指南

java.util.concurrent这个包里面定义了各种线程相关的集合和类,接口.抽丝剥茧之后,我对那句”把我祖传的java包传给你”有了更深的理解.这个继承树看起来非常蛋疼. 不过最后我还是剥离分解,整理得出此文. 写到一半本来想放弃来着,因为这个网站提供了大量例子 导航 可能是最全的java线程指南(1-1)[任务调度类_Callable系] 可能是最全的java线程...

可能是最全的java线程指南(1-2)[任务调度类_Executor系]

1 2 3 4 5 6 7 graph TB e(Executor<V>)-->es(ExecutorService) es-->se(ScheduledExecutorService) es-->aes(AbstractExecutorService) aes-->tpe(ThreadPoolExecutor) tpe-->ste(Schedule...