您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 自己的总结-JAVA,C语言的开发环境--SDK,JDK
JAVA语言的开发环境:1.Java虚拟机——在真实机器中用软件模拟实现的一种抽象的机器。2.JREJRE(JavaRuntimeEnvironment,Java运行环境),运行JAVA程序所必须的环境的集合,包含Java虚拟机、Java平台核心类和支持文件。JRE=JVM+RuntimeInterpreter+others,Java运行环境的三项主要功能:加载代码:由classloader完成;校验代码:由bytecodeverifier完成;执行代码:由runtimeinterpreter完成。基础类库JRE自带的基础类库主要是JRE\lib\rt.jar这个文件,包括了Java2平台标准版的所有类库。类库的查找方法和版本管理JRE中由ClassLoader负责查找和加载程序引用到的类库,基础类库ClassLoader会到rt.jar中自动加载,其它的类库,ClassLoader在环境变量CLASSPATH指定的路径中搜索,按照先来先到的原则,放在CLASSPATH前面的类库先被搜到,Java程序启动之前建议先把PATH和CLASSPATH环境变量设好,OS通过PATH来找JRE,确定基础类库rt.jar的位置,JRE的ClassLoader通过CLASSPATH找其它类库。但有时候会出现这样的情况,希望替换基础类库中的类库,那么也可以简单的通过-Djava.endrosed.path=...参数传递给java.exe,于是ClassLoader会先于基础类库使用java.endrosed.path参数指定路径的类库。因此Java的版本管理是非常简单有效的,也许很原始,不过很好用,简单就不容易出错。3.JDK和IDE:硬件平台操作系统Java程序Java虚拟机JavaAPIJDK是java开发工具包;JDK最早叫JavaSoftwareDevelopKit(JavaSDK),后来改名为JDK,即JavaDevelopKit。JDK作为Java开发工具包,主要用于构建在Java平台上运行的应用程序、Applet和组件等。IDE是集成开发环境。装了JDK不需要装其他IDE就可以写程序了(可以用记事本等工具写JAVA程序),不过效率实在不高,可以选择jcreator,jbuilder,eclipse等IDE工具写程序,以及进行编译等其他工作,这样效率比较高,很方便;bin目录中包含了所有JDK5.0提供的实用程序demo目录中包含了JDK5.0自带的实例程序inculde目录中包含了一些支持Javanative方法的C\C++头文件jre目录中包含了Java运行环境所需的所有文件,这个目录中所包含的java运行环境是JDK私有的,它只为JDK的实用程序提供支持lib目录中包含了Java开发环境所需的库文件,它们以jar文件的形式保存sample目录中包含的是体现JDK5.0新特性的一些例程很多的IDE都自带了JDK;或是一些系统、操作系统自带了JDK:BEAWeblogicServer7.0(Java应用服务器)自带一套JDK1.3.1_02,还下载了一套最新的JDK1.4.1_02JBuilder9自带一套JDK1.4.1_02Oracle8.1.7自带一套JRE1.1.7RationRose自带一套JDK1.3DreamWeaver自带一套JDK1.36套JRE,每套JRE都被各自安装到不同的目录,不会互相影响。当在控制台执行java.exe,操作系统寻找JRE的方式如下:先找当前目录下有没有JRE再找父目录下有没有JRE接着在PATH路径中找JRE注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JavaRuntimeEnvironment\查看CurrentVersion的键值指向哪个JRE最常用的是在PATH路径中找JRE,一般情况下,自己的程序运行之前都会先在批处理文件里面临时设置PATH,把自己用的JRE放到PATH路径最前面,所以肯定会运行自己带的JRE,不会造成版本混乱。C/C++语言的开发环境:1.Intel电脑:2.Windows操作系统:3.Windows的SDK:微软每推出一个重要的windows版本,一般都会同时推出一个SDK(SoftwareDevelopmentKit)。SDK包含了开发该windows版本所需的windows函数和常数定义、API函数说明文档、相关工具和示例。SDK一般使用C语言,但不包括编译器。从windows98开始,windowsSDK叫PlatformSDK,包含最新的windowsAPI函数的有关声明、例子。上面只是说了一个SDK大概的概念而已,要理解SDK不得不引入API、动态链接库、导入库等等概念。首先要接触的是“API”,也就是ApplicationProgrammingInterface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。早在DOS时代就有API的概念,只不过那个时候的API是以中断调用的形式(INT21h)提供的,在DOS下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将AH置为30h后调用INT21h就可以得到DOS操作系统的版本号。而在Windows中,系统API是以函数调用的方式提供的。同样是取得操作系统的版本号,在Windows中你所要做的就是调用GetVersionEx()函数。可以这么说,DOSAPI是“Thinkingin汇编语言”的,而WindowsAPI则是“Thinkingin高级语言”的。DOSAPI是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口。(windowsAPI是用C语言写的)DLL即DynamicLinkLibrary(动态链接库)。我们经常会看到一些.dll格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟.exe文件不同的是,.dll文件不能直接执行,他们通常由.exe在执行时装入,内含有一些资源以及可执行代码等。其实Windows的三大模块就是以DLL的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了API函数的执行代码。为了使用DLL中的API函数,我们必须要有API函数的声明(.H)和其导入库(.LIB)。导入库可以理解为是为了在DLL中找到API的入口点而使用的。所以,为了使用API函数,我们就要有跟API所对应的.H和.LIB文件,而SDK正是提供了一整套开发Windows应用程序所需的相关文件、范例和工具的“工具包”。由于SDK包含了使用API的必需资料,所以人们也常把仅使用API来编写Windows应用程序的开发方式叫做“SDK编程”。而API和SDK是开发Windows应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如VCL和MFC,虽然他们比起“SDK编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用API函数。用VC编写Windows程序有两种:1.Windowsc方式(SDK),2.C++方式:即对SDK函数进行包装,如VC的MFC,BCB的VCL等。SDK编程就是直接调用Windows的API进行编程,平时人们常说用SDK写程序就是指用Windows的API函数来写程序,API由上千个API函数组成(Win95的API有两千多个)。而MFC是API的封闭,结合面向对象程序设计的继承性和多态性组成一个个的类,共由一百多个类组成。尽管MFC比SDK方便,但要深入VC,直接去学MFC却是不明智的选择。只有在熟悉了MFC的运行机制的情况下,才有可能深入下去。所以学VC最好是先学用SDK编写程序,在此期间掌握Windows操作系统的工作原理和各API函数的应用,然后再深入MFC。4.IDE:VC;VS2005…一般的IDE中都包含了SDK;高版本VC包括了SDK所有的头文件、帮助、示例和工具,不需要再安装SDK,低版本如VC5.0则需要安装SDK。(SDK就是SoftwareDevelopmentKit的缩写,就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。各种不同类型的软件开发,都可以有自己的SDK。Windows有WindowsSDK,DirectX有DirectX9SDK,.NET开发也有Microsoft.NETFrameworkSDK。JAVA开发也不含糊,也有自己的JavaSDK。)综上所述,我自己进行的总结:1.JAVA虚拟机可以看做是一个JAVA裸机(即模拟一个硬件机器),JRE就是其上的操作系统。(虽然JRE中包括了JAVA虚拟机,不过我们逻辑上可以将他们分开);2.JDK(JAVASDK)相当于windowsSDK,JAVA虚拟机-》JRE-》JDK-》IDE(Jbuilder。。。)机器-》windows-》SDK-》IDE(VC6.0;VS2005。。。)手机-》手机操作系统-》SDK-》WIN32API:在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。但是,那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。这也是API函数使用的场合,所以我们对待API函数不必刻来研究每一个函数的用法,那也是不现实的(能用的到的API函数有几千个呢)。API不要去学,在需要的时候去查API帮助就足够了。windowapi是微软为编写windows程序的程序员们提供的接口。微软很小气,有点东西就藏着。函数的具体实现你是看不见的,是没有源代码的封装在OS里的,这就好像你可以双击鼠标来打开东西,你不知道怎么实现的,但可以用。windowapi函数的声明:放在VC的文件夹里,你在想看的函数上右键选者“gotodefinitionof函数名”可以看你调用的函数的声明了;windowapi函数功能的介绍:在MSDN里;接口部分:包含在扩展名为.h的文件中;实现部分:被编译成DLL放在操作系统中的system32目录下比如几个重要的DLL:kernel32.dlluser32.dllgdi32.dllcomctl32.dllcomdlg32.dll等等都包含WindowsAPI的封装。
本文标题:自己的总结-JAVA,C语言的开发环境--SDK,JDK
链接地址:https://www.777doc.com/doc-2117615 .html