<P> After the inevitable cooling of marketing hype, object libraries continue to be used in both object - oriented programming and distributed information systems . Class libraries are the rough OOP equivalent of older types of code libraries . They contain classes, which describe characteristics and define actions (methods) that involve objects . Class libraries are used to create instances, or objects with their characteristics set to specific values . In some OOP languages, like Java, the distinction is clear, with the classes often contained in library files (like Java's JAR file format) and the instantiated objects residing only in memory (although potentially able to be made persistent in separate files). In others, like Smalltalk, the class libraries are merely the starting point for a system image that includes the entire state of the environment, classes and all instantiated objects . </P> <P> Another solution to the library issue comes from using completely separate executables (often in some lightweight form) and calling them using a remote procedure call (RPC) over a network to another computer . This approach maximizes operating system re-use: the code needed to support the library is the same code being used to provide application support and security for every other program . Additionally, such systems do not require the library to exist on the same machine, but can forward the requests over the network . </P> <P> However, such an approach means that every library call requires a considerable amount of overhead . RPC calls are much more expensive than calling a shared library that has already been loaded on the same machine . This approach is commonly used in a distributed architecture that makes heavy use of such remote calls, notably client - server systems and application servers such as Enterprise JavaBeans . </P> <P> Code generation libraries are high - level APIs that can generate or transform byte code for Java . They are used by aspect - oriented programming, some data access frameworks, and for testing to generate dynamic proxy objects . They also are used to intercept field access . </P>

What are the functions of computer in the library