版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 服务注册、发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必然引入一个服务注册发现的问题,也就是说服务提供方要注册报告服务地址,服务调用方要能发现目标服务。在我 ...
分类:
其他好文 时间:
2016-12-16 16:43:33
阅读次数:
525
享元模式(Flyweight Pattern) 介绍运用共享技术有效地支持大量细粒度的对象。 示例有一个Message实体类,某些对象对它的操作有Insert()和Get()方法,现在要运用共享技术支持这些对象。 MessageModel AbstractMessage SqlMessage Xml ...
分类:
其他好文 时间:
2016-12-15 14:34:39
阅读次数:
224
Hibernate在对资料库进行操作之前,必须先取得Session实例,相当于JDBC在对资料库操作之前,必须先取得Connection实例, Session是Hibernate操作的基础,它不是设计为执行绪安全(Thread-safe),一个Session由一个执行绪来使用。 开启Session ...
分类:
Web程序 时间:
2016-12-02 21:39:28
阅读次数:
208
声明:本系列文章内容摘自《iOS设计模式》 享元模式:运用共享技术有效地支持大量细粒度的对象。 何为享元模式 实现享元模式需要两个关键组件,通常是可共享的享元对象和保存它们的池。某种中央对象维护这个池,并从它返回适当的实例,工厂是这一角色的理想候选。它可以通过一个工厂方法,根据父类型返回各种类型的具 ...
分类:
其他好文 时间:
2016-11-24 18:47:45
阅读次数:
309
场景:内存属于稀缺资源,不要随便浪费。如果有很多个完全相同或相似的对象,我们可以通过享元模式,节省内存。 核心:享元模式以共享的方式高效地支持大量细粒度对象的重用。 享元对象能做到共享的关键是区分了内部状态和外部状态。 内部状态:可以共享,不会随环境变化而改变。 外部状态:不可以共享,会随环境变化而 ...
分类:
其他好文 时间:
2016-11-24 08:44:39
阅读次数:
143
享元(flyweight)模式是一种用于性能优化的模式,“fly”在这里是苍蝇的意思,意为蝇量级。享元模式的核心是运用共享技术来有效支持大量细粒度的对象。 如果系统中因为创建了大量类似的对象而导致内存占用过高,享元模式就非常有用了。在JavaScript 中,浏览器特别是移动端的浏览器分配的内存并不 ...
分类:
编程语言 时间:
2016-11-23 12:15:00
阅读次数:
207
蝇量模式:让某个类的一个实例能够用来提供多个“虚拟”实例,运用共享技术有效地支持大量细粒度的对象 特点: 减少运行时对象实例的个数 将许多“虚拟”对象的状态一同管理 运用共享技术有效地支持大量细粒度的对象 区分对象的共享变量(内部状态)和不可共享变量(外部状态,将此类变量从类从剔除,由外部传入) 用 ...
分类:
其他好文 时间:
2016-11-05 02:40:16
阅读次数:
184
这周打算关注一个很早就知道但一直没深入研究的主题~微服务架构。今天加班比较晚,就转一下刚看到的微信公众号新IT联盟一篇文章。 微服务架构最主要的两个特征:细粒度和独立,简单来讲微服务就是细粒度的独立的服务。这有什么好处呢? 第一,细粒度就是每一个服务专注做好一件事情,每个服务完成一个单一任务。在功能 ...
分类:
其他好文 时间:
2016-10-18 02:23:42
阅读次数:
165
之前用CUDA写的版本,竟然还不如CPU。 经过好几次的尝试,得到两点经验: 1. CUDA的kernel不需要写得硕大无比。写大了之后,block数和thread数反而不好调整(之前都没有用上block),另外就是会导致数据管理非常复杂。kernel搞成细粒度之后好像也没那么多的影响。 2. 训练 ...
分类:
其他好文 时间:
2016-10-11 21:46:27
阅读次数:
261
1. 提炼函数(Extract Method) 1.1 动机 (1)函数的粒度小,被复用的机会就会更大。而且细粒度的函数覆写也会更容易。 (2)简短而命名良好的函数,会使高层函数读起来就像一系列注释 1.2 做法 (1)创建一个新函数,并根据函数的意图命名(以它“做什么”来命名,而不是以它“怎么做” ...
分类:
其他好文 时间:
2016-10-07 13:46:55
阅读次数:
120