Kiva 的博客

Stop Googling. Let's Talk

other

Enjoying food laying upon the table, and playing with the mobile phone in your hand. It seems like that this kind of life is of great pleasure. But have you noticed that the handsome guy across the table has been in a state of being ignored?

阅读全文

在 Xcode 中调试 Hotspot

JVM

上一篇文章中我们已经成功编译了 OpenJDK 8,光编译是没有用的。我们得搞清楚它是怎么运行的。
网上许多文章都在说怎么用 eclipse 调试,但我从心底里抵触 eclipse (也许是 Android Studio 的原因)
由于我们使用的是 macOS,不禁想到 Xcode 这个东西。(Xcode 似乎安装过了我就没打开过,这次就宠幸它一下吧!)

阅读全文

在 macOS 上编译 OpenJDK 8

JVM

Java 的水平并不是看了几本虚拟机与并发的书籍就可以搞定的。
作为靠 Java 吃饭的人,你需要不断试错,耗费时间,刻意练习总结才能提高自己的Java水平。

阅读全文

浅谈 Java 中的上届通配符和下届通配符

Java

有这样的继承关系

1
2
3
4
class Animal {} // 动物
class Dog extends Animal {} // 狗 是 动物
class Cat extends Animal {} // 猫科动物/猫 是 动物
class Tiger extends Cat {} // 老虎 是 猫科动物

阅读全文

Java 输出 Log 的一种优化方案

Java

我们在开发中,经常会有需要打印 log 的地方,但是在正式发行的版本中,我们又不希望这些 log 被打印出来。于是乎我们会这样写代码:

1
2
3
4
5
6
7
8
9
public class Log {
public static final boolean DEBUG = true;
public static void debug(String message) {
if (DEBUG) {
System.err.println(message);
}
}
}

阅读全文

Keep It Simple

other

Dennis Ritchie, a great computer scientist, the founder of modern operating system, was born in Bronxville on September 9th, 1941. At his age of 13, his father decided to move his family to New Jersey, which is tens of kilometers away from Bronxville, in order to work conveniently. 13-year-old Dennis Ritchie with his father came to New Jersey. At that time, no one would have thought that this quiet boy would stay there for a lifetime, and create the invention to change the world so greatly.

阅读全文

看到一个很有意思的回答

other

程序语言编程

1
if (a < b) min = a; else min = b;
阅读全文

Linux LVM 更改物理分区大小

linux

什么是 LVM

以下文字摘自百度百科

LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

阅读全文

Threaded Interpreting

virtual-machine

前言

从广义上来说,虚拟机的种类繁多,但我们这里特指跨平台的,用于实现语言功能的虚拟机。

假设语言都实现到了生成中间语言这一步,那么虚拟机的实现可以有

  • Interpreting
    也就是通过类似 while() { switch() {} } 的循环,分析中间语言的每条指令,动态解释执行
  • Binary Translation
    顾名思义,就是虚拟机实现了从中间语言,到可执行文件的转换的功能,在运行时,将中间语言转换成了可执行文件,最终执行
阅读全文

Hello World

other

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

阅读全文