Java 基础
1. 面向对象和面向过程的区别
面向过程:⾯向过程性能⽐⾯向对象⾼。因为类调用时需要实例化,开销比较大,比较消耗资源。但是面向过程做不到面向对象的那种易维护,易复用,易扩展。
面向对象:正因为有了封装、继承、多态的特性,所以面向对象更加的易维护,易复用,易扩展。可以设计出低耦合的系统。
2. JVM JDK 和 JRE
jvm全称Java Virtual Machine,java虚拟机。是运行java字节码的虚拟机。
java源程序运行的一般流程如下:
什么是字节码呢?
也就是JVM可以读懂的代码(.class文件)。Java作为一款“一次编译,到处运行”的编程语言,跨平台靠的是JVM实现对不同操作系统的支持,而一次编译指的就是class字节码,即我们编写好的.java文件,通过编译器编译成.class文件;JVM负责加载字节码文件,不同的操作系统就有不同的加载方式,从而生成系统可识别的二进制代码。
字节码图片如下
JDK与JRE
JDK 是 Java Development Kit,它拥有JRE的一切,还额外有编译器(javac)和工具。它能够创建和编译程序。
JRE是Java运行时环境,包括Java虚拟机和java类库,java命令和一些其他的基础构件。