1.Reference
为引用对象提供的抽象基类。这个类为所有引用对象定义了一些通用操作。因为引用对象的实现适合gc紧密协作的,所以这个类不能直接被作为子类。
2.WeakReference
继承抽象类Reference。
这个类为弱引用提供支持。弱引用最常用来实现排序算法映射。假设垃圾回收器在一定时间点上认为一个对象是弱可达的(弱可达:我认为是gc认为该对象可以被回收的一个状态),那时它就会从那些具有强引用和弱引用但是非弱可达对象的引用链上自动清理所有指向该对象的弱引用和指向其它弱可达对象的弱引用。
公司有人用弱引用对象的原理做了一个对象缓存,但是效果不是很理想,照他本人的话来说:“ObjectCache是利用Java的WeakReference类原理设计的缓存。 但实际测试的情况看来,WeakReference实例在内存中存活的时间并不长,很容易被回收。”
另外想起当时面试时总监问起的有关gc的设计,现在考虑起来,如果单从现有java api考虑,是否可以根据弱引用与原本gc紧密结合的事实来作为一个设计的考虑。
弱引用api中描述的它的主要用途canonicalizing mappings(我浅显的翻译为排序算法映射)我还没有找到现实的例子或文档资料。
分享到:
相关推荐
CLDC1.1 和 CLDC1.0 主要的区别在于它们支持的 Java API 版本和内存管理。CLDC1.1 基于 Java ME SDK 3.0,提供更丰富的 API 和改进的内存模型,这使得开发者可以实现更复杂的功能和优化。而 CLDC1.0 是早期版本,API...
- CLDC 1.1的核心类库包括java.lang、java.io、java.util等基本包,这些包的源码提供了基础的编程接口,如对象操作、I/O流处理和集合框架。开发者可以通过源码学习这些API的具体实现。 5. **网络与连接** - 在...
标题中的“cldc kvm 1.1”指的是Java Micro Edition (JME) 的 Connected Limited Device Configuration (CLDC) 和 K Virtual Machine (KVM) 的1.1版本。CLDC是Java平台的一个子集,设计用于资源有限的移动设备和...
CLDC 1.1是CLDC的一个重要版本,它增加了对Java语言特性的支持,如异常处理、访问修饰符、内部类和接口,同时提升了性能,优化了内存管理,以适应更复杂的应用需求。 源码资料通常包括编译器、虚拟机(KVM,即...
迄今为止,我们知道 CLDC...CLDC API 实际上只是 J2SE 的一个子集,它包括 java.lang、java.io 和 java.util,另加一个新软件包 -- javax.microedition。我们将逐个来研究这些软件包,并突出显示每一个包中的重要的类。
7. **异常处理**:Java的异常处理机制基于`java.lang.Throwable`,通过try-catch-finally语句来捕获和处理异常。 8. **泛型**:自Java 5起,引入了泛型,增强了类型安全,如`List<String>`。 9. **注解...
CLDC1.1是CLDC的一个版本,它在CLDC1.0的基础上进行了升级,增加了对更多Java语言特性的支持,包括异常处理、接口、包等。这次我们关注的是"j2me_cldc-1_1-fcs-src-unix.zip"这个压缩包,它包含了J2ME CLDC1.1的官方...
MIPS目标平台CLDC的Java虚拟机移植 本文主要介绍了MIPS目标平台CLDC的Java虚拟机移植,包括Java虚拟机的概念、特征、发展现状,以及CLDC虚拟机的开源实现——phoneME Feature虚拟机的移植原理、移植过程和验证。...
标题“java.util.pdf”暗示这是一个关于Java编程语言中util包的文档。由于描述和标签均重复标题,我们可以推断文档重点在于解释和...学习和理解java.util包中的每一个类和接口,对于Java开发者来说是基础且必不可少的。
Java源码:JAVA实现CLDC与MIDP底层编程的代码 在移动设备领域,Java技术扮演了重要的角色,特别是对于功能手机和早期的智能手机。CLDC(Connected Limited Device Configuration)和MIDP(Mobile Information ...
但有自己专用的扩展类函数库,如:javacard.*,javacardx.*。只支持boolean与byte两种JAVA基本类。定位在智能卡的应用上。 5、KVM(K Virtual Machine) J2ME的虚拟机 用来执行Spotlet或者MIDlet。不同版本的JAVA有...
1. **Java ME概述**:Java ME是Java平台的一个子集,专门用于嵌入式设备和移动设备的开发。它提供了一个标准化的环境,使得开发者可以用Java编写跨平台的应用程序,覆盖了从手机到电视等各种设备。 2. **Symbian OS...
- CLDC包含了如java.io、java.lang和java.util等基本包,但不包含浮点类型、JNI、自定义类加载器、反射、线程组、守护线程、类实例终结和弱引用等功能。 - MIDP扩展了CLDC的功能,提供应用程序生命周期管理、UI、...
OpenJDK JCov JCov开源项目用于收集与测试套件生产相关的质量指标。 为了方便在OpenJDK开发中验证回归测试的测试执行... JCov支持JDK 1.0和更高版本(包括JDK 14),CDC / CLDC 1.0和更高版本以及JavaCard 3.0和更高版
例如,在`java.lang`包中,CLDC不支持`Float`和`Double`类型,因为它们的精度和运算复杂度较高,对资源消耗较大。同样,`java.io`和`java.util`包中的某些高级类和方法在CLDC中也未被实现,以减少内存占用和提高效率...
Java手机/PDA程序设计入门简体版代码是一个针对初学者的教程,主要涵盖了使用Java进行移动设备应用开发的基础知识和实践。在这个压缩包中,包含了多个章节的源代码示例,涉及了J2ME(Java 2 Micro Edition)平台,这...
CLDC 1.1**:JTWI 要求至少支持 CLDC 1.1,这是一个针对资源受限设备的 Java 平台,提供了基本的 Java 语言特性和 API。 #### 题目十:根据 JTWI,MIDlet jar 文件的标准大小是多少? **解析:** 根据 JTWI 规范...
**J2ME CLDC 1.1:Sun官方源代码详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能手表等。在J2ME的体系结构中,CLDC(Connected Limited Device ...
这个规范详细描述了CLDC 1.1的架构、API以及如何在目标设备上实现和运行Java应用。`CLDCSpecification1.1.pdf` 文件很可能是这个规范的PDF版本,包含了所有开发者需要了解的CLDC 1.1的技术细节。 **验证器...