Zeusro Blog

Just for freedom

可能是最全的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...

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

1 2 3 graph TB A(Callable<V>)-->B(DocumentationTool.DocumentationTask) A-->C(JavaCompiler.CompilationTask) 一般情况下是配合ExecutorService来使用的,在ExecutorService接口中声明了若干个submit方法的重载版本: 1 2 3...

go的不完全避坑指南

在翻阅kubernetes的文档时,里面刚好谈到go一些注意事项。 结合以前遇过的坑爹API,汇成此文. 语言特性 数据切片 原则是取下标,不取上标 1 2 3 4 5 a:=[]int{0,1,2,3,4} a=a[:] a=a[2:4] //从第[2]位起取,直至[4-1]位,所以结果只有2个元素 fmt.Printf("len(a):%d ; cap(a):%d; v...

多种方式请求Kubernetes api-server

连接api-server一般分3种情况: Kubernetes Node通过kubectl proxy中转连接 通过授权验证,直接连接(kubectl和各种client就是这种情况) kubectl加载~/.kube/config作为授权信息,请求远端的api-server的resetful API.api-server根据你提交的授权信息判断有没有权限,有...

golang的sync包

并发相关 总结 type 作用 Cond 发令枪,一般预设一个条件让子任务等待,发出的信号可以是单个(Signal)也可集体广播(Broadcast) Locker 简单接口 Mutex 互斥锁 ...

GitHub完全装逼指南

前提 熟练使用Git,不熟悉的看看我写的这篇文章 拥有自己的域名 项目主语言 GitHub通过linguist这个项目自动检测托管在GitHub上面的项目,统计行数最高的为该项目主语言 commit下面的颜色条其实就是该项目的组成部分 点一下,会变成相应的代码统计 我的网站明明是励志型学习网站,怎么会是CSS呢?简直滑天下之大稽.这个主语言是可以改的.需要...

[转载]vim

Vim操作 命令格式 vim的命令采用下面的格式。 1 [OPERATOR][NUMBER][MOTION] Operator是动词。 d – Delete (等同于cut命令) c – Change y – Yank p – Insert last deleted text after cursor (put command) r – Replace ...

Elasticsearch常用API

基本查询 ES,默认并发限制1000,如果前面的查询卡住或者瞬时请求过多,就会出现异常. 创建 1 2 3 4 5 POST /a/_doc/2 {"content":"公安部:各地校车将享最高路权"} POST /a/_doc/1 {"content":"男人老狗穿什么连衣裙"} 查询 返回文档的一部分 ?_source=title,text get 1 2 g...