J2EE应用性能调优(目录)
来源:互联网 发布:手机淘宝店招尺寸 编辑:程序博客网 时间:2024/06/06 01:05
J2EE应用性能调优(目录)
博客分类: - 性能优化
J2EE应用性能调优J2EE应用性能调优(目录)
性能调优之零:前言
性能调优之一 :性能参数指标
性能调优之二 :性能调优方法
性能调优之三 :硬件网络层面调优
性能调优之四 :操作系统层面调优
性能调优之五:J2EE容器层面调优
性能调优之六:数据库层面调优
性能调优之七:J2EE后台程序调优
性能调优之八:J2EE前台程序调优
性能调优之九:JVM参数调优
性能调优之十:一个项目的性能优化经验
J2EE应用性能调优(目录)
博客分类: - 性能优化
J2EE应用性能调优J2EE应用性能调优(目录)
性能调优之零:前言
性能调优之一 :性能参数指标
性能调优之二 :性能调优方法
性能调优之三 :硬件网络层面调优
性能调优之四 :操作系统层面调优
性能调优之五:J2EE容器层面调优
性能调优之六:数据库层面调优
性能调优之七:J2EE后台程序调优
性能调优之八:J2EE前台程序调优
性能调优之九:JVM参数调优
性能调优之十:一个项目的性能优化经验
J2EE应用性能调优(目录)
- 博客分类:
- 性能优化
J2EE应用性能调优(目录)
性能调优之零:前言
性能调优之一 :性能参数指标
性能调优之二 :性能调优方法
性能调优之三 :硬件网络层面调优
性能调优之四 :操作系统层面调优
性能调优之五:J2EE容器层面调优
性能调优之六:数据库层面调优
性能调优之七:J2EE后台程序调优
性能调优之八:J2EE前台程序调优
性能调优之九:JVM参数调优
性能调优之十:一个项目的性能优化经验
性能调优之八:J2EE前台程序调优
- 博客分类:
- 性能优化
调优思路
1、 减少HTTP请求的次数
(1) 合并Javascript/CSS以减少请求次数
(2) 合并前台请求次数成一次操作
(3) 前台页面缓存
2、 减少网络数据的传输量
(1) 将大JSP页面的JS挪到JS文件
(2) 将JS文件进行压缩传输
(3) 最小化JS文件的大小(去掉空格和替换变量名等)
3、减少服务端IO读
(1) 将静态文件和动态文件分开(将静态HTML、图片之类的存放在HttpServer、动态文件JSP/Servlet放在J2EE容器)
性能调优之七:J2EE后台程序调优
- 博客分类:
- 性能优化
调优原则:
1、 减少数据库访问次数
(1) 使用数据缓存的存取方式
(2) 使用批量处理的方式
2、 减少SQL语句的执行时间
(1) 使用占位符的访问方式
(2) 优化SQL的执行计划(比如使用数据库索引或者调整SQL)
3、 减少程序执行的时间
(1) 使用异步调用代替同步调用
(2) 使用本地API方式代替远程调用(比如WebSerivce)
(3) 减少同步块或者同步方法的使用
(4) 减少IO读写
4、减少请求压力
(1) 使用应用集群部署方式分担掉服务器的压力
(2) 将静态文件和动态文件分离部署,减少J2EE容器的压力
高效Java编程注意事项
1、尽量避免不必要的方法调用
原则:在Java中,一切都是对象,如果有方法(Method)调用,处理器先要检查该方法是属于哪个对象,该对象是否有效,对象属于什么类型,然后选择合适的方法并调用。尽可能在外层确定是否一定要执行该方法。
示例:
- public void CallMethod(int i ){
- if( i ==0 ){
- return;
- }
- ... // 其他处理
- }
- int i = 0;
- ...
- CallMethod(i);
- 改为:
- int i = 0;
- ...
- if( i ==0 ){
- CallMethod(i);
- }
2、尽量避免不必要的对象创建
原则:当一个对象是用new进行初始化时,其构造函数链的所有构造函数都被调用到,所以new操作符是很消耗系统资源的,new一个对象耗时往往是局部变量赋值耗时的上千倍。同时,当生成对象后,系统还要花时间进行垃圾回收和处理。尽量少用new来初始化一个类的实例, 当new创建对象不可避免时,注意避免多次的使用new初始化一个对象,尽量在使用时再创建该对象。
示例:
- NewObject object = new NewObject();
- int value;
- if(i>0 )
- {
- value =object.getValue();
- }
- int value;
- if(i>0 )
- {
- NewObject object = new NewObject();
- Value =object.getValue();
- }
- Vector vect = new Vector(1000);
- ...
- for( int i=0; i<vect.size(); i++){
- ...
- }
- int size = vect.size();
- for( int i=0; i>size; i++){
- ...
- }
- StringBuilder builder = new StringBuilder(100);
- 当声明Vector vect=new Vector()时,系统调用:
- public Vector() {// 缺省构造函数
- this(10); // 容量是 10;
- }
- 缺省分配10个对象大小容量。当执行add方法时扩充容量。
- Map map = new HashMap();
- Iterator iter = map.keySet().iterator();
- while (iter.hasNext()) {
- Object key = iter.next();
- Object val = map.get(key);
- }
- Map map = new HashMap();
- Iterator iter = map.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry entry = (Map.Entry) iter.next();
- Object key = entry.getKey();
- Object val = entry.getValue();
- }
- J2EE应用性能调优(目录)
- J2EE性能调优
- J2EE性能调优之一
- HDNL性能调优(2)J2EE中间件
- J2EE开发之(三)之apache性能调优
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用 OSCache 提升 J2EE 系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 应用OSCache提升J2EE系统运行性能
- 欢迎使用CSDN-markdown编辑器
- android 图片轮播
- 浅析jQuery整体框架与实现(上)
- [转]PAT甲级练习1093. Count PAT's (25)
- ubuntu下使用 rxtx串口通讯
- J2EE应用性能调优(目录)
- Linux文件查找
- jvm参数设置
- 【视频+工程】最新版unity3d视频教程下载-新手入门系列-20讲
- 深入浅出 RPC
- FrameLayout(帧布局)实现闪烁霓虹灯效果
- mac 配置 mysql
- Eigen矩阵的运算(二)
- 交叉字符串