什么是软件工具开发包(SDK)
开发一个软件,需要经过编辑、编译、调试、运行几个过程。
编辑:使用编程语言编写程序代码的过程。
编译:将编写的程序进行翻译。
调试:程序不可能一次性编写成功,编写过程中难免会出现语法、语义上的错误,调试就是找出程序中存在的错误。
运行:在开发过程中需要反复多次运行程序,已检查程序是否按照预定目标执行。
软件开发人员需要在自己电脑中安装、配置相应的软件工具,才能够进行编辑、编译、调试、运行操作。除此之外,可能还会安装一些文档、范例。
这种辅助开发某一类软件的相关文档、范例和工具的集合,叫做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)的更多相关文章
- iOS 11 Xcode 开发包SDK
一不小心,手机又升级了,哎
- 更新 是 可用的 针对 安卓 软件开发包和工具 Updates are available for android software development packages and tools
作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com 更新 是 可用的 针对 安卓 软件开发包和工 ...
- Android SDK开发包国内下载地址
不知道是因为最近kaihui还是怎么的,打开android sdk官方网站特别的慢,想下载最新版本的platform几乎变成不可能完成的任务,不知道为什么Google不像Apache那样在各国设立镜像 ...
- Android SDK开发包国内下载地址(转)
想了解Android 应用开发,但可恨开发环境安装就困难重重,这里找到一个国内下载地址,特转来记录 Android SDK开发包国内下载地址
- vmware开发包之vSphere Management SDK
vSphere Management SDK关于vmware管理等相关功能的.net和java的代码示例. 在其5.5的解压包中 eam:esx agent management表示esx虚机生产环境 ...
- Microsoft Speech SDK开发包 使用
下载开发包.我们首先从微软的官网上面下载开发包,下载地址如下: http://www.microsoft.com/en-us/download/details.aspx?id=10121我们主要下载三 ...
- brother b-PAC sdk开发包
brother b-PAC sdk开发包 https://download.brother.com/welcome/dlfp100607/bsdkw32031eu.exe https://www.br ...
- *** wechat-php-sdk 微信公众平台php开发包
wechat-php-sdk 微信公众平台php开发包,细化各项接口操作,支持链式调用,欢迎Fork此项目weixin developer SDK. 项目地址:https://github.com/d ...
- [转]QGis2.9在windows下的编译以及二次开发包下载
今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...
随机推荐
- Ideal设置编码格式
file-------settings-------file Encodings
- git切换到某个tag, 从tag切换回当前分支
git clone 整个仓库后使用,以下命令就可以取得该 tag 对应的代码了 git checkout tag_name 但是,这时候 git 可能会提示你当前处于一个“detached HEAD& ...
- Swift4.0复习操作符方法与操作符的定制
1.对已有操作符的重载: 2.可定制的操作符: 3.定制前缀操作符: 4.定制后缀操作符: 5.定制中缀操作符:
- Django 之上下文处理器和中间件
一.上下文处理器 上下文处理器是可以返回一些数据,在全局模板中都可以使用.比如登录后的用户信息,在很多页面中都需要使用,那么我们可以放在上下文处理器中,就没有必要在每个视图函数中都返回这个对象. 在s ...
- 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 ...
- 01 web概念概述
1.JavaWeb: 使用Java语言开发基于互联网的项目 2.软件架构:(1) C/S: Client/Server 客户端/服务器端在用户本地有一个客户端程序,在远程有一个服务器端程序如:QQ,迅 ...
- Python中使用列表的一部分——参考Python编程从入门到实践
处理列表中的部分元素——切片 1. 切片 players = ['charles', 'martina', 'michael', 'florence', 'eli'] print(players[0: ...
- WUSTOJ 1320: 饭卡(Java)动态规划-背包
题目链接:
- C# 简单的区块链实现
1.项目配置 首先新建一个 Asp.Net Core 项目,然后选择 Empty Project(空项目) 类型,建立完成后无需进行任何配置. 2.数据模型 这里我们来创建一个具体的区块数据模型,使用 ...
- Linux 服务器修改时间与时间同步
设置时间 date --set '2015-11-23 0:10:40' # 方法一,通用 timedatectl set-time '2015-11-23 08:10:40' # 容器内可能不支持 ...