JDK详解

欢迎访问: www.ptcms.cn

对于一个学习java的人,首先在安装jdk的时候就会遇到他学习路上的第一个问题:为什么sun公司的jdk版本如此之多,这个公司到底又设计到哪些方面的产品?

    我学习java已经有了一段时间,可以说刚刚入门了,但是对sun公司层出不穷的产品仍然觉得应接不暇。于是我去访问了sun公司的产品介绍网站(http://cn.sun.com/products/)。这才发现原来sun公司的业务如此的丰富,从硬件到软件,sun公司确实很厉害。

    sun公司的产品主要分为服务器、存储、台式机与工作站和软件四个大部分。而我们最关心的java当然属于软件部分,它还做solaris操作系统、NetBeans、openOffice等。

    让我们回到java的部分,来参考一下他的TM(Technical Manual, 技术手册)。

1、什么是JRE?什么是JDK?什么是SDK?

JRE是Java Runtime Environment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。根据它的说明文档,最新的JRE包括了javaFX runtime注1)JRE中主要有java虚拟机,运行类库,java应用发射台(Java application launcher)。由于这个不是开发环境,所以它没有编译器或调试器。

JDK就是Java Development Kit,简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。

JDK的详细结构介绍,可以参考(http://java.sun.com/javase/6/docs/):

 Java Language

这个是对java语言的语法规定等都放在这里,这个是java语言的基础。java语言会正常情况下被编译成字节码的指令集和由java虚拟机规范的二进制格式。在JDK安装的时候会附上Tutorials和Programmer's Guides,可以提供使用的指南,教程和一些实例。

Tools&Tools APIS

一、基本工具(Basic Tools),用于创建应用。

java:(launcher)执行器,它通过执行JRE,装载一个特定的类,执行该类的main方法来执行。

javac:(compiler)编译器,它读取由java编写的源文件,然后将他们编译成二进制类文件(class),javac还可以选择性的处理在使用了处理注释API的源文件和类文件中发现的注释,它也可以通过java编译器API进行调用。

javadoc:(API documentation generator)注释文件生成器,将源文件中的申明和文件注释提取出来生成html来描述类的各种特点。

apt:(Annotation processing tool)注释处理器,它包括一系列的反射API并支持基础的处理,这些反射API提供了一个在构建时间内存在的、连接到源的、只读的程序结构的视图。apt先运行可以生成新源代码和其他文件的注释处理器(annotation processors),然后它同事编译原始源文件和新文件。

appletviewer:不使用web浏览器来运行和调试applet。

jar:(Java Archive)是一个有平台依赖性的文件格式,可以将多个文件打包到里面。

jdb:(Java Debugger)java的调试器,它调用了Java Platform Debugger Architecture (JPDA),JPDA中有三个接口用于在系统开发环境中调试。The Java Virtual Machine Tools Interface (JVM TI),Java虚拟机工具接口定义了虚拟机必须提供调试服务;The Java Debug Wire Protocol (JDWP),Java调试通讯协议定义了在调试终端和调试过程之间请求和消息的传输格式,它实现了JDI(Java Debug Interface)接口,JDI接口在用户代码层上定义了一种请求和消息。

javap:用于分解class文件。可以选择分解输出的内容。如javap -c DocFooter

extcheck:用于检查jar文件间的冲突。

二、安全工具(Security Tools):用于制定自己的安全规则,可以在远程站点上创建符合安全规则的应用。

keytool:对密匙和证书进行管理。

jarsigner:创建和验证JAR文件的签名。

policytool:用于管理安全策略文件的GUI工具。

管理“Kerberos tickets”工具:kinit(获得),klist(列表),ktab(管理),这些主要用于solaris系统。

三、远程调用工具(Remote Method Invocation (RMI) Tools):

rmic:为远程对象创建断电和框架。

rmiregistry:远程对象登记服务。

rmid:远程方法调用激活系统程序。

serialver:Return class serialVersionUID

四、Java IDL and RMI-IIOP Tools:当创建OMG IDL(注2)和RMI-IIOP应用的时候使用的工具。

tnameserv:提供访问命名服务的路径
idlj:生成一个java文件,它用来映射一个OMG IDL接口,用java语言编写的应用用于使用CORBA功能。
orbd:在服务器端的CORBA环境下提供给客户端显示定位和调用持久化对象的功能。
servertool:为应用程序提供方便注册,注销,启动和关闭服务的接口。

五、java部署工具(Java Deployment Tools)
pack200:使用java azip压缩工具将一个JAR文件转换成一个pack200压缩文件。压缩后的打包文件可以高度压缩jar文件,并且可以直接部署,节省带宽和减少下载时间。
unpack200:pack200的逆操作,将用pack200打包的文件转换成jar文件。
六、java插入工具(java plug-in Tools)
htmlconverter:将一个包含applet的html文件转换成OBJECT/EMBED标签格式用于JAVA插入。

 

 

 

注1:JavaFX它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。

注2:从本质上讲,OMG IDL接口定义语言不是作为程序设计语言体现在CORBA体系结构中的,而是用来描述产生对象调用请求的客户对象和服务对象之间的接口的语言。OMG IDL文件描述数据类型和方法框架,而服务对象则为一个指定的对象实现提供上述数据和方法。OMG IDL文件描述了服务器提供的服务功能,客户机可以根据该接口文件描述的方法向服务器提出业务请求。在大多数CORBA产品中都提供IDL到相关编程语言的编译器。程序设计人员只需将定义的接口文件输入编译器,设定编译选项后,就可以得到与程序设计语言相关的接口框架文件和辅助文件。

IDL是什么? 

IDL(Interface Definition Language)即接口定义语言,是CORBA规范的一部分,是跨平台开发的基础。IDL提供一套通用的数据类型,并以这些数据类型来定义更为复杂的数据类型。可变化 IDL 基本类型 整数类型 OMG IDL 摒弃int 类型在不同平台上取值范围不同带来的多义性的问题。常数定义常数可以是整数、字符、浮点数、字符串、Boolean、octet 或枚举型,不能是 any 类型或用户定义的类型。OMG IDL数组类型IDL array 和 sequence,可以轻易地被映射到实现语言中。序列可以包含所有类型的元素,不管是基本类型还是用户定义的类型。
IDL(Interface Definition Language)即接口定义语言,是CORBA规范的一部分,是跨平台开发的基础。IDL提供一套通用的数据类型,并以这些数据类型来定义更为复杂的数据类型。可变化 IDL 基本类型 整数类型 OMG IDL 摒弃int 类型在不同平台上取值范围不同带来的多义性的问题。常数定义常数可以是整数、字符、浮点数、字符串、Boolean、octet 或枚举型,不能是 any 类型或用户定义的类型。OMG IDL数组类型IDL array 和 sequence,可以轻易地被映射到实现语言中。序列可以包含所有类型的元素,不管是基本类型还是用户定义的类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值