A system comprising: (i) a memory; and (ii) a processor in communication with the memory and configured: a) to execute an application environment (210, 310), and b) to allocate an environment memory to the application environment; (iii) the application environment (210, 310) configured to: a) maintain a database (230, 320) configured to store one or more objects (240a-d, 330a-d) in a database memory within the environment memory; b) execute a first application (220, 340a-c) in a first application memory within the environment memory and isolated from the database memory; c) upon instantiation of a database object (240a-d, 330a-d) by the first application, allocate memory in the database memory for the database object, d) the database (230, 320) in the database memory providing master storage (750, 760) for the database object; characterised in that: (iv) the memory comprises processor-addressable memory such that the processor can access the memory directly using machine-language memory addressing of the processor; and (v) the application environment (210, 310) is further configured to: e) allocate the environment memory from the processor-addressable memory; f) upon an instruction to obtain the database object (240a-d, 330a-d) by code of the first application (220, 340a-c), provide to the first application a memory address in the processor-addressable memory relating to the database object (240a-d, 330a-d) in the database memory; and, g) upon an access operation on an instance attribute of the database object (240a-d, 330a-d) by the first application (220, 340a-c), provide to the first application (220, 340a-c) direct access to data of the database object (240a-d, 330a-d) at the memory address in the processor-addressable memory relating to the database object (240a-d, 330a-d) in the database memory. (i) a memory; and (ii) a processor in communication with the memory and configured: a) to execute an application environment (210, 310), and b) to allocate an environment memory to the application environment; a) to execute an application environment (210, 310), and b) to allocate an environment memory to the application environment; (iii) the application environment (210, 310) configured to: a) maintain a database (230, 320) configured to store one or more objects (240a-d, 330a-d) in a database memory within the environment memory; b) execute a first application (220, 340a-c) in a first application memory within the environment memory and isolated from the database memory; c) upon instantiation of a database object (240a-d, 330a-d) by the first application, allocate memory in the database memory for the database object, d) the database (230, 320) in the database memory providing master storage (750, 760) for the database object; a) maintain a database (230, 320) configured to store one or more objects (240a-d, 330a-d) in a database memory within the environment memory; b) execute a first application (220, 340a-c) in a first application memory within the environment memory and isolated from the database memory; c) upon instantiation of a database object (240a-d, 330a-d) by the first application, allocate memory in the database memory for the database object, d) the database (230, 320) in the database memory providing master storage (750, 760) for the database object; (iv) the memory comprises processor-addressable memory such that the processor can access the memory directly using machine-language memory addressing of the processor; and (v) the application environment (210, 310) is further configured to: e) allocate the environment memory from the processor-addressable memory; f) upon an instruction to obtain the database object (240a-d, 330a-d) by code of the first application (220, 340a-c), provide to the first application a memory address in the processor-addressable memory relating to the database object (240a-d, 330a-d) in the database memory; and, g) upon an access operation on an instance attribute of the database object (240a-d, 330a-d) by the first application (220, 340a-c), provide to the first application (220, 340a-c) direct access to data of the database object (240a-d, 330a-d) at the memory address in the processor-addressable memory relating to the database object (240a-d, 330a-d) in the database memory. e) allocate the environment memory from the processor-addressable memory; f) upon an instruction to obtain the database object (240a-d, 330a-d) by code of the first application (220, 340a-c), provide to the first application a memory address in the processor-addressable memory relating to the database object (240a-d, 330a-d) in the database memory; and, g) upon an access operation on an instance attribute of the database object (240a-d, 330a-d) by the first application (220, 340a-c), provide to the first application (220, 340a-c) direct access to data of the database object (240a-d, 330a-d) at the memory address in the processor-addressable memory relating to the database object (240a-d, 330a-d) in the database memory.