[programming] The process of precreating a collection of instances of classes, such that the instances can be shared between multiple application sessions at the request level. Pooling objects allows the separation of potentially costly initialization and acquisition of resources from the actual work the object does. Pooled objects are used in a stateless manner.