第1个回答 2020-03-26
java所谓的跨平台,实际上主要是依靠jvm(java虚拟机)来实现的。也就是说,对于java而言,只需要生成虚拟机能够解析的字节码(即.class)jvm来解析这段字节码前执行具体操作!
第2个回答 2020-03-23
与C++不同,java将内存的管理交给了jvm去做,为了提供统一的处理接口,jvm要求不管理是什么语言必须先编译成.class文件。jvm去加载这些.class文件,以特定的数据结构加载到方法区中,当程序中要用到某个类的实例时,jvm会根据方法区中存放的类信息在堆中创建一个对象供程序使用,由于没有析构函数,jvm必须自己回收不必须的对象,因此当你启动程序时,后台就会运行着gc线程,随时回收着没用的对象
第3个回答 2020-04-01
Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。