Under some circumstances, the reference counting model can enhance performance in terms of both memory usage and speed. A reference counting class counts how many object instances have an identical state. When two or more instances share the same state, the implementations creates only a single copy and counts the number of existing references to this copy. For example, an array of strings can be represented as a single string object that holds the number of elements in the array. Since initially the array elements share the same state (they all are empty strings), only a single object is actually needed to represent the array. When one of the array elements changes its state (it is assigned a different value, for instance), the reference counting object creates one more object–this is called “copy on write.”


Top Software Development Companies
Looking for the best in software development? Our list of Top Software Development Companies is your gateway to finding the right tech partner. Dive in