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

编程教学入门教程百度移动端优化

编程教学入门教程,百度移动端优化,zencart添加wordpress,wordpress精致博客主题创建对象过程 类加载 一个类从被加载到虚拟机内存中开始,到从内存中卸载,整个生命周期需要经过七个阶段:加载 、验证、准备、解析、初始化、使用和卸载。 类加载过程分为三个主要步骤:加载、链接、初始化 加载:通过…

创建对象过程

在这里插入图片描述

类加载

一个类从被加载到虚拟机内存中开始,到从内存中卸载,整个生命周期需要经过七个阶段:加载 、验证、准备、解析、初始化、使用和卸载。

类加载过程分为三个主要步骤:加载、链接、初始化
在这里插入图片描述

  • 加载:通过类的全限定名(包名 + 类名),获取到该类的.class文件的二进制字节流,将二进制字节流所代表的静态存储结构,转化为方法区运行时的数据结构(包括运行时常量池),在内存中生成一个代表该类的 Java.lang.Class 对象,作为方法区这个类的各种数据的访问入口。Class 对象通过指针直接关联运行时常量池,例如:Class.getConstantPool() 可获取常量池。
  • 连接:验证、准备、解析 3 个阶段统称为连接。
    • 验证:检查类文件格式是否符合 JVM 规范
    • 准备:为类的静态变量分配内存并设置默认值。
    • 解析:将符号引用替换为直接引用。
  • 初始化:执行类的构造器方法(() ),要注意的是这里的构造器方法()并不是开发者写的,而是编译器自动生成的。
  • 使用:使用类或者创建对象
  • 卸载:如果有下面的情况,类就会被卸载:1. 该类所有的实例都已经被回收,也就是Java堆中不存在该类的任何实例。2. 加载该类的ClassLoader已经被回收。 3. 类对应的Java.lang.Class对象没有任何地方被引用,无法在任何地方通过反射访问该类的方法。

双亲委派机制

双亲委派模型要求类加载器在加载类时,先委托父加载器尝试加载,只有父加载器无法加载时,子加载器才会加载。
在这里插入图片描述
①、避免类的重复加载:父加载器加载的类,子加载器无需重复加载。

②、保证核心类库的安全性:如 java.lang.* 只能由 Bootstrap ClassLoader 加载,防止被篡改。

垃圾回收

什么时候触发?

  • 内存不足时:当JVM检测到堆内存不足,无法为新的对象分配内存时,会自动触发垃圾回收。
  • 手动请求:虽然垃圾回收是自动的,开发者可以通过调用 System.gc() 或 Runtime.getRuntime().gc() 建议 JVM 进行垃圾回收。不过这只是一个建议,并不能保证立即执行。
  • JVM参数:启动 Java 应用时可以通过 JVM 参数来调整垃圾回收的行为,比如:-Xmx(最大堆大小)、-Xms(初始堆大小)等。
  • 对象数量或内存使用达到阈值:垃圾收集器内部实现了一些策略,以监控对象的创建和内存使用,达到某个阈值时触发垃圾回收。

怎么判定哪些是垃圾?

两种主流的垃圾回收算法:引用计数法和可达性分析算法

引用计数法

  • 原理:为每个对象分配一个引用计数器,每当有一个地方引用它时,计数器加1;当引用失效时,计数器减1。当计数器为0时,表示对象不再被任何变量引用,可以被回收。
  • 缺点:不能解决循环引用的问题,即两个对象相互引用,但不再被其他任何对象引用,这时引用计数器不会为0,导致对象无法被回收。

可达性分析算法

在这里插入图片描述

垃圾收集算法

标记清除算法

在这里插入图片描述
标记-清除算法有两个缺陷,一个是 效率问题,标记和清除的过程效率都不高,另外一个就是,清除结束后会造成大量的 碎片空间

标记复制算法

在这里插入图片描述
缺点是 浪费了一半的内存空间

标记整理算法

在这里插入图片描述
缺点是 移动对象的成本比较高

分代回收算法

​垃圾回收算法本身不区分代,但 JVM 会根据不同代的特点选择合适的算法。新生代用复制算法,因为大部分对象生命周期短。老年代用标记-整理算法,因为对象存活率较高。
在这里插入图片描述

Minor GC、Major GC、Mixed GC、Full GC 都是什么意思?

  • Minor GC 也称为 Young GC,是指发生在年轻代的垃圾收集。年轻代包含 Eden 区以及两个 Survivor 区。
  • Major GC 也称为 Old GC,主要指的是发生在老年代的垃圾收集。是 CMS 的特有行为。
  • Mixed GC 是 G1 垃圾收集器特有的一种 GC 类型,它在一次 GC 中同时清理年轻代和部分老年代。
  • Full GC 是最彻底的垃圾收集,涉及整个 Java 堆和方法区。它是最耗时的 GC,通常在 JVM 压力很大时发生。

G1回收器

在这里插入图片描述
G1 ​仍然区分新生代和老年代,只是不再固定划分内存区域,而是 ​动态调整 Region 的分代角色。这种区域化管理使得 G1 可以更灵活地进行垃圾收集,只回收部分区域而不是整个新生代或老年代

G1 收集器的运行过程大致可划分为这几个步骤:

  1. 并发标记,G1 通过并发标记的方式找出堆中的垃圾对象。并发标记阶段与应用线程同时执行,不会导致应用线程暂停。

  2. 混合收集,在并发标记完成后,G1 会计算出哪些区域的回收价值最高(也就是包含最多垃圾的区域),然后优先回收这些区域。这种回收方式包括了部分新生代区域和老年代区域。
    选择回收成本低而收益高的区域进行回收,可以提高回收效率和减少停顿时间。

  3. 可预测的停顿,G1 在垃圾回收期间仍然需要「Stop the World」。不过,G1 在停顿时间上添加了预测机制,用户可以 JVM 启动时指定期望停顿时间,G1 会尽可能地在这个时间内完成垃圾回收。

http://www.dtcms.com/wzjs/46281.html

相关文章:

  • 建设网站涉及哪些问题app推广公司
  • 一般网站做哪些端口映射网红推广一般怎么收费
  • 网站建设接单平台百度搜索推广登录入口
  • 沈阳做网站 智域百度查询关键词排名工具
  • 温州建设小学瓯江校区网站互联网销售可以卖什么产品
  • 手机网站开发成app汉中网络推广
  • 手机单页网站制作最火的网络销售平台
  • h5手机网站怎么做网站登录入口
  • 长春建站价格网站建设排名优化
  • 博客网站模板各平台推广费用
  • 电子商务网站建设与管理考试例题营业推广是什么意思
  • 打开网站乱码怎么做代运营服务
  • 衢州做网站的公司关键词点击工具
  • 网站空间格式asp百度西安
  • wordpress访问显示502武汉seo霸屏
  • 网站设计与制作教程济南seo培训
  • 自己电脑做服务器上传网站 需要备案吗二级域名免费申请
  • 做安卓icon图标包下载网站推广app接单网
  • 网站空间租用有哪些服务怎么创建个人网站
  • wordpress主题 tseo关键词排名技术
  • 天津哪里做网站最好优化网站教程
  • 缪斯设计公司做设计师发展怎么样深圳seo排名优化
  • 青岛高端网站设计公司吉林网络seo
  • 网站建设征求意见稿南宁网络推广服务商
  • .net做网站实例 贴吧推广手段有哪些
  • 物流网站设计毕业论文资源最全的网盘搜索引擎
  • 网站建设 风险山东网络优化公司排名
  • 创办网站需要怎么做seo基础知识包括什么
  • 网站做全局搜索做网站关键词优化的公司
  • 网站建设和空间网址搜索引擎入口