posts - 188,comments - 176,trackbacks - 0
     摘要: 第一部分 类和类的装载

我们来看一下类以及它们被JVM装载的时候做了些什么?
  阅读全文
posted @ 2007-05-24 11:02 cheng 阅读(185) | 评论 (0)编辑 收藏
     摘要: 大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系)。实际上80%的代码应该完全用interfaces写,而不是通过extends。“JAVA设计模式”一书详细阐述了怎样用接口继承代替实现继承。这篇文章描述设计者为什么会这么作。   阅读全文
posted @ 2007-05-24 11:01 cheng 阅读(196) | 评论 (0)编辑 收藏
     摘要: 如果您认为 Java 游戏开发人员是 Java 编程世界的一级方程式赛车手,那么您就会明白为什么他们会如此地重视程序的性能。 游戏开发人员几乎每天都要面对的性能问题,往往超过了一般程序员考虑问题的范围。哪里可以找到这些特殊的开发人员呢?Java 游戏社区就是一个好去处。 虽然在这个站点可能没有很多关于服务器端的应用,但是我们依然可以从中受益,看看这些“惜比特如金”的游戏开发人员每天所面对的,我们往往能从中得到宝贵的经验。让我们开始游戏吧!
  阅读全文
posted @ 2007-05-24 11:00 cheng 阅读(239) | 评论 (0)编辑 收藏
     摘要: 首先,推荐对Java有一定理解的同仁一本书《Practical Java》。在《Practical Java》中也有一个章节介绍Java中关于传值和传引用的问题,堪称经典。

《Practical Java》  阅读全文
posted @ 2007-05-24 10:59 cheng 阅读(1289) | 评论 (0)编辑 收藏
     摘要: 通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。   阅读全文
posted @ 2007-05-24 10:59 cheng 阅读(214) | 评论 (0)编辑 收藏
     摘要: Java性能优化技巧集锦

  可供程序利用的资源是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。

  可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。
  阅读全文
posted @ 2007-05-24 10:58 cheng 阅读(188) | 评论 (0)编辑 收藏
     摘要: 类加载是java语言提供的最强大的机制之一。尽管类加载并不是讨论的热点话题,但所有的编程人员都应该了解其工作机制,明白如何做才能让其满足我们的需要。这能有效节省我们的编码时间,从不断调试ClassNotFoundException, ClassCastException的工作中解脱出来。  阅读全文
posted @ 2007-05-24 10:57 cheng 阅读(262) | 评论 (0)编辑 收藏
     摘要: 定制类加载器
  

要较好地控制类的加载,就要实现定制的类加载器。所有自定义的类加载器都应继承自java.lang.ClassLoader。而且在构造方法中,我们也应该设置父类加载器。然后重写findClass()方法。differentversionspush文件夹包含了一个叫做FileSystemClassLoader的自订制的类加载器。其结构如图9所示。
  阅读全文
posted @ 2007-05-24 10:56 cheng 阅读(354) | 评论 (0)编辑 收藏
     摘要: 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。

  2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。  阅读全文
posted @ 2007-05-24 10:55 cheng 阅读(250) | 评论 (0)编辑 收藏
     摘要: 对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。


问题一:我声明了什么!
  阅读全文
posted @ 2007-05-24 10:54 cheng 阅读(199) | 评论 (0)编辑 收藏
     摘要: 下面的论述针对32位系统,对64位系统不适用,后叙。

经常你写了一个程序,一测试,功能没问题,一看内存占用也不多,就不去考虑其它的东西了。但可能程序使用了一个什么数据结构,会当数据规模变大时,内存占用激增。
  阅读全文
posted @ 2007-05-24 10:53 cheng 阅读(322) | 评论 (0)编辑 收藏
     摘要: 1. java中堆与栈

在Java程序运行时,有6个地方可以用于保存数据:
(1) 寄存器。最快的保存区域,位于处理器内部,数量十分有限,它是根据需要由编译器分配。我们对此没有直接的控制权.
  阅读全文
posted @ 2007-05-24 10:51 cheng 阅读(340) | 评论 (0)编辑 收藏
     摘要: 一、什么是Java虚拟机


当你谈到Java虚拟机时,你可能是指:
1、抽象的Java虚拟机规范
2、一个具体的Java虚拟机实现
3、一个运行的Java虚拟机实例
  阅读全文
posted @ 2007-05-24 10:49 cheng 阅读(323) | 评论 (0)编辑 收藏
     摘要: 一、引言

Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。
  阅读全文
posted @ 2007-05-24 10:48 cheng 阅读(253) | 评论 (0)编辑 收藏
     摘要: JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。   阅读全文
posted @ 2007-05-24 10:44 cheng 阅读(501) | 评论 (0)编辑 收藏
     摘要: Java的白皮书为我们提出了Java语言的11个关键特性

  (1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb  阅读全文
posted @ 2007-05-24 10:41 cheng 阅读(346) | 评论 (0)编辑 收藏
仅列出标题
共9页: 上一页 1 2 3 4 5 6 7 8 9