1、java语言的特点是什么?
1.面向对象性:
两个基本概念:类、对象
三大特性:封装、继承、多态
2.健壮性:
java语言吸收了C语言和C++的优点,去掉了其影响程序健壮性的部分(指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
3.跨平台性:
通过java语言编写的应用程序在不同的系统平台上都可以运行。可以真正做到“一次编译,四处运行”(JVM的存在)
2、System.out.println()和System.out.print()什么区别呢?
System.out.println():打印完括号内语句后会自动换行
System.out.print():打印完括号内语句后不会自动换行
3.一个Java源文件中是否可以包含多个类(内部类除外)?
可以!但是在一个java源文件中只能有一个类声明为public并且此类类名与文件名相同。
一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同。
原因:每一个编译单元都有单一的公共接口,用public类来表现。该接口可以按照要求包含众多的支持访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出错误信息。当一个编译单元有多个非public类时,运行时需要对数据来源进行选择。
4.为什么要设置path?
为了在控制台的任何文件路径下,都可以调用jdk指定目录下的所有文件
JDK、JRE、JVM的关系是什么?
jdk:提供给java开发人员使用的,其中包含了java的开发工具,也包含了jre。
开发工具包含:编译工具和打包工具
jre:包含java虚拟机(jvm)和java程序所需的核心类库等
jvm:一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、存储器。不同平台有不同的虚拟机,只有这个平台有了对应的java虚拟机,java程序才可以在这个平台运行。实现所谓的“一次编译,到处运行”
5、为什么要有垃圾回收器?垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
- 垃圾收集(garbage collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的回收会导致程序或系统的不稳定甚至崩溃,java提供的垃圾回收功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,java语言没有提供释放已分配内存的显示操作方法。
- 当程序员创建对象时,垃圾回收机制就开始监控这个对象的地址、大小以及使用情况。通常,垃圾回收机制采用的是有向图的方式记录和管理堆中的所有对象。通过这种方式确定那些对象时“可达的”,哪些对象时“不可达的”。当垃圾回收机制确定一些对象为“不可达”时,就回收这些内存空间。
- 可以
- 程序员通过执行System.gc(),通知垃圾回收机制运行。