场景 在家里有一台 ESXi ,用于创建乱七八糟用于开发的虚拟机。前段时间因为🐑了所以没去上班。今天到公司,按惯例连上家里的 OpenVPN,然后通过 SSH 访问 ESXi 上的一台主机。却发现有明显的卡顿。
使用 ping 了家里的网关,发现丢包严重,达到了 25%。
我的 OpenVPN 是基于 Synology Nas 服务的一个组件。而 Synlogy 搭建于 ESXi。
分析
公司网络问题
首先怀疑的是公司的网络问题。测试办法就是在没有连 vpn 的情况下,ping baidu.com。发现正常没有丢包。
然后又从家里启动一台基于物理机的 Nas ,连接这个 Nas ...
123456789101112131415import lombok.Data;import org.springframework.stereotype.Component;import org.springframework.beans.factory.annotation.Value;/** * @author maple * @since 2022-12-06 */@Data@Componentpublic class GatewayProperties { @Value("${gateway.host}") priv...
Java9
jshell
接口私有方法
优化了 try with resource
不支持 _ 作为变量名
String 内部从 char 存储改为 byte 存储
模块分组
Stream 加强
集合加强
List.of()
Map.of()
copyOf()
Java10
用了 var 来进行自动推导类型
Java 11 (LTS)
String.strip 用来去除首尾空格,还能除去 unicode 编码的空白字符
String.isBlank 判断字符串是否为 0 或者空格等空白字符
String.repeat(n) 字符串重复
Optional 加强
InputStrea...
Record给若干个参数创建属性
1234567type Coord = Record<'x' | 'y', number>;// 等同于type Coord = { x: number; y: number;}
Pick选择若干个参数
1234567891011type Coord = { x: number; y: number;}type CoordX = Pick<Coord, x>type CoordX = { x: number;}
Rea...
转载:https://zh.javascript.info/arraybuffer-binary-arrays
ArrayBuffer,二进制数组在 Web 开发中,当我们处理文件时(创建,上传,下载),经常会遇到二进制数据。另一个典型的应用场景是图像处理。
这些都可以通过 JavaScript 进行处理,而且二进制操作性能更高。
不过,在 JavaScript 中有很多种二进制数据格式,会有点容易混淆。仅举几个例子:
ArrayBuffer,Uint8Array,DataView,Blob,File 及其他。
与其他语言相比,JavaScript 中的二进制数据是以非标准方式实现的...
环境12$ node -vv18.9.1
ES6 (2015)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687// classclass Person { constructor(name) { this.name = name; } payMoneny() ...
作者:四目鱼链接:https://www.zhihu.com/question/20664147/answer/159485456来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
始祖巨人2000年前,艾尔迪亚部落里有个叫尤弥尔的少女,她是一个奴隶。有一天她将部落里圈养起来的猪放走,从而遭到了奴隶主弗利茨王的放逐。
在逃亡的过程中,她不幸跌入一颗大树树洞的水潭里,在水潭中,一只长长的虫子贴合到她脊椎中,于是尤弥尔获得了变成巨人的能力。第一个巨人由此诞生,也是我们所说的始祖巨人。
始祖巨人尤弥尔回到了弗利茨王身边,继续为艾尔迪亚部落效力。她开垦了荒地、开辟了道...
LotR Mod 1.6.4
魔戒酿酒系统
酒的浓度
英文
Weak
弱
Light
淡
Moderate
适中
Strong
强劲
Potent
浓烈
酒的分类
英文
中文
成分
备注
Mug of Water
水
Mug of Milk
牛奶
Mug of Chocolate
巧克力
Ale
麦芽酒
小麦 * 6
Miruvor
米茹沃
3* 瑁珑坚果 + 艾拉诺 + 尼福瑞迪尔 + 糖
Orc Draught
奥克饮料
骨头 * 3 + 魔古尔菇 * 3
获得力量和速度
Mead
蜂蜜酒
糖 * 6
...
分布式互斥
集中式算法
协调者
redis
zookeeper
分布式算法
Hash Map
原理
散列 (hash)
把 key 转化为数字哈希,再把数据存入数组,实现 O(1) 查询
冲突
构造理想的 Hash 函数
提供冲突解决方案
开放寻址法
线性查探
Linear Probing
查询下一个位置是否为空,为空直接插入。
查询 key 如果被占用就查询下一个。
哈希表比较慢会影响性能,多次查询
二次查探
Quadratic Probing
由线性查探 i 步长,改为 i^2 步长
双三列
Double Hash
两个或以上的 Hash 函数
链表法
利用链表去解决重复 hash 的问题
链表长,转为红黑树
红黑树节点少,转为链表...