逐步深入的java学习笔记
### 逐步深入的Java学习笔记知识点总结 #### 一、Java环境配置 1. **JAVA_HOME**: 配置JDK的目录。这是Java环境的基本配置之一,用于指示系统JDK安装的位置。 - **Linux系统**: ```bash JAVA_HOME=/opt/jdk1.5.0_06 ``` - **Windows系统**: - 右键点击“我的电脑”,选择“属性”>“高级”>“环境变量”。 - 新建或编辑名为`JAVA_HOME`的系统变量,值设置为JDK安装目录。 2. **CLASSPATH**: 指定Java运行时需要用到的类库路径。 - **Linux系统**: ```bash CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar ``` - **Windows系统**: - 在环境变量中添加`CLASSPATH`变量,值为`.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar`。 3. **PATH**: 指定可执行程序的位置。 - **Linux系统**: ```bash PATH=$PATH:$JAVA_HOME/bin:. ``` - **Windows系统**: - 添加`%JAVA_HOME%\bin`到PATH环境变量中。 4. **环境变量的声明**: - 在Linux系统中使用`export JAVA_HOME CLASSPATH PATH`命令来声明这些环境变量为全局变量。 #### 二、Java的运行过程 - **编译**: 将Java源代码转换为字节码文件。 - **解释**: 运行Java字节码文件。 - Java采用“先编译后解释”的方式,这使得Java程序既具有跨平台性又具有较高的执行效率。 - **编译步骤**: - Java源代码文件(.java文件) → `Java编译器(javac)` → Java字节码文件(.class文件)。 - **解释步骤**: - Java字节码文件(.class文件) → `Java解释器(java)` → 执行Java字节码。 #### 三、Java垃圾回收机制 - **垃圾回收**: 由Java虚拟机(JVM)中的一个后台线程GC负责。 - 当虚拟机检测到内存不足时,会触发垃圾回收过程。 - 用户可以通过调用`java.lang.System.gc()`来建议进行垃圾回收,但系统可能会忽略这个请求,根据当前内存情况决定是否执行垃圾回收。 - **垃圾回收对象**: - 不再被任何引用所指向的对象被认为是垃圾,即不再被使用的对象。 #### 四、Java安全性 - **沙箱机制**: Java提供了沙箱模型来限制程序的行为。 - 加载有用的类文件,忽略不必要的类文件。 - 校验字节码,确保只执行允许的操作。 - 确保代码与虚拟机特性的兼容性。 - 检查代码是否存在破坏行为。 - 确认类型匹配性和正确的类型转换。 #### 五、Java源代码结构 - **包的使用**: - 包是用来组织Java源文件的一种方式,类似于文件夹。 - 声明包名称的语法为`package 包名;`,必须位于文件的第一行。 - 编译时使用`javac -d 目标目录 源文件`,可以自动创建所需的包结构。 - **类的定义**: - Java源文件中可以包含多个类,但只有一个公共类(public class)。 - 文件名必须与公共类名一致,并以`.java`为扩展名。 - 编译后每个类会生成一个`.class`文件。 - 主类必须包含`public static void main(String[] args)`方法,这是程序的入口点。 - **执行程序**: - 使用`java 包名.类名`命令执行编译后的Java程序。 - 如果类位于默认包中,则可以直接使用类名执行。 #### 六、Java注释 - **单行注释**: `//` - **多行注释**: `/*...*/` - **文档注释**: `/**...*/`,用于生成文档。 #### 七、标识符与关键字 - **标识符**: - 由字母、数字、下划线和美元符号组成,不能以数字开头。 - 大小写敏感。 - 不能使用Java关键字和保留字作为标识符。 - **关键字**: - 关键字都是小写的。 - JDK 1.2新增了`strictfp`,用于精确浮点运算。 - JDK 1.4新增了`assert`,用于断言编程。 - JDK 1.5新增了`enum`,用于枚举类型。 通过以上总结,我们可以看到Java的学习过程是一个逐步深入的过程,从环境配置到源代码编写,再到垃圾回收机制的理解,每一步都需要扎实的基础知识和实践经验。希望这份笔记能够帮助初学者更好地理解Java语言的核心概念和技术细节。
- clamjared2013-02-21不错不错,看着挺好
- 粉丝: 0
- 资源: 31
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助