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

建设部设计院网站建设网站个人银行

建设部设计院网站,建设网站个人银行,网站seo优化综合服务公司哪家好,做挂网站吗1. Java语言的跨平台特性 2. JVM整体结构及内存模型 堆存放着对象信息每个线程都会分配一块属于自己的内存空间#xff08;栈空间#xff09; 每个方法都会分配一块内存空间#xff08;栈桢#xff09;#xff0c;上图 compute()方法 和 main()方法 都会分配到各自的栈桢空…1. Java语言的跨平台特性 2. JVM整体结构及内存模型 堆存放着对象信息每个线程都会分配一块属于自己的内存空间栈空间 每个方法都会分配一块内存空间栈桢上图 compute()方法 和 main()方法 都会分配到各自的栈桢空间 局部变量存放不同方法运行时生成的的临时变量的一块内存空间操作数栈临时存放操作变量的一块内存空间数据结构是栈 程序运行时会将静态的常量池load到内存运行时常量池放在方法区方法区存放着常量、静态变量、类元信息 JVM的永久代方法区中会发生垃圾回收么 垃圾回收不会主动发生在永久代但如果永久代满了或者是超过了临界值会触发完全垃圾回收(Full GC)。如果你仔细查看垃圾收集器的输出信息就会发现永久代也是被回收的。这就是为什么正确的永久代大小对避免Full GC是非常重要的原因 为什么要有程序计数器 因为一个执行过程中可能cpu时间片被其他线程抢占了当前线程挂起了恢复的时候需要依赖程序计数器才能知道执行到什么位置了 每执行完一行代码字节码执行引擎都会动态的修改程序计数器的值执行那一行代码在内存中的位置 JVM调优主要目的 gc 时会触发STW导致用户响应特别慢需要等待full gc 结束所以需要减少Full gc 的次数/减少Full gc执行时间如果Minor gc 的次数非常频繁也应该要减少Minor GC 的次数 在minor gc过程中对象挪动后引用如何修改 对象在堆内部挪动的过程其实是复制原有区域对象还在一般不直接清理JVM内部清理过程只是将对象分配指针移动到区域的头位置即可比如扫描s0区域扫到gcroot引用的非垃圾对象是将这些对象复制到s1或老年代最后扫描完了将s0区域的对象分配指针移动到区域的起始位置即可s0区域之前对象并不直接清理当有新对象分配了原有区域里的对象也就被清除了。minor gc在根扫描过程中会记录所有被扫描到的对象引用(在年轻代这些引用很少因为大部分都是垃圾对象不会扫描到)如果引用的对象被复制到新地址了最后会一并更新引用指向新地址。 3. JVM内存参数设置 Spring Boot程序的JVM参数设置格式(Tomcat启动直接加在bin目录下catalina.sh文件里) java -Xms2048M -Xmx2048M -Xmn1024M -Xss512K -XX:MetaspaceSize256M -XX:MaxMetaspaceSize256M -jar microservice-eureka-server.jar-Xss每个线程的栈大小 (-Xss设置越小count值越小说明一个线程栈里能分配的栈帧就越少但是对JVM整体来说能开启的线程数会更多)-Xms设置堆的初始可用大小默认物理内存的1/64-Xmx设置堆的最大可用大小默认物理内存的1/4-Xmn新生代大小-XX:NewRatio默认2表示新生代占年老代的1/2占整个堆内存的1/3。-XX:SurvivorRatio默认8表示一个survivor区占用1/8的Eden内存即1/10的新生代内存。 关于元空间的JVM参数有两个-XX:MetaspaceSizeN和 -XX:MaxMetaspaceSizeN -XXMaxMetaspaceSize 设置元空间最大值 默认是-1 即不限制 或者说只受限于本地内存大小。-XXMetaspaceSize 指定元空间触发Fullgc的初始阈值(元空间无固定初始大小) 以字节为单位默认是21M左右达到该值就会触发full gc进行类型卸载 同时收集器会对该值进行调整 如果释放了大量的空间 就适当降低该值 如果释放了很少的空间 那么在不超过-XXMaxMetaspaceSize如果设置了的话 的情况下 适当提高该值。这个跟早期jdk版本的-XX:PermSize参数意思不一样-XX:PermSize代表永久代的初始容量。 元空间是否会发生Full GC 由于调整元空间的大小需要Full GC这是非常昂贵的操作如果应用在启动的时候发生大量Full GC通常都是由于永久代或元空间发生了大小调整基于这种情况一般建议在JVM参数中将MetaspaceSize和MaxMetaspaceSize设置成一样的值并设置得比初始值要大对于8G物理内存的机器来说一般我会将这两个值都设置为256M。 3.1 JVM内存参数大小该如何设置 JVM参数大小设置并没有固定标准需要根据实际项目情况分析给大家举个例子 日均百万级订单交易系统如何设置JVM参数 结论通过上面这些内容介绍大家应该对JVM优化有些概念了就是尽可能让对象都在新生代里分配和回收尽量别让太多对象频繁进入老年代避免频繁对老年代进行垃圾回收同时给系统充足的内存大小避免新生代频繁的进行垃圾回收。
http://www.hkea.cn/news/14435245/

相关文章:

  • 中英文网站建设wordpress商品多选
  • 互动型网站模板建设网站的技术方案
  • 四会市城乡规划建设局网站万能浏览器手机版下载安装
  • 医院建筑设计案例常州自助建站seo
  • 网页设计规划书样本浙江seo博客
  • 兰州做网站优化的公司中国商业网
  • 做网站西宁苏州高新区核酸检测
  • 备案号查询网站网址怎样在网站上做营业执照公示
  • 烟台网站开发技术建设网站物业经理上岗证陈俊华
  • 网站开发报价表的文档中英文的网站设计
  • 宝安区网站建设培训理财网站如何做推广
  • 济南定制网站建设网页设计与网站建设全攻略pdf
  • 建设旅游网站的好处wordpress体验
  • 最流行的做网站语言开发公司年度工作总结
  • 企业网站建设报价单wordpress如何导航网站
  • 元谋县住房和城乡建设局网站哪家外贸网站做的好
  • 六安企业网站seo多少钱中信建设有限责任公司招投标
  • 网站优化公司的seo做的好常德网站制作
  • 目前有做电子合同的网站吗网络工程毕设做网站
  • 临海城市建设网站利用ionic做的网站
  • 苏州网站建设优化wordpress mysql 崩溃
  • 建设银行网站的特点分析东莞推广号
  • xxx网站建设规划英文网站设计方案
  • 网站内部资源推广的基本方法wordpress变数据库
  • 织梦统计网站访问量代码seo sem 做网站
  • 网站关键词指数查询工具网站开发 前端 后端
  • 给个能看的网站科学松鼠会 wordpress主题
  • 衡阳网站个人网站logo设计
  • 什么网站可以免费做视频多站点wordpress简数采集器
  • 南京网站建设公司 雷沧州网络推广外包公司