开发一个软件,需要经过编辑、编译、调试、运行几个过程。

编辑:使用编程语言编写程序代码的过程。

编译:将编写的程序进行翻译。

调试:程序不可能一次性编写成功,编写过程中难免会出现语法、语义上的错误,调试就是找出程序中存在的错误。

运行:在开发过程中需要反复多次运行程序,已检查程序是否按照预定目标执行。

软件开发人员需要在自己电脑中安装、配置相应的软件工具,才能够进行编辑、编译、调试、运行操作。除此之外,可能还会安装一些文档、范例。

这种辅助开发某一类软件的相关文档、范例和工具的集合,叫做Software Development Kit,即软件开发工具包,简称为SDK

不同的编程语言,开发工具当然是不一样的。对于Java开发人员来说,其软件开发工具包有一个专门的名称,叫做JDK(Java Development Kit)

JDK中主要包含:

  • JRE:全称是Java Runtime Enviroment,即Java运行环境。
  • Java基础类库:是 Java 语言提供的已经实现的标准类的集合。简单说就是一些写好的程序代码,这些代码提供各种功能,比如从键盘获取输入、读取硬盘上的文件等输入/输出功能,日期、哈希表等数据结构类型,窗口、对话框、菜单等图形界面功能……,开发人员不必自己再写了,直接调用即可。
  • l  一批用于Java开发的组件,如:
    •  javac:编译器,将后缀名为.java的源代码编译成后缀名为“.class”的字节码
    •  java:运行工具,运行.class的字节码
    •  jar:打包工具,作用是将相关的类文件打包成一个文件
    •  javadoc:文档生成器,利用此工具可根据源代码里的注释自动生成程序说明文档,要求是注释需符合规范。
    • ……

从上面介绍可以看到,如果不是开发人员,就没必要安装JDK了,而只需要安装JRE就可以运行Java程序了。对于开发者而言,除了要运行Java程序,还需要一些开发工具,所以就必须安装JDK了。

为了使程序开发调试更方便快速,人们开发了一种名称为IDE(Integrated Development Environment,集成开发环境)的应用软件,它将编写代码、编译、调试、运行等功能集成在一个统一的工具界面中,很多操作都只需要简单地点下鼠标就完成了。当你使用手动编译运行程序一段时间,理解了程序运行的基本原理后,可以转而使用IDE工具来开发java程序了。常用的java IDE有Eclipse、Intellij IDEA等,还有一些相对小众的IDE如BlueJ、DrJava等。

细心的读者可能会看到,javac是java编译器,为什么编译之后的结果是.class为后缀的文件,运行java程序的时候,还需要一个名字叫做java的工具来执行.class文件呢?为什么不像c语言那样,编译后得到一个.exe文件,直接就可以运行?我们将在下一节中解释这个问题。

什么是软件工具开发包(SDK)的更多相关文章

  1. iOS 11 Xcode 开发包SDK

    一不小心,手机又升级了,哎

  2. 更新 是 可用的 针对 安卓 软件开发包和工具 Updates are available for android software development packages and tools

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com 更新 是 可用的 针对 安卓 软件开发包和工 ...

  3. Android SDK开发包国内下载地址

    不知道是因为最近kaihui还是怎么的,打开android sdk官方网站特别的慢,想下载最新版本的platform几乎变成不可能完成的任务,不知道为什么Google不像Apache那样在各国设立镜像 ...

  4. Android SDK开发包国内下载地址(转)

    想了解Android 应用开发,但可恨开发环境安装就困难重重,这里找到一个国内下载地址,特转来记录 Android SDK开发包国内下载地址

  5. vmware开发包之vSphere Management SDK

    vSphere Management SDK关于vmware管理等相关功能的.net和java的代码示例. 在其5.5的解压包中 eam:esx agent management表示esx虚机生产环境 ...

  6. Microsoft Speech SDK开发包 使用

    下载开发包.我们首先从微软的官网上面下载开发包,下载地址如下: http://www.microsoft.com/en-us/download/details.aspx?id=10121我们主要下载三 ...

  7. brother b-PAC sdk开发包

    brother b-PAC sdk开发包 https://download.brother.com/welcome/dlfp100607/bsdkw32031eu.exe https://www.br ...

  8. *** wechat-php-sdk 微信公众平台php开发包

    wechat-php-sdk 微信公众平台php开发包,细化各项接口操作,支持链式调用,欢迎Fork此项目weixin developer SDK. 项目地址:https://github.com/d ...

  9. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

随机推荐

  1. 虚拟机设置静态ip【实测中标麒麟】

    1.打开本机的网络共享中心,记住本机的网络描述 realtek RTL...... 2.右键当前虚拟机,设置桥接模式 3.在虚拟机上方选择编辑->虚拟机网络编辑器,桥接到第一步中的描述 4.修改 ...

  2. 增强篇4 CO01生产订单屏幕增强

    Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD  使用客户增强:PPCO0012    生产订 ...

  3. elasticsearch关键词查询不分词

    $query = [ 'bool' => [ 'must' => [ 'match_phrase' => ['content' => $word] //$word词不被分词 ] ...

  4. Ubuntu18.04下LAMP环境搭建

    可以安装安装Xampp,Xampp是一个集成的LAMP开发环境. 但是这只是对于一个刚安装好的系统来说的,但是很有可能我的电脑上面已经安装过Apache,或者安装过MySQL,或者安装过PHP了,或者 ...

  5. Python3之内建模块datetime

    datetime datetime是python处理日期和时间的标准库 获取当前日期和时间 >>> from datetime import datetime #获取当前的datet ...

  6. VueX(vue状态管理)简单小实例

    VueX:状态管理 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 核心模块:State. ...

  7. 【Luogu P1345】[USACO5.4]奶牛的电信Telecowmunication

    Luogu P1345 很容易发现这题要求的是网络流中的最小割. 关于最小割,我们有最大流最小割定理:最小割的容量一定等于最大流的流量 但是这个定理是用于求最小割边,而题目要求我们求的是最小割点. 那 ...

  8. poj3348(求凸包面积)

    题目链接:https://vjudge.net/problem/POJ-3348 题意:转换题意后即是求凸包的面积. 思路: 套模板,求凸包面积即转换为多个三角形面积之和,用叉积求,然后除2,因为本题 ...

  9. Linux下指定so共享库的加载路径

    转载地址:https://blog.csdn.net/zorelemn/article/details/52596293,做了部分修改 一.库文件的搜索路径: 1.在配置文件/etc/ld.so.co ...

  10. D2.Docker: 安装部署相关问题

    [mysql] docker 安装完mysql 后客户端无法访问