Java 基础学习常见问题
java语言的特点是什么?
- 面向对象性:
两个基本概念:类、对象;
三大特性:封装、继承、多态
- 健壮性:
吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
- 跨平台性:
通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
一个 .java
源文件中是否可以包括多个类(不是内部类)?有什么限制?
一个 .java
源文件中可以包含多个类(非内部类)。
但最多只有一个类名声明为 public
,且要与文件名相同。
Java 的
class
名字 不是 必须和其文件名相同。
但public class
的名字 必须 和文件名相同。
例如
Something
类的文件名叫 OtherThing.java
class Something {
public static void main(String[] something_to_do) {
System.out.println("Do something ...");
}
}
设置 path
的目的是什么?
在控制台的任何文件路径下,都可以调用 jdk
指定目录下的所有指令。
JDK,JRE和JVM的关系是什么?
JDK(Java Development Kit Java开发工具包)包含 JRE(Java Runtime Environment Java运行环境),JRE包含 JVM(JVM Java Virtual Machine),如下图所示
JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独安装 JRE 了。
- 其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等包括 Java 虚拟机和 Java 程序所需的核心类库等,
如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可
GC是什么? 为什么要有GC?
GC 是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操作方法。
垃圾回收器的基本原理?
对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象(可达性分析)。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。
当 GC 确定一些对象为"不可达"时,GC 就有责任回收这些内存空间。程序员可以手动执行 System.gc()
,通知 GC 运行,但是 Java 语言规范并不保证 GC 一定会执行。
- 点赞
- 收藏
- 关注作者
评论(0)