北京尚学堂科技 JAVA基础课程
JVM(JAVA VIRTUAL MACHINE)
JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。
JVM负责将java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JIT(just in time),可以一次解释完,再运行特定平台上的机器码,高级的JIT可以只能分析热点代码,并将这些代码转成本地机器码,并将结果缓存起来,下次直接从内存中调用,这样就大大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。
1. JVM是指在一台计算机上由软件或硬件模拟的计算机;它类似一个小巧而高效的CPU。 2. byte-code代码是与平台无关的是虚拟机的机器指令。 3. java字节代码运行的两种方式: 1)方式interpreter(解释)
2)Just-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行。
不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。
16
北京尚学堂科技 JAVA基础课程
Java运行时环境JRE(Java Runtime Environment)
Java Runtime Environment (JRE) 包含:
Java虚拟机、库函数、运行Java应用程序和Applet所必须文件 Java 2 SDK (Development Kit)包含:
JRE的超集,包含编译器和调试器等用于程序开发的文件
Java运行环境的三项主要功能:
? 加载代码:由class loader 完成;
? 校验代码:由bytecode verifier 完成; ? 执行代码:由 runtime interpreter完成。 JDK 和JRE:
sdk(也就是jdk)是jre的超集,是在jre的基础上增加了编译器及其他一些开发工具。 jre就是java运行时环境,包括了jvm和其它一些java核心api,任何一台电脑,只有安装了jre才可以运行java程序.
总结:
17
北京尚学堂科技 JAVA基础课程
1. 如果只是要运行JAVA程序,之需要JRE就可以。 JRE通常非常小,也包含了JVM. 2. 如果要开发JAVA程序,就需要安装JDK。
JAVA语言应用范围
1. 2. 3. 4. 5.
桌面应用编程 WEB客户端编程 WEB服务器编程 手机编程 机器人编程
第一个JAVA程序 JAVA开发环境搭建
1. 下载:Download J2SDK (Java 2 Software Development Kit) from http://java.sun.com 2. 安装:run the executable(跟普通软件安装一样,点击下一步就OK!) 3. 环境变量配置: 环境变量(就是为相关命令提供一个路径信息,告诉他到哪里去找相关文件信息): 设置: 新增系统环境变量JAVA_HOME,设置为JDK的安装路径: 修改系统环境变量Path,在最前面追加% JAVA_HOME %\\bin,并以;和原路径分隔。再增加:“.;”。这是表示当前目录的意思。
18
北京尚学堂科技 JAVA基础课程
注意:(%JAVA_HOME%\\bin) classpath问题:如果使用jdk1.5以上就不需要配置这个环境变量!JRE会自动搜索当前路径下的类文件及相关jar文件
4. 测试安装:
运行?cmd?输入命令:java –version: 出现如下结果,则通过测试。
5. 在文本编辑器中编写程序:
一个典型的JAVA程序的编写和运行过程
1. 编辑阶段:(程序员编辑代码并保存在磁盘上) public class Welcome{ public static void main(String[] args){ System.out.println(\ } }; 保存为:Welcome.java
2. 编译阶段。(编译器创建class字节码文件) 1. 进入java文件所在目录,执行命令:javac Welcome.java 2. 生成class文件 执行:”Java Welcome”后发生的事。就是3-5阶段。 3. 载入阶段
程序在执行前必须首先放入内存中。这个过程是有类装载器将一个或多个class文件内容传输到内存中。”Java Welcome”激活了java解释器(jvm),然后jvm调用类装载器载入welcome.class中的信息。 4. 代码校验
JVM调用代码校验器检验加载的代码是否合法并且不会破坏java的安全性约束。
由于JAVA代码在网络环境中传播,为了避免破坏用户的文件和系统,必须保证严格的
19
北京尚学堂科技 JAVA基础课程
安全约束。 5. 运行阶段
计算机在CPU的控制下逐字节的执行这个程序。
第一个程序常见错误
? 出现如下错误的原因:‘java’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
? 设置path
? 编译javac Test.java,明明看到该文件,为何找不到??HelloWorld.java.txt
? 显示扩展名! (详细列表 / 显示所有文件 / 标题栏地址栏全路径)
? NoSuchMethodError:main
? 解决方案:该行代码敲错,确定是否是:public static void main(String[] args)
第一个JAVA程序的总结和提升
? Java对大小写敏感,如果出现了大小写拼写错误,程序无法运行。
? 关键字public被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代
码的访问级别。
? 关键字class 表明Java 程序中的全部内容都包含在类中,Java是一种纯面向对象的语言。 ? 一个源文件中至多只能有一个public的类声明,其它类的个数不限,如果源文件中包含
一个public 类,源文件名必须和它中定义的public的类名相同,且以“java”为扩展名。
? 一个源文件可以有多个class ? 正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文
件,且将字节码文件自动命名为类的名字且以“class”为扩展名。 ? main方法是Java应用程序的入口方法,它有固定的书写格式:
? public static void main(String[] args) {?}
? 在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”
结束, 由于编译器忽略空格,所以花括号风格不受限制。
? Java中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多
行。
编程风格: 1. 注意缩进! 2. 成对编程!
常用Java开发工具
文本编辑器
? UltraEdit ? EditPlus
20