一、计算机语言的发展历史
二、java简史
java的发明人:James Gosling(詹姆斯·高斯林)
1991年,SUN公司的Green项目,Oak
1995年,推出Java测试版
1996年,JDK1.0
1997年,JDK1.1
1998年,JDK1.2,大大改进了早期版本缺陷,是一个革命性的版本,更名为Java2。
2004年,J2SE 5.0 (1.5.0) Tiger老虎 成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
2005年,Java的各种版本已经更名,以取消其中的数字"2": J2ME更名为Java ME, J2SE更名为Java SE, J2EE更名为Java EE;
2006年,J2SE 6.0 (1.6.0) Mustang野马
2009年,甲骨文(oracle)收购SUN,交易高达价格74亿
2011年,JavaSE7.0 Dolphin海豚
2014年,JavaSE8.0
2017年,JAVA 9.0
2018年3月,JAVA 10
2018年9月,JAVA 11
2019年3月,JAVA 12
2019年9月,JAVA 13
2020年3月,JAVA 14
注意:SUN公司已经被oracle公司收购,目前每半年更新一次java的版本。但是,企业中的主流仍然以7和8为主。
三、java的体系结构
JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用
这个版本是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。
JavaEE(Java Enterprise Edition):企业版,定位在服务器端的应用
JavaEE是JavaSE的扩展,增加了用于服务器开发的类库。如:JDBC是让程序员能直接在Java内使用的SQL的语法来访问数据库内的数据;Servlet能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将Java程序代码内嵌在网页内的技术;
JavaME(Java Micro Edition):微型版,定位在消费性电子产品的应用上
JavaME是JavaSE的内伸,包含J2SE的一部分核心类,也有自己的扩展类,增加了适合微小装置的类库:javax.microedition.io.*等。该版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。
四、java的特性和优势
跨平台/可移植性
这是Java的核心优势。Java在设计时就很注重移植和跨平台性。比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。
安全性
Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒,防篡改的系统。
面向对象
面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性!Java则是完全的面向对象语言。
简单性
Java就是C++语法的简化版,我们也可以将Java称之为“C+±”。跟我念“C加加减”,指的就是将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时,由于语法基于C语言,因此学习起来完全不费力。
高性能
Java最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。 将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使Java程序的执行效率大大提高,某些代码甚至接待C++的效率。
因此,Java低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多C++应用转到Java开发,很多C++程序员转型为Java程序员。
分布式
Java是为Internet的分布式环境设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。
多线程
多线程的使用可以带来更好的交互响应和实时行为。 Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。
健壮性
Java是一种健壮的语言,吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。即使Java程序也可能有错误。如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理。
五、跨平台原理
通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理是什么?
不同的操作系统都有与之对应的JVM, 只要在需要运行java应用程序的操作系统上,安装一个JVM, 由JVM来负责Java程序在该系统中的运行。
所以只需要写一个Java程序,就可以在多个不同的操作系统上执行。这样就实现了Java程序的跨平台性。 也称为Java具有良好的可移植性。
注意JVM是Java语言能够跨平台的前提,但是JVM本身不跨平台
六、JDK JRE JVM
JDK(Java Development Kit) --- Java开发工具包 --- JRE+开发工具
开发java程序最小的环境为JDK,所以JDK是JAVA语言的核心
JRE(Java Runtime Environment) --- Java运行时环境 --- JVM+运行java程序所必需的环境
运行java程序最小的环境为JRE
JVM(Java Virtual Machine)---负责加载.class并运行.class文件
JVM(JAVA虚拟机)将JAVA代码转换为对应的操作系统可以理解的指令,不同的操作系统有不同虚拟机与之对应,
同一段代码交给虚拟机之后,虚拟机再转化给操作系统
什么是将java代码翻译成当前操作系统所理解的指令?
这指的就是编译的过程,将.java文件编译成.class字节码文件.
编译完成会产生一个.class文件,这个文件称为字节码文件,操作系统看的指令文件就是字节码文件.
七、常用的dos命令
【1】DOS操作系统
–Microsoft公司推出的操作系统。(在windows之前的操作系统)
–DOS是英文"Disk Operating System"的缩写,其中文含意是"磁盘操作系统".
–DOS是单用户、单任务的操作系统.(只能执行一个任务)
【2】DOS命令
–在windows中,我们通过鼠标菜单等来操作系统,而在dos操作系统中,要通过dos命令来操作系统。
–是DOS操作系统的命令,是一种面向磁盘的操作命令,
–不区分大小写。
【3】命令学习:
控制命令台:win+r—>cmd
【4】具体dos命令:
(1)切换盘符: c: d: e: 大小写没有区分
(2)显示详细信息:dir
(3)改变当前目录:cd
(4)
. 当前目录
… 代表上一层目录
(5)清屏:cls
(6)切换历史命令:上下箭头
(7)补全命令: tab按键
(8)创建目录:md
删除目录:rd
(9)复制文件命令:copy:
(10)删除文件:del
del后面如果接的是文件夹/目录:那么删除的就是这个文件夹下的文件,而不是文件夹