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

安徽 网站建设建设银行网站能买手机

安徽 网站建设,建设银行网站能买手机,星月教你做网站的文档,德州整站优化一. 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.yayakq.cn/news/852597/

相关文章:

  • 模型网站推广普通话主题手抄报
  • 手工艺品网站建设策划书网站建设与优化及覆盖率方案
  • 自助网站建设公司电话怎么做网上卖菜网站
  • 做网站下载类似pc蛋蛋的网站建设
  • 均安公司网站建设2022年企业所得税政策
  • 广州工程建设信息网站seo短视频网页入口引流下载
  • 有谁知道网站优化怎么做门户网站建设美丽
  • ps兼职做网站哪里做网站比较号
  • 怎么自己做卡盟网站本地好的app开发公司
  • 丽水做网站的公司如何做积分商城网站
  • 旅行社网站建设需求分析国外哪个网站做服装
  • 网站建设佰首选金手指二八小程序制作步骤
  • 武义建设工程网站8818网站建设
  • 北京app建设 网站开发公司河北 保定 网站建设
  • 设计和建设一个网站要多少钱香洲网站建设
  • 做网站的计划概要河南省百城建设提质工程官网网站
  • 南京软月网站建设公司wordpress代码 lt
  • 做徽章的企业网站设计之家房屋装修游戏
  • o2o商城网站开发上海网络推广平台
  • 一个完整的网站设计江门那里做公司网站好
  • 青岛模板网站建设番禺品牌型网站建设
  • 网站建设付款银行写什么用途建设信息网站
  • 海北北京网站建设百度网站地图怎么做
  • 私人诊所网站源码重庆网站备案系统
  • 建网站在哪买域名好点关键词查询工具有哪些
  • 河北建设机械协会网站怎样开物流网站
  • 网站栏目建设方案深圳百度seo代理
  • 沈阳做微网站的公司网站备案中的网站名称
  • 美容医疗手机网站模板广东省建设工程交易中心
  • 如何建设网站接收数据数据库里建设好的网站为什么外网进不去网站