1.HashMap和HashTable的区别,更快的map结构是什么,并且要求是线程安全
(1) HashMap不是线程安全的,需要手工编码处理,速度较快。HashTable是线程安全的,速度较慢
(2) HashMap允许key,value为null值,HashTable不允许
(3)HashMap继承AbstractMaps,HashTable继承自Dictionary,都实现了Map接口
(4)HashMap在存放键值时对key的hashCode做了额外的计算,HashTable直接使用key的hashCode
4. 项目中用到的框架struts1和struts2的区别,struts1的流程,struts2的流程,为什么要用,你觉得劣势在哪儿。。。
(1)strust1收集数据需要配置actionForm,struts2不需要,struts2使用属性驱动或者模型驱动
(2)strusts1的Action需要继承自struts2的Action类,struts2不需要
流程
struts1。。
struts2使用filter拦截请求
浏览器发出请求-> struts拦截分发 -> 处理完相应的业务逻辑 -> 跳转页面 ->返回浏览器
5. Hibernate的框架,流程,对项目的帮助,一级缓存,二级缓存,与ibatis的区别,iBATIS的架构。。。。。
hibernate不太了解,需要几个配置文件
(1) java类到数据表的映射文件 其中有表名,属性,类型等等对应
(2) 数据源的配置
对项目的帮助:可以自动处理事务?不用拼接SQL
ibatis是轻量级的,个人比较喜欢ibatis,灵活
ibatis的架构 parameterClass,resultMap,resultClass,
其他不清楚
6 JVM的gc,哪些回收策略,怎么判定是否该回收,不同的场景(高并发、低响应等)下如何选择策略
回收策略:不了解
怎么判断回收:
2种算法 程序计数器 如果一个对象没有任何引用指向它,则此对象可以被回收
。。。忘记了
设置 老年代 新生代 大小?
不了解,没有实践过
7 说说你做的项目,流程,角色,用了哪些设计工具,流程图,时序图。。。。。。。。
无聊的项目,维护,流程图,时序图很简单
8 设计模式,手写单例、简单工程、模板方法三个的案例代码,其他的简要说说,如策略、适配器。。。。。。
单粒 (1) 使用内部类
public class Singleton {
private class SingletonHoder {
static final Singleton instance = new Singleton();
}
public Singleton getInstance() {
return SingletonHoder.instance;
}
}
(2)使用双重检查,懒加载
public class Singleton {
private static Singleton instance;
public Singeton getInstance() {
if(instance == null)
synchronized(Singleton.class) {
if(instance == null)
instance = new Singleton();
}
return instance;
}
}
9 SPring原理,IOC\DI 面向切面 ,如何实现的,事务管理
IOC 控制翻转 DI 依赖注入
其实是一个概念,从2个不同的角度去看
以前是主动请求依赖的资源,现在是被动等待需要的资源注入进来
反射实现
面向切面 事务管理 使用动态代理,在需要进行事务管理的方法或类上生成动态代理类,加入事务处理
切面:可以理解为与业务逻辑无关的东西,比如日志,事务等,会散步在类的每个角落
10. 平时去哪些web2.0网站,让你设计微博,你觉得最会出现性能的地方在哪儿(其实就是问微博如何把一条消息最短时间通知几十万的粉丝),如何解决
renren.com ,性能:大数据量,用户多
观察者模式,服务器推送消息
11.平时去哪些技术网站,关注哪些牛人的文章,最近看的最深刻的一片技术文章是什么
www.iteye.com, www.csdn.com 很多都是牛人,