文章目录
- 1.Java的特点有哪些?
- 2.JDK和JRE和JVM的区别
- 3.Java为什么采用字节码编译?
- 4.什么是跨平台?
- 5.Java程序从源代码到运行需要三步?
1.Java的特点有哪些?
Java是一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。
- 面向对象;它对对象中的类、对象、继承、封装、接口、包等均有很好支持。
- 平台无关性;在引入虚拟机之后,Java语言在不同平台上运行不需要重新编译。
- 简单性。Java语言的语法和C语言和cpp很相近,更易上手,对于Java,它舍弃了很多cpp中难以理解的特性,如操作符的重载和多继承等,Java没有指针,加入了垃圾回收机制,解决了管理内存的问题。
- 解释执行;程序再Java平台运行时会被编译为字节码文件,然后可以在有Java环境的系统上运行
- 支持多线程;Java语言的一大特性,任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体内。
- 分布式;Java 语言支持 Internet 应用的开发,在 Java 的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括 URL、URLConnection、Socket 等。Java 的 RIM 机制也是开发分布式应用的重要手段。
- 健壮性;Java 的强类型机制、异常处理、垃圾回收机制等都是 Java 健壮性的重要保证。对指针的丢弃是 Java 的一大进步。另外,Java 的异常机制也是健壮性的一大体现。
- 高性能;Java 的高性能主要是相对其他高级脚本语言来说的,随着 JIT(Just in Time)的发展,Java 的运行速度也越来越高。
- 安全性;Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防止恶意代码的攻击。除了 Java 语言具有许多的安全特性以外,Java 还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制。
- 一次编写,到处执行;
2.JDK和JRE和JVM的区别
Java Development Kit (JDK ) 是用于开发 Java 应用程序和小程序的软件开发环境。它包括 Java 运行时环境 (JRE)、解释器(JVM)/加载器 (Java)、编译器 (javac)、归档器 (jar)、文档生成器 (Javadoc) 以及 Java 开发所需的其他工具
JRE代表“Java 运行时环境”,也可以写成“Java RTE”,它由Java 虚拟机 (JVM)、核心类和支持文件组成
三者的包含关系如下图:
- JDK(Java Development Kit)是一个提供开发和执行(运行) Java程序环境的工具包。JDK 是一个工具包(或包),**包括:**开发工具(提供开发Java程序的环境),JRE(执行你的 java 程序)。
- JRE(Java Runtime Environment)是一个安装包,它提供了一个环境,只在你的机器上运行(而不是开发) java程序(或应用程序)。
- JVM(Java 虚拟机) 是 JDK 和 JRE 的一个非常重要的部分,因为它包含或内置在两者中。无论你使用 JRE 还是 JDK 运行的 Java 程序都会进入 JVM,而 JVM 负责逐行执行 Java 程序,因此它也被称为解释器。负责解释执行字节码文件,它是Java实现跨平台的核心,不同平台的JVM是不同的,但是他们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相同的虚拟机,编译后的Java字节码就可以在该平台上运行。
3.Java为什么采用字节码编译?
在 Java 中,JVM 可以理解的代码就叫做 字节码 (即Java源代码经过虚拟机编译器编译后扩展名为.class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。由于字节码可以跨平台运行,因此在编写 Java 程序时可以避免考虑不同操作系统之间的差异,这样就可以在任何支持 JVM 的平台上运行 Java 程序。所以 Java 程序运行时比较高效,由于字节码是一种中间表示,因此编译器可以对它进行优化,使得生成的字节码比原始的源代码更高效。
4.什么是跨平台?
所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。
实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟
机,该系统就可以运行java程序。
5.Java程序从源代码到运行需要三步?
- JDK 用于开发,JRE 用于运行java程序 ;如果只是运行Java程序,可以只安装JRE,无序安装JDK。
- JDk包含JRE,JDK 和 JRE 中都包含 JVM。
安装JRE,无序安装JDK。 - JDk包含JRE,JDK 和 JRE 中都包含 JVM。
- JVM 是 Java 编程语言的核心并且具有平台独立性。