摘要: 对于一个运行中的Java程序而言,它还可能会用到一些跟本地方法相关的数据区。当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界。本地方法可以通过本地方法接口来访问虚拟机的运行时数据区,但不止如此,它还可以做任何它想做的事情。 本地方法本质上时依赖于实现的,虚拟机实现的设计者 阅读全文
posted @ 2016-08-27 20:36 wade&luffy 阅读(24262) 评论(2) 推荐(4) 编辑
摘要: 为了展示虚拟机如何使用方法区中的信息,下面来举例说明: 不同的虚拟机实现可能会用完全不同的方法来操作,下面描述的只是其中一种可能——但并不是仅有的一种。 要运行Volcano程序,首先得以某种“依赖于实现的”方式告诉虚拟机“Volcano”这个名字。之后,虚拟机将找到并读入相应的class文件“Vo 阅读全文
posted @ 2016-08-27 20:24 wade&luffy 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 在JAVA虚拟机中,负责查找并装载类型的那部分被称为类装载子系统。 JAVA虚拟机有两种类装载器:启动类装载器和用户自定义类装载器。前者是JAVA虚拟机实现的一部分,后者则是Java程序的一部分。由不同的类装载器装载的类将被放在虚拟机内部的不同命名空间中。 类装载器子系统涉及Java虚拟机的其他几个 阅读全文
posted @ 2016-08-27 20:03 wade&luffy 阅读(1260) 评论(0) 推荐(0) 编辑
摘要: Java虚拟机是通过某些数据类型来执行计算的,数据类型可以分为两种:基本类型和引用类型,基本类型的变量持有原始值,而引用类型的变量持有引用值。 Java语言中的所有基本类型同样也都是Java虚拟机中的基本类型。但是boolean有点特别,虽然Java虚拟机也把boolean看做基本类型,但是指令集对 阅读全文
posted @ 2016-08-27 19:55 wade&luffy 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: 定义 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还 阅读全文
posted @ 2016-08-27 15:04 wade&luffy 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 定义 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。 结构 模式所涉及的角色如下所示: (1)抽象表达式(Expression)角色:声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主 阅读全文
posted @ 2016-08-27 14:46 wade&luffy 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 定义 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 结构 责 阅读全文
posted @ 2016-08-27 14:31 wade&luffy 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 定义 一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。 不变模式的结构 不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销。如果需要修改一个不变对象的状态,那么就需要建立一个新的同类型对象,并在创建时将这个 阅读全文
posted @ 2016-08-27 14:19 wade&luffy 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 定义 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 结构 访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。 数据结构的 阅读全文
posted @ 2016-08-27 14:11 wade&luffy 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 定义 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。 结构 模板方法模式需要开发抽象类和具体子类的设计师之间 阅读全文
posted @ 2016-08-27 12:23 wade&luffy 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 定义 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。 结构 用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状 阅读全文
posted @ 2016-08-27 11:28 wade&luffy 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 定义 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 结构 这个模式涉及到三个角色: 实现 购物车系统 假设现在要设计一个贩卖各类书籍的电子商务网站的购物车系统。一个最简单 阅读全文
posted @ 2016-08-27 11:12 wade&luffy 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 定义 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这 阅读全文
posted @ 2016-08-27 10:52 wade&luffy 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 定义 调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。 为什么需要调停者 有大量的对象, 阅读全文
posted @ 2016-08-27 10:35 wade&luffy 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 定义 迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation)。 聚合是一个管理和组织数据对象的数据结构。 聚合对象主要拥有两个职责:一是存储内部数据;二是遍历内部数据。 存储数据是聚 阅读全文
posted @ 2016-08-27 10:24 wade&luffy 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 定义 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 结构 命令模式是对命令的封装。命令模式 阅读全文
posted @ 2016-08-27 09:58 wade&luffy 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 分布式锁的解决方式 1、是否可以考虑采用ReentrantLock来实现,但是实际上去实现的时候是有问题的,ReentrantLock的lock和unlock要求必须是在同一线程进行,而分布式应用中,lock和unlock是两次不相关的请求,因此肯定不是同一线程,因此导致无法使用ReentrantL 阅读全文
posted @ 2016-08-27 09:32 wade&luffy 阅读(1952) 评论(0) 推荐(1) 编辑