摘要: 我刚开始学习Java编程时,可不知道什么是堆内存或堆空间(heap space),甚至根本不管对象创建时都放在哪里去了。正式了写一些程序后,经常会遇到java.lang.outOfMemoryError等错误,我才开始关注堆内存。对大多数程序员都经历过这样的过程,因为学习一种语言是非常容易来的,但是学习基础是非常难的,因为没有什么特定的流程让你学习编程的每个基础,使你发觉编程的秘诀。对于程序员来说,知道堆空间,设置堆空间,处理堆空间的outOfMemoryError错误,分析heap dump是非常重要的。这个关于Java堆的教程是给我刚开始学编程的兄弟看的。如果你知道这个基础知识或者知道底层 阅读全文
posted @ 2013-02-01 10:04 coolbing 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程。众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计。查看Apache和Sun的开放源代码能帮助你发现其他Java设计原则在这些代码中的实际运用。Java Develo 阅读全文
posted @ 2013-02-01 09:54 coolbing 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:控制资源的使用,通过线程同步来控制资源的并发访问;控制实例的产生,以达到节约资源的目的;控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2.尽量避免随意使用静态变量要知道,当某个对象 阅读全文
posted @ 2013-02-01 09:41 coolbing 阅读(118) 评论(0) 推荐(0) 编辑