JIT compiler is a part of the runtime execution environment.
In Microsoft .NET there are three types of JIT compilers:
=> Pre-JIT :- Pre-JIT compiles complete source code into native code in a single
compilation cycle. This is done at the time of deployment of the application.
=> Econo-JIT :- Econo-JIT compiles only those methods that are called at runtime.
However, these compiled methods are removed when they are not required.
=> Normal-JIT :- Normal-JIT compiles only those methods that are called at runtime.
These methods are compiled the first time they are called, and then they are stored in
cache. When the same methods are called again, the compiled code from cache is
used for execution.
System.Reflection is used to browse through the metadata information.
Garbage collection is a CLR feature which automatically manages memory. Programmers forget
to release the objects while coding ..... Laziness (Remember in VB6 where one of the good
practices is to set object to nothing). CLR automatically releases objects when they are no longer in
use and refernced. CLR runs on non-deterministic to see the unused objects and cleans them. One
side effect of this non-deterministic feature is that we cannot assume an object is destroyed when
it goes out of the scope of a function. Therefore, we should not put code into a class destructor
to release resources.
System.GC.Collect() forces garbage collector to run. This is not recommended but can be used if situations arises.
During development process you will need strong name keys to be exposed to developer which
is not a good practice from security aspect point of view.In such situations you can assign the key
later on and during development you an use delay signing