February 16, 2013

代码的抽象三原则

[TOC]

软件开发是“抽象化”原则(Abstraction))的一种体现。

所谓”抽象化”,就是指从具体问题中,提取出具有共性的模式,再使用通用的解决方法加以处理。

开发软件的时候,一方面,我们总是希望使用别人已经写好的代码,另一方面,又希望自己写的代码尽可能重用,以求减少工作量。要做到这两个目标,这需要”抽象化”。

最近,我读到美国程序员Derick Bailey的一篇文章,谈到”抽象化”应该遵循的三个原则,觉得很有启发。

一、DRY原则

D......

February 16, 2013

如何写面向互联网公司的求职简历

[TOC]

前言

个人简历

我在IT公司工作了六年,有着三年面试官的经历。在面试中,我发现很多人都不能写好一份求职简历,所以今天不谈iOS开发,谈谈如何写一份针对互联网公司的求职简历。

我主要想分享的内容包括:

简历的页数不要超过两页(最好一页)

删掉不必要的信息

如果你实在太牛逼,最多写2页

重要的信息写在最前面

你的联系方式

你最重要的工作经历

不要简单罗列工作经历

列出你的工作中有价值的细节(有哪些技术上的困难等)

不要写任何虚假或夸大的信息

类似精......

October 24, 2012

Java虚拟机的JVM垃圾回收机制

一、JVM内存空间

/assets/images/2012/10/jvm-1.jpg

1.JVM堆(Heap)

JVM堆(Heap)= 新生代(Young) + 旧生代(Tenured)

分区作用:

新创建的对象通常先将其分配在新生代中,在新生代中经过若干次GC之后仍未释放的对象,再将它移动到旧生代。为了让内存回收更高效(GC会暂停JVM中的应用),Sun JDK在1.2开始对堆采用了分代管理的方式。在分配对象遇到内存不足时,先对新生代进行GC(Young GC);当新生代GC......