Java程序员的面试的时候难免会遇到一些基础的问题,但是不要轻视这些基础的东西,往往在这里可以体现一个程序员对这门编程语言的熟知程度了。
1、一个“.java”源文件中是否可以包括多个非内部类?如果可以的话,有什么限制?
可以。这些类最多只能有一个public的,并且如果有public的类,则源文件名必须跟该类的名字相同。
2、写一个简单的程序,打印输出”Hello World!”
Class HelloWorld{
Public static void main(String[] args){
System.out.println(“Hello World!”);
}
}
3、简述GC是什么,JAVA中为什么要用GC?
GC是垃圾收集的意思(Garbage
Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以
自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。
4、在JAVA语言中还有没有goto?
有.goto在java中作为保留字存在.关于goto的详细论述见” 关于goto语句.txt”文件。
5、请回答垃圾回收的优点和原理是什么,并简述2种回收机制?
垃圾回收可以提高程序员的编程效率,使程序员工作过程中能够不再需要考虑内存管理,而专注于程序的编写;有效的防止内存泄露,提高内存的使用效率。
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,我们不能实时的调用垃
圾回收器对特定对象或所有对象进行垃圾回收。但是我们可以调用对象的System.gc()方法,
主动通知虚拟机进行垃圾回收,显然并不保证GC一定会执行。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
6、描述一下JVM加载class文件的原理机制?
JVM加载class文件把class文件从硬盘读到内存的过程.通常,一个class文件只读一次.
7、垃圾回收器可以马上回收内存吗?用什么办法主动通知虚拟机进行垃圾回收?
System.gc()可以主动通知虚拟机进行垃圾回收但是但是Java语言规范并不保证GC一定会执行,就是因为垃圾回收器的线程优先级很低.
8、请列举一些常用的类,包,接口(至少各列举5个)?
1).包:
1>.java.lang包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包
2>.
java.util包:Java的实用工具类库Java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期
(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、
向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构.
3>. java.io包:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输入/输出流等等.
4>. java.lang.reflect包:提供用于反射对象的工具.
5>. java.util.zip包:实现文件压缩功能
2)类:
1>. java.lang.Object
2>. java.lang.String
3>. java.lang.System
4>. java.io.File
5>. java.io.FileInputStream
3).接口:
1> .java.util.List
2>. java.util.Map
3>.java.util.Iterator
4>.java.sql.CallableStatement
5>.java.lang.Comparable
还有更多编程语言教程知识可登陆e良师益友网。