我把示例代码放了一份在 Github 上,jol-samples,想看的同学可以 clone 下来把每个 example 跑一跑就能看到 JVM 对象在内存中布局的一些信息,包括对象头占多大、字节怎么对齐、字段在内存中的顺序不一定与声明的顺序一致、涉及到继承时字段是如何存放的、带 transient
修饰符的字段被特殊处理、Java8 新增的 @Contended
注解的作用、JVM 的平台相关性、对象头中的 mark word 及 class word、轻量锁、偏向锁、重量锁、Hashcode、GC 需要用到的对象引用图、哈希碰撞时转换为链表以及 Java8 中极端情况下转换为红黑树、观察 mark word 中的 age 字段的值在 GC 后的变化 等等,我没有一个一个写出来,因为 25 个例子太多了,设计到的知识点也比较多,需要一些前置知识才能理解。
DNS
发表于
DNS 消息是使用二进制数据编写的,查询报文和回答报文有着相同的格式,比如这位朋友写的 asyncdns 就表达得非常清楚。
域名是大小写不敏感的。域名中的每一个标识至多 63 字符长。
一个区域的管理者必须为该区域提供一个主名字服务器和至少一个辅名字服务器。主、辅名字服务器必须是独立和冗余的,以便当某个名字服务器发生故障时不会影响该区域的名字服务。
大家平时经常见到的 A 记录其实是 Address 的缩写,MX 记录是 Mail eXchange 的缩写。RR 就是 Resource Record 的缩写。LDNS 是 Local DNS 的缩写。
根域(Top-Level Domain, TLD) DNS 服务器在运营上使用多台服务器来对应一个 IP 地址,因此尽管 IP 地址只有 13 个,但其实服务器的数量是很多的。参见 Root Servers。
从理论上讲,任何 DNS 查询既可以是迭代的也能是递归的。
DNS 均支持 UDP 和 TCP 访问,但主要使用 UDP。
Reference
About
发表于
折腾两三天,总算把这个博客搭建起来了。之前大二在 CSDN 写过一段时间的博客,大多数都是关于技术细节的,竟然有 138 篇?一直都有自己搭建博客的想法,想过自己动手码个博客,但无奈自己主要做 Java 的相关开发,前端不是很熟悉,无法做到心里想象中的前端效果,遂放弃自己动手码的想法。看到许多人用 Hexo ,于是 Google 了下相关资料,静态,再看看主题,也不错,遂决定就是 Hexo 了。接下来说说此博客搭建的相关技术吧。