将Java字节码翻译为C代码

2018-04-25
阅读 2 分钟
2.4k
Java字节码是基于栈的一种编码。这种编码方式十分方便解释器的设计,但同时不利于程序分析,因此一些高效的代码优化技术无法方便的Java字节码上实现。

写代码的正确姿势

2017-01-14
阅读 1 分钟
3.8k
需要一个合适的键盘,这里未必要那种上千元的机械键盘,只要用着顺手就行了。以前我玩吉他的时候圈子里就流传着一句话:技术不足,设备来补。要知道,好的乐器和音响或许还真能弥补一些演奏效果的缺陷,不过换做写程序,恐怕不行。我个人现在除了笔记本的键盘外,台式机还用着60块买的联想标配键盘,没感觉有什么不舒服。

Paxos的应用场景

2016-05-18
阅读 4 分钟
4k
为了解决这个问题,一个可以想到的方法就是将单个的viewserver变为多个,而多个server保持同步。而多个server之间的同步问题,涉及到分布式系统中的一致性算法。本文介绍Paxos的概念及实现。

ViewService——一种保证客户端与服务端同步的方法

2016-04-01
阅读 3 分钟
3.6k
在分布式系统中,最常见的场景就是主备架构。但是如果主机不幸宕机,如何正确的通知客户端当前后端服务器的状况成为一个值得研究的问题。本文描述了一种简单的模型用于解决此问题。

Golang中JSON的使用

2015-07-30
阅读 1 分钟
12.3k
GO Json author: qcliudate: 2015/07/21 Abstrct 介绍go语言中json的使用 json json是一种传输格式,类似与XML,与XML相比可读性略差,但是传输效率高。 GO Json go语言中提供了json的encoder,可以将数据结构转换为json格式。在使用之前,需要导入包 {代码...} Encode 使用 {代码...} 创建一个json的encode。 {代码...}...

MapReduce

2015-07-30
阅读 5 分钟
3.6k
MapReduce @author qcliu @time 2015/07/29 Abstract MIT6.824 Lab1 总结。 Part I: Word count 第一个任务是单机版词频统计。入口为wc.go的main()。 统计的过程分为4个部分: Split Map Reduce Merge Split 将一个大文件切分成若干个小文件。 采用逐行扫描的方式。 涉及到 bufio.Write bufio.Scanner Map 经过Spilt过程...

用Trie树统计词频。

2015-06-10
阅读 1 分钟
9.6k
Trie树是一种数据结构,对于词频统计,文本检索非常有效。 Trie树的大小取决与要统计的文本的字母个数。比如只统计26个英文字母的话,单词最大长度为10的话,占用的空间最多是26^10。但实际上并没有这么恐怖。因为没有abc这样的单词。

折腾Vim 编辑器

2015-06-08
阅读 4 分钟
10.8k
本文主要介绍如何从0开始,构造适合自己的vim。目的不是比较什么编辑器更好,也不是宣传vim多么神奇,只是想给需要的人提供一些帮助。文章以ubuntu14.04,Vim 7.4 为例子。主要介绍如何自己动手构造能高效编码的Vim,而不是使用已有的配置。这里说明,已有的配置固然很好,但是也是有针对性,初用Vim应该在探索中发现自...