1) Basic Architecture
The basic architecture is similar to that of Java: Java program-> Java bytecode-> JVM (JIT ). dotNet: C # Program-> pencil (Common intermediate language)-> CLR (JIT ). at the beginning, Java bytecode was interpreted and executed, but now the real-time compilation technology is used. C #, as a latecomer, used this technology from the very beginning. the implementation architecture of the software is basically the same; www.2cto.com
2) platform independence:
The design goals of Java and DotNet are platform-independent, but Microsoft's operating system is the main profit source. net platform independence is still greatly reduced. however, it is hard to tell the following about Java. After all, some things will change after it is acquired by oracle.
3) unified development languages:
In this regard, the Java design did not include this goal, and dotNet was committed to the unification of development languages from the very beginning, but this is not the difference between java and C # As languages, but the difference between the two systems. this advantage of Dotnet is attractive to programmers, at least reducing learning costs. on the other hand, the learning cost of mutual conversion between Java and C # is not very high.
4) Basic data types: Java has fewer predefined basic types and C # many, but this does not affect normal use. of course, since C # is based on.. net Framework, whose types are also common data types. because both are designed for cross-platform, the Data Type length is not the actual memory size. the actual memory usage depends on the Virtual Machine (JVM, CLR) and the specific machine type (CPU length ). for example, if the byte is 8 bits and the machine is 32 bits, you can implement the byte as 8 bits, and the efficiency will be lower (32 bits each time, then, byte is calculated ).
This period of time is busy. update it here first and continue later.