Java优化编程

当前位置:首页 > 网络编程 > 编程语言与程序设计 > Java优化编程

出版社:电子工业
出版日期:2007年07月
ISBN:9787121045646
作者:林胜利
页数:402 页页

内容概要

  林胜利,河北工业大学计算机科学专业学士。8年软件行业从业经验,目前在Sybase中国北京研发中心工作,主要从事与Java技术(J2SE,J2EE,J2ME),系统架构设计、设计模式以及UML建模等相关的应用开发与研究工作,对Java技术体系有深入的研究与认知。先后主编并出版了5本相关技术著作,广受读者好评。 作者对J2SE核心技术,J2EE体系结构及相关技术,J2ME体系结构及相关技术等有丰富的实战经验。对JVM的运行机制,内存管理机制以及各种Java编程中的优化技术有深入的理解。

书籍目录

第1章 Java程序设计风格1.1 Java文件名与文件组织结构1.2 Java文件注释头1.3 包的声明与引用1.4 类与接口的声明1.5 Java源文件编排格式码行长度与折行规则1.6 程序注释1.7 变量的声明初始化与放置1.7.1 变量声明1.7.2 变量初始化1.7.3 变量放置1.8 Java程序语句编写规则1.8.1 简单语句1.8.2 复合语句1.9 空格与空行的应用规则1.9.1 空格的应用规则1.9.2 空行的应用规则1.10 方法、变量与常量的命名规则1.10.1 方法的命名规则1.10.2 变量的命名规则1.10.3 常量的命名规则1.11 Java编程实践1.11.1 访问实例与类中变量的规则1.11.2 引用类中的静态变量与方法的规则1.11.3 变量赋值规则1.11.4 综合规则小结第2章 内存管理2.1 垃圾回收2.2 JVM中对象的生命周期2.2.1 创建阶段2.2.2 应用阶段2.2.3 不可视阶段2.2.4 不可到达阶段2.2.5 可收集阶段、终结阶段与释放阶段2.3 Java中的析构方法finalize2.4 数组的创建2.5 共享静态变量存储空间2.6 对象重用与GC2.7 瞬间值2.8 不要提前创建对象2.9 JVM内存参数调优2.10 Java程序设计中有关内存管理的其他经验小结第3章 表达式、语句与保留字3.1 表达式3.1.1 括号规则3.1.2 简单规则3.1.3 单一意图规则3.1.4 方法返回值比较规则3.1.5 字符串比较规则3.2 Java语言中的保留字3.2.1 静态的(static)3.2.2 超类(super)3.2.3 最终的(final)3.2.4 同步(synchronized)3.2.5 实例识别(instanceof)3.3 判断语句与循环语句3.3.1 判断语句3.3.2循环语句3.4 正则表达式小结第4章 Java核心类与性能优化4.1 散列表类与性能优化4.1.1 线程同步散列表类4.1.2 设置ArrayList初始化容量4.1.3 ArrayList与LinkedList4.2 String类与性能优化4.2.1 字符串累加与性能优化4.2.2 字符串的length()方法与性能优化4.2.3 toCharArray()方法与性能优化4.2.4 字符串转化为数字4.3 系统I/O类4.3.1 Java语言中输入/输出流4.3.2 通过系统缓冲流类提高I/O操作效率4.3.3 通过自定制缓沖区提高I/O操作效率4.3.4 通过压缩流提高I/O操作效率4.3.5 通过非阻塞I/O优化应用性能4.4 其他4.4.1 数据格式化与性能优化4.4.2 获取文件信息与性能优化小结第5章 JNI程序设计与性能优化5.1 JNI技术架构5.2 创建带有本地方法的Java应用5.3 创建C端代码5.3.1 创建C端代码头文件5.3.2 创建C端代码主文件5.4 JNI技术中数据类型与处理方法5.4.1 JNI技术中的本地数据类型5.4.2 访问JNI本地数据类型的方法5.4.3 在JNI本地方法中访问数组5.4.4 JNI中的主要方法5.5 JNI中的重要技术5.5.1 局部引用与全局引用5.5.2 处理本地方法引起的Java错误5.5.3 线程与本地方法5.6 JNI数学计算与性能优化5.7 处理好JNI中的中文问题小结第6章 类与接口6.1 类的构造器6.1.1 构造器编写规则6.2 类的继承规则6.2.1 单线继承规则6.2.2 包内部继承规则6.2.3 逻辑包含继承规则6.3 抽象类与接口6.4 继承与组合的应用时机6.5 接口与抽象类的应用时机6.6 内部类6.7 与性能相关的建议与经验小结第7章 JSP与Servlet性能优化7.1 提升JSP应用性能7.1.1 优化jspInit()方法7.1.2 通过优化_jspService()方法提高系统性能7.1.3 JSP高级知识7.2 提升SERVLET应用性能7.2.1 提高Servlet应用性能的七个方法7.2.2 合理缓沖静态数据与动态数据7.2.3 改善Servlet应用性能的方法7.2.4 Filter Servlet与Listener Servlet小结第8章 开发高性能的EJB应用8.1 采用EJB技术的必要性8.1.1 EJB技术的优势特性8.1.2 EJB技术体系具有清晰的架构层次8.1.3 EJB与传统Bean相比的性能优势8.2 EJB的类型8.2.1 EJB的生命周期8.2.2 三种EJB的特点与适用场合8.2.3 本地EJB与远程EJB的性能比较8.2.4 有状态会话EJB与HttpSession8.2.5 EJB 3.0规范中的EJB8.3 优化无状态会话EJB性能8.3.1 如何控制无状态会话EJB的生命周期8.3.2 通过调节无状态会话EJB实例池的大小来优化系统性能8.3.3 无状态会话EJB资源的缓冲与释放8.4 优化有状态会话EJB性能8.4.1 控制有状态会话EJB生命周期8.4.2 优化有状态会话EJB的主要途径8.5 优化实体EJB的性能8.5.1 如何控制实体EJB的生命周期8.5.2 通过调节实体EJB实例池的大小来优化系统性能8.5.3 控制好实体EJB中的事务8.5.4 提高实体EJB应用性能的其他知识8.6 优化消息EJB性能8.6.1 如何控制消息EJB的生命周期8.6.2 如何缓存释放系统资源8.7 几种EJB的结合应用规则8.8 提高EJB应用性能的其他途径小结第9章 JMS性能优化9.1 JMS消息收发模式及其各自适用场合9.2 发送与接收JMS消息9.3 优化JMS中的会话对象9.4 优化连接对象9.5 优化消息目的地Destination及消息生产者与消费者9.6 优化消息对象及合理使用事务机制9.7 影响JMS性能的其他因素小结第10章 JDBC与性能优化10.1 选择最优的驱动程序优化应用性能10.2 优化JDBC连接10.2.1 设置合适的预取行值10.2.2 采用连接池技术10.2.3 合理应用事务10.2.4 选择合适的事务隔离层与及时关闭连接10.3 优化Statement对象10.4 优化ResultSet对象10.4.1 通过缓冲数据行提高系统性能10.4.2 通过设置合适的处理数据行的方向提高系统性能10.4.3 通过采用合适的getXXX()方法提高系统性能小结第11章 软件结构、设计模式与性能优化11.1 模式简介11.2 常用模式的Java实现与结构优化11.2.1 单态/单件模式的结构优化11.2.2 抽象工厂模式的结构优化11.2.3 适配器模式的结构优化11.2.4 代理模式的结构优化11.2.5 桥接模式的结构优化11.2.6 命令模式的结构优化11.2.7 观察者模式的结构优化11.2.8 职责链模式的结构优化11.2.9 中介者模式的结构优化11.2.10 访问者模式的结构优化11.2.11 任务分配中心模式的结构优化11.3 J2EE户的模式与性能优化11.3.1 服务定位模式与性能优化11.3.2 会话门面模式与性能优化11.3.3 消息门面模式与性能优化11.3.4 返回值打包模式与性能优化11.3.5 返回值包装工厂模式与性能优化11.3.6 值列表处理器模式与性能优化11.3.7 复合实体模式与性能优化小结第12章 Java多线程技术与应用性能优化12.1 Java多线程技术12.1.1 进程与线程12.1.2 线程的生命周期12.2 并行任务与性能12.2.1 并行任务与多线程12.2.2 并行任务与死锁12.3 线程池技术与应用性能优化12.3.1 线程池12.3.2 调优线程池的尺寸12.4 通过线程池技术优化套接字网络编程小结第13章 Java泛型与应用优化13.1 认识泛型13.1.1 使用泛型的收益13.1.2 泛型与JDK 5.0中的集合类13.2 使用泛型13.2.1 创建支持泛型的类13.2.2 泛型的自动解包装与自动包装的功能13.2.4 限制泛型中类型参数的范围小结第14章 Ajax技术与Web应用性能优化14.1 了解Aiax14.2 通过Ajax技术改善Web应用性能14.2.1 Ajax技术实现14.2.2 Ajsx技术性能优化实例小结第15章 其他优化话题15.1 用WeakHashMap屏蔽内存泄漏15.2 优化Java应用大小15.3 通过RandomAccess接口优化迭代列表15.4 合并Java中的多进程与系统优化小结附录A Together工具的使用简介附录B J2SE 5.0的新特性与性能的提升附录C 编排代码的精美工具JxBeauty

编辑推荐

  《Java优化编程(第2版)》虽然重点讲解了如何提升Java应用程序性能的相关理论,但是《Java优化编程(第2版)》不是一本侧重理论的图书。过于强调理论的图书,通常内容晦涩,容易让读者读后有种云里雾里的感觉,很难体会理解。《Java优化编程(第2版)》通过丰富、完整、更具代表性的实例,展示了如何提升应用程序性能。《Java优化编程(第2版)》不但告诉读者如何提升应用程序的性能,并且给出了这样做与不这样做开发的JaVa应用程序的性能差别,以实际的实例与数字告诉读者,为什么不可以这么做,应该怎么做,并且告诉读者影响Java应用程序性能的根本原因是什么,这样可以使读者能更深刻地理解书中所涉及的知识点,从而达到深刻理解、熟练运用的目的。

作者简介

本书通过丰富、完整、富有代表性的实例,展示了如何提升Java应用性能,并且给出了优化前与优化后的Java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析了影响Java应用程序性能的根本原因。本书不是教你怎样使用Java语言开发应用程序,而是教你怎样才能开发出更高效、更优秀的Java应用程序。书中每一个例子都经过了作者严格的验证。
本书适合于所有想编写更高效、完美Java应用程序的开发人员阅读。

图书封面


 Java优化编程下载 更多精彩书评



发布书评

 
 


精彩书评 (总计3条)

  •     很适合有一定基础的人学习,很多问题都是一遍遍琢磨以后才能明白,如果没有任何基础的人还是不要考虑了,它不会让你迅速上手的。说实话上一天班,再花精力去啃书,真是挺累的。但又确实想学点东西。还好,有个朋友告诉我在猎豹网校上,有专门教这种课程的,去看看老师的讲解,那种视频课程,就跟看电影一样,比较轻松容易。这样学习,感觉可好多了。
  •     书中举的例子经我本人测试,完全不合书本中的意思,有的结果甚至反过来public static void main(String[] args) {long startTimes;long endTimes;int[] a = new int[2500000];int[] b = new int[2500000];int len = 2500000;startTimes = System.currentTimeMillis();for (int i=len-1; i>0; i--) {b[i] = i;}endTimes = System.currentTimeMillis();System.out.println("------2---" + (endTimes - startTimes));startTimes = System.currentTimeMillis();for (int i=0; i<len; i++) {a[i] = i;}endTimes = System.currentTimeMillis();System.out.println("-----1----" + (endTimes - startTimes));}这是书上的一个例子,我只是颠倒下顺序,结果就不一样,不像作者说的那样,2的比1快
  •     才看了一点,就发现了一些明显的错误。第12页“尽量把变量声明代码放在一个代码块的开始处,这里所说的代码块是用{}括起来的代码段,不要等到在使用变量的时候再声明它,这样会降低代码的可读性与便携性”这段话是作者想当然地把C里面的做法搬到java里面来了。正确的做法恰恰就是“在使用变量的时候才声明它”,见《代码大全》里面的论述。第28页作者认为for(int i=0;i<10000;i ) { Object obj = new Object(); System.out.println(obj); } 是一种很差的写法。应该写成 Object obj=null; for(int i=0; i<10000; i ) { obj=new Object(); System.out.println(obj); }但是如果看过《代码大全》等大师级作品的话,就会发现第二种方法正是应该避免的,应该写成第一种方式。 经过测试,两种方式在效率上没有任何差别,但是第一种方式显然更清晰,循环结束后obj就不存在了,而在第二种方式里循环结束后obj仍然存在,容易被误用,而且也不利于垃圾回收。 《代码大全》里面最反对的就是“想当然地以为某种方法可以提高效率”,可是作者恰恰犯了这个毛病。再比如第62页,作者认为把函数设为final可以提高运行效率。《java编程思想》《core java》里面都是反对这么做的。对于书里面的例子,我试了一下,加不加final对于运行效率没有任何影响。(莫非作者用的是很老的java版本)

精彩短评 (总计1条)

  •     信息比较过时,内容也比较乱,不推荐。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024