天天看点

第一篇:Java中一切都是对象

文章目录

  • ​​第一,万物皆对象?​​
  • ​​第二,JDK和JRE?JVM和HotSpot虚拟机的关系?平台无关性和语言无关性的辨析?​​
  • ​​第三,Java IO?​​
  • ​​第四,启动:Java编译 + Java解释执行?​​
  • ​​第五,结束:JVM垃圾收集器 同步运行与异步运行?​​

第一,万物皆对象?

Java中万物皆对象,表示一切类继承于Object类。

第二,JDK和JRE?JVM和HotSpot虚拟机的关系?平台无关性和语言无关性的辨析?

问题1:一句话总结JDK和JRE?

回答1:JDK是Java开发工具,jre是Java运行环境;Java开发需要JDK,Java运行需要JRE。

问题2:JVM和HotSpot虚拟机的关系?

问题2:JVM是运行.class文件的平台,是理论上的,HotSpot虚拟机实现JVM一种方式,是实际上的。所以,我们使用的是HotSpot虚拟机实现的JVM。

问题3:平台无关性和语言无关性的辨析?

回答3:

平台无关性:java程序只要配合上JVM,就可以在任何操作系统是运行,本质是因为JVM平台可以在任何操作系统上搭建;

语言无关性:JVM只运行.class文件,而并不需要这个.class文件是.java文件编译生成的,可以是其他语言生成的,只要是.class文件就好。

第三,Java IO?

Java中提供的IO有关的API,在文件处理的时候,其实依赖操作系统层面的IO操作实现的。可以把Java中的BIO、NIO和AIO理解为是Java语言对操作系统的各种IO模型的封装。程序员在使用这些API的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码。只需要使用Java的API就可以了。

第四,启动:Java编译 + Java解释执行?

Java程序使用 javac进行编译 和 java进行执行。

第一篇:Java中一切都是对象

javac:java编译器,将源代码变成称字节码,A.java文件变为A.class文件,JVM只能识别.class文件,这就是JVM的语言无关性,JVM可以在不同操作系统上执行,这就是JVM的平台无关性,跨平台。

java:java解释器,用来执行Java程序的字节码文件。

javac 后面跟着的是java文件的文件名,例如 HelloWorld.java。 该命令用于将 java 源文件编译为 class 字节码文件,如: javac HelloWorld.java。运行javac命令后,如果成功编译没有错误的话,会出现一个 HelloWorld.class 的文件。

java 后面跟着的是java文件中的类名,例如 HelloWorld 就是类名,如: java HelloWorld。

注意:java命令后面不要加.class。

第五,结束:JVM垃圾收集器 同步运行与异步运行?