作者:四目鱼链接: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 的问题
链表长,转为红黑树
红黑树节点少,转为链表...
阳光十六阴天八,多云十一日暮四,乌云压顶五点六,雪天落雨同日暮。
天气
光圈
ISO
快门
晴天
F16
125
1/125
F16
500
1/500
F11
250
1/1000
阴天
F8
多云
F11
日暮 / 雪天 / 雨天
F4
乌云
F5.6
完整光圈值 F1, F1.4, F2, F2.8, F4, F5.6, F8, F11, F16, F22, F32, F44, F64
界定光线阳光灿烂 (F16) = 影子黑,...
原链接:
https://blog.csdn.net/lywstuding/article/details/121117136
[toc]
1. C 语言,C++ 的诞生
这一段和 Java 毫无关系,感觉是作者拿来凑字数的,可以跳过。
Java 的诞生离不开 C 语言和 C++,C++ 是在 C 语言的基础上改造的,后来 Sun 公司又对 C++ 进行改写,产生了 Java。也可以说 Java 源自于 C 和 C++。
1956 年 FORTRAM 的诞生1956 年,美国计算机科学家约翰・巴克斯带领团队开发出了世界上第一个高级编程语言 FORTRAN。
FORTRAN 语言是世界上...
Java一门编程语言,这个没啥好说的。
JVMJava Virtual Machine 虚拟机
例如:
Sun Classic VM
JDK 1.0 提供的虚拟机
Exact VM
JDK 1.2 引入,被 HotSpot 替代
HotSpot VM
JDK 1.2 引入
JDK 1.3 之后默认的虚拟机
OpenSDK 的默认虚拟机
JRockit
BEA 公司,被 Oracle 收购
起特性被引入到 OpenSDK 所使用的 HotSpot
可以说现在 OpenSDK 使用的 jvm 其实是两者的合体
J9
IBM 家的虚拟机
JRE
Java Runti...
JVM 内存模型
虚拟机栈
每个线程都有私有的栈
栈帧
每个方法会创建一个栈帧
包含
局部变量表
操作数栈
方法出口
…
StackOverflowError
本地方法栈
虚拟机的 Native 方法所用的栈
PC 寄存器
线程的程序计数器
堆
堆内存
所有线程共享部分
包含所有对象和数组(所有指针型变量?)
GC 的对象
方法区
物理位置也属于堆
包含
存储类的信息
常量池
方法数据
方法代码
PermGen 永久代
jdk 1.7 HotSpot 特有,jdk 1.8 移除
方法区的具体实现
jdk 7 中,存储在永久代的部分数据就已经转移到了J...
Serial GC
单线程收集器
需要暂停其他工作线
Client 模式
Serial Old GC
Serial 老年代版本,Client 版本
其他功能
搭配Parallel Scavenge收集器使用。
做为 CMS 收集器的后备方案,当 CMS 出现 Concurrent Mode Failure 时使用。
做为 G1 的 fullGC 收集器。这也是我们在使用 G1 的时候需要注意的,G1 应该尽量杜绝FullGC。否则就会退化为串行 GC。
ParNew GC
Serial 收集器的多线程版本,其他参数方式都一样
XX:parallelGCThr...
前几天看文章,看到了一篇文章给了一份 jvm7 的启动调优参数。可以学习下 JVM7 的一些特性。
1java -server -Xms2G -Xmx2G -XX:MaxPermSize=256M -Xss256K -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:../logs/gc.log -XX:+PrintTenuringDi...