Java Architecture (JVM)
The architecture of JVM doesn't differ dramatically from that of CLR. Figure 2 shows an architectural diagram of JVM; Table 1 demonstrates some of the differences between the two architectures.
Figure 2 JVM architecture.
Table 1 Java Architecture Versus .NET Architecture
.NET Architecture |
Java Architecture |
Designed to support multiple different programming languages. Currently, 30 languages support the .NET architecture. |
Though other languages' code can be converted to run under JVM, they don't acquire true cross-language capabilities. |
Compiles the source code to Intermediate Language (IL), which is itself a language. |
Compiles the source code to Java bytecode, which by itself is not a language. |
CLR implements a contiguous memory allocation algorithm. |
JVM implements a noncontiguous memory allocation algorithm. |
Compiles the source code twice during the process of converting to native code. Compiling works faster than interpreting. |
Compiles and interprets the source code once during the process of converting it to native code. |