精通hibernate第2版,

研磨struts2,

think in uml第2版,

effective java 

深入JVM

Java程序性能优化——让你的Java程序更快、更稳定

struts2 in action


每天做的事:

   1)jquery  api每天看15-25分钟,两周以后基本上全部的记下来了,反复的看,着重选择器和ajax,ztree也看下实现机制和常用的方法

   2)jdk api 每天看15分钟,混个脸熟

   3)每天睡觉前想想今天自己学了看了什么?早上起来再回想下自己昨天看了什么

   4)最好将每天学习过程中自己理解的东西记录下来,形成自己的东西

   5)最主要的是把这些知识点用程序写出来

   6)做案例的时候想想为什么要这么做,它这样做的好处是什么?

一,java基础部分

   1)集合(1-2天)

   2)IO部分(1-2天)

   3)java.lang和java.util中的常用的api要常看

   4)java的多线程  面试较多

   5)理解面向对象的特征和一些案例,2-3天

   6)注解,反射

   7)对象的内存图,对象传递的内存图

   8)要了解一些常用的设计模式,通过案例来理解

   9)常见的异常

二,javaWeb部分

   servlet部分(工作原理和机制,如何在tomcat启动的时候就初始化,默认情况下是在什么时候初始化,属于那种设计模式,有什么优缺点)

     1)4大作用域 PageCOntext,Request,Session,ServletContext







   jsp部分  

      1)理解9大内置对象,着重session,cookie,application,page.取值的顺序




三,数据库和jdbc部分

   数据库部分:

      1)常用的增删改查







   jdbc部分

      1)属性文件的加载和解析问题





四,xml部分

     1)xml基本知识的了解





五,struts,首先了解,它能做什么,然后再去学习

   1)struts2的基本配置,在web.xml的配置,action的访问地址是怎么拼成的

     package  配置name和namespace的区别,extends配置的选项体现在哪里?




   核心:

    2)启动流程,什么时候执行?配置文件的加载顺序,为什么后面加载的配置会覆盖前面的相同的配置,这些体现在源码哪里?(struts-default.xml,struts-plugin.xml , struts.xml , struts.properties)

    3)执行流程,什么时候执行?什么时候才能触发?拦截器是如何工作的?,作用在哪里?如何自定义拦截器,如何按按需求实现组装自己的拦截器栈

   4)struts中常用的常量,这些常量都是可以在哪里配置?配置以后的作用范围又是什么?

   5)struts2中的类型转换?如何实现?怎样全局和局部?

   6)struts中的文件上传和下载

   7)struts中的校验机制,如何全局和局部

   8)ognl的理解和valuStack的理解,哪些数据存在哪些部分

   9)struts2服务器标签和ui标签的使用,如何脱离这些标签?回显数据

   10)模型驱动和属性驱动的实现原理,为什么它就能将前台的值封装放入到模型驱动和属性驱动?(结合ognl理解)

   11)对actionProxy的理解,这个代理对象和spring中的代理对象有什么区别?可以和自定义拦截器一起学习

   12)struts的插件时如何实现的?(具体从启动流程中的,struts-plugin.xml去分析,每个插件中都有个struts-plugin.xml文件)

   13)struts2的注解使用,这个一定要写些案例

六,hibernate  首先了解它能做什么

   1)orm的理解

   2)基本配置,xml和注解的配置,连接配置属性和映射配置

   3)hibernate的主键生成机制,了解就行

   4)hibernate是以什么来区分对象的?

   5)hibernate的事务配置和理解

   6)hibernate的一级缓存和快照,flush()commit()clear()refresh()(重点)

   7)hibernate的三个状态个状态的情况,以及各状态之间的转换

   8)延迟加载和正常加载的区别,load和get,抓取策略,什么时候产生sql语句?

   9)hibernate的一对多和多对多的关系,和这些关系下的操作

   10)关联关系,inverse和cascad的区别

   11)createQuery和createSqlQuery这两个的对象查询的一些常用的操作

   12) hibernate的二级缓存

   13)sessionFactory().getCurrentSession();从本地线程中取session,要理解原理

   14)hibernate中注解的使用

七,spring  首先了解它能做什么,能提供什么

   1)基本配置,xml和注解的配置

   2)spring的启动原理和过程

       把哪些东西放入到了容器中IOC,怎样DI,xml和注解的方式

   3)4个类级别(IOC纳入容器)的注解:@Component,@Repository,@Service,@Controller

     3个DI的注解和区别(@Resource,@Autowired,@Qualifier)

   4)spring的aop的理解

      切面,通知,切入点,aop代理,织入,连接点,这些都想下具体场景(着重,切入点和切面的配置)


   5)spring的声明式事务

   6)jdk动态代理和cglib动态代理 ,理解原理,两种代理的优缺点

   7)spring与jdbc的结合,jdbc中常用的操作方法,特别是getJdbcTmplate()下的一些方法

   8)不同技术的事务管理器的配置,jdbc的DataSourceTransactionManager事务管理器, hibernate的HibernateTransactionManager的事务管理器

   9)spring与hibernate结合时要用到的类,常用HibernateTmplate()

     spring 结合不同的dao技术的时候使用的类

      JdbcDaoSupport  JdbcTemplate  

      HibernateDaoSupport HibernateTemplate  之间的依赖关系  



   10) ssh结合至少需要几个配置文件,每个配置文件的作用,很多东西都是使用注解的

   11) 解决懒加载的解决方案,一共有3种方法

   12) 对ContextLoaderListener和IntrospectorCleanupListener的理解()

       IntrospectorCleanupListener:是Spring提供的一个用来防止内存泄漏的监听器。在我们使用struts2框架,或其它的某些类库时,因为它们自身的设计,会用到Introspector(内省)机制来获取Bean对象的信息。但不幸的是,这些框架或类库在分析完一个类之后却没有将它从内存中清除掉,内存中还保留有大量的静态资源,而这些东西又无法进行垃圾回收,因此产生了很严重的内存泄漏问题。直接表现为服务器的内存使用会随着时间而不断上升,最后的结果当然就是服务器当掉。所以在这里加入此监听器,能够帮助我们更好的处理内存资源回收的问题。

八,jfreechart 和poi的应用,beanutils的应用