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

ui作品集 网站怎么做三亚旅游网

ui作品集 网站怎么做,三亚旅游网,开平网站设计,国外网站开发现状目录 一.JVM内存区域划分 二.JVM类加载机制 类加载过程 类加载的时机 双亲委派模型 三.JVM垃圾回收机制#xff08;GC) GC工作过程 1.找到垃圾/判断垃圾 #xff08;1#xff09;引用计数【python/PHP】 #xff08;2#xff09;可达性分析【Java】 2.对象释放…目录 一.JVM内存区域划分 二.JVM类加载机制 类加载过程 类加载的时机 双亲委派模型 三.JVM垃圾回收机制GC) GC工作过程 1.找到垃圾/判断垃圾 1引用计数【python/PHP】 2可达性分析【Java】 2.对象释放 1标记清除算法 2复制算法 3标记整理算法 4分代回收算法 JVM即Java虚拟机 一.JVM内存区域划分 JVM是一个应用程序要从操作系统里申请内存。在启动的时候会申请到一个很大的内存区域。JMV要根据需要把整个空间分成几个部分每个部分各自有不同的功能作用。 此处的栈不是数据结构中的栈后进先出这里的栈是JVM的一个特定空间。对于JVM虚拟机用来存储native方法之间的调用关系对于本地方法栈存储的是native方法之间的调用关系。 栈空间的内部包含多个元素每个元素表示一个方法。每个元素称为一个“栈帧”一个栈帧中包含这个方法的入口地址、参数、返回地址、局部变量..... 方法区一个进程里只有一块多个线程共用这一块 栈每个线程有一份每个进程有N个 堆每个进程有N个 每个线程用自己的栈多个线程用同一个堆。 基本原则 1.局部变量在栈上 2.普通成员变量在堆上 3.静态成员变量在方法区元数据区 二.JVM类加载机制 类加载就是.class文件从文件硬盘被加载到内存中元数据区的过程。 类加载过程 记忆 加载找到.class文件读取文件内容 验证根据jvm虚拟机规范检查.class文件的格式是否符合要求 准备给类对象分配内存空间此时内存初始化全成0 解析对字符串常量进行初始化把符号引用转换成直接引用。 初始化调用构造方法对类对象里的内容进行初始化。加载父类执行静态代码块。 类加载的时机 不是Java程序一运行就把所有的类加载了而是正真用到才加载。 1.构造类的实例 2.调用这个类的静态方法/使用静态属性 3.加载一个子类就需要先加载其父类 双亲委派模型 描述的是这个加载找.class文件的基本过程 JVM默认提供了三个类加载器 首先加载一个类的时候是先从ApplicationClassLoader开始一层一层往上委托给自己的父亲。当没有父亲/父亲加载完没有上级的类才由本层进行加载。当轮到BootstrapClassLoader进行加载时它会负责搜索自己负责的标准库相关的类如果找到就加载。如果没有找到就继续由子类加载器加载。 这个顺序最主要的目的就是为了保证Bootstrap能够先加载Application能够后加载。这样的机制可以保证当用户在自己的代码中创建了一个和标准库相同名字的类的时候不会让jvm已有的代码混乱。 三.JVM垃圾回收机制GC) 垃圾不再使用的内存 垃圾回收机制把不用的内存自动释放 GC主要针对堆进行释放的。GC是以“对象”为基本单位进行回收的。 GC回收的是整个对象都不再使用的情况。 GC工作过程 1.找到垃圾/判断垃圾 判断对象是否有“引用”指向它。Java中是通过引用来使用对象的。如果一个对象没有引用指向了就不会再被使用了。 1引用计数【python/PHP】 给每个对象分配了一个计数器每次创建一个引用指向该对象计数器1每次引用被销毁计数器减-1。 局限 1内存空间浪费多每个对象都需要分配一个计数器。当对象本身很小时多一个计数器的空间会使空间的利用率大大降低 2存在循环引用的问题。当两个对象相互指向时此时销毁一个对象两个对象的计数器都-1,但实际上销毁一个对象另外的一个对象也会不存在 2可达性分析【Java】 前提Java中的对象都是通过引用来指向访问的。Java中的对象通过链式/树形结构整体串起来类比定义一个二叉树 可达性分析就是把所有这些对象被组织的结构视为是树从根节点出发遍历树所有能被访问到的对象标记为“可达”不能访问到的就标记为“不可达” jvm通过上述遍历把不可达的作为垃圾进行回收。 2.对象释放 1标记清除算法 简单粗暴把标记的垃圾清除掉。但是被释放的空闲空间是零散的不是连续的。 而申请内存时要求的是连续的空间。总的空闲空间很大但是每个具体的空间都很小可能导致在申请较大一点的内存的时候就申请失败了 2复制算法 复制算法解决的就是上述标记清除算法带来的“内存碎片”问题 缺点 1.空间利用率低 2.如果垃圾比较少有效对象多复制成本就比较大 3标记整理算法 保证了空间利用率同时也解决了内存碎片。但是效率并不高搬运空间大时效率会降低。 上述的三种算法都有各自的缺点。所以把垃圾回收分成不同的场景让三种算法对应不同的需求扬长避短。为此提出了分代回收算法。 4分代回收算法 根据生命周期的长短分别使用不同的算法。给对象引入“年龄”这个概念年龄熬过GC的轮次经历一轮可达性分析的遍历判断是否是垃圾 年龄越大这个对象存在的时间越久。 伊甸区到幸存区复制算法 幸存区之后也要周期性的接受GC的考验。如果变成垃圾就要被释放如果不是垃圾就被拷贝到另外一个幸存区。俩个幸存区同一个时刻只用一个两者之间来回拷贝。幸存区的体积不大空间浪费也就不大。 两个幸存区之间复制算法 如果对象在俩个幸存区之间已经来回拷贝许多次这个时候就要进入老年代。老年代也要周期性扫描但是频率会更低。 老年代对象是垃圾时使用标记整理的方式进行释放。
http://www.hkea.cn/news/14426373/

相关文章:

  • 建站的平台天津seo网络优化师
  • 广东工程建设监理协会网站期货交易平台
  • 做百度推广去些网站加客户宿迁人才网
  • 淄博建设网站湖南建设厅官方网站
  • 重庆渝中区企业网站建设联系电话官网怎么进入
  • 网站建设保密协议网站怎么做成手机版
  • 有色建设网站wordpress 知言
  • 怎样做网站404网上购物网站开发的目的
  • 自助建站系统个人网站中小企业网络设计与实现
  • 做啥网站最挣钱win主机wordpress
  • 衡水做网站优化网站后台的验证码
  • ps做汽车网站下载地址docker 搭建 wordpress
  • 网站短时间怎么做权重东莞怎样制作免费网页
  • 搬瓦工的主机做网站自己网站上做支付宝怎么收费的
  • 易县网站建设做花酒的网站
  • 杭州专业做网站的公司石家庄网站建立
  • 设计网站页面好处网站是哪个公司做的好处
  • 十大网站建设服务商网站建设标准流程
  • 传奇网站模板psd网站样式下载
  • php网站开发实例教程 源代码网站制作风格类型
  • 天翼云主机怎么建设网站为了做宣传网站而注册公司
  • 做视频网站需要设计图片网站哪个好
  • 使用asp.net做购物网站社保服务个人网站
  • 自己的网站怎么做淘宝联盟电子商务网站建设应用
  • 在深圳市做一个网站多少钱apache 网站建设
  • 深圳网站建设网络做网站时尺寸多大
  • 湛江建设网站在线一键免费生成网页网站
  • 做网站建设销售工资高吗常见的c2c平台有
  • 大型网站 中小型网站百度数字人内部运营心法曝光
  • 深圳招聘网站哪个好网站备案 二级域名