栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java1——JVM

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java1——JVM

一、基本(Java Virtual Machine) (一)概念——可运行Java代码的假想计算机

假想:Java虚拟机并不是真正的物理机,JVM 是运行在操作系统之上的,它与硬件没有直接的交互。Java被称为解释性语言:JVM执行字节码过程由一个循环组成——不停加载程序,先进行合法性和安全性检查,然后解释执行代码(字节码 —> 平台机器代码),交给计算机执行,直到程序结束。跨平台:字节码是一种与平台无关的代码,Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。(一次编译,多次运行) (二)执行过程

    Java 源文件(.java) —> 编译器 —> 字节码文件(.class)字节码文件 —> JVM —> 机器码
二、JVM内存区域

程序计数器:当前线程所执行的字节码的行号指示器(每个线程独立拥有自己的);虚拟机栈:包含多个栈帧,单方法调用结束时,栈帧才会被销毁;本地方法栈:与虚拟机栈相似,虚拟机栈为执行 Java 方法服务, 而本地方法栈则为 Native 方法服务;堆:运行时数据区;方法区:用于存储被 JVM 加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。(static、final、class、常量池)

Native
凡是带了native关键字的,说明java的作用范围到达不了,回去调用底层C语言的库!
会进入本地方法栈
调用本地方法接口 :JNI
JNI作用:扩展java的使用,融合不同的编程语言为java所用

三、栈

栈帧:

存储局部变量表:8个基本数据类型、对象引用地址、returnAddress类型;操作数栈:用于操作动态链接:其他方法方法出口:return或异常…

对象在栈中只是存一个引用,指向堆中的具体对象。 四、JVM运行时内存

一个JVM只有一个堆内存,可以调节的。
OOM是一般是堆爆了。

MinorGC(新生代GC):复制算法 复制—>清空—>互换MajorGC(老年代GC):标记清除算法元数据区(永久代):不在虚拟机中,使用本地内存 五、垃圾回收(GC) (一)垃圾确定

    引用计数法:
    (1) 被引用则次数+1;
    (2)可能有循环问题。可达性分析
    (1)与引用对象之间建一条路径;
    (2)两次不可达才可GC。
(二)垃圾收集算法
    标记清除算法(Mark-Sweep)
    (1)标注:存活对象、未使用、可回收;
    (2)清除:可回收区域回收。
    (3)碎片化问题!复制算法(copying)
    (1)内存划分为两块:一块使用,另一块复制时用的,这样碎片化得到解决。
    (2)内存使用率太低!标记整理算法(Mark-Compact)
    将清理对象清除,存活对象移向内存的一端。分代收集算法
    (1)新生代——复制算法
    (2)老年代——标记整理算法(新生代中年龄达15才会进入老年代)
六、类加载器 (一)类加载过程
    加载:在内存中生成一个代表这个类的 java.lang.Class 对 象,作为方法区这个类的各种数据的入口。连接
    (1)验证:确保 Class 文件的字节流中包含的信息是否符合当前虚拟机的要求。
    (2)准备:在方法区中分配变量所使用的内存空间。
    (3)解析:虚拟机将常量池中的符号引用替换为直接引用的过程。初始化
    执行类构造器方法的过程使用卸载
(二)类加载器

启动类加载器(Bootstrap ClassLoader):是使用C++实现的,无法被Java程序直接引用,它负责加载核心JavaClass(即所有Java.*开头的类)。因此如果Bootstrap ClassLoader,用getClassLoader获得的是null。扩展类加载器(Extension ClassLoader)应用程序类加载器(Application ClassLoader) (三)双亲委派机制

    双亲委派机制:安全。
    (1)外层恶意同名类得不到加载而无法使用;
    (2)严格通过包来区分访问域。APP-EXC-BOOT过程:
    (1)类加载器收到类加载的请求
    (2)将这个请求向上委托给父类加载器去完成,一直向上委托,直到启动类加载器
    (3)启动加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器,否则,抛出异常,通知子加载器进行加载
    (4)重复步骤3
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759768.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号