`
冰糖葫芦
  • 浏览: 297829 次
社区版块
存档分类
最新评论
文章列表
什么是解释器模式? 解 释器模式允许将语义解释到代码解决方案中。下面让我们来了解具体含义?语法是映射到类中来应用到解决方案中,例如7-2可以映射到‘clsMinus’ 类。在第一行解释器模式给我们提供了一种如何编写解释器的方案,该方案中解释器可以读取并在代码中执行该语法。例如以下例子中我们给出了一个日期格式化语 法,其中解释器给出了转换的代码解决方案并输出期望结果。 图1:日期语法 让我们来写一个如图“日期语法”中所示的日期格式化解释器。在开始之前我们需要理解解释器模式中不同组件,之后我们将映射相同的语法。Context包含数据,逻辑部分包含将context转换为可读格式的逻辑。 ...
什么是设计模式?您能说出工厂模式、抽象工厂模式、创建者模式、原型模式、原型模式的潜复制及深复制、单例模式、命令模式的原理吗? 简介 这是一个小巧的设计模式常见问题问答。在本节我们将一起探讨工厂模式、抽象工厂模式、创建者模式、原型模式、原型模式的浅复制及深复制、单例模式、命令模式的原理。 在下面的链接中您可以阅读设计模式常见问题问答的后续部分 :- 设计模式 FAQ’s 2 --- 解释器模式、迭代器模式、调停者模式、备忘录模式、观察者模式(http://www.codeproject.com/KB/aspnet/SoftArch2.aspx) 设计模式 FAQ’
java平台一直对并发程序设计和多线程有这很好的支持。但在早期这种支持也只是在应用层调用原生结构,这种方式最大的缺陷就是使这些原始构件有效的被调用;否则,应用将不能正确运行或者不能达到期望结果。 Executor框 架自java1.5中被作为comcurrency包的一部分被引入。它是java多线程的一个抽象层实现,并且作为java中首个实用的并发框架被用来 标准调用、在并行线程中调度、执行以及控制异步任务。执行规则在创建构造器的时候就已经被定义,之后executor按照之前设置好的规则来调用并发线 程。 在java中Executor的实现使用线程池,该线程池由workder线程组成。由 ...
面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) 、 Decorator
8、标准覆盖机制 J2SE 1.4 and 1.5 都包含了一个XML处理解析器的Java API 。Bootstrap 类加载器加载这个解析器的类文件,所以这个解析器会优先于任何一个安装在CLASSPATH里的解析器 被加载,即使您已经安装了新版本的解析器。标准覆盖机制允许您重写JAVA_HOME/lib/endorsed文件夹里某些特定的类(例如CORBA 和 JAXP 类)。Bootstrap 类加载器将会优先加载这些类。想详细了解此机制,请访问http://java.sun.com/j2se/1.5.0/docs/guide/standards/ 。  
嵌套组件 这些组件是针对Tocmat做的特定实现,他们的主要目的是使各种Tomcat容器可以完成各自的工作。 1、阀(Valve) valve是处理元素,它可以被包含在每个Tomcat容器的处理路径中--如engine、host、context以及servelt包装器。若要增加Valve到Tomcat容器则需要在server.xml中使用<Valve>标签。在server.xml中这些标签的执行顺序与其物理顺序相同。 而在Tomcat中也分布这大量预先编译好的valve。包括: •在请求日志元素中将请求(如远程客户端ip地址)写入日志文件或数据库时 •根据远程客户端 ...
除夕更阑人不睡,厌禳钝滞迎新岁。 很高兴程序员学架构能够陪大家走过几个月,能为大家技术生涯提供哪怕稍微一点帮助,我们也感到万分欣慰!   祝大家在羊年芝麻开花节节高!   温馨提示:我们在春节期间还会为大家更新文章,欢迎关注!!!   参加方式: 关注公众号:程序员学架构(微信:archleaner) 公众号二维码:   好废话不多说,大年三十晚20:30分: 回复“红包”两个字参与活动
5、容器组件 这一小节中我们将讨论请求处理组件:引擎(engine)、虚拟主机、上下文(context)组件。 5.1、引擎(engine) 引擎表示可运行的Catalina的servlet引擎实例并且包含了servlet容器的核心功能。在一个服务中只能有一个引擎。同时,作为一个真正的容器,Engine元素之下可以包含一个或多个虚拟主机。 作为请求处理的主要组件,它接收代表传入请求的对象以及输出相应结果。它主要功能是将传入请求委托给适当的虚拟主机处理。如果根据名称没有找到可处理的虚拟主机,那么将根据默认的Host来判断该由哪个虚拟主机处理。 5.2、虚拟主机 虚拟 ...
在实践过程中,从WebSphere中实现一个EJB的容器以及从WebLogic中实现一个JMS几乎都是不可能的,然而来自Apache基金会的servlet容器Tomcat至少在理论上是可能做到的。 请注意,这里所说的“接口”也包含抽象类。规范的API可能会提供一个实现的模板,其中包括定义了一些抽象的基本类型的操作来供服务提供者去实现。 而服务提供者应提供这些接口和抽象类的具体实现。例如,在Tomcat中HttpSession接口被以org.apache.catalina.session.StandardSession的形式实现。 下面让我们来看看Tomcat容器的整体结构:
在做Java开发时了解Java类加载机制是非常好的。而对类加载机制的基本理解对Java开发人员处理类加载器(ClassLoader)相关的异常也很有帮助。   类加载器委托机制 Java类的装载是通过类加载器(CL)来完成的,这些类加载器负责将类 ...
Java类加载器是用来在运行时加载类(*.class文件)。Java类加载器基于三个原则:委托、可见性、唯一性。委托原则把加载类的请求转发给父 类加载器,而且仅加载类当父 类加载器无法找到或者不能加载类时。可见性原则允许子类加载器查看由父类加载器加载的所有的类,但是父类加载器不能查看由子类加载器加载的类。唯一性原则 只允许加载一次类文件,这基本上是通过委托原则来实现的并确保子类加载器不重新加载由父类加载器加载过的类。正确的理解类加载器原理必须解决像 NoClassDefFoundError in Java、 java.lang.ClassNotFoundException(这些现象和加载类有 ...
通常您会开发一个测试数据库。它可能只供 10 人访问,所以你的编程和测试工作可以流畅地进行。一旦完成开发和 QA’d (通过质量检验),它将会正式上线(发布), 人们开始访问该网站。过了一年左右,该网站的响应速度越来越慢。在添加更多的数据库服务器没有起到作用后,您的系统管理员在my.cnf’s度过了他的” 假期”, 甚至为系统新增了许多内存容量也无济于事。听起来像是在大批量访问网站的情况下程序(代码)结构制约了访问效果。系统对40000人的用户列表信息不能完 成排序或处理,或者数组的元素超过了100万项,甚至简单的校验函数减缓了访问速度。为什么?到底发生了什么? 大多数PHP 开发人员 ...
Memcache在 web社区中是一个非常著名的系统,而且有一个好的原因:它速度快、稳定、轻量级,而且如果你在网站服务器安装了memcache后它似乎会自动将网站访 问速度提升10倍。虽然这似乎有点不可思议,但是:定制一个好的缓存 ...
REDIS是一个开源的、先进的键值存储系统。它通常可以被用作数据结构服务器,因为它的键可以包含字符串(string)、哈希值(hash)、列表(list)、集合(set)以及有序集合(sortedset)。而且Redis使用的是内存数据集合。根据 ...
介绍 在本教程中,我们将教你如何使用HAProxy为你的WordPress服务器搭建第四层负载均衡--特别是web应用层。负载均衡web服务器要在设置中增加冗余,这会在碰到服务器失败、网络问题时增加服务的可靠性;同时将负载分摊在多个服务器上可以提交读操作的性能。我们假设你所配置中包括一个WordPress应用服务器去连接一台单独的MYSQL数据库服务器(假设你已经知道如何架设)。 如果你只是运行了一个单独的web服务器应用程序,那么第四层负载均衡就比较适用。如果你的环境更复杂(例如你想通过一个单一的入口在不同的服务器上运行WordPress和一个静态web服务器),那么就可能就需要关注应 ...
Global site tag (gtag.js) - Google Analytics