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

遵义做网站购买网站模版可以自己做吗

遵义做网站,购买网站模版可以自己做吗,野花香社区论坛,对网站建设的考核机制垃圾回收是什么#xff1f;从运行时数据区看垃圾回收到底回收哪块区域#xff1f; 垃圾回收如何去回收#xff1f; 垃圾回收策略 引用计数算法及循环引用问题 可达性分析算法 垃圾回收是什么#xff1f;从运行时数据区看垃圾回收到底回收哪块区域#xff1f;垃圾回收如何去… 垃圾回收是什么从运行时数据区看垃圾回收到底回收哪块区域 垃圾回收如何去回收 垃圾回收策略 引用计数算法及循环引用问题 可达性分析算法 垃圾回收是什么从运行时数据区看垃圾回收到底回收哪块区域垃圾回收如何去回收垃圾回收策略 引用计数算法及循环引用问题可达性分析算法 思考汇总 垃圾回收如何去回收 垃圾回收策略 引用计数算法及循环引用问题 可达性分析算法) 垃圾回收是什么从运行时数据区看垃圾回收到底回收哪块区域 JVM内存模型认识的差不多了就应该思考什么样的内存模型适合什么样的GC策略包括垃圾回收为什么会出现。实际上很多东西都是相对应版本的JVM强加上去的。那么垃圾回收是什么到底回收哪块区域如何去回收 这个时候观察运行时数据区来进行分析。 线程私有的区域是完全没有必要回收的因为方法消亡就消亡了它的生命周期很短会伴随着你的方法的退出而消亡因此不必关心它的回收而且类文件结构确定之后就知道整个方法当中字节码指令流转的一个情况了所以不需要对这块区域进行关心。 线程共享的区域是方法区和堆这两块区域而方法区MetaSpace中实际上它的回收有没有呢有的但是很少或者说回收的效率并不高因为方法区当中的数据是静态变量常量字符串常量池类信息即时编译后的代码它的生命周期一般都很长随着程序运行一段时间之后它占用方法区的那一块内存会趋于稳定因为这些东西不回收所以回收重点关注的地方还是堆这个区域。因为Java是一门面向对象的一门高级语言所以对象的创建以及回收才是最重要的。而我们的GC或者说所谓的垃圾回收更多的是对于堆内存这块区域的回收来进行讨论。 那么堆要进行回收的话到底要怎么去进行回收呢 垃圾回收如何去回收 首先需要考虑的第一个问题什么样的场景下适合使用什么样的垃圾回收策略。 这里注意策略和算法是不一样的算法是真正落地的实现而策略不一定要落地。 回收策略按照我们的思想去设计优化的话首先肯定要关注内存的使用情况因为垃圾回收本身就是一种穷人策略因为没有那么多内存共我们去挥霍所以才会想尽办法提高我们垃圾回收的效率。 垃圾回收策略 收的多 收的多意味着收的久。尽可能每次多回收一些对象尽可能多腾出一些内存而收的多意味着收的久。收的快 收的快意味着每次收的少需要多次回收。最好可以将时间缩短到一次网络延迟哪怕回收次数很多都可以容忍这样收再多次都是无所谓的。 因此会在垃圾回收的时间上和CPU的效率上有个抉择假设CPU使用率过高那么可以尽可能的去调低垃圾回收的一个频率使得CPU的使用率能够在我们接受的范围内也就是可控性回收。 比如我们平时收拾屋子那么首先就是确定屋子多大然后哪些东西是垃圾。程序亦是如此hotsport的开发者也会有这样的想法它需要有一套判断当前对象是垃圾的依据(或者叫算法)。那么在程序当中所有的执行逻辑、判断逻辑都可以称之为算法因为程序就是逻辑数据组成的。 为什么回收选取操作性较高的数据 举个例子你在家里扫垃圾肯定也是选择比较容易清理的哪些东西叫做垃圾不好拿的和好拿的肯定先选好拿的。那么在当前的场景中我们操作性较高的数据是对象因此是根据对象去进行一个讨论。 而在Java中引用和对象显然是有关联的如果要操作对象必然是会引用来去执行那么这个时候最显然的一个办法就是通过引用计数来判断对象是否可以回收简单的来说如果一个对象没有任何与之相关联的引用即它们的引用计数都为0的情况下也就是说这个对象没有任何场景下可能会使用到它了那这个对象就是可回收对象这就是引用计数法。但是现在Java主流算法并不是这个因为它难以解决循环引用的问题。 引用计数算法及循环引用问题 /*** 引用计数法难以解决循环引用问题*/ public class CircularReferenceDemo {public static void main(String[] args) {CircularReferenceObject obj1 new CircularReferenceObject();CircularReferenceObject obj2 new CircularReferenceObject();/*** 这两句代码表示* 第一步虚拟机栈有两个东西obj1、obj2它是虚拟机栈中的局部变量表中的元素* 第二步new两个CircularReferenceObject对象这两个对象是不同的CircularReferenceObject实例在堆当中共开辟两个内存地址* 第三步obj1指向堆中的实例1obj2指向堆中的实例2** 此时此刻堆中的这两个实例的引用计数应该各自11*/obj1.instance obj2;obj2.instance obj1;/*** 让堆中的两个实例互相引用obj1指向obj2obj2指向obj1** 此时此刻堆中的这两个实例的引用计数应该各自再12*/obj1 null;obj2 null;/*** 赋值为null表示不再指向任何数据即栈中元素不再指向堆中实例** 此时此刻堆中的这两个实例的引用计数应该各自-11** 这个时候循环引用问腿就来了按照引用计数法堆中这两个实例各自的引用计数都不为0也就是说这两个实例所占用的堆内存空间无法释放** 系统给到实例内存空间但是无法释放的这种情况称之为内存泄露如果这种情况一直发生最终会导致内存溢出因此主流的JVM已经摒弃了这种算法*/}static class CircularReferenceObject {public Object instance null;} }对于对象之间的循环引用问题其实引用计数法它会有策略进行解决但是这个不是Java应该关心的事情。Java中已经摒弃了引用计数法这种算法python还在用引用计数法这种算法的效率会比另一种算法快的多既然主流的JVM已经摒弃了这种算法那么必然会出现一种新的算法对它进行替代来解决循环引用的问题最少也是让所谓循环引用的问题带来的影响没那么大那么另一种算法横空出世就是可达性分析算法。 可达性分析算法 可达性分析算法也被称为根搜索算法目前主流的JVM都是采用的这种算法比如Sun公司的hotsport。 这个算法的核心是从所谓的GC root进行出发也就是从一个所谓的根进行出发利用数学中的图论(Graph Theory)知识从根触发单条引用链能够到达的对象便是存活对象反之即为不可达对象不可达对象就是需要回收的垃圾。 这里面涉及到两个概念根(所谓的GC root)和可达性。所谓的根、GC root只是一种引用它并不是对象它只是告诉你地址让你知道如何找对象。 哪些可以作为GC root的对象 虚拟机栈中的局部变量表中的元素Object obj new Object();这种new出来的对象必然是我们需要的对象所以obj这种位于虚拟机栈中的局部变量表中的元素必然可以作为GC root方法区的静态变量以及常量本地方法栈JNI中的元素 思考 引用到底是什么不同引用会有什么作用不同引用会不会有不同的监控策略?如果可达性分析算法标记为不可达会立即进行垃圾回收吗?常说的标记整理又是做什么的? 汇总 JVM1官网了解JVMJava源文件运行过程、javac编译Java源文件、如何阅读.class文件、class文件结构格式说明、 javap反编译字节码文件类加载机制、class文件加载方式 JVM2类加载机制、class文件加载方式类加载的过程装载、链接、初始化、使用、卸载类加载器、为什么类加载器要分层JVM类加载机制的三种方式全盘负责、父类委托、缓存机制自定义类加载器 JVM3图解类装载与运行时数据区方法区堆运行时常量池常量池分哪些String s1 new String创建了几个对象初识栈帧栈的特点Java虚拟机栈本地方法发栈对象指向问题 JVM4Java对象内存布局对象头、实例数据、对齐填充JOL查看Java对象信息小端存储和大端存储hashcode为什么用大端存储句柄池访问对象、直接指针访问对象、指针压缩、对齐填充及排序 JVM5JVM内存模型与运行时数据区的关系堆为什么分区分代年龄Young区划分Survivor区为什么分为S0和S1如何理解各种GCPartial GC、Full GC、Young GC JVM6JVM内存模型验证使用visualvm查看JVM视图Visual GC插件下载链接模拟JVM常见错误模拟堆内存溢出模拟栈溢出模拟方法区溢出 JVM7垃圾回收是什么从运行时数据区看垃圾回收到底回收哪块区域垃圾回收如何去回收垃圾回收策略引用计数算法及循环引用问题可达性分析算法
http://wiki.neutronadmin.com/news/362183/

相关文章:

  • 好的做网站架构的书虚拟机怎么做网站
  • 百度网站主要提供的服务猫咪地域网名入口
  • 如何用ps做网站标识wordpress页面显示什么意思
  • 网站开发过程总结深圳市深企在线技术开发有限公司
  • 做网站用什么配置的笔记本wordpress 站内信
  • wordpress站点链接打不开网址杭州滨江区建设局网站
  • 如何做网站框架柯城网站建设
  • 毕业设计网站开发的中期报告郑州男科医院哪家治疗比较好
  • 河北邯郸网站制作宁波网站推广怎么做
  • 网站开发失败原因分析百度一下网页版浏览器
  • 做网站需要关注哪些重要问题佛山 网络推广
  • 自学网站官网wordpress修改主题页面
  • 网站建设存在的问题及建议如何做好营销型网站建设
  • 怎么给网站做推广天津个人网站建设
  • 网站工信部不备案吗中国芯片三巨头
  • 做网站属于程序员吗上海比较有名的大公司有哪些
  • 外贸公司的网站怎么做孝感市门户网站
  • 对网站建设的讲话二级注册建造师信息查询官网入口
  • 网站建设兼职在哪找南通做外贸网站
  • 上海建设银行青浦分行网站wordpress 搜索 自定义字段
  • 广州建网站的公司wordpress更新要ftp
  • 黄浦网站建设推广大连网络营销公司有哪些
  • 为学校网站建设wordpress建站环境搭建
  • p站关键词排名桂林 网
  • 江苏城市建设职业学院网站个人或主题网站建设实验报告
  • 国内漂亮大气的网站做网站的软件项目进度计划
  • c2c模式有哪些电商平台上海网站排名优化怎么做
  • 十堰哪里有做网站的企业做网站用什么建站系统
  • 免费网站建设自带后台管理程序网站开发 语言
  • 网站建设跟网站开发有什么区别吗数据调查的权威网站