Java是面向对象编程语言,具有功能强大、简单易用两大特征。很多人表示Java运行速度慢,有严重的性能问题,其实这与Java无关,而是涉及到Java应用的性能优化。接下来我就给大家分享Java性能优化的常用方法。

1、设计优化

设计优化处于性能优化手段的上层,它需要在软件开发之前进行。在软件开发之前,系统架构师应该就评估系统可能存在的各种潜在问题和技术难点,并给出合理的设计方案,是对系统”质”的优化。进行设计优化时,设计人员和必须熟悉经常使用的设计方法、设计模式,以及主要的性能组件和经常使用的优化思想,并将其有机地集成在软件系统中。

2、代码优化

代码调优是在软件开发中,或者是软件开发完毕后,软件维护过程中进行的程序代码的改进和优化。代码优化涉及诸多编码技巧,需要开发者熟悉相关的语言API ,并在适合的场景中正确的使用相关API或类库,同时对算法、数据结构的灵活使用也是代码优化的一个重要内容。

3、JVM优化

作为Java软件的执行平台,JVM的各项參数将会直接影响Java程序的性能,比如JVM的堆大小、垃圾回收策略等等。要进行JVM层面的调优,需要开发者对JVM的执行原理和基本内存结构有一定的了解,如堆内存的结构、GC的种类等,然后根据引用程序的特点设置合理的JVM启动參数。

4、数据库优化

对数据库的调优能够分为三个部分:1)在应用层对SQL语句进行优化时会涉及大量的编程技巧;2)在对数据库优化时主要目的是建立一个具有良好表结构的数据库;3)对数据库软件进行优化。

5、操作系统优化

操作系统调优的手段和參数可能有所不同,比如在主流Unix系统中,共享内存段、信号量、共享内存最大值(shmmax)、共享内存最小值(shmmin)等都是能够进行优化的系统资源。此外,如最大文件句柄数、虚拟内存大小、磁盘的块大小等參数都可能对软件的性能产生影响。

有时不需要太多的工作就可以提高你的Java应用程序的性能。如果你不知道如何优化性能,可以借助性能诊断工具,这是一种对已经确定有性能问题的系统和代码进行诊断,还有一种是对预上线系统提前性能测试,确定性能是否符合上线要求。

Java学习之性能优化常用方法分享相关推荐

  1. 如何学习Linux性能优化?

    如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...

  2. 人人都能掌握的Java服务端性能优化方案

    转载自 人人都能掌握的Java服务端性能优化方案 作为一个Java后端开发,我们写出的大部分代码都决定着用户的使用体验.如果我们的代码性能不好,那么用户在访问我们的网站时就要浪费一些时间等待服务器的响 ...

  3. 一文了解 Java 应用程序性能优化指南

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 在<2018 最具就业前景的 7 大编程语言>一文中,通过分析了来自 Indee ...

  4. AntDB 落地某省电信大数据中心项目的性能优化案例分享

    亚信科技AntDB 落地某省电信大数据中心项目的性能优化案例分享 某省电信大数据中心项目采购了一套亚信科技AntDB 3.1分布式数据库,2018年8月初开始建设,建设周期一个月.9月份投入运行后,至 ...

  5. “Python性能优化”讲稿分享

    "Python性能优化"讲稿分享 烟花三月,对我来说,是一个多事的季节.谋划了人生中的第一次跳槽,手忙脚乱地,终于匆忙离职.在之前,曾经打算给公司的同事们搞个交流会,一起聊聊关于P ...

  6. 欢乐互娱庞池海:《龙之谷》项目性能优化经验分享

    欢乐互娱庞池海:<龙之谷>项目性能优化经验分享 在5月12日,UNITY 2017案例分享专场上,欢乐互娱技术引擎开发工程师娱庞池海分享了<龙之谷>项目性能优化经验.以下为分享 ...

  7. Go 调用 Java 方案和性能优化分享

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 一  背景 一个 ...

  8. zabbix学习4: 监控Java原理-zabbix性能优化-低级自动发现-zabbix api

    文章目录 20: zabbix监控java jvm原理 21: zabbix性能优化 22: zabbix低级自动发现 23: zabbix api 20: zabbix监控java jvm原理 to ...

  9. vector java 复制_Java性能优化必知的40个细节(珍藏版):Jvm调优+MySQL+Tomcat

    在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能.文末有整理好的相关面试文件,可以免费获取. 性能优化的50个细节 1. 尽 ...

最新文章

  1. 棉花糖主机送mysql_mysql操作
  2. 火山引擎视频云科技原力峰会即将开启,一起乘云 · 瞰世界
  3. 操作篇 DHCP协议学习与应用
  4. python正则表达式面试题_吐血总结!50道Python面试题集锦(4)
  5. 关于[super dealloc]
  6. 特老的文章:三层应该怎么划分。不知大家还有用否
  7. 深度剖析数据中台提供的数据服务
  8. 光大银行刘淼:基于华为云GaussDB(DWS) 数据仓库创新实践
  9. SpringBoot集成RabbitMQ消息队列搭建与ACK消息确认入门
  10. 显卡显存故障检测工具_为RTX30系显卡做准备,骨伽GEX750金牌全模组电源装机体验...
  11. MP4格式转换为AMV格式
  12. 通过Universal Link进行微信分享
  13. 世界地图中国地图高清版
  14. 梯度向量的超简单理解
  15. Python——轮盘抽奖游戏
  16. itest(爱测试) 4.1.1 发布,开源BUG 跟踪管理 敏捷测试管理软件
  17. Android 进程和文件的UID/GID
  18. 怎么用matlab进行频域分析法,如何用Matlab进行频域分析?
  19. 基于51单片机实现计算器功能
  20. __name__的用法

热门文章

  1. 张飞电子工程师速成视频教程百度云_电气工程师张飞电子工程师速成 硬件设计与开发 视频教程 第二部 (价值98元) | 吾爱楼52Lou...
  2. 0Ω电阻到底能过多大电流
  3. 15个最好的PDF转word的在线转换器,将PDF文件转换成doc文件
  4. c语言中求奇数的简单代码
  5. php 计算函数 (加,比较用法,除,减,求余,乘)
  6. 【Beetl笔记整理四】表达式
  7. 卑微且强大的Gumbel分布
  8. 怒打1300行代码,一个文件实现停车场管理系统,C++语言代码挑战
  9. 永洪 BI 使用脚本实现组件的隐藏与显示
  10. Vue中的插件小练习