java高级软件工程师面试题

liujun822 2011-08-05 03:37:19
1.选择题

public class Test
{

public static void main(String [] args)
{
static int num [] =new int[10];

System.out.println(num[10]);
}
}
下面说法正确的是:

A.程序编译失败。

B 程序编译成功,运行时抛出异常。


C 程序编译成功,运行时输出结果为0。

D 如果将System.out.println(num[10])修改为System.out.println(num[9])输出结果将为0。

2. interface Animal
{
public void test();
}

public class Hourse implements Animal
{
public void test()
{
...
}

public static void main(String [] args)
{
Animal a1= new Hourse();
Animal a2= new Hourse();
Animal a3= new Hourse();

a1=a2; a2=null ; a3=a1;

}
}
当程序执行到a1=a2;a2=null;a3=a1;这行时将有多少对象被垃圾回收器回收?

A 1 B 2 C 3 D 4 E 5 F 6


问答题

1.ibatis中处理缓存有几种方式。


2.java多线程中出现的异常分别有哪些?

3.xfire支持的协议包括哪些?

4.谈谈对SOA的理解。

5.oracle是这样排序的,为什么在排序中需要一个子查询?


...全文
8795 120 打赏 收藏 转发到动态 举报
写回复
用AI写文章
120 条回复
切换为时间正序
请发表友善的回复…
发表回复
魔鏡冰晶 2013-11-22
  • 打赏
  • 举报
回复
引用 33 楼 Daniel_wky 的回复:
第一题很明显是B吧?
应该是A,static不能修饰局部变量,编译不能通过的
魔鏡冰晶 2013-11-22
  • 打赏
  • 举报
回复
目测第一题A,原因是static不能修饰局部变量 第二题B
放纵的青春 2013-11-22
  • 打赏
  • 举报
回复
引用 38 楼 ms_net 的回复:
第一题,num最大是9,哪来的10 答案是A
小伙伴 虽然你的答案对了 但是你这理由却是错了·· 你这种情况最多运行时报个数组越界 但是用static修饰局部变量会编译不通过的 骚年
steely_chen 2013-11-22
  • 打赏
  • 举报
回复
第一题选a 第二题没正确答案可选,谁能保证java的垃圾回收机制马上进行回收,没有引用的对象第一次被检测到的时候只是标识为可以回收了,第二次检测的时候才会进行回收。当然这个并不是出题的人想要考的东西。按出题人的意思选B是可以的
ghw554557313 2013-11-22
  • 打赏
  • 举报
回复
这问答题问的太浮躁了..............
ylovep 2013-11-22
  • 打赏
  • 举报
回复
过来看看
wangzhidavl 2013-11-21
  • 打赏
  • 举报
回复
引用 60 楼 shine333 的回复:
[Quote=引用 59 楼 satuo20 的回复:] JAVA的垃圾回收有这样的效率,那就牛了 [/Quote] 如果真这样,那就不是牛,而是蜗牛了——整天不干别的,尽GC了。
赞同
gao2545917920 2013-11-18
  • 打赏
  • 举报
回复
1:static 不能修饰局部变量; 2:数组初始化的问题; 3:数组引用下标越界的问题,是报错还是报异常,有待确认。 4:分析内存果然是王道!
长笛党希望 2013-11-18
  • 打赏
  • 举报
回复
1.第一道选A,static int num [] =new int[10]; 编译就通不过。。。。
「已注销」 2013-11-18
  • 打赏
  • 举报
回复
引用 86 楼 xutao5641745 的回复:


                Animal a1 = new Hourse();
		
		Animal a2 = new Hourse();
		
		Animal a3 = new Hourse();
		
		a1=a2;
		a2=null;
		a3=a1;
		
		System.out.println(a1);
		System.out.println(a2);
		System.out.println(a3);

                打印结果是:

                Hourse@d9f9c3
                null
                Hourse@d9f9c3

貌似只有一个被回收了丫,,,,怎么都是选B?你们是怎么做到回收2个的?我只相信编译器。。。。
a1和a3都引用了一个啊!所以回收了2个
hanbing3017 2012-01-05
  • 打赏
  • 举报
回复
还真没有做过类似的题
阿诺 2012-01-05
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 magong 的回复:]
第二题,从main第一行看起
1 Animal a1= new Hourse();
2 Animal a2= new Hourse();
3 Animal a3= new Hourse();
4 a1=a2;
5 a2=null ;
6 a3=a1;

第1、2、3三行完成后,有3个对象obj1/obj2/obj3,分别由a1/a2/a3持有
第4行完成后,a1/a2共同引用……
[/Quote]
谢谢了 分析的真的好彻底哟 要是你来当老师 肯定教的好
胡小来 2012-01-04
  • 打赏
  • 举报
回复
诶~ 我学校考的比这个还简单,过了就给高级证~ 也就是做套卷子、上机搞俩小程序~ 顺便再交个¥100
gc也不是立马就回收的,得看实际情况了。
南老頭 2012-01-03
  • 打赏
  • 举报
回复
F:\>javac Test.java
Test.java:6: 非法的表达式开始
static int num [] =new int[10];
^
1 错误
xieshengjun2009 2012-01-03
  • 打赏
  • 举报
回复
什么玩意。。。。。蛋疼
jiangmeiwei 2012-01-03
  • 打赏
  • 举报
回复
第一题A第二天b
非谓宇 2012-01-03
  • 打赏
  • 举报
回复
horse
hourse..............
Loveandlove111 2011-12-30
  • 打赏
  • 举报
回复
其实第一题还是很有意义的 对于新手来说 这是个很好的题 首先 考察了static修饰局部变量的问题,然后考察了局部变量初始化的问题 这里当然没问题 为什么new出来的就不用初始化那? 然后有考察了数组越界问题 是报错 还是异常? 这都是新手要学习的。。。 当然 对于高手 可以无视。。。。
coooliang 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liuchuan12 的回复:]

我了个去,不会~!!
[/Quote]
+1
hbuzhangping 2011-12-30
  • 打赏
  • 举报
回复
真的很高级啊!1、a 2 ·b

给下正确答案吧
加载更多回复(100)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧