一、需要安装的软件及解释

  1.android studio  安卓app开发软件工具

  2.sdk       多个语言的软件开发工具包集合(JDK只是其中一个子集)

  3.jdk       Java语言的软件开发工具包

  4.myeclipse    java的集成开发环境(IDE)

  5.haxm      android虚拟器的加速器

  6.svn       集中式版本控制系统

 

二、相关软件安装

  1.oracle      数据库-服务端

  2.oracle client    数据库-客户端 

  3.plsql      连接数据库的可视化客户端软件

  4.tomcat     web应用服务器。中间件,用于启动项目。大佬的白话文比喻:我家有一台机器(web项目),可以把石子(请求)变成金子(响应),你(用户)快递给我(tomcat)一箱石子,我把石子放进机器变成金子后再快递回给你。

 

三、各个软件之前的区别和联系

  1.sdk(软件开发工具包)>jdk(java开发工具包)>jre(java程序运行环境)>jvm(java虚拟机)

    参考资料:https://www.cnblogs.com/luffyu/p/6518696.html

    

  2.svn(集中式版本控制系统),git(分布式版本控制系统)

    参考资料:https://blog.csdn.net/sinat_38426472/article/details/78939795

  3.oracle(服务端),oracle client(客户端),plsql(集成开发环境)

    ①ORACLE安装在作为服务器的电脑上,ORALCE CLIENT安装在用户的电脑上
    ②装了ORACLE就不用安装ORACLE CLIENT
    ③服务器端和用户端需安装PLSQL,才能对数据库进行操作

  4.SDK,DLL,API

   ①SDK(狭义)是Windows的一个软件开发包(包含开发所需的头文件 .h、库文件、说明书等)。(广义)可以二次开发而提供的开发包。

   ②DLL(狭义)windows下的动态链接库,是基于SDK开发的函数库。(广义)具有DLL后缀的库

   ③API(狭义)windows上的程序需要通过API这个通道才能使用SDK内或DLL内的函数。(广义)编程接口,一个程序允许另个程序调用而规定的接口。

   ④比喻1:SDK是开发平台,DLL是应用程序,DLL用SDK开发。

   ⑤比喻2:SDK是一瓶密封的饮料A,DLL是以SDK为样板研发的另外一瓶密封的饮料B,API是饮料上的吸管。

  5.DLL,LIB,API

   ①lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。

   ②如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。

   ③动态链接的情况下,有两个文件:一个是LIB文件,一个是DLL文件。LIB包含被DLL导出的函数名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到DLL文件。在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。DLL和LIB文件必须随应用程序一起发行,否则应用程序会产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。

   ④为了使用 DLL 中的 API 函数, 必须要有 API 函数的声明(.H)和其导入库(.LIB),导入库可以先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。

四、扩展知识:DNS,JAR,UNICODE;  API,DLL,IDE,LIB,BIN

  1.DNS(域名解析器):直白解释,翻译官。 如百度域名:www.baidu.com 解析成 ip:220.181.111.188

  2.JAR:java归档文件,jar文件内的文件名是unicode文本。 别人已经写好的一些类,然后将这些类进行打包,可以用此包引入项目中,直接使用这些包中的类、属性和方法。

  3.UNICODE:万国码。 通过UTF-8实现。

  4.API:应用程序接口

  5.DLL:动态链接函数库,①可由多个程序同时使用的代码和数据的库,②减少代码的重复编写及封装,③便于单独模块的更新。

  6.LIB:有两种。①是静态库,有函数的实现代码。②是和DLL配合使用的,无代码。是用在静态调用DLL上的,起链接作用。

  7.IDE:集成开发环境,例如python的IDE是python

  8.BIN:二进制文件,

图片未更新最新内容。