`

Java 提高系统性能(转)

    博客分类:
  • java
 
阅读更多

首先是从三方面来提高的,应用层面,服务器端层面,数据库层面。 
一、应用层面 
1、采用freemaker或者velocity来做页面静态化,提高网站的访问速度。 

二、服务器端 
1、对于一些不经常增删改的数据做缓存,比如memcached,redis,mongodb 
2、对于图片的话,采用fastDFS来做图片的分布式服务器,加快图片的存储与读取。 
3、对于安全方面,采用数据库事务来保证数据的安全性能。 
4、能尽量少的使用锁来处理,因为锁有时候会带来一系列的连锁反应。 
5、做负载均衡,通过nginx+tomcat组合给服务器端分流。 
6、通过队列来做一些数据的信息暂存,来减缓线程对服务器的压力。 
7、采用并发的集合类,例如ConcurrentHashMap,CopyOnWriteArrayList等。 
8、考虑程序的可扩展性和可移植性。 
9、数据的一致性问题,需要考虑java concurrent包 
10、适当的使用一些高效算法。 
11、内存一致性:内存操作(如共享变量的读写)的 happen-before 关系。只有写入操作 happen-before 读取操作时,才保证一个线程写入的结果对另一个线程的读取是可视的。synchronized 和 volatile 构造 happen-before 关系,Thread.start() 和Thread.join() 方法形成 happen-before 关系。 
12、JVM的内存模型以及JVM的垃圾回收机制,一直垃圾回收器的合理使用,新生代和老年代的合理分区。 

三、数据库层面 
1、给数据库字段做索引,能够加快查询速度,不是所有的索引都能够加快查询速度的,前提是对于查询多于增删改的数据。 
2、给数据库表做表分区,能够加速查询的速度。 
3、分库分表,通过分区分表能够加快查询速度。 
4、根据explain命令对于sql语句进行解释执行计划分析。 
5、对表进行分区,分区查询会加快速度的 
6、oracle的话。需要选择合适的选择器,根据实际需要,选择基于成本的选择器,或者基于基于规则的优化器 
7、in和exists,还有not in和not exists的用法区别,以及适用场合 
8、做master-slave,进行读写分离,给数据库通过分流来减小压力。 
9、对于sql语句进行优化.

分享到:
评论

相关推荐

    java程序性能优化

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    Java程序性能优化

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    java服务程序性能测试总结

    前端时间项目中需要对java服务程序进行性能测试,确保服务程序能够满足业务的并发需求,这里把整个过程中遇到的问题以及解决方法做一个总结,下次遇到类似问题的时候可以参考,提高效率。 1. 采用jmeter编写压测脚本...

    JAVA性能瓶颈和漏洞检测

    ——提高开发效率,改善JAVA应用性能 * 轻松发现和消除性能瓶颈 * 查找问题代码 * 节省后续硬件及开发投入 * 增加应用发布信心 * 与开发过程集成,改善应用性能 JProbe Suite是一种能节省开发时间、降低开发费用...

    JAVA图书管理系统毕业论文.pdf

    系统介绍了图书系统的开发过程,设计中遇到的问题及解决方法以及提高当前应用程序或系统开发进度和改善工作性能 利用其提供的各种面向对象的开发工具首先在短时间内建立系统应用原型,然后 对初始原型系统进行需求...

    利用缓冲区提高Java应用程序的IO性能

    利用缓冲区提高Java应用程序的IO性能

    java系统软件技术架构设计方案.docx

    多处采用缓存技术,提高系统整体性能。 完全B/S结构:方便用户使用,方便管理员维护。 结构图: java系统软件技术架构设计方案全文共3页,当前为第2页。java系统软件技术架构设计方案全文共3页,当前为第2页。应用...

    javaswing图书馆管理系统源代码+数据库模型

    确保系统具有良好的系统性能,友好的用户界面。 较高的处理效率,便于使用和维护。 采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。 系统尽可能简化图书馆管理员的重复工作,提高工作效率。...

    大优惠 Java程序性能优化 让你的Java程序更快、更稳定最新版

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    基于JAVA的汽车销售订单管理系统

    本文设计并实现了基于JAVA技术的汽车销售订单管理系统解决方案,从而提高汽 车销售订单处理流程变得高效化、简单化、智能化,该系统实现高效客户订单综合分析 能力。从实践研究出发,基于JAVA技术和SQL2008相结合...

    Java程序性能优化 _让你的Java程序更快、更稳

    第4章介绍了并行开发和如何通过多线程提高系统性能。第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能。第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障...

    Java性能优化

    Java性能优化: 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 控制资源的使用,通过线程同步...

    java源码包---java 源码 大量 实例

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    基于Java的物流管理系统设计与实现.doc

    基于Java的物流管理系统设计与实现 摘 要:随着世界经济的飞速发展,电商行业的成熟,使得物流行业逐渐变成人们关注的经 济热点。中国与物流相关的年总支出有139000亿元,物流成本占总GDP的20%- 25%,不可否认物流...

    高级JAVA工程师体系课2.0:深入剖析高可用、高性能分布式系统设计与实现 全面提升性能

    通过学习课程资料和实践项目,我学会了如何通过水平扩展、缓存技术、异步处理、并发控制等手段提高系统的性能和吞吐量。我深入了解了分布式系统中常见的性能瓶颈,并学会了针对性地优化和调整系统,以提供更好的性能...

Global site tag (gtag.js) - Google Analytics