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

承德市网站建设_网站建设公司_全栈开发者_seo优化

领手工在家做的网站2019,河北网络营销推广seo,男女做那个全面视频网站,视频制作软件哪个好用JVM分享 官网#xff1a;https://docs.oracle.com/javase/specs/jvms/se8/html/index.html Java代码的执行流程 我们编写完之后的java文件如果要运行#xff0c;java文件会编译成class文件#xff0c;在jvm中运行时ClassLoader会加载class文件#xff0c;加载进来之后https://docs.oracle.com/javase/specs/jvms/se8/html/index.html Java代码的执行流程 我们编写完之后的java文件如果要运行java文件会编译成class文件在jvm中运行时ClassLoader会加载class文件加载进来之后就到了运行时数据区之中。 Field Descriptors 字段描述符 Method Descriptors 方法描述符 JVM运行时数据区 在官网的2.5. Run-Time Data Areas章节 2.5.1. The pc Register pc计数器存放的是当前正在执行的指令的地址。 2.5.2. Java Virtual Machine Stacks 当我们创建一个线程时会创建一个jvm虚拟机栈调用执行任何方法都会给对应方法创建栈帧然后入栈当程序发生异常时(经典异常StackOverflowError)异常信息就是从虚拟机栈中打印出来了。存放了各种基本数据类型、对象引用。 2.5.3. Heap 堆是所有jvm线程共享的堆也是是运行时数据区从中分配所有类实例和数组的内存。堆在虚拟机启动时创建GC可以回收堆内存。同时创建的对象也存放在堆中。所以在堆中最常见的异常就是OutOfMemoryError 2.5.4. Method Area 方法区也是所有jvm线程共享的方法区类似于常规语言的编译代码的存储区域里面存放的是每个类class的结构例如运行时常量池字段和方法数据以及方法和构造函数的代码。1.8之前的jdk版本Metaspace是永久代(堆内)从1.8版本开始。永久代被移除新增了MetaspaceMetaspace使用的是本地内存。 2.5.5. Run-Time Constant Pool 常量池用于存放编译期生成的各种字面量和符号引用这部分内容将在类加载后进入方法区的运行时常量池中存放。 2.5.6. Native Method Stacks 本地方法栈与虚拟机栈所发挥的作用非常相似他们之间的区别不过是虚拟机栈为虚拟机执行Java方法字节码服务而本地方法栈则为虚拟机中使用到的native方法服务。 JVM的内存结构 jvm1.8中内存主要分为两大区域堆与非堆。 堆是Heap非堆也就是Metaspace。然后堆又分为两部分Young跟Old区。Young中又分为两部分分为Eden跟SurvivorSurvivor区又分为From Survivor空间也就是俗称的S0和 To Survivor空间也就是S1。 S0跟S1大小是相同的并且同一时间只有一个是开启的另外一个是空的。正常来说新生成的对象首先放到年轻代Eden区当Eden空间满了触发第一次Minor GC存活下来的对象移动到S0区S0区满后再触发一次 GCS0区存活对象移动到S1区这样保证了一段时间内总有一个survivor区为空。然后每进行一次GC对象的age就会1age到了15(也就是MaxTenuringThreshold 从年轻代到老年代的晋升次数的最大值)之后对象就会进入老年代。 非堆也就是Metaspace他也分为两部分一个是ccs(Compressed Class Space)另一个是CodeCache。 指针有短指针32位跟长指针64位ccs开启之后才会在Metaspace中存在并且会用32位的短指针代替64位的长指针。堆中的对象都有一个指向自己class的指针而class是在Metaspace中在64位环境中指针一般是64位有时候为了提高性能会启用ccs将指针压缩成32位。 CodeCache它主要用于存放JIT(即时编译)所编译的代码编译了就会存在没有就不会。 Java mixed mode Java的混合模式Java既是解释型(int)又是编译型(comp)语言。 JVM参数类型 标准参数标准参数是稳定的java参数一般不会随着版本的升级出现变化常见的有version help classpath cp等。 X参数随着版本相对变化较少,最经典的参数 -Xint -Xcomp。java -Xint -version java -Xcomp -version XX参数随着版本变化较大参数又分为boolean跟非boolean类型。 a.boolean -XX: [/-] name 例-XX:UseG1GC / -XX:-UseG1GC b.非boolean -XX: name value 例-XX:MetaspaceSize128m -XX:SurvivorRatio8 -XX:NewRatio2 -XX:MaxTenuringThreshold15 PrintFlags系列参数 java -XX:PrintFlagsInitial -XX:PrintFlagsInitial 跟 -XX:PrintFlagsFinal 表示默认值:表示修改过的 几个特殊的XX参数: -Xms:表示min 是 -XX:InitialHeapSize的简写 -Xmx:表示max是-XX:MaxHeapSize的简写 -Xss 是-XX:ThreadStackSize -XX:InitialHeapSize268435456 ≈ 268M 1/64个内存大小 -XX:MaxHeapSize4294967296 ≈ 4.2G 1/4个内存大小 垃圾回收 1.确定会被回收的对象,两种方式 ​ 1引用计数在堆中存储对象时在对象头处维护一个counter计数器如果一个对象增加了一个引用与之相 连则将counter。如果一个引用关系失效则counter–。如果一个对象的counter变为0则说明该对象已经 被废弃不处于存活状态。 ​ 2枚举根节点可达性分析 ​ 常说的GC(Garbage Collector) Roots特指的是垃圾收集器Garbage Collector的对象GC会收集那些不是GC Roots且没有被GC Roots引用的对象。 一个对象可以属于多个rootGC Roots有以下几种 Class - 由系统类加载器(system class loader)加载的对象这些类是不能够被回收的他们可以以静态字段的方式保存持有其它对象。我们需要注意的一点就是通过用户自定义的类加载器加载的类除非相应的Java.lang.Class实例以其它的某种或多种方式成为roots否则它们并不是roots.Thread - 活着的线程Stack Local - Java方法的local变量或参数JNI Local - JNI方法的local变量或参数JNI Global - 全局JNI引用Monitor Used - 用于同步的监控对象Held by JVM - 用于JVM特殊目的由GC保留的对象但实际上这个与JVM的实现是有关的。可能已知的一些类型是系统类加载器、一些JVM知道的重要的异常类、一些用于处理异常的预分配对象以及一些自定义的类加载器等。然而JVM并没有为这些对象提供其它的信息因此需要去确定哪些是属于JVM持有的了。 2.GC算法 标记-清除 Mark-Sweep ​ 1.标记从GC Root开始找找出存活的对象 ​ 2.清除将没有标记的对象清除 ​ 缺点是内存碎片太多 复制 Copy ​ 内存划分成两个区域同一时间点只有一个是活动的GC线程会将活动区域的存活对象全部复制到空闲区域并对内存地址排序新生代GC使用较多缺点是浪费一般内存。 标记-整理 Mark-Compact ​ 1.标记 ​ 2.整理不直接对可回收对象进行清理而是让所有可用的对象都向一端移动。然后直接清理掉边界以外的内存。 ​ 在标记-清除的算法基础上增加了清除后对内存地址的排序整理 分代 ​ 根据堆中不同的区域使用不同的算法新生代使用复制算法老年代使用标记清楚/标记整理
http://www.ihoyoo.com/news/75343.html

相关文章:

  • 江苏省建设资格注册中心网站重视网站阵地建设
  • 登封市城乡建设路网站微网站和h5有什么区别
  • 余姚做百度网站建设近年网络营销成功案例
  • 呼市赛罕区信息网站做一顿饭工作长沙公共资源交易电子服务平台
  • 动效h5网站设计手机网站公司
  • 公司网站内容如何做jsp是做网站后台的吗
  • 网站模版网wordpress 无法登陆后台
  • 特产网站开发的目的商丘网站推广渠道
  • php视频网站开发网站建设中企动力强
  • 网站刷排名工具小程序模板平台有哪些
  • 做移动网站首页软城乡建设网站职业查询系统
  • 做网站需要平台做个外贸网站一般需要多少钱
  • dede双语网站培训机构怎么做线上推广
  • 国外优秀的平面设计网站视频弹幕网站怎么做
  • 那个网站做百科好过o2o商城网站搭建
  • 注册一个小网站甘肃网站开发企业
  • 网站流量消耗计算韩国女足出线
  • wordpress外贸网站建设wordpress出现不能登录
  • 凡科轻站小程序模板成都品牌网站建设电话
  • 成都平台网站建设公司网站建设的基本特点
  • onethink做移动网站买域名去哪个网站
  • 东莞创意网站设计效果图婚纱网站建设规划书
  • 家居网站建设素材python语言基础知识
  • 廊坊哪里做网站好wordpress 情侣博客
  • 网站母版页怎么做广东最新消息
  • 给传销做网站自媒体平台注册下载
  • 网站建设代码怎么写网络架构师证书怎么考
  • wordpress用户冻结北京网络推广公司wyhseo
  • 一个购物网站开发语言汕头建筑
  • 做网站做生意源码论坛网搭建