• Real Logic Limited的简单二进制编码(Simple Binary Encoding简称SBE)提供低延迟高性能的二进制编码。其性能比Google的Protocol Buffer快20倍。 SBE灵感是来自于高性能工作组的 FIX Proto
  • 今天看了板桥里人的《设计模式之Flyweight(享元) FlyWeight模式》一文,发现其中的理解有些偏差,因此在这里谈一谈自己的看法。 Flyweight的目的是为了减少内存的消耗而出现的一种模式。因此他是一种解决实现问题的模式,而不是用来解
  • 目的通常情况下,要执行的任务是短期的,并且任务数量很大。为每个任务创建一个新线程会使系统花费更多时间来创建和销毁线程,而不是执行实际任务。线程池通过重用现有线程并消除创建新线程的延迟来解决此问题。 icon
  • 什么叫In-process Cache?因为对象的创建和销毁会耗费时间,将这些对象保存在处理过程中的内存中,这样避免频繁的创建和销毁。这样可以快速提高系统的性能。 但是本篇文章认为,这种In-process Cache反而是对应用性能是有害的。</ icon
  • 享元模式的根本目的是为了降低内存的消耗,那么它和数据库的连接池做法是不是一样呢? icon
  • 你好,BANQ,我有几个问题想请教一下:第一:缓存是把一些已经创建的对象放在内存当中,当以后要使用的时候,直接从内存中调出,有和Flyweight模式一样,那么是否可以认为缓存是Flyweight模式的一个应用?第二:关于J2EE系统性能方面,你认为提高性能:1>改善设计2>提高硬件 icon
  • Flyweight(缓存/享元)是一种结构设计模式,它允许程序通过保持低消耗来支持大量的对象。它可以是一个隐藏在类似 Facade 的 API 后面的内部缓存。缓存存储从多个对象引用的共享部分。 Flyweight是让weight重量的东西 icon
  • Tomcat的连接池算是Flyweight模式吗? icon
  • 写了个连接池的类,和大家一起探讨,欢迎交流 package com.dalong.connectionpool;import java.util.HashMap;import java.util.Vector;import ja icon
  • 目的使用共享可以有效地支持大量细粒度对象。说明炼金术士的商店里摆满了魔法药水。许多药水是相同的,因此不需要为每个药水创建新的对象。相反,一个对象实例可以表示多个货架项目,因此内存占用空间很小< icon
  • 看了banq的教程,还是有些不解,希望前辈们可以为俺解惑: 我比较容易理解的一种解决方法是:将ConcreteFlyweight类作为HashTable的key,而ExtrinsicState类则是对应的value,这样来建立内外部状态之间的一种关联。但是 icon
  • 有时,我们需要在关闭spring容器之前做一些额外的工作,比如关闭资源文件。 这时,你可以实现DisposableBean接口并重写其destroy方法。 icon
  • 设计模式上的每个享元定义似乎都有外部状态的定义!?如每个字的定义包括了字别(这个叫做享元没错)和Size、color,其中的size等均属外部状态,这样岂不是每个字对象就没有同质化了么?!还谈什么节约内存啊?! icon
  • 配置连接池是开发人员经常犯的错误。配置池时需要理解几个原则(对于某些人来说可能违反直觉)。 想象一下,您有一个网站,虽然可能不是 Facebook 规模的,但仍然经常有 10,000 个用户同时发出数据库请求,每秒处理约 20,000 笔交易。您的 icon
  • 在本文中,我们将了解使用FlexyPool自动递增池策略确定最佳连接池大小的最佳方法。 现在 icon
  • 我们使用了sync.Pool很多,老实说,它非常适合我们处理临时对象的方式,尤其是字节缓冲区或切片。 它在标准库中很常用。例如,在encoding/json包中: icon
  • C++ 程序员倾向于使用 std::string 类来表示字符串。虽然实现方式可能有所不同,但 std::string 的每个实例可能使用 32 个字节。虽然这不是很大的内存量,但加起来还是会很大。 在 Node.js 运行时中,作为构建工具的一部 icon