接触java一段时间了,鉴于之前都是抱着类似于《java从入门到精通》这样的适用于初级小白的书籍学习,好上手但是讲的不深入,加之本人十分的心大,一直只接触到皮毛,遂决定完整的学习下java系统知识,从安装起补充知识缺口。所以本身内容并不完整详细,只是记录自己不太熟悉的。
1.运行机制
java是个神奇的物种,是编译型语言也是解释型语言:
*.java javac命令的编译 *.class文件 Java命令执行 特定平台的机器码
java命令执行。class文件(平台无关的字节码)时用的工具是JVM(java虚拟机)。
java,javac等命令工具位于jre的bin目录下,各个目录的内容不赘述。
2.安装环境
JDK(java基本开发包)包括Java编译器,jre(java运行时环境,包括JVM),和java核心类库。
安装时配置的环境变量:
path:用于添加bin目录下的工具命令,命令行可以清晰的看到编译执行的工具命令。
ClassPath:运行时,系统搜索java类名的地方,早期版本必须配置,“.;”代表当前目录下。jdk1.5版本之后可以不进行配置。
3.垃圾回收机制
目标:回收无用对象的内存空间。其中无用对象是指标记的废弃的对象(避免内存泄漏)且无引用的对象(减少内存碎片)。内存空间指的是:JVM堆内存里的空间。
特点:不可预知,可以使用finalize()或者system.gc()来建议系统进行内存回收,但是无法准确控制垃圾回收的时间和频率。
当有时环境中装了多个jdk版本,可以采用以下方法在脚本中指定运行版本:
```
export JAVA_HOME=/software/servers/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
```