谁吃了我的Linux内存?

图片来自 [linuxatemyram](http://www.linuxatemyram.com)

一个经常被问的Linux问题:为啥我的Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做Cache Memory。

比较老的文件都会介绍Linux的cache占用很多没关系,因为Linux尽可能利用内存进行缓存,但是缓存的回收也是需要资源的,比较好的一篇文章是Poor Zorro写的Linux内存中的Cache真的能被回收么?

阅读全文

使用WinMerge作为git的Merge工具

我比较喜欢使用免费的WinMerge作为diff和merge工具,虽然TortoiseGit也自己带了TortoiseGitMerge工具,但是使用起来总觉得不是那么方便。

虽然WinMerge项目看起来没人维护了,最后一个发布打分版本在2013-02-02,但是这个工具使用起来还是相当方便的。我在重装机器的时候,或者更新Windows的时候,如果需要配置TortoiseGit,总是需要到网上查找如何配置WinMerge,因为长长的命令参数总是记不起来。所以在本文中记录下来。

阅读全文

编程语言的隐藏特性

StackOverflow有很多有趣的问答, 其中有一些问答汇集了很多人的智慧。 其中Hidden features of系列揭示了一些语言的隐藏特性,非常的有趣, 比如Java中:

1
2
3
4
5
6
Set<String> fruits = new HashSet<String>() { {
add("苹果");
add("香蕉");
add("梨");
add("芒果");
} };

尽管这些问答很早(自08年开始)就开始收集整理了,但是很多的答案都出人意料,并且你在教科书中是不会看到这些技巧的。

阅读全文