打字猴:1.70048547e+09
1700485470
1700485471 public class ViewPathVisitor extends VisitorSupport{
1700485472
1700485473 //获得指定的路径
1700485474
1700485475 private String viewPath;
1700485476
1700485477 private String result;
1700485478
1700485479 //传递模型结果
1700485480
1700485481 public ViewPathVisitor(String_result){
1700485482
1700485483 result=_result;
1700485484
1700485485 }
1700485486
1700485487 @Override
1700485488
1700485489 public void visit(Element el){
1700485490
1700485491 Attribute att=el.attribute(“name”);
1700485492
1700485493 if(att!=null){
1700485494
1700485495 if(att.getName().equals(“name”)&& att.getText().equals(result)){
1700485496
1700485497 viewPath=el.getText();
1700485498
1700485499 }
1700485500
1700485501 }
1700485502
1700485503 }
1700485504
1700485505 public String getViewPath(){
1700485506
1700485507 return viewPath;
1700485508
1700485509 }
1700485510
1700485511 }
1700485512
1700485513 DOM4J提供了VisitorSupport抽象接口,可以接受元素、节点、属性等访问者。我们这里接受了一个元素访问者,对所有的元素过滤一遍,然后找到自己需要的元素,非常强大!
1700485514
1700485515 我们继续分析,在IoC容器中都会区分对象是单例模式还是多例模式。想想我们的框架,每个HTTP请求都会产生一个线程,如果我们的Action初始化的时候是单例模式会出现什么情况?当并发足够多的时候就会产生阻塞,性能会严重下降,在特殊情况下还会产生线程不安全,这时就需要考虑多例情况。那多例是如何处理呢?使用Clone技术,首先在系统启动时初始化所有的Action,然后每过来一个请求就拷贝一个Action,减少了初始化对象的性能消耗。典型的原型模式,但问题也同时产生了,并发较多时,就可能会产生内存溢出的情况,内存不够用了!于是享元模式就可以上场了,建立一个对象池以容纳足够多的对象。
1700485516
1700485517
1700485518
1700485519
[ 上一页 ]  [ :1.70048547e+09 ]  [ 下一页 ]