标签:需要 灵活 运用 实体 sso 企业 资源 命令 编程
它使得客户对单个对象和复合对象的使用具有一致性。
中介者使各对象不须要显式的内部表示。
这样以后就可将该对象恢复到保存的状态。
本模式使得算法的变化可独立使用他的客户。
模板方法模式结合实例说的话,在提交订单的抽象类。将提交订单固定的方法实现比如,检查购物车,支付方式,检查用户地址,生成发票等方法。
因为会依据订单类型不同(比如web端订单。ios端订单,andorid端订单等)而详细实现不同所以详细的提交订单用抽象方法定义让详细子类来实现提交订单方法。
工厂模式在做电商系统时因为依据订单类型创建的订单实例不同。
所以运用了工厂模式,通过订单类型获取相应订单实例。
策略模式之前做电商系统时候有规则引擎。通过不同的算法规则来运行不同的策略。
观察者模式定义对象间一对多的依赖关系,当一个对象的状态发生改变时。全部依赖于它的对象都得到通知自己主动更新
被观察者拥有全部的观察者实例。当被观察者状态变更时循环全部观察者来通知变更。
经常使用语事件监听中。
适配器模式是把一个类的接口变成client所期待的还有一种接口。分为类适配器和对象适配器。
类适配器实现通过继承部分实现的实现类来实现须要适配的接口。
对象适配器是通过实现类中包括部分实现的实现类实体来实现须要适配的接口。
当想适用积存的类,但接口不符合需求时能够选择适配器模式。
单例模式spring容器就是一个典型的单例模式,实现的话就是定义static final 变量指向实例。而且私有化构造函数。
提供public方法来提供实例,确保该类仅仅有一个实例。
gc的基本算法有引用计数,复制。编辑-清扫,编辑-压缩。分代等。
引用计数: 通过为每个对象加入一个计数器,通过计数器记录该对象的活跃引用数量。
若计数器为0就说明这个对象没有被不论什么变量引用。gc就能够进行垃圾收集。
复制:是把内存空间划分为2个相等的区域。每次仅仅使用一个区域。垃圾回收时,遍历当前使用区域,把正在使用的对象拷贝到另外一个区域。
编辑-清扫:第一阶段遍历全部的引用,将有活的对象进行标记,第二阶段对堆进行遍历。把未标记的对象进行清除。可是须要暂停整个应用、而且会产生内存碎片。
标记-压缩:第一阶段标记活的对象。第二阶段把未标记的对象压缩并按顺序放入堆中的某一块中。
分代:基于对象生命周期分析得出的垃圾回收算法,把对象分为年轻代、年老代、持久代。对不同生命周期使用不同的算法进行回收。
Spring内部最核心的是IOC容器。就是具有依赖注入功能的容器。由容器依据配置文件去创建实例并创建各个实例之间的依赖关系。
由Spring容器初始化、装配及管理的对象称为Bean。代表接口为BeanFactory。提供了IOC容器的最基本功能。
而ApplicationContext继承BeanFactory,添加了很多其它企业级功能的支持。
因为ioc的支持企业级普遍採用面向接口的开发模式。
顺便说一下spring的AOP面向切面编程,事实上是通过动态代理来截取消息的方式,对消息进行装饰,代替原有对象的行为的运行。
一般用于权限。缓存,日志处理,事务。同步等场所应用。
程序计数器是用来指示运行哪条指令的。
多线程是由CPU切换来运行的。所以在切换线程后为了恢复在切换之前的线程运行为止,所以每一个线程都须要有自己独立的程序计数器。
虚拟机 栈是java方法运行的内存模型。
栈中存储的是栈帧。每一个栈帧相应被调用的方法,在栈帧中包含局部变量表、操作数栈、指向当前方法所属的类的运行时常量池的引用、方法返回地址等。
当线程运行方法时会随之创建一个相应的栈帧,并将简历的栈帧压栈。当方法运行完成后将栈帧出栈。
局部变量表是用来存储方法中的局部变量。对于基本数据类型的变量,则直接存储值,对于引用类型的变量,则存储指向对象的引用。
操作数栈的作用是程序中的所以计算过程都是借助于操作数栈来完毕的。
指向执行时常量池的引用,因为方法执行的过程中有可能需要用到类中的常量,所以必需要有一个引用指向执行时常量。
方法返回地址。作用是当一个方法运行完成后,要返回之前调用它的地方,因此在栈帧中必须保存一个方法返回地址。
因为每一个线程正在运行的方法可能不同。因此每一个线程都会有独立的虚拟机栈。
本地方法栈与虚拟机栈的作用和原理相似。差别在于服务对象。虚拟机栈是服务于java方法,本地方法栈服务于本地方法。
堆是用来存储对象本身,以及数组等。资源是线程共享的。虚拟机栈中的引用指向堆中的详细实例,JVM中仅仅有一个堆。
方法区也是线程共享的区域,存储了每一个类的信息(比方类的名称、方法信息、字段信息等)、静态变量、常量以及编译器编译后的代码。
为了解决一个server接受到大量短小线程的请求时避免产生非常多创建和销毁线程动作,降低server在创建和销毁线程上花费的时间和消耗的系统资源。
赋:欢迎广大java程序员将自身经历的面试题留言,博主会更新到文章中。谢谢支持~
标签:需要 灵活 运用 实体 sso 企业 资源 命令 编程
原文地址:http://www.cnblogs.com/slgkaifa/p/7351098.html