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

绚丽的网站欣赏有没有专门的销售公司

绚丽的网站欣赏,有没有专门的销售公司,用墨刀做网站后台原型,企业官方网站怎么查1.什么是JVM#xff1f; JVM就是Java虚拟机【Java Virtual Machine】#xff0c;简称JVM。主要部分包括类加载子系统#xff0c;运行时数据区#xff0c;执行引擎#xff0c;本地方法库等#xff0c;接下来我们一一介绍 2.类加载子系统 JVM中运行的就是我们日常写的JA…1.什么是JVM JVM就是Java虚拟机【Java Virtual Machine】简称JVM。主要部分包括类加载子系统运行时数据区执行引擎本地方法库等接下来我们一一介绍 2.类加载子系统 JVM中运行的就是我们日常写的JAVA代码代码经过编译加生成.class文件在经过类加载子系统加载到内存中如图 3.JVM运行时数据区 3.1方法区内存共享 存储的就是类对象包括类方法和对象方法 存储数据是公共的所有线程都可以访问这个区域 补充方法区别称 JDK7称为永久代 JDK8及以后称为元空间 补充**如何区别类方法和对对象方法** 对象方法调用时会有一个隐式this引用表示当前对象自己而类对象全局统一。 3.2堆内存共享 用来存放在代码中用new关键字创建的对象。也是JVM中内存使用最大的区域。 3.3JAVA虚拟机栈线程私有 每创建一个线程都会在内存中创建一个对应的虚拟机栈栈中存放的是栈帧。 该线程每调用一个方法虚拟机中就会入栈一个栈帧栈帧中存储的信息与该方法息息相关主要包括局部变量表操作站栈动态连接方法返回地址如图 所以当某线程虚拟机栈空了也就说明该线程中的方法已经执行完毕反之亦然。 3.4本地方法栈 调用本地方法时使用的栈 3.5程序计数器线程私有 用来记录线程当前执行到了哪一行下次CPU调度时从计数器位置开始执行多线程 搞懂了这些部分分别是做什么的我们再来说**.class文件时如何被JVM加载并运行** 1.类加载子系统把.class文件加载到运行时数据区。 2.将类对象类方法和对象方法存在方法区后续new对象可以直接从这里找到模板以便进行对象创建操作。 3.new 出来的对象全部放在堆区。 4.创建的每个线程分配一个虚拟机栈线程中被调用的方法信息记录在栈帧中并依次入栈可以说栈中存的是线程对方法的调用层级。 5.本地方法栈中存的是本地方法的调用层级。 6.程序计数器记录的是当前线程的执行的行号。 4.JVM类加载过程 4.1加载 通过类的全限定名找到所有的.class文件加载到内存中 4.2验证 验证.class文件是否符合JVM标准 4.3准备 为静态变量以及静态方法分配内存空间并按照数据类型设置初始值例如int 初始值为0。 4.4解析 JVM把常量池中的符号引用例如int 符号引用为I替换为真实引用 4.5初始化 执行类的初始化代码被static修饰的 4.6使用 使用的也就是刚刚加载的类所以使用阶段也是new对象执行构造方法和父类构造方法的阶段。 4.7卸载 程序停止时–从JVM中卸载。 5.双亲委派模型 双亲委派模型是Java类加载器的一种工作模式该模式主要用于JVM类加载阶段用于保证JDK中定义的类不被恶意修改。以下是它的工作图 具体流程 1.当创建一个类时先从应用加载器开始向上转发一直到启动加载器 2启动加载器在自己路径下找这个类若找到则加载没有则向下转发给扩展加载器 3.扩展加载器在自己路径下找这个类若找到则加载没有则向下转发给应用程序加载器 4.应用程序加载器在自己路径下找这个类找到则加载找不到则报异常或错误 6.垃圾回收 说完了类的加载和卸载我们来讲对象是如何被回收的毕竟我们前面讲堆区是JVM中使用内存最大的区域为什么最大因为程线程中创建的各种对象多呗有时一个对象被创建可能仅仅使用一次就不用了对于这些对象我们要及时回收不然放那不管是占内存的。 那垃圾回收中的“垃圾”其实也就是不再使用的对象垃圾回收也就是回收对象占用的堆内存。 所以问题就在于如何标识对象是否死亡 6.1引用计数算法 核心思想对于堆中对象引用一次计数加一消除引用一次计数减一当堆中对象引用计数为0时表示该对象已经死亡。 该算法缺点内存泄漏----堆中某个对象对应的内存空间永远也回收不了。 举个例子 经过上诉一番操作t1对象和t2对象虽然还未死但是t1.instance所引用的对象永远也访问不了那这个内存就回收不了所以这种算法我们一般不用。 6.2可达性分析算法 核心思想通过某一个根节点GC root出发访问不到某个对象则判定该对象死亡本轮GC标记下轮GC回收内存空间。 6.3标记-清除算法 判定哪些对象已死亡需要回收我们OK了那么如何回收死亡对象呢 首先登场的时标记-清除算法工作原理如下图 GC一次垃圾回收垃圾回收的时候会停止所有用户进程STWStop The World 缺点会产生大量不连续的空间碎片看图也能看出来 导致如果有一个大对象将会没有足够的内存空间存放-------》导致再次触发GC-------》再次触发STW而GC的时间是不可控的一秒一天一周都有可能随着计算机和网络的发展这样的时间成本是不可接受的。 6.4复制算法 工作原理如下图 核心思想将内存区域划分为两个大小相等的区域区域1来放对象区域2暂时空闲当GC开始时先将区域未死亡对象复制到区域2并按照内存地址顺序整理好然后全面清除区域1完成一次完整GC。 优点解决了内存空间不连续的问题。 缺点空间利用率不高只有一半如果要存储8G对象就要准备至少16G空间。 6.5标记整理算法 核心思想每回收一次对象后将剩余对象向一端整理。具体如下图 核心思想在回收死亡对象之后将剩余对象向一端移动。 优点空间利用率提升了不再是50%了。 缺点在移动对象的过程中效率势必会受很大影响。 6.6分代算法GC中真正使用的算法 核心思想将整个内存区域分为新生代占内存三分之一和老年代占内存三分之二 新生代用来存放刚new 出来的对象大部分“朝生暮死”老年代用来存放在新生代经历多次GC而未被回收的对象。 新生代采用复制算法老年代采用标记-整理算法。 新生代又分为Eden区From区和To区Eden区占新生代内存的五分之四剩余由From区和To区占有。 具体回收过程如下图 每个对象的对象头中有一个字段记录着该对象“年龄”每GC一次而未被回收则年龄加一在新生代中年龄超过某个特定值一般默认为15则会被强制移到老年代。
http://www.hkea.cn/news/14535607/

相关文章:

  • 泰安微信网站建设修改wordpress文章发布页面模板
  • htmi 个人小网站 模板广州网站开发水平广州亦客网络
  • 国外好的室内设计网站网站建设公司排行
  • 网站开发者工资互联网营销是干什么
  • 好用的html 模板网站免费友链互换
  • 贵阳建站推广公司重庆市工程建设信息网官网新域名
  • 展会网站模板wordpress登录400错误
  • 网站建设拾金手指下拉十九企业网站开发上海韵茵
  • 可信网站认证 服务中心网站设计画布规范1680
  • 宁波网站制作设计网站怎么做404页面的跳转
  • 网站模板下载工具哪个网站可以做字体大小
  • 创业网站平台排名wordpress外链跳转样式
  • 公司域名更改 网站怎么做提示wordpress外观小工具
  • 专业做网站的团队推荐南通住房和城乡建设局网站首页
  • iis7.5发布网站教程网站名字大全有哪些
  • 有设计感的网站wordpress自己发文章
  • 动易 网站顶部导航 sitefactory企业网站建设流程的第一步工作是
  • 深圳营销型网站建设服务商代码wordpress
  • 做网站的人跑了网站可以恢复吗暴雪公司现状
  • 网站网络推广优化营销型网站报价
  • 有哪些做网站公司长沙网站seo排名
  • 做景观素材有哪几个网站开发公司行政部提升
  • 受欢迎的昆明网站建设惠州app开发公司
  • 移动端网站怎么布局岳阳找工作网站
  • 深圳建设合同备案 网站东莞网站开发多少钱
  • 网页设计与制作个人网站模板网站建设任务和标准
  • 网站建设保障方案广告店
  • 做电玩城设计的网站苏醒wordpress
  • 网上购物网站开发网站怎么做商桥
  • seo学院徐州seo计费管理