不知道标准答案怎么样??
解决方案 »
- 新手 编译提示Picked up JAVA_TOOL_OPTIONS什么意思
- java如何将几个excel文件中的共同列的数据导出到一个新的Excel文件
- java 高手请进 帮小弟解决一下这个问题??????
- 多线程怎么实时控制,比如说叫你运行立刻获得cup的使用,而不是进入就绪
- 一段经典代码,说明yield的用法。。。。。
- 新手请教:如何用byte[]表示一个IP地址
- 在JFrame中怎么得到 Graphics的对象
- 请问有关线程你们是如何理解这两句话的。(java核心技术卷二)
- Java2十大经典中文图书
- JDK的问题
- (环境:linux+apache+php5)想把函数中“总计”的值显示为checkbox选中后的文件大小的总和,测试时提示: ftrs = document.getElementByName('file_list[]');(是取checkbox)不合法?
- String和StringBuffer同是final类型的,为什么StringBuffer可以修改字符串?
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JVM在实现的时候都有一个由垃圾回收所管理的堆。垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。 垃圾收集的意义
在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾收集意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾收集也可以清除内存记录碎片。由于创建对象和垃圾收集器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对象。 垃圾收集能自动释放内存空间,减轻编程的负担。这使Java 虚拟机具有一些优点。首先,它能使编程效率提高。在没有垃圾收集机制的时候,可能要花许多时间来解决一个难懂的存储器问题。在用Java语言编程的时候,靠垃圾收集机制可大大缩短时间。其次是它保护程序的完整性, 垃圾收集是Java语言安全性策略的一个重要部份。 垃圾收集的一个潜在的缺点是它的开销影响程序性能。Java虚拟机必须追踪运行程序中有用的对象, 而且最终释放没用的对象。这一个过程需要花费处理器的时间。其次垃圾收集算法的不完备性,早先采用的某些垃圾收集算法就不能保证100%收集到所有的废弃内存。当然随着垃圾收集算法的不断改进以及软硬件运行效率的不断提升,这些问题都可以迎刃而解。 还有一个网址:http://blog.csdn.net/zkdemon/archive/2008/01/28/2069774.aspx
刚在 java编程思想 上给楼主查了查,机制太复杂 ,我说不清楚。 呵呵
刚在 java编程思想 上给楼主查了查,机制太复杂 ,我说不清楚。 呵呵