上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 一个优秀的Java程序员必须了解GC(Garbage Collection 垃圾收集)的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议,从GC角度提高Java程序的性能。 阅读全文
posted @ 2009-04-04 06:05 小白熊 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 假设我们在函数中写了如下这个简单的语句: StringBuffer str = new StringBuffer("Hello world"); 别看这个语句简单,其实包含了如下三个步骤:   首先,new StringBuffer("Hello world")在堆里申请了一坨内存,把创建好的StringBuffer对象放进去。   其次,StringBuffer str声明了一个指针。这个指针本身是存储在栈上的(因为语句写在函数中),可以用来指向某个StringBuffer类型的对象。或者换一种说法,这个指针可以用来保存某个StringBuffer对象的地址。   最后,当中这个等于号(赋值符号)把两者关联起来,也就是把刚申请的那一坨内存的地址保存成str的值。 阅读全文
posted @ 2009-04-04 06:04 小白熊 阅读(141) 评论(0) 推荐(0) 编辑
摘要: Java 应用程序的性能经常成为开发社区中的讨论热点。因为该语言的设计初衷是使用解释的方式支持应用程序的可移植性目标,早期 Java 运行时所提供的性能级别远低于 C 和 C++ 之类的编译语言。尽管这些语言可以提供更高的性能,但是生成的代码只能在有限的几种系统上执行。在过去的十年中,Java 运行时供应商开发了一些复杂的动态编译器,通常称作即时(Just-in-time,JIT)编译器。程序运行时,JIT 编译器选择将最频繁执行的方法编译成本地代码。运行时才进行本地代码编译而不是在程序运行前进行编译(用 C 或 C++ 编写的程序正好属于后一情形),保证了可移植性的需求。有些 JIT 编译器甚至不使用解释程序就能编译所有的代码,但是这些编译器仍然通过在程序执行时进行一些操作来保持 Java 应用程序的可移植性。 阅读全文
posted @ 2009-04-04 06:00 小白熊 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。 阅读全文
posted @ 2009-04-04 05:58 小白熊 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 在Java语言产生前,传统的程序设计语言的程序同一时刻只能单任务操作,效率非常低.多线程程序是Java语言的一个很重要的特点。在一个Java程序中,我们可以同时并行运行多个相对独立的线程 阅读全文
posted @ 2009-04-04 05:55 小白熊 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。 阅读全文
posted @ 2009-04-03 15:07 小白熊 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 那些在团队环境下有能力开发和维护高质量软件的开发人员在今天的技术驱动的经济里有着巨大的需求。工作在团队环境下的开发人员所面临的排在第一位的挑战是阅读和理解其他开发人员的软件。本文试图帮助软件开发团队来克服这个挑战。 本文举出了使得软件开发团队更加有效并且更加高质量的五大习惯。首先,本文描述了这样一些商业团队给于软件开发团队以及他们所开发的软件的要求。接着,本文解释了状态更换逻辑和行为逻辑之间的重要的区别。最后,本文将要示例五个使用客户帐户情形作为案例研究的习惯。 阅读全文
posted @ 2009-03-31 06:32 小白熊 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 这个列表涵盖了软件开发知识体系中定义的大多数知识域。当然,如果你只想找出类拔萃的程序员,便只需涉及结构、算法、数据结构、测试这几个话题。如果想雇架构师,也可以只考虑需求、功能设计、技术设计这些地方。 阅读全文
posted @ 2009-03-31 06:18 小白熊 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 引子: "这个项目的架构是什么?" 对方爽快的回答:"Spring+Struts+Hibernate。" 嗯,这位很可能不是架构师...... 阅读全文
posted @ 2009-03-31 06:16 小白熊 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 从网上看到的一个小程序@ 主要是定义宏, 感觉蛮有意思的 阅读全文
posted @ 2009-03-31 06:14 小白熊 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 在编码过程中,数组是我们最最常用的数据结构之一。但是数组又是我们最容易抛弃的数据结构,经常由于初始化和数组长度固定等原因,我们常常用ArrayList等其他一些集合类来代替它。其实,数组作为最简单的集合数据,与其他集合数据比较起来有操作简单和查询速度快等优点。对于其长度固定的弱点,也在很多时候可以得到相应的解决。此外,在编码过程中,有些是直观的就能让我们使用数组,而很多时候却不是那么直观,需要我们稍加分析才行。本文的总结,是对数组的使用的被忽略而又能显示数组优点的一些方面的阐述,希望用来抛砖引玉,引起大家对数组的用法进行挖掘。 阅读全文
posted @ 2009-03-28 05:32 小白熊 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 对Java开发者来说,有许多的标准和最佳实践。本文列举了每一个开发人员必须遵从的十大基本法则;如果有了可以遵从的规则而不遵从,那么将导致的是十分悲惨的结局。 阅读全文
posted @ 2009-03-28 05:30 小白熊 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 随着这个世界越来越依赖我们的实践,作为计算机行业的从业人员,对计算机行业的 science 实在有必要给与应有的尊重。行动的第一步,就是阅读一些经典的著作,掌握前人/前辈/行业大家们总结出来的知识和行之有效的实践,在日常实践中使用这些知识和实践,成为一个更好的开发人员。 阅读全文
posted @ 2009-03-28 05:05 小白熊 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。 注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。 阅读全文
posted @ 2009-03-28 05:02 小白熊 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory?工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提... 阅读全文
posted @ 2009-03-28 02:00 小白熊 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 简单的说:Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内... 阅读全文
posted @ 2009-03-28 01:57 小白熊 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一、为代码加注释。 五、不要“创造”自己的框架(framework)。 十、质量,而不是数量。 阅读全文
posted @ 2009-03-28 01:16 小白熊 阅读(162) 评论(0) 推荐(0) 编辑
摘要: JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。这说明Java已经有大幅度的变化。本文将讲解JDK5.0支持的新功能-----Java的泛型. 1、Java泛型 其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样... 阅读全文
posted @ 2009-03-20 10:15 小白熊 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 第一,谈谈final, finally, finalize的区别。 final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为f... 阅读全文
posted @ 2009-03-20 10:14 小白熊 阅读(159) 评论(0) 推荐(0) 编辑
摘要: Java中的23种设计模式 对模式设计的总结! 用一两句话来描述各种模式设计! 阅读全文
posted @ 2009-03-02 19:46 小白熊 阅读(150) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页