2010 Java面试笔试精华:内存GC、IO与安全机制详解

需积分: 10 13 下载量 93 浏览量 更新于2024-08-01 收藏 148KB DOC 举报
Java笔记-面试笔试-2010版深入探讨了Java 2SE的关键知识点,特别关注了内存管理、垃圾回收(GC)、输入输出(IO)、以及Collections框架等常在面试中出现的热点话题。这份资料由张昆整理,确保了内容的最新性和原创性,避免了网络上常见的复制粘贴内容。 关于Jar命令,它是Java的归档工具,用于创建、更新和验证JAR(Java ARchive)文件。`-c`选项用于创建新的JAR文件,`-f`指定JAR文件的名称,如`jarcftest.jar`。这个命令示例将当前目录下的`test`目录中的所有文件打包到指定的JAR文件中,体现了文件的打包和管理操作。 Java的JDK安全机制是其核心特性之一。编译后的`.class`文件首先由类装载器(ClassLoader)加载到Java虚拟机(JVM),这有助于区分本地文件系统和网络导入的类,从而增加了安全性。本地机上的类文件优先加载,确保了系统的可靠性和防病毒保护。接下来,字节码校验器会对加载的类进行严格检查,包括验证文件格式、防止堆溢出、数据类型转换的合法性,并处理程序错误。它不会检查来自可信任编译器的已校验代码,确保代码质量。 Java的体系中立性体现在编译器生成的字节码独立于特定的硬件平台,使得代码能在不同平台上运行。实例变量(也称为成员变量)和类变量是Java对象模型的基础。实例变量与对象关联,每个对象都有自己的实例变量,生存期随对象创建和销毁;而类变量则是共享的,用`static`关键字声明,生命周期与类相同,如在提供的例子中,类变量`x`在整个类的实例中是唯一且可被所有实例方法访问。 此外,Java的封装性允许普通方法访问类的所有成员和方法,而静态方法仅限于访问静态成员和静态方法。在提供的代码示例中,`valueORcite`类展示了实例方法`setValue`修改静态变量`x`,并在`main`方法中演示了静态变量在不同作用域下的行为。 总结来说,这份2010年的Java笔记不仅涵盖了基础语法,还深入讨论了内存管理、安全机制、文件操作和面向对象编程的细节,对于准备Java面试或深入了解Java编程的读者具有很高的实用价值。