17天深入Java:从基础到理解JVM与垃圾回收

需积分: 3 5 下载量 195 浏览量 更新于2024-07-30 收藏 212KB DOC 举报
"经典java教程——17天深入java" 这篇教程是专为初学者设计的,旨在17天内帮助他们深入理解Java编程语言。它涵盖了从基础到进阶的各种主题,适合那些想要快速掌握Java核心概念的人。 首先,Java是一种解释执行的语言,它的源代码在编译后会生成字节码文件(.class),然后由Java虚拟机(JVM)进行解释执行。Java通过引用机制对指针进行了封装,确保了安全的内存访问。在继承方面,Java遵循单一继承原则,即一个类只能有一个父类,这使得类的继承关系呈树状结构,有助于减少设计复杂性。 Java的开发效率相对较高,但由于其解释执行的特性,执行效率比C++低约45%。然而,Java具有内置的垃圾回收机制,自动管理内存,避免了程序员手动释放内存的麻烦。尽管我们可以使用`System.gc()`或`RunTime.gc()`建议JVM进行垃圾回收,但实际的回收时机由JVM决定,采用的是懒汉机制,只有在资源紧张时才会回收。 JDK是Java开发工具包,包含类库和运行命令;JRE是Java运行环境,用于运行Java应用程序;JVM则是Java虚拟机,它是解释执行的核心,负责将字节码转换为特定平台的机器码,实现跨平台兼容性,但JVM本身并不跨平台。环境变量如JAVA_HOME、CLASSPATH和PATH分别用于指示JDK安装位置、类文件查找路径和可执行文件路径。 在Java源文件中,public类的名称必须与文件名一致,且大写敏感。程序的入口点是main方法,其标准定义为`public static void main(String[] args)`。编译Java源文件使用`javac xxx.java`命令,运行则使用`java xxx`。包的定义应位于源代码顶部,如`package xxx.xxx`,编译带包的类时可以使用`javac -d 路径 xxx.java`来指定包的输出位置。运行时需使用类的全名,如`javax.xx.xxx.xxxx`,并在包结构的上一层目录执行。 Java支持三种类型的注释:单行注释(//)、多行注释(/*...*/)和文档注释(/**...*/)。文档注释通常用于生成API文档,`javadoc`命令可以自动生成HTML格式的文档。文档注释应置于类定义、接口定义或方法定义之前,以方便生成清晰的API文档。 这个17天的Java教程全面覆盖了语言基础、内存管理、包和类的组织、以及代码文档化等关键知识点,是初学者入门Java的宝贵资源。