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

做机械设备销售的那个网站好家具设计理念

做机械设备销售的那个网站好,家具设计理念,php网站开发的第三章,随州企业网络推广怎么做文章目录 是什么JVM 执行流程内存区域划分堆栈程序计数器元数据区经典笔试题 是什么 Java 虚拟机 JDK#xff0c;Java 开发工具包JRE#xff0c;Java 运行时环境JVM#xff0c;Java 虚拟机 JVM 就是 Java 虚拟机#xff0c;解释执行 Java 字节码 JVM 执行流程 编程语言… 文章目录 是什么JVM 执行流程内存区域划分堆栈程序计数器元数据区经典笔试题 是什么 Java 虚拟机 JDKJava 开发工具包JREJava 运行时环境JVMJava 虚拟机 JVM 就是 Java 虚拟机解释执行 Java 字节码 JVM 执行流程 编程语言可以分为 编译型语言先将高级语言转换成二进制的机器指令再由 CPU 去直接执行解释型语言一边去转换一边去执行 这样的说法放单今天硬件不适用了 按照上述这种经典的划分方式可以认为 Java 属于“半编译半解释”。Java 这么设定最主要的目的就是为了“跨平台”。 像 C这样的语言是直接编译成了二进制的机器指令而不同的 CPU 支持的指令不一样而且生成的可执行程序在不同的系统上也有不同的格式 Windows 可执行程序PE 格式Linux 可执行程序ELF 格式 当前看到的手机操作系统为什么只有安卓、iOS 因为搞一个新的系统现有的软件不能兼容没有生态也就没有市场鸿蒙能直接运行安卓程序是因为鸿蒙不是新系统只是安卓套壳 Java 不想重新编译而是期望能够直接执行 先通过 javac 把 .java 文件 .class 文件字节码文件包含的就是 Java 字节码Java 自己搞的一套 CPU 指令 因为如果生成 CPU 直接能执行的指令的话不同的 CPU 支持的指令就不一样就不能在所有系统上执行 这样先把 java 代码转成对应的 java 字节码文件然后在某个具体的系统平台上执行此时通过 JVM 把上述的字节码转换成对应的 CPU 能识别的机器指令JVM 就是一个翻译官的角色 通过上述转换我们就可以不去重新编译也能够完成良好的跨平台。因此我们编写和发布一个 java 程序其实就只要发布 .class 文件就可以了JVM 拿到 .class 文件之后就知道如何转换 Windows 上的 JVM 就可以把 .class 转换成 Windows 上能支持的可执行指令了Linux 上的 JVM 就可以把.class 转换成 Linux 上可以支持的可执行指令了 不同平台的局面是存在差异的而不是同一个。对上给 java 层面上提供的内容是统一一致的 内存区域划分 JVM 其实也是一个进程任务管理器中看到的 java 进程 进程运行过程中要从操作系统这里车身轻一些资源内存就是其中的典型资源这些内存空间就支撑了后续 java 程序的执行。 比如在 java 中定义变量就会申请内存内存其实就是 JVM 从系统这边申请到的内存然后再交给具体的 java 程序去使用 JVM 从系统申请了一大块内存这一大块内存给 java 程序使用的时候又会根据实际的使用用途来划分出不同的空间这就是所谓的“区域划分” 堆 代码中 new 出来的对象都是在堆里。对象中持有的非静态成员变量也都在堆里。只有一份 静态成员变量在元数据区 栈 本地方法栈/虚拟机栈。包含了方法调用关系和局部变量 在代码执行过程中肯定会涉及到很多方法的调用调用的关系就通过栈空间记录下来虚拟机栈记录了 Java 代码的调用关系Java 代码的局部变量本地方法栈记录了 JVM 内部通过 C 写的代码的调用关系和局部变量 一般不会关注本地方法栈一般来说谈到栈就默认指的是“虚拟机栈” 这里谈到的“堆“和“栈“和数据结构中的“堆“和“栈“是不同的。这里的是两块区域 程序计数器 这个区域比较小专门用来存储下一条要执行的 Java 指令的地址 元数据区 “元数据”是计算机中的一个常见术语meta data往往指的是一些辅助性质的描述性质的属性。只有一份 比如硬盘上不仅仅要存储数据本体还要存储一些辅助信息文件的大小、文件的位置、文件的拥有者、文件的修改时间、文件的权限信息… 这些辅助信息统称为“元数据” 在以前的 Java 版本中也叫做“方法区”从 1.8 开始改的名字 云数据区中主要保存 类的信息方法的信息 一个程序有哪些类、每个类里都有哪些方法、每个方法里面都要包含哪些指令都会记录在元数据区。 我们写的 Java 代码if、while、for 等各种逻辑运算这些操作都会被转换成 Java 字节码 javac 就会完成上述代码到字节码的转换此时这些字节码在程序运行的时候就会被 JVM 加载到内存中放到元数据区方法区里面之后当前程序要如何执行要做哪些事情就会按照上述元数据区里面记录的字节码一次执行了 我们所编写的代码都会被转换成二进制指令都会进入到内存中然后才能执行。 类似于剧本杀 剧本杀里面给美格玩家发一个剧本每个玩家就按照剧本上给出的要求来演此处所谓 Java 字节码要执行的方法的细节就像剧本一样需要把剧本加载到内存中然后才能执行 堆和元数据区只有一份所有线程共享一份栈和程序计数器可能有 n 份和线程相关每个线程都有自己的程序计数器和栈每个线程有自己的执行流 经典笔试题 在下面代码中t、n、m 分别处于 JVM 内存中的哪个区域 class Test() {private int n;private static int m; }main() {Test t new Text(); }t 是一个局部变量引用类型在栈上n 是 Test 的成员变量new 出来的 Test 是在堆上的所以 n 作为成员变量也是处于堆上static 修饰的变量称为“类属性”static 修饰的方法称为“类方法”非 static 修饰的变量称为“实例属性”非 static 修饰的方法称为“实例方法”所以这里的 m 是长在类上的成员和 new 不 new 实例没有关系。上述带有 static 修饰的变量就是在类对象中也就是在元数据区中方法区 类对象Test.class JVM 把 .class 文件加载到内存之后就会把这里的信息使用对象来表示此时这样的对象就是类对象类对象里就包含了一系列的信息包括但不限于 类的名称类继承自那个类实现了哪些接口都有哪些成员都叫什么都是什么类型都是什么权限都有哪些方法都叫什么都是什么参数都是什么权限 .java 文件中涉及到的信息都会在 .class 中有所体现注释是不会包含的 区分一个变量在哪个内存区域中最主要的就是看变量的形态 局部变量成员变量静态成员变量…
http://www.hkea.cn/news/14336653/

相关文章:

  • 连锁加盟网站制作快速微信网站建设
  • 城乡建设部网站ps做的网站首页
  • 自己的做网站自建网站平台有哪些功能
  • 免费源码资源站做一个微信小程序游戏需要多少钱
  • 怀安网站制作怎嘛做网站
  • 网站建设博采wordpress文章迁移
  • 个人如果做网站赚钱wordpress重写登录页面
  • 洛阳做网站的有网站建wap
  • 校园官方网站建设给公司建网站需要多少钱
  • 网页设计网站多少钱网站相对路径 .
  • 杨浦网站建设公司长沙做网站湖南微联讯点不错
  • nat123做网站 查封杭州学编程哪里的培训机构好
  • 响应式网站的几种尺寸wordpress单点sso
  • 一般产地证去哪个网站做郑州房产信息网查询系统
  • 万能引流软件衡阳做网站优化
  • 教育网站 网页赏析企业免费网站设计公司
  • 网站站内交换链接怎么做新手怎么搭建网站
  • 网站开发 产品经理wordpress 归档页面地址
  • 怎么做锅炉网站网站做优化有必要吗
  • 百度文库怎么做网站排名西安企业资本服务中心有限公司
  • 福清建设局网站中国经济网
  • 网站怎么做外链接地址西安搬家公司收费
  • 建设网站对公司起什么作用有那种网站么
  • 最新互联网项目平台网站婚庆租车
  • 信阳专业做网站公司青岛专业网站建设定制
  • 深圳建设网站个人wordpress做更改老是失败
  • 做军事网站的项目背景asp做的网站数据库在哪里
  • 长沙铭万做网站贵州seo和网络推广
  • 知己知彼网站网站经营跟备案不符
  • 全国网站建设企业专门做视频点评的网站