java c++ 速度比较
java 比 c++ 慢的理由
・ Interpreting bytecodes is 10 to 30 times slower than native execution.
・ Just-in-time compiling bytecodes can be 7 to 10 times faster than interpreting, but still not
quite as fast as native execution.
・ Java programs are dynamically linked.
・ The Java Virtual Machine may have to wait for class files to download across a network.
・ Array bounds are checked on each array access.
・ All objects are created on the heap (no objects are created on the stack).
・ All uses of object references are checked at run-time for null.
・ All reference casts are checked at run-time for type safety.
・ The garbage collector is likely less efficient (though often more effective) at managing
the heap than you could be if you managed it directly as in C++.
・ Primitive types in Java are the same on every platform, rather than adjusting to the most
efficient size on each platform as in C++.
・ Strings in Java are always UNICODE. When you really need to manipulate just an ASCII
string, a Java program will be slightly less efficient than an equivalent C++ program.