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

电脑网站怎么制作修改wordpress发表评论

电脑网站怎么制作,修改wordpress发表评论,wordpress+瀑布流加载,行业网站怎么建设在《深入理解Java虚拟机》一书中#xff0c;介绍了JVM的相关特性。 1、JVM的内存区域划分 在真实的操作系统中#xff0c;对于地址空间进行了分区域的设计#xff0c;由于JVM是仿照真实的机器进行设计的#xff0c;那么也进行了分区域的设计。核心区域有四个#xff0c;…在《深入理解Java虚拟机》一书中介绍了JVM的相关特性。 1、JVM的内存区域划分 在真实的操作系统中对于地址空间进行了分区域的设计由于JVM是仿照真实的机器进行设计的那么也进行了分区域的设计。核心区域有四个分别为程序计数器、元数据区、栈、堆。此处的栈和堆与数据结构中的栈和堆不一样。 元数据区和堆是整个 java 进程共用一份的程序计数器和栈在一个进程中可能有多份即每个进程都有一份。 1程序计数器 很小的一块地址用来记录指令运行到哪个地址了。 2元数据区 保存当前类被加载好的数据。 .java 文件需要先被编译为 .class 文件再将 .class 文件加载到内存中。 元数据区保存类的名字、类的可见性、类的继承关系、实现的接口等。 元数据区通常保存静态成员变量。 3栈 保存方法的调用关系此处使用了数据结构中的栈来进行保存。将先执行到的方法先入栈后执行方法后入栈。 比如在 main 方法中有 test 方法当开始运行时就会先将 main 入栈当代码执行到 test 方法后就会将 test 方法入栈当test 方法运行结束后就会返回到 main 中继续往下执行。图示如下 栈中的每个方格就是一个栈帧栈帧中保存了该方法的参数、局部变量、返回值、返回的地址即该方法结束后应该返回到哪个方法继续执行。 栈空间通常只有几MB、几十MB。 当程序出现异常如递归代码有问题时有可能会出现栈溢出StackOverFlow的情况。 栈通常保存局部变量。 4堆 堆是 JVM 中最大的内存空间。用来保存 new 出来的对象的。 2、类加载机制 1类加载的步骤 类加载一共有三大阶段第二阶段又分为三个步骤。 ① 加载找到 .class 文件 根据类的全限定名包名 类名如 java.lang.String找到后打开文件将文件内容读取到内u村中 ②验证 校验 .class 文件中的内容是否合法并将文件中的内容转化为结构化的数据 ③准备 给类对象申请内存空间即全 0 的空间 ④解析 针对字符串常量进行初始化。将文件中的字符串常量放到元数据区中。 ⑤初始化 针对类对象进行最终的初始化包括针对类对象各种属性的填充和类的静态成员。 若该类的父类还没有加载此环节也会触发父类的加载。 上面的五步中2、3、4步为第二阶段。 2双亲委派模型 在类加载的第一步中需要根据类的全限定名找到 .class 文件这就涉及到双亲委派模型。 在进行类加载时需要使用到类加载器。JVM 默认提供三种类加载器分别为 BootstrapClassLoaderJava 标准库目录、ExtensionClassLoaderJava 拓展库目录、ApplicationClassLoaderJava 第三方库 / 当前项目。BootstrapClassLoader 是 ExtensionClassLoader 的父类ExtensionClassLoader 是 ApplicationClassLoader 的父类。此处的父类不是父子关系而是通过 prant 引用进行指向。 在进行类加载时将 ApplicationClassLoader 作为入口开始把“类加载”的任务交给 ExtensionClassLoader 去完成但 ExtensionClassLoader 也不会马上进行查找而是将“类加载”的任务交给 BootstrapClassLoader 去完成。然后 BootstrapClassLoader 就会在标准库范围进行查找该 .class 文件是否存在若存在就加载若不存在就把任务返回给 ExtensionClassLoader 在拓展库中进行查找若找到就加载若没有找到就将任务返回给 ApplicationClassLoader在第三方库 / 当前项目进行查找若找到就加载若没找到就会抛出 ClassNotFoundException 异常。流程图如下 3、垃圾回收器 GC 由于手动进行内存释放太麻烦并且如果忘记释放就会出现内存泄漏于是Java使用 GC 来进行垃圾回收。这里指的垃圾通常为对象若这个对象在之后的代码中不会用到就会被视为“垃圾”进而被释放内存。 垃圾回收器回收的是堆上的内存。 使用 GC 释放垃圾分为以下两步找到垃圾、释放垃圾。 1找到垃圾 找到垃圾即找到不使用的类对象。有下面两个方法 ①引用计数Python等语言使用 在每次创建对象时都使用一块小的内存空间来保存一个整数这个整数就是当前对象有都少个引用指向它。每次进行引用赋值时都会触发这个整数的修改。若整数变为0就说明没有引用指向这个对象即这个对象变成了垃圾。 但是这个方法也有缺陷即 内存消耗更多当对象本身较小时消耗的空间比例就更大 可能会出现“循环引用”的问题。需要搭配其他的方案来解决该问题。 ②可达性分析Java使用 由于引用计数需要消耗空间于是可达性分析就用时间来换空间。 以代码中的一些特定对象作为起点对其他对象进行遍历将每次遍历到的对象设为可达遍历完成后不可达的对象就是已经没有引用指向的对象即垃圾需要被回收掉。 这里的遍历很像数或图的遍历。现有下面的二叉树 这里的每一个结点都代表一个对象。当将 c.right null 时在从 a 开始遍历时f 结点就遍历不到这时 f 就是不可达的就会将 f 回收掉当将 a.right null 时 当从 a 开始遍历时c 结点就是不可达的也就导致 f 结点不可达就会将 c 和 f 回收掉。 缺点每次需要将所有对象遍历一遍需要配消耗较大的时间和资源。 2释放垃圾 ①标记-清除 把垃圾对象的内存直接释放但是这样做会产生内存碎片问题。 图中b、d、f、h是垃圾若将其直接释放就会导致释放后的内存空间是零散的但由于申请内存时需要连续的内存那么这些被释放的内存空间就会无法使用需要的申请内存大于碎片的内存导致内存申请失败。 ②复制算法 在使用一部分内存时每次只使用这一部分的一半内存将创建的对象放在这一半内存上若有的对象需要被回收就会将不是垃圾的对象复制到另一半内存上再将原来那一部分的对象直接回收。 这种做法就避免了产生碎片内存的问题。但也有缺点 空间利用率低 一旦不是垃圾的对象较多或需要复制的对象较大就会提高复制成本降低程序运行的效率。 ③标记-整理 如上图现b、d、f、h都是垃圾对象于是就会将其他不是垃圾的对象向前移移动后的结果如下图 之后就会将e、f、g、h直接释放。 这样做即避免出现内存碎片问题又保证了内存的利用率。但是依然会涉及到对象的复制若对象较多或较大就会提高复制成本。 ④将上面的三种方法结合起来 使用“代”来表示对象的年龄即每一次遍历后若不是垃圾就加1初始为0。 GC将内存区域划分为若干个区域有新生代区、老年代区新生代区中又包含伊甸区、幸存区。 伊甸区有幸存区的空间比例通常为811。 针对不同年龄的对象使用的测率不同。 若为新生代对象就放到伊甸区中由于绝大部分新生代对象都会在第一轮GC中变为垃圾对象于是幸存区就比伊甸区小。 在进行遍历时若新生代对象不是垃圾就会放到幸存区若是垃圾就会直接释放。由于需要复制的对象较少就使得复制的开销相对较小。 幸存区中的对象也需要进行遍历若有的对象时垃圾就会将不是垃圾的对象复制到另一个幸存区中再将幸存区中的对象全部释放。 若某个对象经过多轮的遍历有都还是有用的这时就会将该对象放到老年代中。由于老年代对象的生命周期较长就使得整理的开销也较小。 于是每个对象都会经历以下几个时期
http://www.yayakq.cn/news/3220/

相关文章:

  • 创建站点的方法互动网站建设公司
  • 网站公司建设个服务号多少钱在线seo
  • wordpress图像调用windows10系统优化
  • 南昌网站开发培训中心dw网页代码模板
  • 手机自己做网站iis 发布网站内部服务器错误
  • 微网站设计尺寸手机端尺寸
  • 帝国生成网站地图南城区网站建设公司
  • 汝州网站制作开办时 网站建设费 科目
  • 有人找做网站的网站后台管理系统 asp
  • 网站功能与建设特色如何设置网站icon
  • 网站建设制作浩森宇特成都营销型网站建设熊掌号
  • 学网站建设有什么用保定建设银行网站首页
  • 上传下载网站建设wordpress翻译文件
  • 建设新闻博客类网站要多大空间口碑营销案例2021
  • 站群服务器如何让百度收录我的网站
  • 做设计在哪个网站找图片做ppt的网站有哪些内容
  • 沙漠风网站建设6企业信用信息查询公示系统天津
  • 怎样做网站制作团队做企业形象网站
  • 四川省城乡和住房建设厅官方网站统计局门户网站建设背景
  • 深圳地区网站建设公众号怎么制作二维码
  • 怎么在网站注册账号一个网站空间可以做多少个网站
  • 桃源县建设局网站浙江省住建厅网站
  • 学校门户网站作用钓鱼网站免费空间
  • 网站通知系统做食品生产的网站
  • 旅游网站开发网站设计报告书wordpress指定上传目录
  • 我的网站wordpresswordpress登录攻击
  • 深圳龙岗企业网站建设一级造价工程师含金量
  • 深圳市盐田区住房建设局网站wordpress调用搜索框
  • 做a小视频网站网络营销的方法有哪些
  • wordpress 建站容易吗wordpress显示代码框