在项目中,我们都经常面临所开发的产品性能问题。然而这些问题都不是很容易解决。大多性能问题追根究底都是系统架构或者说是设计问题。推翻了重做是不可能的,怎么从这些问题中吸取经验教训才是正道。来看看我遇到的设计问题。

案例: 企业级应用系统,技术使用了JSF 数据库Oracle. 主页面范围超慢,大概半分钟。

问题很多,主要有一下几点:

1. 数据库设计严格遵守了范式设计,导致表关联很多。页面数据大多需要从至少10张表联合获取。

2. 重度使用JSF 组件树过大。

3. 代码上冗余逻辑,大量没有必要的处理。

如何解决呢
    1. 对于第一个问题, 还是多学习学习数据库设计以及如何写出高效的SQL,推荐一本书 SQL反模式 可以指导如何进行数据库设计。毕竟大多数应用系统需要数据库的支持。写SQL同时想想是不是这个SQL是最优的。 资深的程序员应该对SQL优化有一定的了解。 www.2cto.com

2. 在设计开发应用系统初期,就要多了解你选技术的不足,尽量避免由技术不足带了的问题。毕竟任何技术都有其优势和不足。 比如问题2,尽量减少组件树,或者使用facelet来build UI .

3. 问题3就纯粹是程序员个人问题和团队流程问题了。 无论是用任何方式 比如测试驱动 结对编程等 流程毕竟是流程,程序员的个人素质与修养是整个产品质量的保证。 这点我还是相信找到合适的程序员让他喜欢或者对自己开发的产品有认同感才是最好的解决方式。如果连自己做的都不感兴趣,就靠流程,也是仅仅保证少许问题而不是高质量的产品。

转载于:https://blog.51cto.com/lailjiaaie/1093751

java-developer 性能是怎么样的?相关推荐

  1. 如何用JNI技术提高Java的性能详解

    阻碍Java获得广泛应用的一个主要因素是Java程序的运行效率.Java是介于解释型和编译型之间的一种语言,同样的程序,如果用编译型语言C来实现,其运行速度一般要比Java快一倍以上.Java具有平台 ...

  2. 部分人说 Java 的性能已经达到甚至超过 C++,是真的吗?

    好多Java程序员都说由于JIT技术的引入,Java的性能已经和C++一样了,而且Java的开发效率极高,可以省下60%的时间.请问事实真的是这样吗?我平常也都在写这两个语言,但是因为开发的软件的复杂 ...

  3. 来自韩国的优秀Java应用性能监控软件JENNIFER

    来自韩国的优秀Java应用性能监控软件JENNIFER 详细可参考:http://www.innovatedigital.com/JENNIFER.html JENNIFER服务监控: ●连接中的实时 ...

  4. java代码统计收藏量_干货收藏 | 35个Java 代码性能优化总结(上)

    原标题:干货收藏 | 35个Java 代码性能优化总结(上) 前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这 ...

  5. Java日志性能那些事

    在任何系统中,日志都是非常重要的组成部分,它是反映系统运行情况的重要依据,也是排查问题时的必要线索.绝大多数人都认可日志的重要性,但是又有多少人仔细想过该怎么打日志,日志对性能的影响究竟有多大呢?今天 ...

  6. Java中性能优化的35种方法汇总

    原文地址:http://www.jb51.net/article/102831.htm 前言 对程序员们来说,代码优化是一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于 ...

  7. [译]GC专家系列5-Java应用性能优化的原则

    原文链接:http://www.cubrid.org/blog/dev-platform/the-principles-of-java-application-performance-tuning/ ...

  8. 44个Java代码性能优化总结

    转载自 44个Java代码性能优化总结 代码优化的最重要的作用应该是:避免未知的错误.在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是 ...

  9. java 多线程性能_Java中多线程的性能比较

    java 多线程性能 Java中有多种用于多线程的技术. 可以通过同步关键字,锁或原子变量来并行化Java中的一段代码. 这篇文章将比较使用synced关键字ReentrantLock,getAndI ...

  10. java常见性能优化_十大最常见的Java性能问题

    java常见性能优化 Java性能是所有Java应用程序开发人员都关心的问题,因为快速使应用程序与使其正常运行同等重要. 史蒂文·海恩斯(Steven Haines)使用他在Java性能问题上的个人经 ...

最新文章

  1. 《SOA与REST:用REST构建企业级SOA解决方案》—第2章2.1节如何使用案例研究
  2. Windows 技术篇 - win10复制文件或文件夹时出错,提示“文件或目录损坏且无法读取“问题解决。windows驱动器、磁盘修复方法
  3. python学习(1)
  4. 网易游戏2019暑期实习开发岗笔试题
  5. mysql windows 安装_Windows 安装 Mysql(zip格式)
  6. C++ 内置或者复合类型 成员,必须自己定义构造函数来初始化……什么样的是【内置】 【复合类型】
  7. linux 怎么重装libaprutil,Apache安装出错_cannot install `libaprutil-1.la' to a directory
  8. Okhttp 插入缓存拦截器 解析
  9. 修改citrix 默认侦听端口的命令和XML Service端口
  10. Java面向对象(3)--类的成员方法
  11. 远程 mysql error 2003_远程连接MySQL报错ERROR 2003解决办法
  12. java分析dump文件_干货分享丨jvm系列:dump文件深度分析
  13. axure 8.1 授权码分享
  14. Elasticsearch 特定场景下使用
  15. jest : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\jest.ps1,因为在此系统上禁止运行脚本
  16. String 类方法及调用案例
  17. OpenCV4 快速入门 (学习笔记 全)
  18. 面试刷题LeetCode经典100道
  19. 门控时钟电路(Intergrated clock gating)
  20. 基础通用版IPv6转换服务使用说明及设置示例

热门文章

  1. 10. javacript高级程序设计-DOM
  2. 关于字符串流的学习(c++)
  3. Apache、Nginx、Tomcat的区别
  4. linux进程互斥要点,linux进程之间互斥
  5. 离线安装宝塔lnmp_宝塔LNMP环境 Nginx安装EduSoho教程说明
  6. EasyExcel导入的时候报错Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/File
  7. Vscode如何新建html文件
  8. mysql中的所有类型_mysql中常用的数据类型
  9. 程序员最反感的十件事,你有同感吗?
  10. 最挑战程序员的9大任务,你都干过哪些?