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

建设银行投诉处理网站网络推广方案xiala11

建设银行投诉处理网站,网络推广方案xiala11,宝安做网站多少钱,wordpress 自动连接1.什么是JVM#xff1f; JVM就是Java虚拟机【Java Virtual Machine】#xff0c;简称JVM。主要部分包括类加载子系统#xff0c;运行时数据区#xff0c;执行引擎#xff0c;本地方法库等#xff0c;接下来我们一一介绍 2.类加载子系统 JVM中运行的就是我们日常写的JA…1.什么是JVM JVM就是Java虚拟机【Java Virtual Machine】简称JVM。主要部分包括类加载子系统运行时数据区执行引擎本地方法库等接下来我们一一介绍 2.类加载子系统 JVM中运行的就是我们日常写的JAVA代码代码经过编译加生成.class文件在经过类加载子系统加载到内存中如图 3.JVM运行时数据区 3.1方法区内存共享 存储的就是类对象包括类方法和对象方法 存储数据是公共的所有线程都可以访问这个区域 补充方法区别称 JDK7称为永久代 JDK8及以后称为元空间 补充**如何区别类方法和对对象方法** 对象方法调用时会有一个隐式this引用表示当前对象自己而类对象全局统一。 3.2堆内存共享 用来存放在代码中用new关键字创建的对象。也是JVM中内存使用最大的区域。 3.3JAVA虚拟机栈线程私有 每创建一个线程都会在内存中创建一个对应的虚拟机栈栈中存放的是栈帧。 该线程每调用一个方法虚拟机中就会入栈一个栈帧栈帧中存储的信息与该方法息息相关主要包括局部变量表操作站栈动态连接方法返回地址如图 所以当某线程虚拟机栈空了也就说明该线程中的方法已经执行完毕反之亦然。 3.4本地方法栈 调用本地方法时使用的栈 3.5程序计数器线程私有 用来记录线程当前执行到了哪一行下次CPU调度时从计数器位置开始执行多线程 搞懂了这些部分分别是做什么的我们再来说**.class文件时如何被JVM加载并运行** 1.类加载子系统把.class文件加载到运行时数据区。 2.将类对象类方法和对象方法存在方法区后续new对象可以直接从这里找到模板以便进行对象创建操作。 3.new 出来的对象全部放在堆区。 4.创建的每个线程分配一个虚拟机栈线程中被调用的方法信息记录在栈帧中并依次入栈可以说栈中存的是线程对方法的调用层级。 5.本地方法栈中存的是本地方法的调用层级。 6.程序计数器记录的是当前线程的执行的行号。 4.JVM类加载过程 4.1加载 通过类的全限定名找到所有的.class文件加载到内存中 4.2验证 验证.class文件是否符合JVM标准 4.3准备 为静态变量以及静态方法分配内存空间并按照数据类型设置初始值例如int 初始值为0。 4.4解析 JVM把常量池中的符号引用例如int 符号引用为I替换为真实引用 4.5初始化 执行类的初始化代码被static修饰的 4.6使用 使用的也就是刚刚加载的类所以使用阶段也是new对象执行构造方法和父类构造方法的阶段。 4.7卸载 程序停止时–从JVM中卸载。 5.双亲委派模型 双亲委派模型是Java类加载器的一种工作模式该模式主要用于JVM类加载阶段用于保证JDK中定义的类不被恶意修改。以下是它的工作图 具体流程 1.当创建一个类时先从应用加载器开始向上转发一直到启动加载器 2启动加载器在自己路径下找这个类若找到则加载没有则向下转发给扩展加载器 3.扩展加载器在自己路径下找这个类若找到则加载没有则向下转发给应用程序加载器 4.应用程序加载器在自己路径下找这个类找到则加载找不到则报异常或错误 6.垃圾回收 说完了类的加载和卸载我们来讲对象是如何被回收的毕竟我们前面讲堆区是JVM中使用内存最大的区域为什么最大因为程线程中创建的各种对象多呗有时一个对象被创建可能仅仅使用一次就不用了对于这些对象我们要及时回收不然放那不管是占内存的。 那垃圾回收中的“垃圾”其实也就是不再使用的对象垃圾回收也就是回收对象占用的堆内存。 所以问题就在于如何标识对象是否死亡 6.1引用计数算法 核心思想对于堆中对象引用一次计数加一消除引用一次计数减一当堆中对象引用计数为0时表示该对象已经死亡。 该算法缺点内存泄漏----堆中某个对象对应的内存空间永远也回收不了。 举个例子 经过上诉一番操作t1对象和t2对象虽然还未死但是t1.instance所引用的对象永远也访问不了那这个内存就回收不了所以这种算法我们一般不用。 6.2可达性分析算法 核心思想通过某一个根节点GC root出发访问不到某个对象则判定该对象死亡本轮GC标记下轮GC回收内存空间。 6.3标记-清除算法 判定哪些对象已死亡需要回收我们OK了那么如何回收死亡对象呢 首先登场的时标记-清除算法工作原理如下图 GC一次垃圾回收垃圾回收的时候会停止所有用户进程STWStop The World 缺点会产生大量不连续的空间碎片看图也能看出来 导致如果有一个大对象将会没有足够的内存空间存放-------》导致再次触发GC-------》再次触发STW而GC的时间是不可控的一秒一天一周都有可能随着计算机和网络的发展这样的时间成本是不可接受的。 6.4复制算法 工作原理如下图 核心思想将内存区域划分为两个大小相等的区域区域1来放对象区域2暂时空闲当GC开始时先将区域未死亡对象复制到区域2并按照内存地址顺序整理好然后全面清除区域1完成一次完整GC。 优点解决了内存空间不连续的问题。 缺点空间利用率不高只有一半如果要存储8G对象就要准备至少16G空间。 6.5标记整理算法 核心思想每回收一次对象后将剩余对象向一端整理。具体如下图 核心思想在回收死亡对象之后将剩余对象向一端移动。 优点空间利用率提升了不再是50%了。 缺点在移动对象的过程中效率势必会受很大影响。 6.6分代算法GC中真正使用的算法 核心思想将整个内存区域分为新生代占内存三分之一和老年代占内存三分之二 新生代用来存放刚new 出来的对象大部分“朝生暮死”老年代用来存放在新生代经历多次GC而未被回收的对象。 新生代采用复制算法老年代采用标记-整理算法。 新生代又分为Eden区From区和To区Eden区占新生代内存的五分之四剩余由From区和To区占有。 具体回收过程如下图 每个对象的对象头中有一个字段记录着该对象“年龄”每GC一次而未被回收则年龄加一在新生代中年龄超过某个特定值一般默认为15则会被强制移到老年代。
http://www.w-s-a.com/news/671353/

相关文章:

  • 凡科做的网站为什么打不开织梦cms仿某作文网站整站源码(带采集)安装数据库
  • 免费h5模板网站模板汽车报价网址
  • 蔡甸网站建设烟台网站建设yt
  • 最流行的网站开发新开的网页游戏平台
  • 暴富建站wordpress 标签分类
  • 搞笑网站源码百度快照替代
  • 重庆网站建设哪家公司哪家好关键词是怎么排名的
  • 青县网站建设今天国际大事新闻
  • 深圳正规网站制作哪里好怎样优化网络
  • 米拓网站建设教程dw成品网站成品视频教学
  • 用jsp做的网站源代码天门网站网站建设
  • 百度如何把网站做链接地址有没有资源可以在线观看
  • 淮安做网站找哪家好电子商务网站建设规划书的内容
  • 开发网站建设用什么框架php黄页系统
  • 聊城制作网站全球十大电商平台排名
  • 用什么来网站开发好mega menu wordpress
  • 深圳制作网站有用吗wordpress的主题
  • 网站的规划与创建天津市南开区网站开发有限公司
  • 免备案网站主机建站哪个平台好
  • python做网站 不适合单页营销分享网站
  • 珠海市研发网站建设建设网站挣钱
  • 阿里巴巴国际站特点做wps的网站赚钱
  • wordpress更换域名后网站打不开宜昌建设银行网站
  • 写出网站开发的基本流程百度网页电脑版入口
  • 网站设计有限公司怎么样网站建设西班牙语
  • 网站安全解决方案宁波seo网络推广优化价格
  • 做网站带来好处wordpress可以做oa系统吗
  • 建筑设计人才招聘网站h5营销型网站suteng
  • 做app和网站怎样如何做html网站
  • php开发手机端网站开发更换网站标题