当前位置: 首页 > news >正文

济南建网站app百度学术搜索

济南建网站app,百度学术搜索,河北建设集团有限公司 信息化网站,变更网站怎么做一. JVM 内存区域的划分 1. 程序计数器 程序计数器是JVM中一块比较小的空间, 它保存下一条要执行的指令的地址. [注]: 与CPU的程序计数器不同, 这里的下一条指令不是二进制的机器语言, 而是Java字节码. 2. 栈 保存方法中的局部变量, 方法的形参, 方法之间的调用关系. 栈又…

一. JVM 内存区域的划分

1. 程序计数器

程序计数器是JVM中一块比较小的空间, 它保存下一条要执行的指令的地址

[注]: 与CPU的程序计数器不同, 这里的下一条指令不是二进制的机器语言, 而是Java字节码.

2. 栈

保存方法中的局部变量, 方法的形参, 方法之间的调用关系.

栈又分为 "Java虚拟机栈" 和 "本地方法栈" .

  • 本地方法(Native Method) 是用 C/C++ 代码编写. 本地方法栈保存的是本地方法的局部变量, 形参和调用关系.
  • Java方法使用Java编写的. Java虚拟机栈保存的是Java方法的局部变量, 形参和调用关系.

3. 堆

堆是JVM中最大的空间. 通过new新创建的对象 (对象的成员属性和成员方法) 都保存在堆上.

4. 方法区 (元数据区) 

方法区, 又叫元数据区. 这块空间保存类信息, 常量, 静态成员(静态变量, 静态方法).

在一个Java进程中, 堆和方法区只有一份; 而程序计数器和栈的数目是根据线程数目确定的. 我们看下面这张图就能明白了~

仔细想一下, 我们其实不难理解为什么要这样存储. 每一个线程都代表一个"执行流", 当然需要记录自己的指令执行顺序, 自己的函数调用关系. 而常量, 静态成员和类信息 就没有必要记录好多份~

二. JVM 类加载过程

1.加载 (Loading)

JVM会通过类加载器(Class Loader) 读取类的字节码文件(.class文件), 并将其数据转换成方法区中的数据结构,同时在堆中生成一个对应的java.lang.Class对象用于封装类在方法区内的数据结构.

2. 链接 (Linking)

(1) 验证 (Verification) : 确保加载的类信息安全, 准确.

(2) 准备 (Preparation) : 为类变量分配内存, 并设置默认初始值 (例如: int类型的默认值为0, 对象的默认值为null等) 

(3) 解析 (Resolution) : 将类, 接口, 字段和方法的符号引用转换为直接引用. 这一步可以推迟到真正使用的时候再进行, 也就是所谓的动态链接.

3. 初始化 (Initialization)

初始化阶段是执行类构造器()方法的过程,该方法是由编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并产生的。此阶段将为类变量赋予正确的初始值。

http://www.hkea.cn/news/12291/

相关文章:

  • 旅游网站建设方案的总结网站优化外包
  • 响应式网站自助建设广州排名推广
  • 做网站的尺寸1920谷歌官网
  • 怀柔武汉阳网站建设数据分析师报考官网
  • 学院招生网站建设方案seo优化排名是什么
  • 旅行网站首页模板百度网盘下载
  • 河南免费网站建设公司搜索引擎优化是指什么意思
  • wordpress主题——b5安卓优化
  • 山西网站建设多少钱网页制作接单
  • 网站建设怎么付费郑州seo学校
  • 企业网站无线端怎么做免费b站推广网址有哪些
  • 英才网seo的工作内容主要包括
  • 全面加强政府门户网站建设哪里做网站便宜
  • 深圳网站建设合同范本色盲测试图看图技巧
  • 怎么做亚马逊网站竞价网站
  • 做招商网站的前景怎么样品牌网络营销策划
  • 苏州新区做网站宁波seo行者seo09
  • 做一份seo网站诊断西安关键词优化平台
  • 外贸公司网站如何做推广营销渠道策略
  • 哈尔滨网站建设流程360浏览器网页版入口
  • wordpress 如何修改主图cssseo系统推广
  • 阿里云能放企业网站吗小黄豆crm
  • 富阳网站建设惠州网站建设
  • 北京优化网站方法百度官方客服平台
  • 哪个网站开发好微商软文范例大全100
  • wordpress 301重定向插件长春seo网站排名
  • free wordpress湖南专业seo公司
  • 学院网站建设开题报告如何创建网站教程
  • 开网站怎么赚钱软文推广渠道主要有
  • 南联网站建设深圳谷歌优化seo