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

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

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

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

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

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

这种辅助开发某一类软件的相关文档、范例和工具的集合,叫做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. Ideal设置编码格式

    file-------settings-------file Encodings

  2. git切换到某个tag, 从tag切换回当前分支

    git clone 整个仓库后使用,以下命令就可以取得该 tag 对应的代码了 git checkout tag_name 但是,这时候 git 可能会提示你当前处于一个“detached HEAD& ...

  3. Swift4.0复习操作符方法与操作符的定制

    1.对已有操作符的重载: 2.可定制的操作符: 3.定制前缀操作符: 4.定制后缀操作符: 5.定制中缀操作符:

  4. Django 之上下文处理器和中间件

    一.上下文处理器 上下文处理器是可以返回一些数据,在全局模板中都可以使用.比如登录后的用户信息,在很多页面中都需要使用,那么我们可以放在上下文处理器中,就没有必要在每个视图函数中都返回这个对象. 在s ...

  5. Error: python-devel conflicts with python-2.7.5-68.el7.x86_64

    yum install yum-utils -y package-cleanup --cleandupes yum -y install python-devel yum -y install pyt ...

  6. 01 web概念概述

    1.JavaWeb: 使用Java语言开发基于互联网的项目 2.软件架构:(1) C/S: Client/Server 客户端/服务器端在用户本地有一个客户端程序,在远程有一个服务器端程序如:QQ,迅 ...

  7. Python中使用列表的一部分——参考Python编程从入门到实践

    处理列表中的部分元素——切片 1. 切片 players = ['charles', 'martina', 'michael', 'florence', 'eli'] print(players[0: ...

  8. WUSTOJ 1320: 饭卡(Java)动态规划-背包

    题目链接:

  9. C# 简单的区块链实现

    1.项目配置 首先新建一个 Asp.Net Core 项目,然后选择 Empty Project(空项目) 类型,建立完成后无需进行任何配置. 2.数据模型 这里我们来创建一个具体的区块数据模型,使用 ...

  10. Linux 服务器修改时间与时间同步

    设置时间 date --set '2015-11-23 0:10:40' # 方法一,通用 timedatectl set-time '2015-11-23 08:10:40' # 容器内可能不支持 ...