从c到java

java原本的意思是一种咖啡的名字,最早的名字叫OAK(橡树)
java是从c++的基础上发展起来的,继承了c和c++的很多特性以及语法,这给我们这些写过c/c++的人转型提供了便利。同时,java取消了c++中一些繁琐的难以理解的不安全的内容,比如指针多重继承操作符重载之类的。同时JDK(java development kit java开发工具包)为我们提供了丰富的基础类库,不用重复造轮子。
java的另一个特性是跨平台,任何环境 能装上jvm的就可以运行java程序
java 跨平台的原理:
java是解释型的语言
对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器(由jdk提供命令javac)编译成.class(字节码)文件,然后在通过JVM从.class文件解释执行(由jdk提供命令java),所以它是解释型的语言
对于java来讲 你发现你编译完了操作系统不能直接执行 必须依靠jvm来解释执行
此时jvm(java virtual machine)就像一个翻译 对不同的操作系统 把class文件的内容翻译出来给他们运行 或者换句话说 对于不同的操作系统 源文件和class文件不必改变 需要改变的只是jvm 由jvm充当桥梁去适应不同的操作系统
垃圾回收机制:java采用GC(Garbage Collection)机制进行内存管理,我们只需要在使用时申请空间,抛弃时不需要关心空间回收问题。当不存在对某对象的任何引用时,就意味着jvm可以回收这个对象了

你可能感兴趣的:(从c到java)