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

营销型网站建设搭建方法WordPress连接符

营销型网站建设搭建方法,WordPress连接符,wordpress 更改语言,企业网站无线端怎么做面试过程中最经典的一题#xff1a; 请你讲讲在JVM中类的加载过程以及垃圾回收#xff1f; 加载过程 当Java虚拟机#xff08;JVM#xff09;启动时#xff0c;它会通过类加载器#xff08;ClassLoader#xff09;加载Java类到内存中。类加载是Java程序运行的重要组成…面试过程中最经典的一题 请你讲讲在JVM中类的加载过程以及垃圾回收 加载过程 当Java虚拟机JVM启动时它会通过类加载器ClassLoader加载Java类到内存中。类加载是Java程序运行的重要组成部分它负责将字节码文件加载到内存并将其转换为运行时的Java类。 加载Loading: 通过类的完全限定名查找此类字节码文件利用字节码文件创建Class 对象. 链接(Linking) 分为三个阶段验证Verification、准备Preparation、解析Resolution。 验证阶段确保加载的类符合Java语言规范不会危害JVM的安全。验证包括文件格式验证、元数据验证、字节码验证和符号引用验证在准备阶段为类的静态变量分配内存空间并将其初始化为默认值。这些静态变量会在方法区中分配内存空间但不会为其赋予初始值初始值在后面的初始化阶段进行赋值。解析阶段是将类、接口、字段和方法的符号引用解析为直接引用的过程。这个过程可能包括将常量池中的符号引用替换为直接引用、对类和接口的全限定名进行解析等。 初始化Initialization在初始化阶段JVM会执行类构造器()方法该方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块static{}块中的语句合并产生的。JVM会保证类的初始化是线程安全的即只会执行一次。在这个阶段静态变量会被赋予初始值静态代码块会被执行。 加载机制 双亲委派机制Parent Delegation Model是Java类加载器ClassLoader的一种工作机制。在Java中类加载器按照一种树形结构层级来组织每个类加载器都有一个父类加载器。当一个类加载器需要加载一个类时它首先会委派给其父加载器去尝试加载只有在父加载器无法加载该类的情况下才会由子加载器尝试加载。这种加载方式称为双亲委派机制。 优点 避免重复加载 通过委派给父加载器可以避免在不同的类加载器中重复加载同一个类从而节省内存和系统资源。 安全性 通过双亲委派机制系统类库通常由引导类加载器加载而用户自定义的类通常由应用程序类加载器加载这样可以有效地保护系统核心类不受用户篡改。 层级管理 可以通过双亲委派机制有效地管理类加载器的层级结构保证类的加载顺序和一致性。 图解加载机制 分代回收 分代垃圾回收机制是一种优化垃圾回收效率的策略它将内存分为不同的代并根据对象的生命周期将对象分配到不同的代中以实现更高效的内存回收。 分代垃圾回收 分代垃圾回收机制将堆内存划分为几个不同的代通常是新生代Young Generation、老年代Old Generation和永久代PermGenJDK 7及以前版本。其中新生代用于存放刚刚被创建的对象老年代用于存放生存时间较长的对象永久代在 JDK 8 中被元数据区Metaspace取代用于存放类的元数据信息。 分代垃圾回收的主要思想是根据对象的生命周期来进行优化。通常情况下大部分对象的生命周期都很短暂它们很快就会变成垃圾。因此分代垃圾回收机制将堆内存划分为一个较大的新生代和一个较小的老年代。新生代采用复制算法进行垃圾回收而老年代采用标记-清除算法或标记-整理算法进行垃圾回收。 新生代垃圾回收 新生代采用了复制算法进行垃圾回收。新生代被划分为一个较大的 Eden 区和两个较小的 Survivor 区通常称为 From 区和 To 区。当新对象被创建时它们被分配到 Eden 区。当 Eden 区满时触发 Minor GC新生代垃圾回收。在 Minor GC 过程中存活的对象将被复制到 To 区然后清空 Eden 区和 From 区并将 To 区与 From 区交换角色。这个过程称为清除Clear和复制Copy。在多次 Minor GC 后仍然存活的对象会被晋升到老年代中。 老年代垃圾回收 老年代主要用于存放生命周期较长的对象。它采用了标记-清除算法或标记-整理算法进行垃圾回收。在老年代垃圾回收过程中首先标记所有存活的对象然后清除未标记的对象。在标记-清除算法中清除后会产生内存碎片而在标记-整理算法中存活的对象会被整理到一端从而减少内存碎片的产生。尽管Full GC 发生的次数不会有 Minor GC 那么频繁但是做一次 Full GC 要比进行一次 Minor GC 的时间更长。有的面试官还会问什么情况下会full gc不仅仅要想到堆空间不足的情况还有 System.gc() 这个函数 上图仅仅是一个示意图 SO,S1的角色每轮会互换。 而且各个分区比例可以通过JVM参数进行调整。默认情况下 新生代和老年代的比例为1:2。S0:S1:Eden 118 回收算法 在面试经常问到的两个问题就是如何标记和如何清除 如何标记 引用计数法Reference Counting是一种垃圾回收算法其基本思想是为每个对象维护一个引用计数器用于记录当前对象被引用的次数。当引用计数器减少到零时说明该对象不再被任何其他对象引用即成为垃圾对象可以被回收。 当然这并不理想因为会出现循环引用。所以引出第二个算法 可达性分析Reachability Analysis是一种垃圾回收算法中常用的技术。它用于确定在堆内存中哪些对象是“可达”的即哪些对象可以被程序的根节点通常是全局变量、活动线程栈上的对象等直接或间接引用到。基于可达性分析垃圾收集器可以识别出不再被任何可达对象引用的对象并将其标记为可回收的垃圾对象。 清除算法 G1 算法 JDK9之后默认的垃圾回收算法特点保持高回收率的同时减少停顿.采用每次只清理一部分而不是清理全部的增量式清理以保证停顿时间不会过长 其取消了年轻带与老年代的物理划分但仍属于分代收集器算法将堆分为若干个逻辑区域(region)一部分用作年轻带一部分用作老年代还有用来存储巨型对象的分区.和CMS相同会遍历所有对象标记引用情况清除对象后会对区域进行复制移动以整合碎片空间. 年轻带回收并行复制采用复制算法并行收集会 StopTheWorld. 老年代回收会对年轻带一并回收 初始标记完成堆 root 对象的标记会 StopTheWorld.并发标记 GC 线程和应用线程并发执行. 最终标记 完成三色标记周期会 StopTheWorld.复制/清除会优先对可回收空间加大的区域进行回收。 ZGC 算法 针对大堆内存设计可以处理 TB 级别的堆可以做到 10ms 以下 的回收停 顿时间. 特点 着色指针读屏障并发处理基于 region内存压缩整理 roots标记标记 root 对象会StopTheWorld.并发标记利用读屏障与应用线程一起运行标记可能会发生 StopTheWorld.清除会清理标记为不可用的对象. roots 重定位是对存活的对象进行移动以 腾出大块内存空间减少碎片产生.重定位最开始会 StopTheWorld取决于重定位集与对象总活动集的比例. 并发重定位与并发标记类似. 总结 JVM的类加载过程和垃圾回收是面试中几乎必问的问题作为八股文中最经典的存在大家一定要熟记最好刻在DNA中。
http://www.pierceye.com/news/803369/

相关文章:

  • 重庆如何软件网站推广陕西省诚信建设示范网这个网站
  • 怎样做关键词网站wordpress建站购买
  • app开发模板网站老网站备案密码错误
  • 北京展示型网站建设价格seosem是指什么意思
  • 网站开发费用构成论坛静态网站源码
  • 百度怎么把自己网站展现在百度森动网网站建设好吗
  • 城市生活网官方网站app成都设计院
  • 移动网站开发实训报告清远企业网站建设
  • 手机版网站如何做陕西城乡建设网站
  • 大连网站建设事件营销的特点
  • 做语音聊天网站要多少钱app界面设计模板素材免费
  • 设计网站专题页包括那些项目个人做网站要买什么域名
  • 建网站 方法中信建设有限责任公司获奖
  • 做宠物商品的网站无锡自适应网站开发
  • 网站后台怎样登陆做网站数据库及相关配置
  • 昆明seo网站排名网站代码 输入文字 跳出内容
  • 济南建站公司网站广州市网站设计
  • 网站模板做的比较好的公司网站制作汇报会
  • 个人网站图片海外网站备案
  • 兰州手机网站制作公司哪家好网店分销平台
  • 百度建立自己的网站网络工程师培训课程
  • 微网站的制作过程海南注册公司怎么注册
  • 公司网站制作投标建站行业都扁平化设计
  • 男女做a视频网站wordpress询价功能
  • 网站建设视频百度网盘下载我做网站价格
  • 江苏省建设集团有限公司网站首页东莞网络推广外包
  • 梁平网站建设莱芜网络营销
  • 自学网站建设需要什么学历学校网站建设总结报告
  • 增城新塘网站建设平面设计技术培训机构
  • 游戏网站开发视频运动品牌网页设计