【JAVASE基础面试题】

1、编写多线程程序有几种实现方式?

2、简述一下面向对象的”六原则一法则”。

3、描述一下JVM加载class文件的原理机制?

4、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

5、阐述final、finally、finalize的区别。

6、Java 中会存在内存泄漏吗,请简单描述。

7、GC是什么?为什么要有GC?

与垃圾回收相关的JVM参数:

-Xms / -Xmx — 堆的初始大小 / 堆的最大大小

-Xmn — 堆中年轻代的大小

-XX:-DisableExplicitGC — 让System.gc()不产生任何作用

-XX:+PrintGCDetails — 打印GC的细节

-XX:+PrintGCDateStamps — 打印GC操作的时间戳

-XX:NewSize / XX:MaxNewSize — 设置新生代大小/新生代最大大小

-XX:NewRatio — 可以设置老生代和新生代的比例

-XX:PrintTenuringDistribution — 设置每次新生代GC后输出幸存者乐园中对象年龄的分布

-XX:InitialTenuringThreshold / -XX:MaxTenuringThreshold:设置老年代阀值的初始值和最大值

-XX:TargetSurvivorRatio:设置幸存区的目标使用率

8、用Java写一个排序、查找

9、获得一个类的类对象有哪些方式?

10、接口和抽象类的区别是什么?

11、创建线程有几种不同的方式?你喜欢哪一种?为什么?

12、概括的解释下线程的几种可用状态。

13、阐述JDBC操作数据库的步骤。

加载驱动。

创建连接。

创建语句。

执行语句。

处理结果。

关闭资源。

14、在进行数据库编程时,连接池有什么作用?

15、Java中如何实现序列化,有什么意义?

16、Collection和Collections的区别?

17、List、Map、Set三个接口存取元素时,各有什么特点?

18、写出四种常用设计模式代码

19、JDK新特性知多少

(温馨提示:JDK从1.4发展到至今的1.9,每个版本增加新特性)

20.编程实现文件的上传到服务器端(使用ServerSocket或者ServerSocketChannel )

21、Java NIO 几个核心部分组成

22、编写一个文件遍历的方法,遍历某目录下面,后缀为mp3的文件

(提示:FileFilter ,目录下面可能含有目录)

温馨提示:附件带有压缩密码

原创不易,欢迎打赏,请认准正确地址,谨防假冒



 

 


猜你喜欢

转载自gaojingsong.iteye.com/blog/2386483