`

javaEE性能优化

    博客分类:
  • java
阅读更多
性能的优化一般可以从多方面入手,前端资源,java程序,数据传输,结果缓存,数据库,jvm的GC,甚至硬件层等。
一、前端优化
  影响页面性能的因素很多;
  1、页面请求Http数量。
    新建一个http连接需要经历tcp协议握手建立连接状态等过程,并且大部分请求和相应包含了cookie和header内容,增加网络带宽的消耗。因此、减少HTTP请求的数量能够加速页面的加载。可以通过采取合并样式和脚本文件等措施,来减少页面加载所需要请求。
设置html页面缓存方法:
静态的html页面想要设置使用缓存:
通过HTTP的META设置expires和cache-control
 <meta http-equiv="Cache-Control" content="max-age=7200" />
 <meta http-equiv="Expires" content="Mon, 20 Jul 2013 23:00:00 GMT" />

  2、是否使用CND网络。
     CDN网络能够使用户就近原则的取得所需要的资源,降低静态资源传输的网络延迟。
  3、是否使用压缩。
    对前端的js,css等静态资源文件可以去掉不要的注释和空格,空行等。使用gzip压缩来减少
网络上传输的字节数。当然,压缩是有成本的,会消耗服务器的cpu资源,但通常这种开销是值得的。
其他的规则还包括将样式放在页面首部加载,将js脚本放在底部加载,避免CSS样式,减少CDN查找等。
二、java程序优化
  java代码的优化是找到执行java缓慢的代码,想尽办法对原有的代码进行优化。如使用单例模式,减少系统开销,将单线程变多线程,提升资源利用率,采用选择就绪模式,提供并发吞吐量,对于互不影响的流程,可以使用Future模式来提升任务效率。。。通过这些措施来提高程序的性能。
  1、单例
    对于I/O处理,数据库连接,配置文件解析加载等耗资源的操作,必须对这些实例创建进行限制,或使用一个公共实例。以减少系统开销。
  2、Future模式。
   Future模式有点类似于网上购物,在你购买商品,订单生效之后,你可以去做自己的事情,等待商家通过快递给你送货上门。Future模式就是,当某一程序提交请求,期望得到一个答复。但是可能服务器程序对这个请求的处理比较慢,因此不可能马上收到答复。但是,在传统的单线程环境下,调用函数是同步的,它必须等到服务程序返回结果,才能继续进行其他处理。而Future模式下,调用方法是异步的,原本等待返回的时间段,在主调函数中,则可以处理其他的任务
package com.test.dao;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class FutureMain {
    private static class ChuJu{
          private String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
    private class Work implements Runnable{
        public void run() {

        }
    }
    //网上订餐
    private static class OnlineLunch  implements Callable{
        private ChuJu chuJu;
        public OnlineLunch(String name){
            chuJu = new ChuJu();
            chuJu.setName(name);
        }
        public ChuJu call() throws Exception {
            System.out.println("下单");
            System.out.println("等待发货。。。。");
            try {
                Thread.sleep(10000L);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("收到货物:");
            return this.chuJu;
        }
    }
    public static void main(String[] args) throws InterruptedException, ExecutionException {
        //第一步网上订购午餐
        FutureTask<ChuJu> future = new FutureTask<ChuJu>(new OnlineLunch("刀"));
        new Thread(future).start();
        //模拟去购物菜
        System.out.println("走去超市。。");
        Thread.sleep(3000);
        System.out.println("选菜。。。");
        Thread.sleep(3000);
        System.out.println("买菜回家。。。");
        Thread.sleep(3000);
        if(!future.isDone()){  //如果厨具还未到,等到
            System.out.println("等待厨具。。。");
        }
        ChuJu chuJu = future.get();
        //开始做菜
        System.out.println("厨具:"+chuJu.getName()+"到了");
    }
}


结果输出:
走去超市。。
下单
等待发货。。。。
选菜。。。
买菜回家。。。
等待厨具。。。
收到货物:
厨具:刀到了

   
分享到:
评论

相关推荐

    javaee 优化器

    在JavaEE开发中,为了提升应用程序的性能,往往需要对数据库查询进行优化。Oracle Optimizer作为Oracle数据库的重要组成部分,在选择执行计划时发挥着关键作用。本文将从Oracle Optimizer的基础概念出发,深入探讨其...

    影响JavaEE性能的十大问题.docx

    在JavaEE应用开发中,性能优化是一个至关重要的环节,因为性能问题可能导致系统响应慢、资源浪费以及用户体验下降。以下是对影响JavaEE性能的十大问题的详细分析: 1. **缺乏正确的容量规划**:在项目启动初期,应...

    javaEE-嵌套For循环性能优化案例借鉴.pdf

    在JavaEE开发中,性能优化是一个至关重要的环节,特别是在处理大量数据或复杂计算时。嵌套for循环作为常见的编程结构,其效率直接影响到程序的运行速度。本文通过一个具体的案例,探讨了如何对嵌套for循环进行性能...

    javaee性能调优方案

    #### 四、代码层面的性能优化策略 1. **使用StringBuffer或StringBuilder代替String进行字符串拼接** - **原因**:在Java中,`String`是不可变对象,这意味着每次字符串拼接操作都会创建一个新的`String`对象,这...

    JAVAEE 常见性能问题解决手册

    【JAVAEE Web开发常见性能问题】在开发和部署企业级JAVA应用程序时,性能优化是一个至关重要的环节。本文基于Steven Haines的《PRO JAVA EE 5 Performance Management and Optimization》一书,探讨了Java EE环境中...

    javaEE android 简单界面对比

    而Android应用直接运行在移动设备上,与用户更直接接触,因此在界面设计上更注重用户体验和性能优化,适合开发各种手机应用,如社交应用、游戏、生产力工具等。 在开发流程上,JavaEE项目通常遵循MVC(Model-View-...

    mySQL数据库性能优化pdf.pdf

    特别是在涉及JavaEE技术栈的应用开发时,对MySQL数据库的性能优化更是面试中的高频问题。这篇文章将详细讨论MySQL数据库性能优化的相关知识点,这不仅是Java面试的热点,也是每一位数据库管理员和开发人员应该掌握的...

    javaee高性能系统设计

    java web高性能优化设计方案,有清晰的对比说明,前期架构设计原理

    javaee.src.zip

    4. **性能优化**:源码中可能包含了各种性能优化技巧,如缓存策略、并发处理等,这些都是开发高效应用的关键。 5. **标准与自定义扩展**:通过阅读源码,我们可以了解到如何在遵循标准的同时,为特定需求定制和扩展...

    Java企业应用性能优化分析.pptx

    Java企业应用性能优化是提升系统效率的关键,尤其是在大型企业级环境中。优化分析涉及多个层面,包括基础性能原理、性能调优基础、特定于JavaEE的优化策略以及回顾重要的理论法则。以下是对这些知识点的详细说明: ...

    Java性能优化技巧集锦.pdf

    - J2EE、JSP、Servlet、EJB等JavaEE相关技术的性能优化方法。 - WebLogic Server和OpenSymphony等应用服务器的使用技巧。 7. JDBC和数据库操作优化(2.13节): - JDBC Unicode和I/O操作的性能影响。 - 优化...

    分布式缓存与JavaEE

    在JavaEE环境中,分布式缓存常用于存储会话数据、数据库查询结果等频繁访问的数据,避免了多次查询数据库带来的性能瓶颈。 **工作原理** 分布式缓存通常采用哈希分区策略,将数据分散到不同的节点上。当请求到达时...

    基于JAVAEE的学生管理系统

    在实际开发过程中,还需要考虑权限控制、异常处理、性能优化、安全防护等多方面因素,以确保系统的稳定、高效和安全。对于开发者来说,熟悉JAVAEE规范、精通Oracle数据库操作以及具备良好的软件工程实践是必不可少的...

    javaEE火车订票系统

    此外,性能优化也是关键,如通过缓存技术减少数据库访问,使用负载均衡提高服务可用性,以及对数据库进行合理的索引设计等。 总结,JavaEE火车订票系统是一个涵盖多方面技术的实战项目,涉及到Web开发的基础知识和...

    JavaEE开发环境下Sql Serve数据库优化.pdf

    这些操作有助于性能优化,但同时也面临历史数据占用大量空间的挑战。设计良好的数据库结构能够有效地管理这些历史数据,提升数据库的查询效率和系统性能。 知识点5:事务处理 JavaEE在处理事务管理时,规定在Web层...

    毕业JavaEE设计说明书

    《毕业JavaEE设计说明书》是作者在导师指导下深入研究JavaEE技术体系并完成的一项研究成果。...此外,作者可能还探讨了系统设计原则、性能优化、安全性等方面的问题,以展示其对JavaEE全面而深入的理解。

    Javaee --- 学生成绩管理系统

    6. 维护:定期更新,修复bug,优化性能。 总的来说,"Javaee --- 学生成绩管理系统"是一个综合运用了JavaEE、MySQL和JSP等技术的典型应用,旨在提高教育机构对学生成绩管理的效率和准确性。通过合理的设计和开发,...

Global site tag (gtag.js) - Google Analytics