The output of a compiler includes metadata, which
The output of a compiler includes metadata, which is information that describes the objects that are part of an application, such as: Data types and their dependencies Objects and their members References to required components Information (including versioning information) about components and resources that were used to build the application Metadata is used by the CLR to do such things as: Manage memory allocations Locate and load class instances Manage object references and perform garbage collection Resolve method invocations Generate native code Make sure that the application has the correct versions of necessary components and resources Enforce security The metadata in a compiled software component makes the component self-describing. This implies that components, even those written in another language, can interact with the given component directly. Objects that are managed by the CLR are referred to as managed data. (It is also possible to use unmanaged data in applications.) 4.3 Managed Execution Managed execution is the name given for the process of creating applications under the .NET Framework. The steps involved are as follows: 1. Write code using one or more .NET compilers. Note that for software components to be useable by components that are written in other languages, these components must be written using only language features that are part of the Common Language Specification (CLS). 2. Compile the code. The compiler translates source code to Microsoft Intermediate Language (MSIL) and generates the necessary metadata for the application. 3. Run the code. When code is executed, the MSIL is compiled into native code (which is CPU- specific code that runs on the same computer architecture as the compiler) by a Just In Time (JIT) compiler. If required, the JIT checks the code for type safety. If the type-safety check fails, an exception is thrown. Code that cannot access invalid memory addresses or perform other illegal operations that may result in an application crash is called type-safe code. Code that is verified to be type-safe by the JIT is called verifiably type-safe code. Due to limitations in the verification process, code can be type-safe and yet not be verifiably type-safe. 4.4 Assemblies The purpose of an assembly is to specify a logical unit, or building block, for .NET applications that encapsulate certain properties. The term assembly refers to both a logical construct and a set of physical files. To draw an analogy on the logical side, we might use the term neighborhood to refer to a zip code, a neighborhood name, and a list of street addresses. On the physical side, a neighborhood consists of the actual houses that are
Note: If you are looking for best quality webspace to host and run your tomcat application check Vision tomcat hosting services