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

广东建设继续教育网站首页开创者wordpress素材

广东建设继续教育网站首页,开创者wordpress素材,我想克隆个网站 怎么做,网站建设制作需要多少钱java常见性能优化Java性能是所有Java应用程序开发人员都关心的问题#xff0c;因为快速使应用程序与使其正常运行同等重要。 史蒂文海恩斯#xff08;Steven Haines#xff09;使用他在Java性能问题上的个人经验得出的结论是#xff0c; 大多数问题都有共同的根本原因 。 因… java常见性能优化 Java性能是所有Java应用程序开发人员都关心的问题因为快速使应用程序与使其正常运行同等重要。 史蒂文·海恩斯Steven Haines使用他在Java性能问题上的个人经验得出的结论是 大多数问题都有共同的根本原因 。 因此作为绩效分析师Haines将基本绩效问题分为三个基本类别 数据库问题 主要与持久性配置缓存或数据库连接线程池配置有关。 内存问题 通常是垃圾回收配置错误或内存泄漏。 并发问题 基本上是死锁网格锁和线程池配置问题。 让我们深入研究每个类别... 数据库 由于数据库是应用程序功能的基本组成部分因此它也是性能问题的基本根源。 由于对数据库的访问使用错误连接池大小错误或缺少调整可能会出现问题。 持久性配置 即使今天Hibernate和其他JPA实现提供了对数据库访问的微调但仍有一些其他选择例如急切或延迟获取可能会导致较长的响应时间和数据库开销。 渴望获取使数据库调用减少了但是变得更加复杂而懒惰获取使数据库调用变得更加简单和快速。 当应用程序的负载增加并且会导致更大的数据库负载时就会出现问题。 因此为了解决此问题您可以查看业务事务计数器数据库计数器但基本上是业务事务与数据库调用之间的相关性。 为避免此类问题您必须充分了解所使用的持久性技术正确设置所有配置选项以便将其功能与您的业务领域需求配对。 快取 缓存优化了应用程序的性能因为内存中的数据比持久性的​​数据访问速度更快。 当不使用缓存时会引起问题因此每次需要资源时都会从数据库中检索它。 使用缓存时由于配置错误会出现问题。 这里要注意的基本事项是缓存的固定大小和分布式缓存配置。 缓存的对象是有状态的与提供无状态对象的池不同。 因此必须正确配置缓存以免耗尽内存。 但是如果再次请求移除的对象怎么办 必须在高速缓存设置以及内存中配置此“未命中”比率。 分布式缓存也可能会引起问题。 将缓存设置为多个服务器时必须进行同步。 因此缓存更新将传播到所有服务器中的缓存。 这是实现一致性的方式但这是一个非常昂贵的过程。 正确使用缓存时应用程序负载增加不会增加数据库负载但是当缓存设置错误时数据库负载会增加从而导致CPU开销达到均匀的磁盘I / O速率。 为了解决此问题您应该首先检查数据库性能以确定是否需要缓存。 然后您应该使用命中率和未命中率指标来确定缓存大小。 但是通过在构建应用程序之前正确规划应用程序可以避免遇到缓存问题。 确保使用序列化和提供可伸缩应用程序的技术。 泳池连接 池连接通常在启动应用程序之前创建因为它们创建起来很昂贵。 连接池在事务之间共享并且池大小限制了数据库负载。 池大小很重要。 没有足够的连接使业务交易等待数据库使用不足。 另一方面太多的连接会导致更长的响应时间和数据库过载。 为了解决此问题您必须检查您的应用程序是在等待新的连接还是要执行数据库查询。 但是您始终可以通过优化数据库来避免这种情况使用不同的池大小测试应用程序以检查哪种情况适合。 记忆 内存问题与垃圾收集器和内存泄漏有关。 垃圾收集器 垃圾回收可能会导致所有线程停止以回收内存。 当此过程花费太多时间或发生得太频繁时就会出现问题。 它的基本症状是CPU峰值和较大的响应时间。 为了解决这个问题您可以配置-verbosegc参数使用性能监视工具来查找发生主要GC的过程并使用一种工具来监视堆使用情况和可能的CPU峰值。 尽管可以通过配置堆大小和循环JVM来限制它但是几乎不可能避免该问题。 内存泄漏 Java中的内存泄漏可能以不同于C或C 的方式发生因为它们更多地是参考管理问题。 在Java中即使不再使用对象也可以保留对对象的引用。 这可能会导致OutOfMemory错误并要求重新启动JVM。 当内存使用率增加且堆内存不足时就会发生内存泄漏问题。 要解决此问题可以正确配置JVM参数。 为避免必须处理内存泄漏在对内存泄漏进行编码时应注意-敏感的Java集合或会话管理。 您可以与同事共享内存泄漏避免技巧让专家查看您的应用程序代码并使用工具来避免内存泄漏和分析堆。 并发 并发发生在同时执行多个计算时。 Java使用同步和锁来管理多线程。 但是同步可能会导致线程死锁网格锁和线程池大小问题。 线程死锁 当两个或多个线程试图访问相同的资源而一个线程正在等待另一个线程释放资源时则发生线程死锁反之亦然。 发生死锁时JVM耗尽了所有线程并且应用程序变得越来越慢。 死锁很难重现。 因此解决死锁问题的一种方法是在两个线程死锁时捕获线程转储并检查线程的堆栈跟踪。 为避免此问题最好使您的应用程序及其资源尽可能不变利用同步并检查潜在的线程交互。 线程僵局 当使用太多同步并因此花费太多时间等待单个资源时可能会发生线程僵局。 要注意这一点您必须同时具有较慢的响应时间和较低的CPU使用率因为许多线程尝试访问同一代码部分并且它们正在等待具有该代码部分的代码部分完成。 那么您该如何解决呢 您必须首先检查线程在哪里等待以及原因。 然后您应该根据业务需求消除同步要求。 线程池配置锁 当应用程序使用应用程序服务器或Web容器时线程池用于控制并发处理的请求。 如果此线程池很小则请求将等待很多但是如果线程池太大则处理资源将变得很忙。 因此在较小的缓冲池中CPU利用率不足但线程池利用率为100而在较大的缓冲池中CPU则非常繁忙。 您可以通过检查线程池利用率和CPU利用率并确定是增加还是减小池大小来轻松解决此问题 。 为了避免这种情况您必须调整线程池而这并非易事。 最后可能发生的两个基本问题是事后考虑的性能问题或者最终用户会注意到的性能问题。 第一种情况是一个常见问题。 通常开发人员会创建一个功能正常但在性能测试中失败的应用程序。 为了解决这个问题他们通常必须对应用程序进行体系结构审查而性能分析工具似乎非常方便。 为避免此问题请在开发应用程序时尝试测试性能因此持续集成是关键。 对于第二种情况当应用程序的最终用户通知您存在性能问题时会发生什么 有避免这种情况的工具例如JMX来检查服务器的行为。 商业交易绩效结果与JMX结果结合在一起也可能会有所帮助。 方法级响应时间检查业务事务中调用的所有方法并找到应用程序的热点。 因此最好使用这些工具之一以使最终用户永远不会警告您性能。 有兴趣了解更多吗 然后您应该在此处下载相关的电子书。 翻译自: https://www.javacodegeeks.com/2015/02/top-10-common-java-performance-problems.htmljava常见性能优化
http://www.pierceye.com/news/202363/

相关文章:

  • 做电影网站用什么虚拟主机建设网站模块需要哪些内容
  • 基于asp.net网站开发优化企业网站
  • 做网站有了空间在备案吗网站建设实务课本
  • 个人站长和企业网站wordpress主键外键
  • 关于对网站建设情况的通报东南亚跨境电商有哪些平台
  • 如需郑州网站建设长沙微网站制作
  • html格式网站网站搜索排名优化软件
  • 定制 网站天津做网站要多少钱
  • 免费做问卷的网站网站建设 好发信息网
  • 网站职能建设论文网页跳转链接怎么制作
  • 专题网站开发工具有哪些wordpress迁移500
  • 酒泉网站建设费用磁力搜索引擎不死鸟
  • 有网站是做水果原产地代发的吗临沂哪家做网站最好
  • 网站建设的背景wordpress htaccess
  • 如何在百度上注册自己的网站郓城做网站哪家好
  • 企业电子商务网站建设总结安徽建设工程信息网查询平台公司
  • 推荐常州微信网站建设做外汇看的网站
  • 网站页面优化方案网页设计培训费用多少
  • 落寞文学网单本多本小说wordpress主题哈尔滨网站优化指导
  • 网站域名使用费用网站在vps能访问 在本地访问不了
  • wordpress可以做成企业站吗一个域名可以建设几个网站
  • 企业网站备案需要什么资料工装装饰公司
  • 网站建设精美模板下载邢台165信息交友
  • 普陀区建设工程质检网站网站关键词优化排名
  • 云服务器多网站解析企业网站打不开了
  • 搭建flv视频网站如何注册域名步骤
  • 平面设计公司网站单页模板
  • 网站模板 代码免费建设部网站有项目经理资质查询系统
  • 网站建设注意哪些方面wordpress 做手机站
  • 淄博网站制作定制推广网站程序源代码