标题JAVA入门
java的简介
概述:
java是一门面向对象支持泛型可以跨平台的高级编程语言
起源:【增加大家谈资】
java起源于上世纪90年代初美国的一家SUN公司的致力于小型家电智能化研发的项目。
该项目由詹姆斯.高斯林的人负责的项目研发中产生的oak语言演化成为的java语言
所以詹姆斯.高斯林被公认为java之父。
发展:
上世纪90年代oak语言被詹姆斯.高斯林搞出来,收益和付出不成正比被搁置,到1995年随着互联网的兴起,SUN发现oak语言写的东西利于互联网数据的传输,互联网又是当时的风口项目,看到了巨大利益和市场,立马恢复oak语言的研发,转变了方向主攻互联网开发。1996年开始注册oak语言,注册时候发现oak被别人使用,无奈之下更名为java。为了java更好的被程序员使用,把OAK语言的相关技术进行了整合形成了技术开发包。开发包就是jdk,后期java的发展其实就是对jdk开发包的进一步迭代更新。java的发展就是jdk的发展。
jdk发展:
注意的版本:
jdk1.2版本:发布java的平台版本
jdk1.5版本:里程碑式的版本 增加泛型 自动拆装箱 枚举等主流的技术
jdk1.7和jdk1.8:目前市场主要使用的两个版本,8版本逐步取代7版本
教学过程使用jdk8版本
java的平台版本:
javaMe:最小版本 主要用于移动端的开发 比如:早期诺基亚手机坦克大战 贪吃蛇
javaSe:标准版本 包含了基本资源包 主要用pc端的开发 早期单机游戏
javaEE:企业版本 包含网络开发使用的资源 主要用WEB级开发 比如 京东商城
java的特点:
1、免费开源
2、面向对象【下周进一步学习】
3、跨平台
4、编译性
5、动态性
编译性和动态性
编程语言:
低级语言:书写的代码计算机可以直接识别运行的语言【运行效率和开发效率很低】
机器语言:全部使用0和1数字组成的数字指令来操作计算机
汇编语言:使用单词替代了数字指令对计算机进行操作的语言
高级语言:人使用人类的语言按照固定的语法格式进行编写程序,完事对代码进行编译等处理 给计算机识别的编程语言
java就是高级编程语言的一种,java编写好的源代码需要编译
java的编译性:
在java的源代码基础上额外的生成的一个字节码文件的过程。
源代码:人在自己书写的代码【人可以看懂 计算机看不懂 源代码是一个.java后缀名文件】 字节码文件:通过编译操作得到的一个.class文件【人看不懂 计算机看的懂】
java的动态性:
java代码在运行的过程中,可以对java代码中的某些资源进行操作的行为
java中动态性的体现技术:反射
跨平台性
概念:
跨:跨越,一般得到双方的认可
跨平台:跨越不同的平台得到了平台的认可
平台:一个实现一定价值的媒介 java的平台就是系统
同一个字节码文件可以在不同的操作系统上正常的运行的现象就是跨平台。
举例子: 问题:有一个.avi文件放在一个没有任何播放器的系统上可以播放吗?
答案:不能
问题:该系统就要播放该文件该怎么办?
答案:在该系统安装一个可以识别运行.avi文件的播放器
同样原理:.class文件和.avi文件都是需要识别运行的文件
系统想要运行.class文件和眼运行.avi文件的原理是一样需要一个可以识别该文件的软件
软件对应的就是一个jvm的软件【系统安装了对应jvm就可以了】
java跨平台的原理简图:
java实现跨平台的关键:系统安装对应版本的jvm jvm是jdk提供的。
JVM 、JRE 、JDK
JVM【java virtual machine】:是一个软件,软件在计算机中模拟的一台计算机
JRE【java runtime environment】:java运行环境 只用来运行字节码文件。
给客户使用的。
组成:jvm + 运行时候的资源包
JDK【java development kit】: java开发工具包 提供给了开发者使用的一些资源和程序
给开发者使用的
组成:jre + 开发工具包
关系:
jdk包含jre jre包含jvm
jdk和jre有没有版本之说?
有,因为他们都包含jvm,jvm是有版本的,jdk和jre的版本根据内部jvm版本决定的