Java是什么?
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多传承、指针等概念,因此Java语言具有功能强和简单易用两个特征。Java语言作为静态面向对象编程语言代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java的特点
Java具有简单性、面向对象、分布式、稳健性、安全性、平台独立与可移植性、多线程、动态性等特点。
Java不提供指针来直接访问内存,程序内存更加安全
Java的类是单继承的,虽然Java的类不可以多继承,但是接口可以多继承。
Java有自动内存管理垃圾回收机构(GC),不需要程序员手动释放无用内存。
Java的特点
“编译与解释并存”
这是应为Java语言即具有编译型语言的特征,也具有解释型语言的特征。因为Java程序要经过先编译,后解释两个步骤,由Java编写的程序需要先经过编译步骤,生成字节码(.class文件),这种字节码必须由Java解释器来解释执行。
●编译型:编译型语言会通过编译器将源代码--次性翻译成可被该平台执行的机器码。-般情况下,编译语言的执行速度比较快,开发效率比较低。常见的编译性语言有C、C++、Go、Rust等等。
●解释型:解释型语言会通过解释器一句一句的将代码解释(interpret)为机器代码后再执行。解释型语言开发效率比较快,执行速度比较慢。常见的解释性语言有Python、JavaScript、PHP等等。
字节码的好处
在Java中,JVM可以理解的代码就叫做字节码(.class的文件),不面向任何特定的处理器,只面向虚拟机。Java语言通过字节码的方式,在一定程度上解决了传统解释性语言执行效率低的问题,同时有保留了解释型语言可移植的特点。所以Java程序运行时相对来说还是高效的,而且由于字节码并不针对一种特定机器,因此Java程序无需重新编译便可在多种不同操作系统的计算机上运行。
Java》javac编译》.class》解释器和JIT》机器可理解的代码》OS
JDK和JRE
JDK是Java Development Kit缩写,它是功能齐全的Java SDK。它拥有JRE所拥有的一切,还有编译器(javac) 和工具(如javadoc和jdb)。它能够创建和编译程序。
JRE是Java运行时环境。它是运行已编译Java程序所需的所有内容的集合,包括Java虚拟机(JVM),Java 类库, java 命令和其他的一些基础构件。但是,它不能用于创建新程序。如果你只是为了运行一下Java程序的话,那么你只需要安装JRE就可以了。如果你需要进行-些Java编程方面的工作,那么你就需要安装JDK了。但是,这不是绝对的。有时,即使您不打算在计算机上进行任何Java开发,仍然需要安装JDK。例如,如果要使用JSP部署Web应用程序,那么从技术上讲,您只是在应用程序服务器中运行Java程序。那你为什么需要JDK呢?因为应用程序服务器会将JSP转换为Java servlet,并且需要使用JDK来编译servlet。