第一章 Java概述
1.JAVA分类
JAVA SE:基础核心(面向对象、API、JVM...)
JAVA ME:(游戏、通讯开发)
JAVA EE(JSP/Sevlet\EJB\服务开发、企业应用)
2.JAVA语言特点
①面向对象
②适合分布式计算:
java应用程序可以像访问本地文件系统一样通过URL访问远程对象
使用JAVA语言编写Socket通信程序比任何语言都简单
可以使用JAVA小应用程序(Applet)、java服务器页面(java Server Page、JSP)、Servlet等手段构建丰富的网页
③有良好的性能
java是解释型语言,执行效率相对慢一些,由于Java语言采用下面两种手段,使其拥有较好的性能
-》java语言源程序编写完成之后,先使用java伪编译器进行伪编译,将其转换为中间码(也称为字节码)再解释
-》提供一种“准实时”(Just-in-Time,JIT)编译器,当需要更快的速度时,可以使用JI编译器将字节码转换为机器码,然后将其缓冲下来,这样速度就会很快
④健壮
Java语言在伪编译时,做了许多早起潜在问题的检查,并且在运行时又做了一些相应的检查,可以说是一种最严格的编译器。
⑤具有多线程处理的能力
线程是一种轻量级进程,是现代程序设计中比不可少的一种特性。多线程处理能力使程序具有更好的交互性、实时性。
⑥JAVA是一种动态语言
可以简单、直观地查询运行时的信息
可以将新代码加入到一个正在运行的程序中
⑦JAVA语言是一种中性结构
java编译器生成的是一种中性的对象文件格式。java编译器通过伪编译后,将生成一个与任何计算机体系统无关的“中性”的字节码。
java的这种字节码经过精心设计,能够很好的兼容于当前大多数流行的计算机系统,在任何机器上都易于解释,易于动态翻译成为机器代码。
3.JAVA程序的运行机制和JAVA虚拟机
计算机高级语言类型主要有编译型和解释型两种,Java是两种类型的集合,JAVA处理代码的过程如下
JAVA程序的运行机制:
Hello.java文件---》编译-----》Hello.class文件---》解释为字节码 01101100...-->在计算机上动态翻译成为机器代码
Java中源文件名称的后缀为 .java,之后通过编译使 .java文件生成一个 .class文件,在计算机上执行 .class文件,此时执行.class文件的计算机并不是一个物理上的计算机,而是JAVA自己设计的计算机--》JVM
Java也是通过JVM进行可移植性操作的
在JAVA中所有的程序都是在 JVM(java Virtual Machine)上运行的。
JVM是在一台计算机上由软件或硬件模拟的计算机。java虚拟机(JVM)读取并处理经编译过的、与平台无关的字节码class文件,java解释器负责将java虚拟机的代码在特定的平台上运行。
JVM基本原理:
Source.java-------->编译-------->Source.class------》执行(JVM for Dos、JVM for Winx、JVM for UNIX)
所有的 .class文件都是在 JVM上运行的, .class文件只需要认识 JVM,由虚拟机再去适应各个操作系统。如果不同的操作系统安装上符合其类型的 JVM,那么程序无论在哪个操作系统上都是可以正确执行的。
4.JAVA开发环境搭建
java开发环境主要使用 JDK
JDK安装配置:
①准备好JDK安装文件
②配置环境变量Path
③安装完成后,bin文件夹是将来要使用的各种Java命令,但是这些命令本身不在Windows环境中,如果想要使用这些命令,现在Windows中注册这些命令
设置Path流程:我的电脑--》属性--.>系统属性--》高级--》环境变量
设置path时,可以直接设置Java的安装路径。如: ;D:\Java\jdk1.6.0_11\bin -----》设置完成后启动 cmd命令行中输入 javac,出现相关用法表示JDK安装成功
注意事项:
Path修改之后要重新启动命令行方式
在进行环境设置时可能会出现此命令不是系统内部命令的提示,造成这种问题的原因是在配置环境属性之前命令行方式已经启动,之后再配置的path路径,此环境是无法立即生效的,
此时需要重新启动命令行方式,可以把新的配置读取进来。
cmd中输入javac命令查看环境变量配置是否正确
javac.exe是 Java本身提供的编译命令,主要用来将 .java文件编译成 .class文件
5.java程序介绍
java程序分为两种类型
一种是Application程序:有main方法的程序
另外一种是Applet程序--》网页编程,已经不使用
6.classpath属性的作用
在Java中使用 set classpath命令指定Java类的执行路径
假设 Hello.calss 类位于 f:/test 目录下
在D盘命令行窗口执行下面指令:
set classpath=f:\test
然后在D盘根目录下执行java Hello 命令,虽然D盘没有Hello.calss文件,也可以执行。就是因为使用set classpath命令将类的查找路径指向了 f:\test 目录,所以在运行时会从f
f:\test 目录查找需要的类
classpath与JVM的关系:
classpath主要指的是类的运行路径,实际上在执行Java命令时,对于本地的操作系统来说就意味着启动了一个JVM
JVM在运行时需要通过 classpath 加载所需要的类
默认情况下classpath指向当前命令行窗口所在的目录,所以会从此目录下直接查找
classpath在编译时不起作用,classpath只在java运行时起作用
在java编译时,如果命令行所在的目录不是 .java所在的目录,应该输入完整的路径名称即“javac e:/Hello.java”
7.使用 public class 和 calss 声明类的区别
在JAVA中声明一个类的方式有两种,即 public class 类名称 、class 类名称
①使用 "public class 类名称“ 声明类时,类名称必须与文件名称一致,否则程序将无法编译
②使用“calss 类名称” 声明一个类时,类名称可以与文件名称不一致,但是在执行时一定要执行生成后的 .class
③在一个 Java文件中可以有多个 class 类的定义,但只能有一个 public calss定义
④定义类名称是开头首字母为大写
public static void main(String arg[])是程序的主方法,所有的程序都会以此方法作为起点并运行下来
8.常量和变量
变量:利用声明的方式将内存中的某个内存块保留下来以供程序使用。可以声明的数据类型为整型、字符型、浮点型或是其他数据类型,作为变量的保存之用。
变量可以用来存放数据,使用变量之前必须先声明它的数据类型
常量:就是一个固定的数值,是不可以改变的。
9.Java的常见误解
10.Java关键字
总结:
1.java实现可移植性靠的是JVM。JVM就是一台虚拟计算机,只要在不同的操作系统上植入不同版本的JVM,Java程序就可以在各个平台上移植,做到“一次编写,处处运行”。
2.Java中循序的执行步骤为:
①使用 javac 将一个 *.java 文件编译成 *.class 文件
②使用 java 可以执行一个 *.calss 文件
3.每次使用 java 命令执行一个 class 时,都会启动 JVM,JVM 通过 calsspath给出的路径加载所需要的类文件,可以通过 set calsspath 设置类的加载路径。
4.java程序主要分为两种,即Java Application 和 Java Applet 程序,Java Applet主要主要是在网页中嵌入的Java程序,基本上不载使用了。Application是指有 main 方法的程序。