Java 8 发布于 2014 年 3 月份 , 可以说是 Java 6 之后最重要的版本更新 , 深受开发者的喜爱 。
- 函数式编程和 Lambda 表达式;
- Stream 流;
- JavaDate Time API;
- 接口中可以使用默认方法和静态方法 。
- 抽象
- 封装
- 多态
- 继承
09、Java 声称的平台独立性指的是什么?
常见的操作系统有 Windows、Linux、OS-X , 那么平台独立性意味着我们可以在任何操作系统中运行相同源代码的 Java 程序 , 比如说我们可以在 Windows 上编写 Java 程序 , 然后在 Linux 上运行它 。
10、什么是 JVM?
JVM(Java Virtual Machine)俗称 Java 虚拟机 。 之所以称为虚拟机 , 是因为它实际上并不存在 。 它提供了一种运行环境 , 可供Java 字节码在上面运行 。
JVM 提供了以下操作:
- 加载字节码
- 验证字节码
- 执行字节码
- 提供运行时环境
- 存储区
- 类文件格式
- 寄存器组
- 垃圾回收堆
- 致命错误报告等
1)类加载器
类加载器是 JVM 的一个子系统 , 用于加载类文件 。 每当我们运行一个 Java 程序 , 它都会由类加载器首先加载 。 Java 中有三个内置的类加载器:
- 启动类加载器(Bootstrap Class-Loader) , 加载 jre/lib 包下面的 jar 文件 , 比如说常见的 rt.jar(包含了 Java 标准库下的所有类文件 , 比如说 java.lang 包下的类 , java.net 包下的类 , java.util 包下的类 , java.io 包下的类 , java.sql 包下的类) 。
- 扩展类加载器(Extension or Ext Class-Loader) , 加载 jre/lib/ext 包下面的 jar 文件 。
- 应用类加载器(Application or App Clas-Loader) , 根据程序的类路径(classpath)来加载 Java 类 。
ClassNotFoundException 和 NoClassDefFoundError 等异常 。
对于任意一个类 , 都需要由它的类加载器和这个类本身一同确定其在 JVM 中的唯一性 。 也就是说 , 如果两个类的加载器不同 , 即使两个类来源于同一个字节码文件 , 那这两个类就必定不相等(比如两个类的 Class 对象不 equals) 。
是不是有点晕 , 来来来 , 通过一段简单的代码了解下 。
每个Java 类都维护着一个指向定义它的类加载器的引用 , 通过 类名.class.getClassLoader() 可以获取到此引用;然后通过 loader.getParent() 可以获取类加载器的上层类加载器 。
上面这段代码的输出结果如下:
第一行输出为 Test 的类加载器 , 即应用类加载器 , 它是 sun.misc.Launcher$AppClassLoader 类的实例;第二行输出为扩展类加载器 , 是 sun.misc.Launcher$ExtClassLoader 类的实例 。 那启动类加载器呢?
按理说 , 扩展类加载器的上层类加载器是启动类加载器 , 但在我这个版本的 JDK 中 ,扩展类加载器的 getParent() 返回 null 。 所以没有输出 。
2)运行时数据区
运行时数据区又包含以下内容:
- PC寄存器(PC Register) , 也叫程序计数器(Program Counter Register) , 是一块较小的内存空间 , 它的作用可以看做是当前线程所执行的字节码的信号指示器 。
- JVM 栈(Java Virtual Machine Stack) , 与 PC 寄存器一样 , JVM 栈也是线程私有的 。 每一个 JVM 线程都有自己的 JVM 栈 , 这个栈与线程同时创建 , 它的生命周期与线程相同 。
- 本地方法栈(Native Method Stack) , JVM 可能会使用到传统的栈来支持 Native 方法(使用 Java 语言以外的其它语言[C语言]编写的方法)的执行 , 这个栈就是本地方法栈 。
- 小米科技|三星,照相技术无人超越,而价格毫无诚意
- 河北网络广播电视台 |全方位响应客户应用需求,戈埃尔科技塑造防水透气行业核心竞争力
- 魅族|魅族19亮利剑:四曲面全视一体屏加持,科技与美的碰撞
- 小米科技|天玑8100处理器和骁龙870哪个强?
- 小米科技|荣耀Magic4和小米12对比:哪一款更值得入手?
- 一加科技|带手柄的游戏电视!TCL电光蓝游戏电视V8E Max图赏
- 小米科技|每人超40万!小米史上最高股份激励出炉:近5000员工受益
- 小米科技|2022年5K价位热门机型对比:华硕、联想,谁家的新品更值得考虑?
- 小米科技|小米电脑助手沉浸体验:简约的让人爱!
- 小米科技|网友6000买iPhone13Pro监管机,商家:配置锁已移除,插卡即用!