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

win2008sr怎么用iis做网站不用iis建立网站

win2008sr怎么用iis做网站,不用iis建立网站,沈阳网页设计制作,抚州市建设局网站内存调优 内存溢出和内存泄漏 内存泄漏#xff1a;在java中如果不再使用一个对象#xff0c;但是该对象依然在GC ROOT的引用链上#xff0c;这个对象就不会被垃圾回收器回收。 内存泄漏绝大多数情况都是由堆内存泄漏引起的#xff0c;所以后续没有特别说明则讨论的都是堆…内存调优 内存溢出和内存泄漏 内存泄漏在java中如果不再使用一个对象但是该对象依然在GC ROOT的引用链上这个对象就不会被垃圾回收器回收。 内存泄漏绝大多数情况都是由堆内存泄漏引起的所以后续没有特别说明则讨论的都是堆内存泄漏。 少量的内存泄漏是可以容忍的但是如果发生持续的内存泄漏就像滚雪球一样越滚越大不管有多大的内存迟早都会被消耗完最终导致的结果就是内存溢出。但是产生内存溢出的原因并不是只有内存泄漏。  常见的内存泄漏就是在大型的java后端应用中在处理用户的请求之后没有及时将用户的数据删除。随着用户请求数量越来越多内存泄漏的对象占满了堆内存最终导致内存溢出。 分布式任务调度系统如Elastic-job、Quartz等进行任务调度是被调度的Java应用在调度任务结束中出现了内存泄漏最终导致多次调度之后内存溢出。 解决内存溢出的方法 有四个步骤发现 诊断 修复 验证 发现问题 TOP命令 VisualVM Arthas 使用arthas tunnel管理所有的需要监控的程序 步骤 PrometheusGrafana 堆内存状况的对比 正常就是上下上下不正常就是一直增长 产生内存溢出的原因一代码中的内存泄漏 1.equals()和hashcode() 在定义新类的时候没有重写正确的equals()和hashcode()方法。在时候HashMap如果使用这个类对象作为keyHashMap在判断Key是否已经存在时会使用这两个方法如果重写不正确就会导致相同的数据被保存多份。 解决方案 1.在定义新实体的时候始终重写epuals()和hashcode()方法、 2.重写时一定要确定使用了唯一的标识去区分不同的对象比如用户的id等。 3.hashmap使用时尽量使用编号id等数据作为key不要将整个实体类对象作为key存放 2.内部类引用外部类 1非静态的内部类默认会持有外部类尽管代码上不再使用外部类所以如果有地方引用了这个非静态内部类会导致外部类也被引用垃圾回收时无法回收这个外部类。 解决方案把内部类改成静态的 2匿名内部类对象如果在非静态方法中被创建会持有调用者对象垃圾回收时无法回收调用者。  解决方案吧那个方法变成静态的 3.ThreadLocal的使用 如果仅仅使用手动创建的线程就算没有调用ThreadLocal的remove方法清理数据也不会产生内存泄漏。因为当线程被回收时ThreadLocal也照样会被回收。但是如果使用线程池就不一定了。 解决方案线程方法执行完一定要调用ThreadLocal中的remove方法清理对象。 4.String的intern方法 JDK6中字符串常量池位于堆内存中的Perm Gen永久代中如果不同字符串的intern方法被大量调用字符串常量池会不停的变大超过永久代上限之后就会产生内存溢出问题。 解决方案 1.注意代码逻辑尽量不要将随机生成的字符串加入字符串常量池 2.增加永久代空间的大小根据实际的测试/估算结果进行设置-XX:MaxPermSize256M 5.通过静态字段保存对象 如果大量的数据在静态变量中被长期引用数据就不会被释放如果这些数据不再使用就成为了内存泄漏。 解决方案 1尽量减少将对象长时间的保存在静态变量中如果不再使用必须将对象删除比如在集合中或者将静态变量设置成null 2使用单例模式时尽量使用懒加载而不是立即加载。 3Spring的Bean中不要长期存放大对象如果是缓存用于提升性能尽量设置过期时间定期失效。 6.资源没有正常关闭 连接和流这些资源会占用内存如果使用完之后没有关闭这部分内存不一定会出现内存泄漏有可能会但是会导致close方法不被执行 解决方案 1.为了防止出现这类的资源对象泄漏问题必须在finally块中关闭不再使用的资源。 2.从Java7开始使用try-with-resources语法可以用于自动关闭资源 内存溢出原因二并发请求问题 模拟并发请求 Apache Jmeter  它支持插件扩展生成多样化的测试结果 诊断-内存快照 当堆内存溢出的时候需要在堆内存溢出的时候将整个堆内存保存下来生成内存快照文件。 使用MAT打开hprof文件并选择内存泄漏检测功能MAT会自行根据内存快照中保存的数据分析内存泄漏的根源。 MAT内存泄漏检测的原理---支配树 MAT提供了称为支配树的对象图。支配树展示的是对象实例间的支配关系。在对象引用图中所有指向对象B的路径都经过对象A则认为对象A支配对象B 浅堆支配树中对象本身占用的空间自己的节点 深堆支配树中对象的子树就是所有被该对象支配的内容这些内容组成了对象的深堆也叫保留集。深堆的大小表示该对象如果可以被回收能释放多大的内存空间。自己的节点子树的节点 导出运行中系统的内存快照并进行分析 分析超大堆的内存快照 修复问题 修复代码中的问题 问题总共可以分为三类 案例1-分页查询文章接口的内存溢出 解决思路 1.服务出现OOM内存溢出时生成内存快照 2.使用MAT分析内存快照找到内存溢出的对象 3.尝试在开发环境中重现问题分析代码中问题产生的原因 4.修改代码 5.测试并验证结果 上面案例的解决方案 案例2mybatis导致的内存溢出 案例3导出大文件内存溢出 k8s容器 案例4ThreadLocal使用时占用了大量内存 案例5文章内容审核接口的内存问题 设计1 用MQ是最好的 诊断方法二 在线定位问题 在线定位问题的步骤 GC调优 就是对垃圾回收进行调优。GC调优的主要目标是避免由垃圾回收引起程序性能下降。 GC调优分为三部分 1.通过JVM参数设置。 2.特定垃圾回收器的JVM参数设置 3.解决由频繁的FULLGC引起的程序性能问题。 GC调优的核心指标 1.吞吐量 垃圾回收吞吐量指CPU用于执行用户代码的时间与CPU总执行时间的比值。吞吐量执行用户代码的时间/执行用户代码的时间GC时间。吞吐量越高垃圾回收效率就越高。允许更多的CPU时间去处理用户的业务相应的业务吞吐量也就越高。 2.延迟 延迟是指从用户发起一个请求到收到响应这其中经历的时间。 3.内存的使用量 内存使用量指的是Java应用占系统内存的最大值一般tongguoJVM参数调整在满足上述两个指标的前提下这个值越小越好。 GC调优的方法 和内存调优差不多 发现问题 jstat工具 visualvm PrometheusGrafana GC日志文件 GC Viewer GCeasy 常见的GC模式 持续的FULLGC是主要解决的问题 诊断问题 选择前三个为主。 优化基础JVM参数 减少对象的产生 就是根据内存调优的方案进行修改代码 更换垃圾回收器 优化垃圾回收器参数 解决思路 实现 GC调优和内存调优 核心流程 性能调优 性能调优共分为4个步骤其中修复部分要具体问题具体分析且处理方式各不相同 本章着重学习发现问题和诊断问题的方法目标是准确定位到性能问题的根源 性能调优解决的问题 应用程序在运行过程中经常会出现性能问题比较常见的性能问题现象是 1.通过top命令查看CPU占用率高接近100甚至多核CPU下超过100都是有可能的 2.请求单个服务处理时间特别长多服务使用skywalking等监控系统来判断是哪个环节性能低下。 3.程序启动之后运行正常但是在运行一段时间之后无法处理任务的请求内存和GC正常 性能调优的核心方法 线程转储的查看方式 解决CPU占用率高的问题 案例2接口响应的时间很长的问题 Arthas的trace命令 watch命令 案例3定位偏底层的性能问题 案例4线程被耗尽问题 更精细化的性能测试 JIT对程序性能的影响 java程序在运行过程中JIT即时编译器会实时对代码进行性能优化所以仅凭少量的测试是无法真实反应运行系统最终给用户提供的性能。如下图随着执行次数的增加程序性能会逐渐优化 jmh在使用过程的问题 案例日期格式化方法性能测试 案例实战部分 问题小李的项目中有一个获得用户信息的接口性能比较差他希望能对这个接口在代码中进行彻底的优化提升性能。 总结 总结
http://www.zqtcl.cn/news/354309/

相关文章:

  • 北京网站设计培训wordpress vps 伪静态
  • 做网站和编程有关系吗seo百家外链网站
  • 网站新闻怎么写最新事故案例100例
  • 网站中的表格seo宣传网站
  • 河南锦路路桥建设有限公司网站网站建设会考什么
  • 高校网站建设研究意义餐饮vi设计案例
  • 触屏手机网站网站建设功能模块价格
  • 类似携程网的网站wordpress文章摘要调用
  • 好网站建设公司开发方案联盟营销的网络营销方式
  • logo免费生成网站洛阳网络建站公司
  • 建设工程部网站百度指数功能
  • 个人网站 商业时事新闻2022最新10月
  • 不会代码 怎么做网站网站视频管理系统
  • 网站空间 流量网上卡片制作
  • 网站排名seo软件机关网站源码
  • 网站手机端页面怎么做手机之家
  • 成都电子商务网站大庆城市投资建设网站
  • 电子商务网站费用wordpress 怎么手动更新
  • 中国空间站设计在轨飞行多少年南昌网站建设风格
  • 用php写的网站有哪些暖暖 视频 在线 观看 高清
  • 云空间网站怎么做海南旅游网网页制作
  • 常宁网站免费的ai作图软件
  • 网站建设讲师招聘如何做电商产品推广
  • 让百度收录网站网站开发流程进度表
  • 有几个网站能在百度做推广产品开发管理系统
  • 一个网站项目的价格表dz论坛seo
  • 企业做网站要多少钱哪个网站做动图
  • 知名企业网站例子4s店网站模板
  • 网站建设的信息安全防范技术初级买题做哪个网站好
  • 品牌营销网站建设东莞智通人才招聘网