一、计算机的组成
计算机的组成分为软件和硬件两个部分。
硬件是指完成输入、输出、存储、处理数据的物理设备。
常见的硬件设备:
1.输入设备:键盘、鼠标等。
2.输出设备:显示器、打印机等。
3.Cpu:是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
软件是指计算机系统中的程序及其文档或者是通过计算机语言编写能够在硬件上运行的程序。软件可以分为系统软件和应用软件:
系统软件:控制和支持计算机系统的软件,一般是指操作系统软件。比如我们常见的Windows、iOS、Android。
应用软件:具有特定应用场景和功能的软件。比如office、ps等。
下面我们来简单说说计算机语言的发展历史。
二、计算机语言的发展历史
计算机语言的发展历程大体如下图所示,由纯粹的二进制编码(机器语言)发展为面向机器的汇编语言,再发展为容易被我们所理解的高级语言。
低级语言直接面向机器,没有编译和解析的过程,执行的效率高于高级语言。但是由于过于接近于底层,其学习和编程的难度较高,难以调试和维护,从而使得项目周期较长。
高级语言包括:C、C++、C#、java、Python、PHP、go、Android、objectC、swift等。高级语言依赖编译解析和运行环境,故而执行效率落后于低级语言,但其语言逻辑更接近人类的语言逻辑,容易被人所理解,因此可读性和开发效率高于低级语言。
三、编译型语言和解释型语言
编译型语言:有专门的编译器,针对特定的操作系统,将高级语言一次性编译为该操作系统硬件能够识别的机器码,并包装成该操作系统所能识别和运行的文件格式。常见的编译型语言有:C语言、C++。
特点:
1.只需要编译一次,后续执行不再需要编译,执行效率高。
2.与特定平台相关,不具备跨平台特性,平台变化需要重新编译源代码。
解释型语言:使用专门的解释其将程序源代码逐行的解释为该平台所能识别的机器码并立即执行。
常见的解释型语言:JavaScript、python等。
特点:
1.程序每次运行都要重新对源代码进行逐句解释,执行效率低。
2.只要平台提供相应的解释其就能运行,可以跨平台。
四、Java语言简史
五、Java技术的分类
根据应用领域的不同,分为JavaSE、JavaEE、JavaME。
JavSE:Java的标准版本,Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。
JavaEE:Java的企业版本,是JavaSE的扩展,增加了服务器开发的类库。譬如:JSP;Enterprise JavaBeans;Servlet;XML等各种应用于服务器端的API。
JavaME :是JavaSE的内延,用于微服务开发,拥有适合微型设备的类库。
那Java语言能做什么?就目前而言,Java主要应用于互联网应用程序开发领域。常见的有京东、淘宝等等。以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
六、Java语言的特性及优点
(1)简单:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb。 |
七、Java 的几个重要概念
JDK:Java开发工具包,是Java运行的核心,包含了Java运行环境JRE、Java工具(编译器、解释器等等)、Java基础类库。
JRE:Java运行环境,也就是我们说的Java平台,Java代码只有在JRE下才能运行。包括JVM、Java核心类库和支持文件。和JDK相比,它不包含编译器这些开发工具。
JVM:Java虚拟机,是JRE的一部分,它是一个虚拟计算机,是在实际计算机上仿真模拟各种计算机功能来实现的。JVM是一种规范,可以用软件来实现,也可以用硬件来实现,就是一个虚拟的用于执行byte-code字节码的计算机。不同的操作系统有不同的虚拟机,JVM机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
八、Java跨平台的原理