1、jvm加载calss文件的原理
2、ArrayList、Vector、LinkedList的存储特性和性能
3、HashMap的数据结构和扩容机制以及并发实现类
4、GC原理是什么
5、springmvc的9大组件
handler、handlerMapping 、handlerAdapter、handlerExceptionResolver、ViewResolver、RequestToViewNameTranslator、LocalResolver、MultipartResolver、FlashMapManager
6、面试题集锦:http://youzhixueyuan.com/interview-questions/java-interview-questions/page/2
7、查找出一个月活跃的用户信息:
select * from user t where t.isalive=1 group by DATE_FORMAT(purchase_date,'%Y-%m-%d').;主要考察分组和日期函数date_formate
8、jvm的内存模型
9、session和cookie的区别
用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器关闭的过程称为是一次会话
cookie:将数据保存到客户端浏览器
session:将数据保存到服务器端
向浏览器保存数据:
response.addCookie(Cookie cookie)
获取浏览器带过来的数据:
request.getCookies();
创建cookie对象:
cookie(String name,String value);
Session的使用:
HttpSession session = request.getSession();
session.setAttribute("usrid", userid);
HttpSession session = request.getSession();
session.getAttribute("usrname");
cookie 和session 的区别:
1)、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2)、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3)、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4)、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
10、简单描述一下代理?
代理分为静态代理和动态代理;
静态代理:一个接口,接口实现类,实现接口且将接口实现类作为成员变量的代理类
动态代理:1)jdk动态代理,接口,接口实现类,实现InvocationHandler接口的代理类;获取需要代理的对象要用到Proxy反射的newProxyInstance方法
2)GCLIB动态代理,接口,实现类(不实现接口),实现MethodInterceptor接口的代理类;获取需要代理的对象用到Enhancer的create方法;
11、如何确定jvm中类的唯一?
考的是类加载,对于任何一个类,都需要加载它的类加载器和这个类本身也一同确定其在jvm中大的唯一性,每一个类加载器都拥有一个独立的类名称空间。
12、JDK和JRE的区别?
JDK开发java程序用的开发包,JDK里面有java的运行环境JRE,包括client和server端,需要配置环境变量
JRE java程序的运行环境,JRE只有client端,不需要配置环境变量,会自动添加