什么是软件开发工具包(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了。有关安装JDK的方法,请参考下面几个文件完成JDK的安装:
安装完JDK,其实我们就可以开发Java程序了:
l 第一步,使用记事本或其它纯文本编辑工具编写java程序;
l 第二部,使用JDK中的javac.exe工具编译java程序;
l 第三步,使用JDK终端java.exe工具运行程序。
这种文本编辑工具+手动编译运行的编程方式是值得推荐给初学者的,这能够让你更深入理解程序的编译运行过程,也有助于对JDK的理解。这里有一个使用NotePad++编写代码,使用javac.exe和java.exe工具编译运行程序的详细步骤供大家参考:”Java Hello World源代码notepad++版“。
为了使程序开发调试更方便快速,人们开发了一种名称为IDE(Integrated Development Environment,集成开发环境)的应用软件,它将编写代码、编译、调试、运行等功能集成在一个统一的工具界面中,很多操作都只需要简单地点下鼠标就完成了。当你使用手动编译运行程序一段时间,理解了程序运行的基本原理后,可以转而使用IDE工具来开发java程序了。常用的java IDE有Eclipse、Intellij IDEA等,还有一些相对小众的IDE如BlueJ、DrJava等。
细心的读者可能会看到,javac是java编译器,为什么编译之后的结果是.class为后缀的文件,运行java程序的时候,还需要一个名字叫做java的工具来执行.class文件呢?为什么不像c语言那样,编译后得到一个.exe文件,直接就可以运行?我们将在下一节中解释这个问题。
什么是软件开发工具包(SDK)的更多相关文章
- 术语-软件-软件开发:SDK(软件开发工具包)
ylbtech-术语-软件-软件开发:SDK(软件开发工具包) 软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架 ...
- .net core 2.2 部署CentOS7(4)CentOS7下载并安装.NET SDK(软件开发工具包)
目录: .net core 2.2 部署CentOS7(1)安装虚拟机 .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7 .net core 2.2 部署CentOS7( ...
- macOS 下安装SDKMAN 软件开发工具包管理器
SDKMAN 软件开发工具包管理器的安装非常简单,只需要打开终端,执行: $ curl -s "https://get.sdkman.io" | bash 就OK了,输出类似如下: ...
- SDKMAN 软件开发工具包管理器
SDKMAN 是用来在类Unix 系统中管理多个版本的开发环境的工具.提供命令行接口来安装.切换.删除.列出候选版本. SDKMAN!是在大多数基于Unix的系统上管理多个软件开发套件的并行版本的工具 ...
- 顺丰丰桥软件开发工具包 (.NET)
丰桥 - 一站式对接服务平台, 打通客户与顺丰系统之间的信息流, 实现物流供应链一体化. 随着一个电商项目和顺丰合作, 信息流对接就是我们开发的事了. 顺丰通过丰桥提供了一些开放接口, 不过丰桥提供的 ...
- C#入门到精通系列课程——第1章软件开发及C#简介
◆本章内容 (1)了解软件 (2)软件开发相关概念 (3)认识.NET Framework (4)C#语言 (5)Visual Studio 2017 ◆本章简述 软件在现代人们的日常生活中随处可见, ...
- 自己动手做AI:Google AIY开发工具包解析
2018年国际消费性电子展(CES)上,最明显的一个趋势是Amazon与Google的语音技术进驻战,如AmazonAlexa进驻到Acer笔电内,Google Assist进驻到KIA汽车内,其他如 ...
- 【DSP开发】【计算机视觉】TI 视觉软件开发套件ADAS
关键字:TI 视觉软件开发套件 ADAS 日前,德州仪器 (TI) 宣布推出其视觉软件开发套件(SDK),从而为开发人员提供了一款灵活的框架.一组丰富齐全的硬件设备驱动程序和一套适用的开发工具,可 ...
- AWS的开发工具包和设备SDK开发工具包
一.开发工具包 二.设备sdk开发工具包
随机推荐
- MTK 音量加减键修改为默认控制媒体音量
frameworks/base/media/java/android/media/AudioService.java: private int getActiveStreamType(int sugg ...
- DOM基础:table(表格)
1. table元素的相关属性 tBodies 一个table可以有多个tBody tHead 一个table只有一个tHead tFoot 一个table只有一个tFoot rows 一个tabl ...
- sip协议中文讲解
https://blog.csdn.net/qiuchangyong/article/details/50748854
- Inside The C++ Object Model(四)
============================================================================4-1. Member 的各种调用方式静态成员函 ...
- 【腾讯云的1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台
版权声明:本文由白宦成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/108597001488193402 来源:腾云阁 h ...
- GitLab push除发Jenkins事件
1.打开Jenkins项目配置 2.勾选Trigger builds remotely (e.g., from scripts) 3.Authentication Token随便填个内容(比方1234 ...
- python __get__ & __set__
目的: 提供类似java中的getter/setter的东西. (getter/setter的目的: 将属性方法化,使得属性的引用变得简单---尤其将来属性的读取/赋值有比较复杂的逻辑) 官方简明文 ...
- 13.vue组件
vue组件(一) 组件嵌套: 1.全局嵌套: <!doctype html> <html> <head> <meta charset="utf-8& ...
- 9、socket.io,websocket 前后端实时通信,(聊天室的实现)
websocket 一种通信协议 ajax/jsonp 单工通信 websocket 全双工通信 性能高 速度快 2种方式: 1.前端的websocket 2.后端的 socket.io 一.后端so ...
- python语法_input
input:与用户的交互,返回用户输入的值 注意:input接受的所有数据都为字符串,即便输入的为数字,依然会被当成字符串