阅读更多
1、主流框架要掌握如(ssh),没事可以了解下jsf,shale,seam,richface,jpa 框架。
2、对于各种缓存的分析利弊,能灵活运用 如memcache,Oscache,ehcache,内存数据库timesken,嵌入数据库b-db等。
3、向网络、通信方面发展,比如说写个类似于mina的框架,写写类似于游戏服务端的东西,自己可以写协议,支持高并发。
4、掌握几种主流数据库,oracle,sql,mysql等,可以书写复杂的存储过程,mysql之类的分布、集群掌握一下。
5、会用轻量级别的SOA框架,如serviceMix,Mule等,JMS消息队列需要掌握。
6、深入了解当前业务系统,争取做到这方面的专家。
7、spring的AOP,IOC机制,hibernate的反射机制。
---------------------------------------------------------------------------
对相关技术作简单说明:
(SSH)Struts、spring、 Hibernate在各层的作用:
1)struts 负责 web层
ActionFormBean 接收网页中表单提交的数据,然后通过Action 进行处理,再Forward到对应的网页。 在struts-config.xml中定义, ActionServlet会加载。
2)spring 负责业务层管理,即Service(或Manager).
1. service为action提供统计的调用接口,封装持久层的DAO,。
2.可以写一些自己的业务方法。
3.统一的javabean管理方法
4.声明式事务管理
5.集成Hiberante
3)Hiberante,负责持久化层,完成数据库的crud操作
hibernate 为持久层,提供 OR/Mapping。
它有一组 .hbm.xml文件和 POJO,是跟数据库中的表相对应的。然后定义DAO,这些是跟数据库打交道的类,它们会使用PO。
在struts+spring+hibernate的系统中,
对象的调用流程是:jsp-> Action-> Service ->DAO ->Hibernate。
数据的流向是 ActionFormBean接受用户的数据,Action 将数据从 ActionFromBean 中取出,封装成VO或PO, 再调用业务层的Bean类,完成各种业务处理后再forward。而业务层Bean收到这个PO对象之后,会调用DAO接口方法,进行持久化操作。
---------------------------------------------------------------------------
memcache
Memcache是什么
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解
为什么会有Memcache和memcached两种名称?
其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名,在网上看到了很多人不明白,于是混用了。
Memcache的安装
分为两个过程:memcache服务器端的安装和memcached客户端的安装。
所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储
所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错的api接口提供)去使用服务器端的Memcache提供的函数,需要php 添加扩展。
具体的配置大家可以参考:
Linux下的Memcache安装:http://www.ccvita.com/257.html
Windows下的Memcache安装:http://www.ccvita.com/258.html
Memcache基础教程:http://www.ccvita.com/259.html
Discuz!的Memcache缓存实现:http://www.ccvita.com/261.html
Memcache协议中文版:http://www.ccvita.com/306.html
Memcache分布式部署方案:http://www.ccvita.com/395.html
二级缓存
* EHCache 是一个快速的、轻量级的、易于使用的、进程内的缓存。它支持read-only和read/write缓存,内存和磁盘缓存。但是不支持集群 (Clustering)。
* OSCache 是另外一个开源的缓存方案。它同时还支持JSP页面或任意对象的缓存。OSCache功能强大、灵活,和EHCache一样支持read-only和 read/write缓存、支持内存和磁盘缓存。同时,它还提供通过JGroups或JMS进行集群的基本支持。
* SwarmCache 是一个简单的、基于JavaGroups提供集群的缓存方案。支持read-only和nonstrict read/write缓存。这种缓存适用于读操作远远高于写操作频率的应用。
* JBoss TreeCache 是一个强大的、可复制(同步或异步)和支持事务的缓存。如果你需要一个真正的支持事务的缓存架构,使用这个方案吧。
---------------------------------------------------------------------------
在一个大型项目中如果采用J2EE结构,有人觉得使用如下组合比较完美:
spring,ibatis,memched,hessian,maven,mysql,jboss
再按照规范的J2EE结构去开发,把业务逻辑层web层,数据层分清楚。那应该是一个很错的项目。