网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,移动开发
本月文章推荐
.EJB设计模式3.
.使用JSF(Java Server Faces)开.
.漫谈Java平台上的CRM系统.
.Java开发为什么需要UML的理由.
.Java开发工具包.
.Java面试中的陷阱.
.用VJ++6.0的J/Direct调用DLL.
.关于MVC&Model2&Struts的一点看法.
.类注释文档编写方法.
.在 Java 应用程序中计划重复执行.
.Java声音技术详解.
.改善编码风格(超级简单实用).
.Adapter模式在J2SE事件处理中的应.
.当主线程崩溃而其它线程继续运行.
.使用hibernate实现树形结构无限级.
.教你实现传说中Java7.0的XML嵌入.
.Jini技术介绍(一).
.Java how to program(Third Edi.
.用Java实现网络语音信号传送.
.新手入门:Java中的修饰词使用方.

Java 2 Micro Edition简介(二)

发表日期:2008-1-5



?各种Java版本之间的联系 ? JINI技术

既然存在那幺多不同Java版本是一件事实,那幺,假如这些针对不同版本来开发的Java程序能够彼此连结在一块,互相分享彼此的资源,或是做资料交换,岂不是一件很棒的事情? 这就是JINI被创造出来的理由。各种不同版本的Java平台藉由JINI彼此联系,如下图所示:




有关JINI技术,在此笔者不多着墨,因为市面上已经有许多书籍讨论此技术。不过在上图之中要请大家注重的是,Smart Card版本由于其特性使然,所以并没有藉由JINI与其它Java版本的应用程序做沟通,而只是在JINI所造成的广大分布式环境之中被用来作为认证之用。

?各种Java版本之程序开发

如前面所说,各种不同的Java版本,在其支持的核心类别之完整性以及所支持的Java基本型别这两件事情上都有所差异,但是对于程序设计师而言,这些版本的关系下图所示:



也就是说,不管您开发的是企业所使用的Java程序、手持装置上执行的Java程序、浏览器上执行的Applet,或是在PC上执行的应用程序。您都必须在您的计算机上先安装J2SE,然后再安装各种版本的额外扩充类别,如此才能成功地开发各种不同功能的Java程序。

J2SE所提供的Java编译器(javac.exe)可以帮助我们编译各种不同平台上的Java程序,而J2SE所提供的Java虚拟机器(java.exe)则可以帮助我们在PC上先行测试这些程序执行结果的正确与否。

另外,Java编译器并不会帮您检查您的程序是否符合各种平台上所支持的核心类别与Java基本型别。举例来说,虽然我们在上面说过,Smart Card版本中并不支持boolean、byte以外的Java基本型别,而且该平台也只支持java.lang.*核心类别,可是当我们在撰写Smart Card平台上的程序时,就算在程序代码里头用了boolean或byte以外的Java基本型别,或者使用了java.lang.*之外的其它核心类别,编译器仍然可以照常帮您编译出类别档出来。这个时候大家一定开始产生迷惑--那幺这些程序假如放到Smart Card上头执行的时候,出了问题怎幺办? 难道不会造成Smart Card上的虚拟机器发生执行错误吗? 针对这个可能发生的潜在问题,所以在各种不同版本的开发套件中,有些会内附检查器(checker)或者预先审核器(preverifier),这两个工具可以帮助您在将程序放到目标平台之前先做好检查和预先审核的工作。

检查器会帮您找出类别文件之中不合目标平台规格的部分,并提醒你这些地方可能无法在目的平台上执行。因此只要有检查器的协助,您大致上可以确定您的程序可以符合目标平台的规定并顺利执行。
而某些平台的开发套件则附有预先审核器,之所以有预先审核器的原因是因为传统Java程序(Application、Servlet、Applet)的执行程序如下:



在传统的Java程序之中,为了安全上的考量,任何进入执行环境的类别档 (不管该类别档是来自本机或是远程机器),都必须先经过Byte Code审核器(Byte code verifier)的验证,以防止有人在程序传送途中遭到恶意的修改,而使得Java程序在执行时对系统有不良影响。经过验证之后,该类别档才能开始被JVM所执行。

假如这个审核的动作在一般的PC上执行,速度倒是还能够接受,可是一旦放到如Palm或是手机这些CPU较慢、内存也较少的机器上面就显得十分吃力了。为了节省宝贵的CPU运算时间(既能省电又能够加速程序执行),因此,在程序设计师产生能够让某些特定平台执行的类别档之前,程序设计师必须先在PC上使用预先审核器做一些前置的验证工作,预先审核器会在类别文件之中加入一些非凡标记或符号。如此一来,当这些程序放到目标平台上执行时,就可以大幅减少在目标平台上做验证时的时间,藉而加速程序的的激活及执行速度。
上一篇:Java 2 Micro Edition简介(三) 人气:625
下一篇:Java 2 Micro Edition简介(一) 人气:620
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐