计算机
计算机组成
- 硬件系统
- 软件系统
没有安装任何软件的计算机称为裸机
计算机5大分类
- 超级计算机
- 工业控制计算机
- 网络计算机
- 个人计算机
- 嵌入式计算机
第一台计算机埃尼阿克(ENIAC)
世界上第一台计算机诞生于1946年2月16日,美国宾夕法尼亚大学研制的人类历史上真正意义的第一台电子计算机,占地170平方米,耗电150千瓦,造价48万美元,每秒可执行5000次加法或400次乘法运算。共使用了18000个电子管。大小为80英尺×8英尺。重达28t(吨),功耗为170kW,其运算速度为每秒5000次的加法运算,造价约为487000美元。ENIAC的问世具有划时代的意义,表明电子计算机时代的到来。在以后60多年里,计算机技术以惊人的速度发展,没有任何一门技术的性能价格比能在30年内增长6个数量级。
最初的计算机由被誉为“电子计算机之父”的冯”诺依曼发明的。
数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。
计算机发展历史
计算机语言(Computer Language)
计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。
计算机语言的种类非常的多,总的来说可以分成
- 机器语言
- 机器语言是指一台计算机全部的指令集合
- 汇编语言
- 为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用"ADD"代表加法,"MOV"代表数据传递等等
- 高级语言
- 这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。
Java语言
Java语言由来
Java之父James Gosling团队在开发”Green”项目时,发现C缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
Java确实是从C语言和C++语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物。比如Java语言的变量声明,操作符形式,参数传递,流程控制等方面和C语言、C++语言完全相同。但同时,Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。JDK1.5又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱
Java语言特征
- 简单性
- 面向对象
- 分布式
- 健壮性
- 安全性
- 平台独立与可移植性
- 多线程
- 动态性
- 等等
Java语言可以做什么
- 编写桌面应用程序
- Web应用程序
- 分布式系统
- 嵌入式系统应用程序
- 大数据系统
- Android应用
- 等等
Java规范
JCP(Java Community Process)是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实现(RI)、技术兼容包(TCK)。JCP维护的规范包括Java ME、Java SE、Java EE、XML、OSS、JAIN等。组织成员可以提交JSR(Java Specification Requests),通过特定程序以后,进入到下一版本的规范里面。
Java规范按照技术类别分类
- Java SE(Java Standard Edition)标准版
- 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE。
- Java EE(Java Enterprise Edition)企业版
- 是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE。
- Java ME(Java Micro Edition)小型版
- 支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。
- OSS (Operations Support Systems,营运支持系统)
- JAIN是用于集成网络的Java API,它提供了一组API,这些API专注于由传统电信和IP网络的融合驱动的新兴网络协议和体系结构。
- XML是可扩展标记语言,是一种通用语法,用于描述和结构化与应用程序逻辑无关的数据。一些JSR专注于开发Java技术API,这些API专用于构建基于XML的应用程序。
Sun公司的Java认证
- Java程序员(SCJP)
- Java开发员(SCJD)
- Java Web组件的开发(SCWD)
- Java2企业级设计师企业级技术(SCJA)
Java开发工具:
- Notepad++
- Sublime Text
- editplus
- ultraedit
- vim
- eclipse
- MyEclipse
- Intellij IDEA
- NetBeans
- VsCode
Java开发环境:
JDK = JRE + 开发工具集(例如Javac编译工具等)
- JDK(Java Development Kit Java开发工具包)
- JDK = JRE + 开发工具集(例如Javac编译工具等)
- JRE(Java Runtime Environment Java运行环境)
- JRE = JVM + Java SE标准类库