知识积累总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
知识积累总结

项目知识点总结 1、.classpath文件配置jar包和手动复制jar到lib文件夹下的区别 前者的方式是在IDE编译时会根据文件中jar包的位置找到jar包,而部署运行时不会打包到文件中, 所以即使在IDE中编译时没有错误,也不能部署运行成功; 后者的方式是手动添加jar包,jar包会依赖存在于这个项目中,编译或部署时都会找到对应jar包,优先选择这种方式 利用Maven构建项目会更利于项目的编译、打包、部署和管理 2、数据连接池在工程启动时会根据连接池的配置信息建立多个连接,并把它们放到一起集中管理,形象的比作一个池子, 使用连接池,将有池来管理相关的数据库连接,减少对数据库连接操作利用连接池可以对优化资源的分配、 提高系统的响应速度、方便数据库连接的管理, 常用的连接池有DBCP和C3P0: DBCP是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件 C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,基于JDBC3.0规范, DBCP有着比C3P0更高的效率,但是实际应用中,DBCP可能出现丢失 连接的可能,而C3P0稳定性较高。因此在实际应用中,C3P0使用较为广泛 3、DAO层编写一个基类BaseDaoT基类通过反射获取子类确定的泛型类,每个DAO类都对应操作一个PO对象, 所以其他DAO类可以继承这个基类DAO,不但可以复用共同点方法,还可以获得泛型的好处 4、Struts2和Spring MVC的比较这个项目采用的是Spring MVC3.0 + Spring3.0.5 + Hibernate3.0的架构,Spring MVC3.0对比Struts2最大的不同是一个Controller可以处理多种不同的请求,避免了Controller类的冗余,Struts2是类级别的拦截,Spring MVC是方法级别的拦截,所以性能上Spring MVC要优于Struts2,但是Struts2的核心是基于拦截器的,所以Struts2的拦截机制比Spring MVC要强大,具体对比下图所示: 所以一般在web层都会建立一个基类BaseController,将Controller类中的公共方法提取出来,其他Controller类都继承这个基类。5、Hibernate一级缓存和二级缓存 eclipse连接Database后建立JPA工程,反向生成Hibernate注解样式的持久化对象 一级缓存是Session实现的,天生拥有不可拆卸的,不是很重要,无须关注。 二级缓存是通过第三方缓存插件实现的缓存方式,默认情况下二级缓存是关闭的,合理的使用二级缓存可以有效的减少对数据的连接次数,提高系统的性能。常用的二级缓存插件有EHCache、JBossCache、MemCache, 其中EHCache和JBossCache是基于java实现的支持分布式集群的高效缓存组件,缓存可以存储在内存和硬盘上,而MemCache是基于C语言实现的高性能集中式缓存组件,缓存只能存储在内存上,集中式缓存与分布式缓存不同的是集中式缓存为每一个应用节点提供统一的缓存服务,因此每个应用节点不存在缓存同步的问题。 二级级存:进程级别或群集级别缓存:这里面存放的可以是关联的持久化对象,也可以是持久化对象的散装数据,它能被当前进程的所有事务访问。当里面存放的是关联的持久化对象,当不同的事务访问这些对象时,就会产生并发的几类问题,所在不提倡这种存放形式。当访问持久化对象的散装数据时,每个事务会根据这些散装对象重新组装持久化对象,所在不同的事务之间会获的不同的持久化对象,也就是说在组装完成后,对这些对象的访问不会存在并发问题,它的并发问题被移置到了获得散装数据的范围。在获取散装数据时,为了保证获取正确的数据,所以会存在并发问题为了解决二级缓存的并发问题,hibernate提供了4种访问策略:1.事务型(CacheConcurrencyStrategy.TRANSACTIONAL):仅在受管理的环境中适用。适用于经常被读,但很少被修改的数据,可以防止脏读和不可重复读。2.读写型(CacheConcurrencyStrategy.READ_WRITE):仅在非集群环境中适用。适用于经常被读,但很少被修改的数据,可以防止脏读。3.非严格读写(CacheConcurrencyStrategy.NONSTRICT_READ_WRITE):不保证缓存中的数据和数据库中的数据的一致性。必须为它设置过期时间,适用于极少被修改,偶尔允许脏读。4.只读型(CacheConcurrencyStrategy.READ_ONLY):适用于从不会被修改的数据。这四种策略中,事务型的隔离级别最高,只读型最低,在读写二级缓存只的

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档