电脑设备 - 网络编程 文章类 软件类
好好999
 | 网站首页 | 网络编程语言 | 星座情感文章 | 特殊软件下载 | 站长工具天下 | 
百度热门搜索: kappa女员工  网络成瘾诊断标准  2009无线节目巡礼  央视女主播柴璐  东楼kappa女 08万千星辉颁奖典礼 刘雯雯 芙蓉姐姐自杀 更多...
您现在的位置: 学习网 > 网络编程语言 > Jsp > 正文
 | 网络编程语言首页 | Dreamweaver | Html | Asp | Jsp | Php | Asp.net | Css | Javascript | Access | Mysql | Mssql | Oracle | Domain | Mainframe |
最 新 热 门
普通文章dynafuse 1.0 在sourceforge上发布
普通文章格式化输入日期时间控件 JieFormat
普通文章怎么把查询参数传给分页的类
普通文章5.0的11个主要新特征
普通文章acle JDBC访问中加入Spring特性
普通文章Oracle & JSP 开发的小型信
普通文章用组件beanutils,dbutils简化JDBC操
普通文章JPCAP——Java中的数据链路层控制
普通文章数据库的相关操作:如连接、查询、
普通文章关于Servlet、Jsp中的多国语言显示
 
频 道 推 荐
普通文章webshpere studio application dev
普通文章让Hibern8IDE支持中文(2.1.2)
普通文章只有一个复选框的全选处理
普通文章虚拟机概论(九)——虚拟机总结
普通文章Eclipse安装和SWT/JFace项目的配置
普通文章EJB学习之入门初探篇-EJB技术的发展
普通文章解决tomca/JVMt的Memory run out异
普通文章Ajax: 一种建立Web应用的新途径
普通文章MIDP2.0下处理Alpha通道产生半透明
普通文章IBM与Eclipse,谁成全了谁?
普通文章日文系统不能安装Jbuilder的问题解
普通文章Tomcat下配制servlet,苦恼了我几天
普通文章使用EJB3.O简化EJB开发(一)
普通文章实现Java与C语言接口
普通文章教你如何成为一名Java初级程序员
普通文章J2ME技术入门之一——J2ME程序的开
普通文章利用JDBC连接MS SQL Ser2000+sp2
普通文章在J2ME手机程序开发中使用颜色
普通文章一个FIFO pipe的简单Java实现
普通文章Java,误解为何如此之深
 
频 道 推 广
 
理解finalize()-析构函数替代者         ★★★
理解finalize()-析构函数替代者
作者:佚名 文章来源:本站整理 更新时间:2008-7-18 17:08:48

理解finalize()-析构函数替代者



 



在许多方面,Java 类似于 C++。Java 的语法非常类似于 C++,Java 有类、方法和数据成员;Java 的类有构造函数; Java 有异常处理。



 



    但是,如果你使用过 C++ 会发现 Java 也丢掉一些可能是你熟悉的特性。这些特性之一就是析构函数。取代使用析构函数,Java 支持finalize() 方法。



 



    在本文中,我们将描述 finalize() 与 C++ 析构函数的区别。另外,我们将创建一个简单的 Applet 来演示 finalize() 是如何工作的。



 



最终的界限



 



    与 Java 不同,C++ 支持局部对象(基于栈)和全局对象(基于堆)。因为这一双重支持,C++ 也提供了自动构造和析构,这导致了对构造函数和析构函数的调用,(对于堆对象)就是内存的分配和释放。



 



    在 Java 中,所有对象都驻留在堆内存,因此局部对象就不存在。结果,Java 的设计者觉得不需要析构函数(象 C++ 中所实现的)。



 



    取而代之,Java 定义了一个特殊的方法叫做finalize() ,它提供了 C++ 析构函数的一些功能。但是,finalize() 并不完全与 C++ 的析构函数一样,并可以假设它会导致一系列的问题。finalize() 方法作用的一个关键元素是 Java 的垃圾回收器。



 



垃圾回收器



 



    在 C/C++、Pascal和其他几种多种用途的编程语言中,开发者有责任在内存管理上发挥积极的作用。例如,如果你为一个对象或数据结构分配了内存,那么当你不再使用它时必须释放掉该内存。



 



    在 Java 中,当你创建一个对象时,Java 虚拟机(JVM)为该对象分配内存、调用构造函数并开始跟踪你使用的对象。当你停止使用一个对象(就是说,当没有对该对象有效的引用时),JVM 通过垃圾回收器将该对象标记为释放状态。



 



    当垃圾回收器将要释放一个对象的内存时,它调用该对象的finalize() 方法(如果该对象定义了此方法)。垃圾回收器以独立的低优先级的方式运行,只有当其他线程挂起等待该内存释放的情况出现时,它才开始运行释放对象的内存。(事实上,你可以调用System.gc() 方法强制垃圾回收器来释放这些对象的内存。)

[1] [2] [3] [4] 下一页

更多精彩:学习网->http://www.haohao888.com.cn 网络编程->http://www.51wlpc.com 电脑设备->http://www.xpmaster.cn
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    Dreamweaver MX 2004 行为之调用JS
    Dreamweaver MX 2004 表格设计
    Dreamweaver MX 2004 浏览器检测
    Dreamweaver MX 2004 类型属性
    Dreamweaver MX 2004 CSS背景属性
    Dreamweaver MX 2004 CSS扩展属性
    Dreamweaver MX 2004 CSS滤镜介绍(1)
    Dreamweaver MX 2004 CSS滤镜介绍(2)
    Dreamweaver MX 2004 电子相册制作
    DropShadow属性、Chroma属性和blur属性效果
    Invert属性、Glow属性和FlipH、FlipV属性
    让网页中的字体美起来
    CSS2 参考
    让CSS使网页图片半透明
    给文字加上阴影效果的方法
    CSS重新定义项目符号和编号
    使用CSS设置段落首字下沉
    由显示/隐藏引出的CSS Bug
    CSS的滤镜效果(1)
    CSS的滤镜效果(2)
    | 设为首页 | 加入收藏 | 投搞邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    魔兽世界私服 - 魔兽世界私服 - 魔兽世界私服 - 魔兽世界私服 - 劲舞团私服 - 劲舞团私服 - 劲舞团私服 - 劲舞团私服 - 劲舞团私服 - 劲舞团私服 - 劲舞团私服 - 完美世界私服 - 传奇私服 - 变态传奇私服 - 及时雨外挂 - 热血传奇私服

    有事请点这里

    有事点这里

    copyright: 2007-2008 haohao888.com.cn 粤ICP备08105098号