ReZero's Utopia.

ReZero's Utopia.

Everything is permitted.

Java tricks
通过块来进行标量复用方便回收。注意的是在 未经过JIT编译前且块后未对局部变量进行读写,则可能仍然无法回收。 通过扫描 WAIT 线程,减少不必要的WAIT 线程 进而减少 WAIT到RUNNABLE 状态发生的上下文切换造成的性能损耗 Collection.toArray 会转换为 Object 数组,因此最好穿个额外的参数 比如 new String[0],这样可以表明类型,还不占用空间 协变与逆变: PECS producer extends & consumer super <? super Apple> 限定的是下界,即扔进去的都是 Apple 的子...
Linux-disk
File x: get in dir. r: browse dir. File Special Authorization SUID chmod u+s bin For binary file Equal: (tempUser) execute file SGID chmod g+s dir For binary file Equal: (tempGroup) execute file IF u create a file, the file will be belong to u, but not for sgid, it belongs to sgid di...
CSAPP
Not be the real thing digit might be overfolw float will not be overflow, but could lost precision Memory RAM: Random am BitExclusive-Or(XOR) A ^ B Union | //并 Complement ~ //补 Intersection & //交 Symmetric difference ^ //差 IntegerUnsigned: $$ B2U(X)=\sum_{i=0}^{w-1}x_i*2^i $$ Signed: $$...
OQL
JVM Object Query Language参考链接 概述简单说就是 java heap 信息的查询语言。原本的小工具 hat 其实已经够用了,但是为了增加点灵活性,所以引入了 oql 方便查询。 123select <JavaScript expression to select> [ from [instanceof] <class name> <identifier> [ where <JavaScript boolean expression to filter> ] ] 上面的表达式大致介绍下:...
Think More
Think Morehttps://time.geekbang.org/column/intro/48 错误码的处理常见设计 C 的 errno 是记录系统的最后一次错误代码 错误具有歧义性,比如 0 不能区分是不是真的出错还是的确返回值就是 0 错误不够显式,常常忘记检查 Win 的 HRESULT 错误变成了出参,导致接口变得不够纯净 仍然错误不够显式 Go 的处理:函数的返回值附带一个 error 作为异常返回,当出现异常时其不为 nil 是接口类型,只包含了一个字符串做描述,因此可以自己做实现 Go 的设计者觉得 try/catch 机制的使用太泛滥了,而且从底层...
Thread pool
https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html 基本利益 统一管理IT资源,包括服务器、存储、和网络资源等等。通过共享资源,使用户在低投入中获益。 内存池(Memory Pooling):预先申请内存,提升申请内存速度,减少内存碎片。 连接池(Connection Pooling):预先申请数据库连接,提升申请连接的速度,降低系统的开销。 实例池(Object Pooling):循环使用对象,减少资源在初始化和释放时的昂贵损耗。 核心实现总体设计 生命周期管理 任务调度 ...
K8s
Deployment一个Deployment拥有多个Replica Set,而一个Replica Set拥有一个或多个Pod。 一个Deployment控制多个rs主要是为了支持回滚机制,每当Deployment操作时,Kubernetes会重新生成一个Replica Set并保留,以后有需要的话就可以回滚至之前的状态。 123456789101112131415161718192021222324252627282930313233343536373839apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploy ...
Thread
线程生命周期happens-before 程序顺序规则:一个线程中的每一个操作,happens-before于该线程中的任意后续操作。 监视器锁规则:对一个锁的解锁,happens-before于随后对这个锁的加锁。 volatile变量规则:对一个volatile域的写,happens-before于任意后续对这个volatile域的读。 传递性:如果A happens-before B,且B happens-before C,那么A happens-before C。 start规则:如果线程A执行操作ThreadB.start()启动线程B,那么A线程的ThreadB.start(...
Go exception handle
原文链接:https://blog.golang.org/error-handling-and-go 1234567func Open(name string) (file *File, err error)f, err := os.Open("filename.ext")if err != nil { log.Fatal(err)}// do something with the open *File f 函数的返回值附带一个 error 作为异常返回,当出现异常时其不为 nil error 是接口类型,只包含了一个字符串做描述,因此可以自己做实现。 ...
AQS
AQSCLH1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495package com.hand.hcf.app.base.bigdata;import java.util.concurrent.atomic.AtomicReference;/** * @version: 1.0 *...
avatar
ReZero
大屁水饺的理想国.