(转)阿里巴巴Java面试题

题目是转来,答案是自己答得!网站是网上搜的!

一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?
String在Java中是final的类,所以不可变;StringBuffer是同步的,StringBuilder是不同步的。后2者可以通过append改变引用指向的 对象。而String则做不到,String只能通过在内存中添加新的对象,将引用指向该新对象。


二、VECTOR,ARRAYLIST, LINKEDLIST的区别是什么?
Vector是同步的,而后2者是非同步的。因此Vector的性能很差,而ArrayList类似于数组,获得索引快,插入数据效率低; LinkedList是双向链表,按序号索引数据需要进行向前或向后遍历 插入比较快。

三、HASHTABLE, HASGMAP,TreeMap区别
Hashtable是同步的,而HashMap是不同步的。TreeMap必须实现排序的规则。(以下为搜索答案)
Hashmap 是一个 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多     只允许一条记录的键为Null;允许多条记录的值为Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能     会导致数据的不一致。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力.

    Hashtable 与 HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,     因此也导致了Hashtale在写入时会比较慢。
    LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的.在遍历的时候会比         HashMap慢。
    TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录     是排过序的。

四、ConcurrentMap和HashMap的区别

五、Tomcat,apache,jboss的区别

六、GET POST区别
Get方式发送的请求,请求的内容会附带显示在浏览器地址栏,长度受浏览器限制;Post方式发送的请求,内容没有长度限制,对于 密码之类的表单信息最好用post来发送。同时点击超链接,在地址栏直接发送请求的方式,以及表单的默认提交方式为Get,Post需 要显式指名表单提交的method为post。


七、SESSION, COOKIE区别
Session为服务器端的技术,而Cookie是客户端通过浏览器来保存少量的用户信息。Session的能在多次请求/响应中有效,但是一旦 关闭浏览器,Session将失效,而Cookie则会根据setMaxAge函数来控制有效时间,0则立即删除该Cookie,<0保存在内存中,>0则 保存在磁盘文件上。


八、Servlet的生命周期
init -> service -> destroy
init和destroy只会执行一次,而service会根据请求多次调用

九、HTTP 报文包含内容
Content-type, ip地址,端口,主机信息,请求类型,请求内容等。

十、Statement与PreparedStatement的区别,什么是SQL注入,如何防止SQL注入
PreparedStatement可以利用setter方法来防止sql注入,而Statement也不行。

十一、redirect, foward区别
redirect为重定向,重定向的地址可以任意,可以是服务器内部的页面,也可以是任意的网站,请求的地址会显示在浏览器地址栏。 而forward是转发的意思,即一次任务还没有处理完毕,将任务转发给另一web组建继续完成任务,forward会共享 request/response,而请求的地址不会显示在地址栏。

十二、关于JAVA内存模型,一个对象(两个属性,四个方法)实例化100次,现在内存中的存储状态,几个对象,几个属性,几个方法。


十三、谈谈Hibernate的理解,一级和二级缓存的作用,在项目中Hibernate都是怎么使用缓存的
十四、反射讲一讲,主要是概念,都在哪需要反射机制,反射的性能,如何优化
十五、谈谈Hibernate与Ibatis的区别,哪个性能会更高一些
十六、对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理
十七、线程同步,并发操作怎么控制
十八、描述struts的工作流程。
十九、Tomcat的session处理,如果让你实现一个tomcatserver,如何实现session机制
二十、关于Cache(Ehcache,Memcached)
二一、sql的优化相关问题
二二、oracle中 rownum与rowid的理解,一千条记录我查200到300的记录怎么查?
二三、如何分析ORACLE的执行计划?
二四、 DB中索引原理,种类,使用索引的好处和问题是什么?
二五、JVM垃圾回收实现原理。垃圾回收的线程优先级。
二六、jvm 最大内存设置。设置的原理。结合垃圾回收讲讲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值