好久没学习Java了,来复习一遍java的第一章吧。
一、特征--跨平台原理
1.语言的分类
1)机器语言 优点:直接运行,速度快 缺点:不能跨平台
2)c、c++等编译型语言
使用特定的编译器针对特定的平台,将代码一次性的翻译成该平台所能识别的机器指令,并包装为该平台所能识别的文件,可以脱离开发环境运行
优点:高效 缺点:可移植性不强
3)perl,basic等解释型语言
使用专门的解释器,针对特定的平台,解释成该平台所能识别的机器码指令,解释一条执行一条
优点:可移植性好 缺点:代码外漏,低效
那么Java语言是编译解释型语言,java编译器把Java源码翻译为字节码指令,并存放在.class文件中,运行时使用特定的Java编译器,把字节码指令翻译成相应的机器码指令,边翻译边执行
java文件----->java编译器----->.class文件----->java解释器------>平台(os和硬件)
二、JRE
jre 意思就是java运行时的环境,包括java类库、jvm以及一些配置文件
就是安装目录中的jre文件,jdk文件则是软件开发者的工具包
三、JVM
jvm虚拟机是JRE中的核心部分,java程序运行时必须启动它包含了
1)cpu:JAVA编译器
2)栈内存:存放基本类型数据和引用
3)堆内存:存放对象(这里我的理解就是,好比在一个鱼塘,鱼塘看作堆,然后往塘里放鱼,鱼比作对象)
4)方法区:存放每个类的方法定义和方法体
5)垃圾回收器:回收堆内存中的垃圾对象
6)类加载器,用来加载.class文件,它分为三类
i)一次性加载JVM运行所必须的类
ii)加载API类
iii)加载自定义类
四、执行过程
1)加载字节码文件
2)检验字节码的合法性
3)分配和管理内存
4)翻译字节码指令
5)垃圾回收
五、环境变量
在OS中定义的,供应用程序访问的变量
查看:计算机-->属性-->高级系统设置-->环境变量
DOS窗口:set命令 + 变量名
情空环境变量:set命令 + 变量名 =
六、path环境变量:
定义OS查找或运行可执行文件的路径
在设置环境变量时如果对dos命令不太熟悉可以直接在计算机--属性--环境变量中直接设置
一般情况下直接设置一个path变量,路径(java-jdk-bin这个文件的位置,因为这个文件中有java.exe,javac.exe程序,我们要编译、运行java文件时要运行这些程序):(默认)C:\Program Files\Java\jdk1.6.0_13\bin
当然也可以设置一个classpath变量,通过这个变量中的路径,运行时可以找到.class文件,这里定义了JVM查找或并运行字节码文件的路径(.class)
在Dos下运行时(这里之前没太注意,然后用绝对路径编译时后也运行时出了点问题)
javac java文件路径名
java 类名
还有就是 .class文件和java文件分开存放在src,classes文件夹中
dos命令 javac -d 路径名:指定编译之后的.class文件存放的路径
差不多第一章的内容就是这些了,然后就是写一个伟大的程序,Hello World!。。