一、计算机编程语言发展史?
第一代语言:机器语言
程序员直接编写二进制
计算机由电流驱动的,电流只能表示两种状态:正负
而正对应1 负对应0
第二代语言:低级语言
第三代语言:高级语言
二、版本
JavaEE和JavaME都包含JavaSE,实际上这三大板块就是Java的三大版本,JavaSE是Java的标准版,是学习JavaEE和JavaME的基础,JavaEE是企业版,JavaME是微型版
三、Java语言的特性
1.简单性:底层采用C++,Java语言中程序员不需要再操作复杂的指针,在Java语言中真正操作内存的是:JVM(Java虚拟机),所有的Java程序都是运行在Java虚拟机中的,而Java虚拟机执行过程中再去操作内存,对于C或者C++来说都是可以直接通过指针操作内存的,C或者C++更灵活,可以直接程序员操作内存,Java语言屏蔽了指针概念,程序员不能直接操作指针,或者说不能直接操作内存
优点:不容易导致内存泄漏(简单)
缺点:效率问题,包括驾驭感较差
Java语言底层是C++,所以JVM是用C++语言写好的一个虚拟的电脑
JVM在哪里?安装了JDK之后,JVM就代表安装好了
附:内存是什么:对于计算机来说,最主要的几个部件是什么?
CPU:中央处理器,相当于人类的大脑,负责发送并执行指令,是整个计算机的指挥官,负责运算
内存:程序运行过程中的临时数据存储空间,断电之后或者关机之后内存中的数据就消失了
eg:10+20=30
CPU负责将30这个结果计算出来
但是在计算过程中有三个数据需要临时找个空间存储一下,这三个数据分别是10、20、30 临时存储空间就是内存
硬盘:持久化设备,硬盘上的数据不会因断电而丢失
主板:相当于人类的躯干,是一个载体
CPU、内存条、硬盘等主要的部件都是放在主板上的
主板上有很多线,将以上的部件全部链接起来
2.面向对象:Java堪称完全面向对象
面向对象更容易让人理解,人类通常是以对象的方式认知世界的
采用面向对象的方式,可以让复杂问题简单化
3.健壮性:主要是因为Java中有一种机制:
自动垃圾回收机制(GC机制)JVM负责调度GC机制,程序员不需要干涉
Java语言是健壮的相对于C语言来说 Java不容易导致内存泄漏 C++或者C语言使用不当时很容易导致内存泄漏
4.Java完美支持多线程并发,一个线程相当于一个处理流程
5.可移植性//跨平台
Java语言只要编写一次,可以做到到处运行
例如:Java程序编写完之后,可以运行在windows操作系统上
不需要做任何改动可以直接运行在Linux操作系统上,同样也可以运行到MAC OS上
一次编写,到处运行(平台改变了