1.JAVA包括三大块:
-JavaSE(java标准版)
-JavaEE(java企业版)
-JavaME(java微型版)
其中JavaSE是基础
2.java语言特性:【开源,免费,纯面向对象,跨平台】
a.简单性:相对而言的,例如java中不再支持多继承,c++是支持多继承的,多继承比较复杂
c++中有指针,java中屏蔽了指针的概念,所以相对来说java是简单的
java语言底层是c++实现的
b.面向对象:java是纯面向对象的,更符合人的思维模式,更容易理解
c.可移植性:什么是可移植性? java可以做到以此编译,到处运行。
也就是说java程序可以再windows操作系统上运行
不做任何修改,同样的java程序可以直接放在linux操作系统上运行,这个被称为java程序的可移植性,或者叫做跨平台。
windows操作系统内核和linux操作系统的内核肯定不同,他们这两个操作系统执行指令的方式也是不一样的
结论:显然java程序不能直接和操作系统打交道,因为java程序只有一份,操作系统执行原理都不同
解决:让java程序运行在一台虚拟的计算机当中,这个虚拟的计算机叫做java虚拟机,简称JVM。java虚拟机再和底层的操作系统打交道
在 jdk(java开发工具包)中
d.多线程
e.健壮性:和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制
java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心
f.安全性:开源,共同维护
3.java的加载与执行
java程序的运行包括两个非常重要的阶段:
-编译阶段
-运行阶段
*编译阶段:
- 编译阶段主要的任务是检查java源程序是否符合java语法
符合java语法则能够生成正常的字节码文件(xxx.class)
不符合java语法规则则无法生成字节码文件
- 字节码文件中不是纯粹的二进制,这种文件无法在操作系统中直接执行
- 编译阶段的过程:
*程序源需要在硬盘的某个位置<位置随意>新建一个.java扩展名的文件
该文件称为java源文件,源文件中编写的是java源代码/源程序.
而这个源程序是不能随意编写,必须符合java语法规则<java的语法规则是需要记忆的>
*java程序源需要使用jdk当中自带的javac.exe命令进行java程序的编译
javac.exe怎么用呢?在哪里呢?
- javac的使用规则:
javac java源文件的路径
- 在dos命令窗口中使用
javac是一个java编译器工具/命令
*一个java源文件可以编译生成多个.class文件
*字节码文件/class文件时最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响java程序的执行。
但是一般不要删除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头再重新修改java源程序,然后将java源程序重新编译生成新的clas文件,然后在运行这个class文
件,然后在运行这个class程序,生成新的效果
* 编译结束之后,可以将class文件拷贝到其他操作系统中运行【跨平台】
*运行阶段
-
jdk安装之后,出了一个自带的javac.exe之外,还有另一个工具/命令,叫做java.exe,java.exe命令主要负责运行阶段
-
java.exe怎么用?在哪里用?
-在dos窗口中使用
-java.exe怎么用呢
java 类名
例如:
硬盘上有一个A.class,那么就用 :java A
硬盘上有一个B.class,那么就用 :java B
硬盘上有一个C.class,那么就用 :java C
千万要注意:不要写成这样: java A.class 【这种方式是错误的】 -
运行阶段的过程是
*打开dos窗口
*输入:java A
*java.exe命令会启动java虚拟机(JVM),JVM会启动类加载器ClassLoader
*ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中
*JVM将A.class字节码文件解释成二进制1010101010这样的数据
*然后操作系统执行二进制和底层硬件平台进行交互
4.开始第一个java程序
*保证计算机中已经安装了文本编辑器EditPlus
*安装JDK【JDK一般需要从orcale的官网下载】,我们这里讲解的是jdk7
*JDK,JRE,JVM搞清楚: jdk(java开发工具包),jre(开发时环境),jvm(java虚拟机)
jvm < jre < jdk
*jdk目录的介绍:
JDK/bin:该目录下存放了很多命令,比如javac.exe和java.exe
javac.exe负责编译
java.exe负责运行
*开发HelloWorld.java源程序【注意大小写】
*将HelloWorld.java源程序通过javac工具进行编译
-
首先需要解决的问题是:javac命令是否可用
-
配置环境变量
*windows操作系统是如何搜索硬盘上某个命令
- 从当前目录搜索
- 当前目录搜索不到的话,会从环境变量path指定的路径当中搜索
- 如果搜索不到,会报错-
path环境变量和java语言没有关系,path环境变量是属于windows操作系统的一个知识点,path环境变量是专门给windows操作系统指路的
-
javac要想能随便使用,需要将javac所在的目录配置到环境变量path当中
-
-
javac命令怎么用
java java源文件路径
注意:路径包括绝对路径和相对路径,都可以
*运行java程序
- 需要使用java.exe命令
- 首先测试java命令是否可用
- 使用方式:
java 类名
硬盘上有HellodWorld.class,那么类名就是HelloWorld
java HelloWorld
一定要注意:java命令后面跟的不是文件路径,是一个类的名字
- 首先需要先将dos窗口中的目录切换到HelloWorld.class文件所在的目录
- 然后直接执行:java HelloWorld