我的一个客户不知道该选用Struts还是JSF。就像你预料的那样,我通常会问:这2中框架之间有什么区别?当然,除了我的这个客户外很多人都面临这样的选择。总的来说,我建议在新项目中优先考虑JSF。虽然常常有一些商业上的因素迫使我们为现有的项目选择了Struts,而且那些解决方案还有待考验,但是,让我们面对一个事实:JSF比Struts好多了。下面是我选择JSF而不选Struts的十大理由:1.Components(组件)2.RenderKits3.Rende
系统 2019-08-29 23:09:28 1888
组合模式(CompositePattern)有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。组合模式让你可以优化处理递归或分级数据结构。有许多关于分级数据结构的例子,使得组合模式非常有用武之地。关于分级数据结构的一个普遍性的例子是你每次使用电脑时所遇到的:文件系统。文件系统由目录和文件组成。每个目录都可以装内容。目录的内容可以是文件
系统 2019-08-29 23:06:17 1888
再次犯了没有仔细看HibernateReference的错误,在Hibernate3以上版本都支持对于property设置lazy="true",但一直我都以为只要设置了就可以实现的,今天和jindw讨论的时候才知道原来不是这样,^_^,赶快做了下试验,确实,即使对于property设置了lazy="true",但在调用获取了po中的任意非主键属性时其他所有的property也就被加载了,也就是说lazy没有生效,到底怎么回事呢,翻阅HibernateRe
系统 2019-08-29 22:55:12 1888
【转】一致性hash算法-consistenthashinghttp://blog.csdn.net/sparkliang/article/details/5279393目录(?)[+]一致性hash算法(consistenthashing)张亮consistenthashing算法早在1997年就在论文Consistenthashingandrandomtrees中被提出,目前在cache系统中应用越来越广泛;1基本场景比如你有N个cache服务器(后面
系统 2019-08-29 22:30:16 1888
项目地址:https://github.com/JakeWharton/Android-DirectionalViewPager这个别人已经试过了:Android之仿网易V3.5新特性http://blog.csdn.net/way_ping_li/article/details/9359191我只是重新测试了一下,感觉可以用。只是要注意,需要导入-v4.jar包,并且VerticalViewPagerCompat.java一定要放在android.sup
系统 2019-08-29 22:17:54 1888
字符串的常用方法总结:packagecn.com.huawei.opensource.common.lang;importjava.io.*;publicclassStringConverter{publicStringConverter(){}byte[]stringToFullByteArray(Strings){inti=s.length();byteabyte0[]=newbyte[i*2];for(intj=0;j
系统 2019-08-12 09:30:33 1888
前两天在工作过程中遇到一个已离职的同事在TFS锁定签出了部分文件,另外的同事想更改,又改不了。于是我用管理员帐户登录上去,找了很久,发现TFS没有可视化界面直接撤销别人签出的文件。之后在baidu,google一番,发现可以使用tfundo命令撤销他人签出的文件,可是试了挺久的,一直没有成功,只是提示失败,具体原因也没有说,开始怀疑是权限问题,后面发现权限的设置也没有错。应该不是权限问题。许久之后,请教以前的一位同事得知,可以装个TFS插件(TFSPowe
系统 2019-08-12 09:27:16 1888
镜像制作一般裁剪步骤1,linux系统安装CentOs/RHELDesktop桌面系统,分区划分但分区/挂载点.设置Selinux=disabled关闭iptables安装cloud-init【RHEL系统安装cloud-init需要配置下基于iso的本机yum源及epel源】设置grubbootlog,一般/etc/grub.cnfor/etc/grub/grub.cnfconsole=ttyS02,windows系统使用激活工具激活系统关闭系统自带的防
系统 2019-08-12 09:26:49 1888
BufferedInputStream自带8M缓冲区,我们自己又定义byte[]buf=newbyte[1024*1024];那bis.read(buf)就会去,8M缓冲区取数据,读到自己的1M缓冲区,直到碰到bos.write(buf,0,len)把1M缓冲区的数据放到另外一个输出流的8M缓冲区里,输出流满8M就往外写东西,BufferedInputStream的理解.
系统 2019-08-12 01:33:11 1888
在linux2.6内核中,使用cdev结构体描述字符设备,cdev的定义在中可找到,其定义如下:引用structcdev{structkobjectkobj;structmodule*owner;conststructfile_operations*ops;structlist_headlist;dev_tdev;unsignedintcount;};cdev结构体中的dev_t成员定义了设备号,为32位,其中高12位为主设备号
系统 2019-08-12 01:33:10 1888