JAVA面试题锦集

发布时间 : 星期六 文章JAVA面试题锦集更新完毕开始阅读

38,编程题: 用最有效率的方法算出2乘以8等於几? 有C背景的程序员特别喜欢问这种问题。 2 << 3

39,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 不对,有相同的hash code。

40,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。 41,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。 42,编程题: 写一个Singleton出来。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式:

第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton { private Singleton(){}

//在自己内部定义自己一个实例,是不是很奇怪? //注意这是private 只供内部调用

private static Singleton instance = new Singleton()。

//这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() { return instance。 } }

第二种形式: public class Singleton {

private static Singleton instance = null。

public static synchronized Singleton getInstance() {

//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 //使用时生成实例,提高了效率! if (instance==null)

instance=new Singleton()。 return instance。 } }

其他形式:

定义一个类,它的构造函数为private的,所有方法为static的。 一般认为第一种形式要更加安全些 Hashtable和HashMap

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许

还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains

方法容易让人引起误解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在 多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。 43.描述一下JVM加载class文件的原理机制? 44.试举例说明一个典型的垃圾回收算法?

45.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 46.请写一个java程序实现线程连接池功能?

47.给定一个C语言函数,要求实现在java类中进行调用。

48、编一段代码,实现在控制台输入一组数字后,排序后在控制台输出; 49、列出某文件夹下的所有文件; 50、调用系统命令实现删除文件的操作; 51、实现从文件中一次读出一个字符的操作; 52、列出一些控制流程的方法; 53、多线程有哪些状态?

54、编写了一个服务器端的程序实现在客户端输入字符然后在控制台上显示,直到输入\为止,让你写出客户端的程序;

55、作用域public,private,protected,以及不写时的区别 答:区别如下:

作用域 当前类 同一package 子孙类 其他package public √√√√ protected √√√× friendly √√×× private √××× 不写时默认为friendly

56、ArrayList和Vector的区别,HashMap和Hashtable的区别 答:就ArrayList与Vector主要从二方面来说.

一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半 就HashMap与HashTable主要从三方面来说。

一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 57、char型变量中能不能存贮一个中文汉字?为什么?

答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

58、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify 59、垃圾回收机制,如何优化程序? 希望大家补上,谢谢

60、float型float f=3.4是否正确?

答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4

61、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)? 答:Collection FrameWork如下:

Collection ├List │├LinkedList │├ArrayList │└Vector │└Stack └Set Map ├Hashtable ├HashMap └WeakHashMap

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) Map提供key到value的映射

62、Java中异常处理机制,事件机制? 11、JAVA中的多形与继承? 希望大家补上,谢谢 63、抽象类与接口?

答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)。

编程题:

1.现在输入n个数字,以逗号,分开; 然后可选择升或者降序排序; 按提交键就在另一页面显示 按什么 排序,结果为, , 提供reset 答

1

public

static

String[]

splitStringByComma(String

source){ if(source==null||source.trim().equals(\ return null。 StringTokenizer commaToker = new StringTokenizer(source,\。 String[] result = new String[commaToker.countTokens()]。 int i=0。 while(commaToker.hasMoreTokens()){ result[i] = commaToker.nextToken()。 i++。 } return result。 }

循环遍历String数组

Integer.parseInt(String s)变成int类型 组成int数组 Arrays.sort(int[] a), a数组升序

降序可以从尾部开始输出

2.金额转换,阿拉伯数字的金额转换成中国传统的形式如: (¥1011)->(一千零一拾一元整)输出。

3、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test。 public class FatherClass {

public FatherClass() {

System.out.println(\。 } } 子类: package test。

import test.FatherClass。

public class ChildClass extends FatherClass {

public ChildClass() {

System.out.println(\。 }

public static void main(String[] args) {

FatherClass fc = new FatherClass()。 ChildClass cc = new ChildClass()。 } }

输出结果:

C:>java test.ChildClass FatherClass Create FatherClass Create ChildClass Create 4、内部类的实现方式? 答:示例代码如下: package test。 public class OuterClass {

private class InterClass {

public InterClass() {

System.out.println(\。 } }

public OuterClass() {

InterClass ic = new InterClass()。 System.out.println(\。 }

public static void main(String[] args) {

OuterClass oc = new OuterClass()。 } } 输出结果:

C:>java test/OuterClass InterClass Create OuterClass Create

联系合同范文客服:xxxxx#qq.com(#替换为@)