利用高权重网站做关键词加快网站集约化建设总结
news/
2025/10/3 8:15:19/
文章来源:
利用高权重网站做关键词,加快网站集约化建设总结,网站建设系统设计,中国建设银行招标网站文章目录 1. JVM内存区域划分2. JVM中类加载过程类加载#xff08;1#xff09;类加载的基本流程#xff08;2#xff09;双亲委派模型 《深入理解java虚拟机》 在这本书前#xff0c;面试官对于JVM也不是很了解。 这本书主要还是写个一下开发 JVM 的人。 1. JVM内存区域… 文章目录 1. JVM内存区域划分2. JVM中类加载过程类加载1类加载的基本流程2双亲委派模型 《深入理解java虚拟机》 在这本书前面试官对于JVM也不是很了解。 这本书主要还是写个一下开发 JVM 的人。 1. JVM内存区域划分 一个运行起来的Java进程就是一个JVM虚拟机 需要从操作系统中申请一大块内存 就会把这个内存划分成不同的区域每块区域都有不同的作用 1方法区1.7及其之前/元数据区1.8 这里存储的内容就是类对象.class文件加载之后就成为了类对象 2堆占据空间最大的区域 这里存储的内容就是代码中new的对象 3栈 这里存储的内容就是代码执行过程中方法之间的调用关系 4程序计数器 比较小的空间主要就是存放一个“地址”表示下一条要执行的指令在内存中的哪个地方方法区里 每个方法里面的指令都是以二进制的形式保存在类对象中 虚拟机栈程序计数器每个线程都有一份 JVM进程中有10个线程就会有10个虚拟机栈和10个程序计数器 但是Heap(堆区)和Metaspace(元数据区)在JVM进程中只有一份每个线程有自己的程序计数器和栈空间这些线程公用一份堆和方法区 每个线程有自己私有的栈空间
给你一个代码问你某个变量是处在内存中的哪个区
在new Test时这个new 出来的 Test在堆上里面包含的成员变量也自然在堆上Test t 中的 t 变量是一个引用类型是一个局部变量处在栈上static int a 带有static修饰的是静态变量也叫类属性它包含在类对象中处在方法区/元数据区 2. JVM中类加载过程
类加载
1类加载的基本流程 java代码会被编译成 .class 文件包含了一些字节码java程序要想运行起来就需要让JVM读取到这些 .class文件并且把里面的内容构造成类对象保持到内存的方法区中 书上和官方文档把这个类加载过程中分为5个步骤
加载找到.class文件打开文件并且读取文件内容 往往我们的代码中会给某个类“全限定类名” 例如 java.lang.String,java.util.ArrayList ,JVM就会根据这个类名在一些指定目录范围内查找 验证.class文件是一个二进制的格式某个字节都是有特定含义的 验证格式是不是符合要求 准备给类对象分配内存空间最终的目的是要构造一个类对象 这里的分配内存空间还没有初始化此时这个空间上的内存的数值就是全0的 此时如果尝试打印类对象的static成员就是全0的 解析针对类对象中包含的字符串常量进行处理进行一些初始化操作 这个过程也叫做把“符号引用”文件偏移量替换成“直接引用”内存地址
初始化针对类对象进行初始化 类中的各个属性设置好初始化好static成员还需要执行静态代码块加载一下父类 2双亲委派模型
查找优先级 属于类加载中第一个加载步骤中的一个环节负责根据 全限定类名找到.class文件
类加载器是JVM的一个模块 JVM中内置了三个类加载器 1.BootStrap ClassLoader爷 2.Extension ClassLoader 父 3.Application ClassLoader子
这个父子关系不继承构成的而是这几个ClassLoader 里有一个 parent 这样的属性指向了一个父“类加载器” 双亲parent 这个单词“双亲之一” 如果给定的类你是标准库的类任务仍然会被交给孩子执行 6.没有扫描到就会回到Extension ClassLoader Extension ClassLoader 就会扫描负责的拓展库的目录如果没有找到还是把任务交给孩子执行如果找到了就执行后续的类加载操作此时查找结束 7.如果没有扫描到就会回到Application ClassLoader Application ClassLoader 就会负责扫描当前项目和第三方库的目录如果找到就执行后续的类加载操作如果没有找到就会抛出一个ClassNotExcption
设计一套这样的流程主要目的是为了确保标准库的类被加载的优先级最高其次是拓展库其次是自己写的类和第三方库
假设你在自己代码中写了一个 java.lang.String ,实际JVM加载的时候不会加载到你自己写的这个类而是加载标准库的类
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925637.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!