动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Tomcat 中通过 JNDI 配置访问数据.
.关于Java多线程技术中所有方法的.
.高效处理Java异常的两种方法.
.设计模式之Facade(外观).
.round 方法.
.JAVA规则中级篇.
.WebLogic的研究之开发、部署EJB(.
.抛砖引玉 教你如何成为一名Java初.
.J2ME蓝牙手机应用程序开发实战入.
.使用Quick在Java对象和XML之间进.
.使用Java操作二进制文件.
.Portlet规范介绍.
.JAVA调试技术.
.[Portal参考手册]Portlet核心API.
.Java的中文编程配置心得.
.利用ThreadLocal简化struts开发.
.Java开源项目Hibernate快速入门.
.Eclipse入门使用指南及开发Eclip.
.JBuilder2005创建开发文档之Java.
.java右键弹出菜单.

Reference不为人知的一面

发表日期:2008-1-5 |



  Java 不支持 pointer,只提供 reference,初学者经常因此颇为困惑,非凡是修过数据
  结构的信息系学生,他们心中第一个想到的是:「没 pointer,这怎么成,那不就做不
  出 linked list 和 tree 的数据结构?」殊不知 reference 就是一种智能型的 point
  er,它具有 pointer 的好处,而且不用像 pointer 一样要程序员自行 reference (*)
  以及 dereference (&),更不会像 pointer 一样会误闯内存禁区造成 crash。因为好
  处多多,所以 reference 已经是现代化程序语言的重要必备功能了。什么!你说 xx 高
  级语言没支持 reference,那你可以把它埋葬在二十世纪的历史灰烬中。
  Java 对于资料的处理方式是:只要是基本型态(包括 boolean, byte, short, int, l
  ong, float, double, char)一律使用 pass by value,其它型态一律 pass by refer
  ence。但是我发现这在未来有可能变动,因为 Java language 将 byvalue 订为 reser
  ved Word(非 keyword)。当 Java 将 byvalue 变成 keyword 之时,非基本型态的值
  就可以 pass by value 了,但我相信,此时 Java 也必须开始支持 copy constrUCtor
  作为配套措施,究竟使用 deep copy 或 shallow copy(甚至 deep 和 shallow 兼而
  有之的 copy)还是要让 programmer 决定。
  前面提到:只要是基本型态(包括 boolean、byte、short、int、long、float、doubl
  e、char)一律使用 pass by value,其它型态一律 pass by reference。到底什么是
  pass by value?什么又是 pass by reference 呢?打个比方,pass by value 就是资
  料的「分身」传递过去,pass by reference 就是资料的「本尊」传递过去。(注:自
  从 发生那件新闻,有了「本尊」和「分身」的名词之后,我发现要向学生解释 refere
  nce 的观念也就轻易多了)。因为对象一律是 pass by reference,所以一个对象经常
  同时被多个 variable 所指到。
  Java 提供自动内存治理的机制,也就是俗称的 garbage collection(垃圾收集)。当
  一个对象不再被任何 variable 所指到,就代表此对象从此不可能再被利用,Java 虚拟
  机器内一个负责收集垃圾的 thread 就会在适当的时机出来将此块内存回收。
  记得在 Java 之父 James Gosling 应邀到台湾时(1997年12月),我曾经问他:Java
  的这种自动内存治理方式造成某些程序(例如 debugger)的困扰,Java 有没有打算支
  持 weak reference。 James Gosling回答:未来的版本将会支持 weak reference,果
  然在后来的 JDK 1.2 就提供此支持了。JDK 1.2 除了 weak reference(也就是 java.
  lang.ref.WeakReference)之外,还多了一个强化的 weak reference(也就是 java.l
  ang.ref.SoftReference)以及一个弱化的 weak reference(也就是 java.lang.ref.P
  hantomReference),这个设计考虑得相当仔细。
  这些 reference 依照「强度」排列如下:
  Direct Reference > Soft Reference > Weak Reference > Phantom Reference
  其中,direct reference 就是一般的 reference。只要被任何 direct reference 所
  reference 到的对象就不会被 garbage collector 清除。其它的三种 reference(包括
  soft reference,weak reference,phantom reference)则不然,他们不会影响 gar
  bage collection。
  假如你对这些非凡的 reference 感爱好,不妨去看看 java.lang.ref 的 Javadoc,顺
  便写几个程序试试看。
上一篇:在开始时击败递归类强制转换概念性错误 人气:525
下一篇:JavaMail发送附件的例子 人气:950
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-12-2 OpenPNE中文 v2.12.5 for win 中
2008-12-2 谷秋精品课程软件课程版 v2.3
2008-12-2 晴天电影系统(带一键迅雷/自定义
2008-12-2 QQip138闪字程序
2008-12-2 SmartWeb企业智能建站系统 v1.0.2
2008-12-2 梦想不死个人主页 v2009
2008-12-2 开良ASP小偷程序生成器 v1.1
2008-12-2 toolxp.cnalexa世界排名查询 php
2008-12-2 腾讯留言板 v1.3
2008-11-29 Tencent Traveler 4.4
2008-11-29 龙卷风网络收音机 v3.0.0.0
2008-11-29 Intel Chipset Software Install
2008-11-29 TweakVI 1.0 Build 1100
2008-11-29 Opera 9.62 Build 10469
2008-11-29 MPlayer WW编译版 SVN-r28044(20
2008-11-29 NetTools网络工具v1.0.0破解版
2008-11-29 3DGallery三维体验1.1破解版
2008-11-29 SecretBook保密本v1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | OPEN参数生成器 | 弹出式窗口代码产生器 | 密码登录生成器 | 在线按钮生成器 | Meta标签生成器 | 多色彩特效字代码生成器 | 网页代码调试器 | 在线FTP登陆 | Flash取色器 | 配色代码对照表 | 配色辞典 | CSS生成器 | 广告代码 | 框架网页代码生成器 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | 在线调色板 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 元素周期表 | 健康查询 | 世界时间 | 万年历 | 二十四节气 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2009 www.knowsky.com All rights reserved | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成