Java优化编程(第2版)
基本信息
编辑推荐
第1版广受好评,本次加入泛型、Ajax、线程池、Java多进程归并内容更完善,是提升程序性能的不二之选。...
内容简介回到顶部↑
本书通过丰富、完整、富有代表性的实例,展示了如何提升java应用性能,并且给出了优化前与优化后的java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析了影响java应用程序性能的根本原因。本书不是教你怎样使用java语言开发应用程序,而是教你怎样才能开发出更高效、更优秀的java应用程序。书中每一个例子都经过了作者严格的验证。
本书适合于所有想编写更高效、完美java应用程序的开发人员阅读。
本书适合于所有想编写更高效、完美java应用程序的开发人员阅读。
作译者回到顶部↑
本书提供作译者介绍
林胜利,河北工业大学计算机科学专业学士。8年软件行业从业经验,目前在Sybase中国北京研发中心工作,主要从事与Java技术(J2SE J2EE J2ME),系统架构设计、设计模式以及UML建模等相关的应用开发与研究工作,对Java技术体系有深入的研究与认知。先后主编并出版了5本相关技术著作,广受读者好评。.
作者对J2SE核心技术,J2EE体系结构及相关技术,J2ME体系结构及相关技术等有丰富的实战经验。对JVM的运行机制,内存管理机制以及各种Java编程中的优化技术有深入的理解。...
.. << 查看详细
作者对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.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 方法的命名规则
前言回到顶部↑
写作背景.
Java语言一经问世,就打破以往C++在面向对象开发界一统天下的格局。Java语言是一门非常纯正的面向对象语言,它已经被广泛地应用到电信应用系统与企业级系统软件的开发领域中。在目前从事软件开发的程序员中,应用Java语言进行开发的占了非常大的比例,这主要是因为Java语言的跨平台性与强大的功能。但是大部分开发人员对Java语言只是知道如何应用,至于怎样才能应用好,怎样才能提高Java语言开发应用程序的效率,却知之甚少。只有知道如何更好地运用一门优秀的语言,才能充分发挥它的潜在功用,开发出优质的软件。一门语言好比一个工具,如果使用者只知道如何简单地使用它,那么即使这个工具非常优秀,这个使用者也只能用这个工具创造出平庸的作品。对Java语言来讲亦是如此。
写作目的
正是考虑到以上原因,编写本书的目的不是教读者如何使用Java语言,也不是向读者介绍Java虚拟机的深奥理论,而是通过大量的知识点与开发实例结合作者多年的开发经验,向读者介绍如何提升用Java语言所开发的应用程序的效率与性能,目的是告诉那些已经具备Java开发基础知识的开发人员与涉猎Java开发领域不久的开发人员,怎样才能写出优秀的大师级的Java代码,从而帮助他们快速成为优秀的Java程序员。
本书特色
本书虽然重点讲解了如何提升Java应用程序性能的相关理论,但是本书不是一本侧重理论的图书。过于强调理论的图书,通常内容晦涩,容易让读者读后有种云里雾里的感觉,很难体会理解。本书通过丰富、完整、更具代表性的实例,展示了如何提升应用程序性能。本书不但告诉读者如何提升应用程序的性能,并且给出了这样做与不这样做开发的Java应用程序的性能差别,以实际的实例与数字告诉读者,为什么不可以这么做,应该怎么做,并且告诉读者影响Java应用程序性能的根本原因是什么,这样可以使读者能更深刻地理解书中所涉及的知识点,从而达到深刻理解、熟练运用的目的。
本书没有教读者怎样使用Java语言进行开发,而是教读者怎样才能开发出更高效、更优秀的Java应用程序,这是本书的最大特点。举个例子来说,本书没有具体讲解如何运用Java核心类来进行开发,因为这些知识很容易找到相关的技术资料,也容易被开发人员掌握。本书重点讲解的是影响Java应用程序性能的核心类的特点,以及在开发应用程序时,它们所造成的性能瓶颈,如何可以摆脱这个性能瓶颈,或者给出打破这个瓶颈的可行方法,引导读者掌握合理使用这些核心类,编制性能最优化的应用程序。书中所涉及的每一个知识点几乎都是Java开发中的技术要点,并在讲解这些知识点时,给出如何避免进入某些技术误区的方法与措施。
本书非常注重内容的充实性与实用性,希望读者通过阅读本书,能获取更多实用的Java程序设计技术知识。书中的每一章都包含较多的知识点,通常情况下每一个知识点是一节,在每一章的结束部分都有一个小结,小结的目的是总结回顾这一章中最重要的知识点,以加深读者对本章所学知识的印象。本书在对每一个知识点的讲解过程中都附有详细的例子,每个例子都具有代表性,并且经过了笔者严格验证,相信读者在掌握本书所涵盖的知识之后一定能开发出具备最优性能的Java应用程序。
本书大部分知识点都是作者多年开发经验的结晶,衷心地希望它们能帮助读者在Java开发的职业生涯中少走弯路,养成良好的编程习惯,尽早成为Java开发专家。
本书第一版得到读者的广泛好评,作者紧跟Java技术的发展步伐对第一版的内容做了必要的调整,对过时的技术做了必要的删减,对精要技术做了进一步的完善,并在此基础上追加了目前较为前卫的优化技术如泛型,Ajax,线程池,Java多进程归并等,使本书的品质得到了较大的提升。
本书结构
本书共分为15章。由于本书并不是一本系统讲解Java语言的程序设计的图书,它着重介绍如何优化Java应用开发的关键技术的图书,因此,本书的内容是并列的,但是在写作过程中,笔者还是做了必要的调整与统筹,尽量做到由浅入深地编排本书的内容。下面简单介绍一下本书各章的内容安排。
第1章 Java程序设计风格。本章详细地讲解了有关Java程序设计风格的技术知识,通过对本章知识的学习、掌握,只要读者能够坚持其中介绍的编写规则,仅从代码风格上来讲,读者就能够具备编写大师级Java代码的能力。
第2章 内存管理。本章介绍了Java内存管理的相关知识,虽然在Java程序设计中的内存是由JVM控制管理的,但并不是说开发人员无法通过改善应用程序或通过其他途径对内存的使用进行优化,本章通过对相关知识点的讲解,可以使读者对Java内存的使用了如指掌,运用自如,对Java的内存管理机制有系统的认识。在对知识点的讲解过程中,笔者给出了选择与放弃的规则,这样读者就可以在实际的开发过程中,避免由于不合理地使用Java内存而导致系统性能下降或者系统崩溃等情况的发生,并且可以权衡考虑在特定的场景下选用哪种合理的使用内存的技术。
第3章 表达式、语句与保留字。本章讲解了Java语言中有关表达式、语句与保留字的知识,通过对本章内容的学习,读者会发现在日常的应用程序开发中有很多值得注意的地方,却往往被忽略了。结合本章所讲解的知识,相信读者能在很多方面不断地完善、优化读者的应用程序。
第4章 Java核心类与性能优化。本章讲解了Java语言中的部分核心类与开发应用软件性能的知识。通过对本章的学习,相信读者在应用Java核心类做应用开发时,就有了取舍的依据及提高应用性能的方法。
第5章 JNI程序设计与性能优化。本章讲解了JNI技术架构,JNI技术中数据类型与处理方法,JNI数学计算与性能,以及如何处理好JNI技术程序设计中的中文问题等相关技术知识。通过对本章的学习,读者能够对JNI技术建立一个完整概念,并且掌握其技术要点,知道在什么地方,什么时候应用JNI技术,以及怎样更好地应用JNI技术,开发优质应用软件。..
第6章 类与接口。本章讲解了Java语言程序设计中有关类与接口的相关知识。通过对本章的学习,读者能够对面向对象程序设计中的两个重要概念——类与接口——有更高层次上的认识。经历了从过去的知道到现在的精通这一过程,读者能有一个质的飞越。
第7章 JSP与Servlet性能优化。本章分为两部分内容:第一部分讲解如何提升JSP应用性能,第二部分讲解如何提升Servlet应用性能,通过对本章的学习,读者能够进一步认识到开发良好的JSP与Servlet应用软件需要多方面综合考虑,并可以掌握提高JSP与Servlet应用性能的技术要点。
第8章 开发高性能的EJB应用。本章首先讲解了有关如何提高EJB应用性能的相关技术知识,接着讲解了如何优化Session Bean性能,最后讲解了EJB的结合应用法则与提高EJB应用性能的其他途径等内容。通过对本章的学习,读者能够进一步加深对EJB技术的认识,成为一名精通EJB技术的高手。
Java语言一经问世,就打破以往C++在面向对象开发界一统天下的格局。Java语言是一门非常纯正的面向对象语言,它已经被广泛地应用到电信应用系统与企业级系统软件的开发领域中。在目前从事软件开发的程序员中,应用Java语言进行开发的占了非常大的比例,这主要是因为Java语言的跨平台性与强大的功能。但是大部分开发人员对Java语言只是知道如何应用,至于怎样才能应用好,怎样才能提高Java语言开发应用程序的效率,却知之甚少。只有知道如何更好地运用一门优秀的语言,才能充分发挥它的潜在功用,开发出优质的软件。一门语言好比一个工具,如果使用者只知道如何简单地使用它,那么即使这个工具非常优秀,这个使用者也只能用这个工具创造出平庸的作品。对Java语言来讲亦是如此。
写作目的
正是考虑到以上原因,编写本书的目的不是教读者如何使用Java语言,也不是向读者介绍Java虚拟机的深奥理论,而是通过大量的知识点与开发实例结合作者多年的开发经验,向读者介绍如何提升用Java语言所开发的应用程序的效率与性能,目的是告诉那些已经具备Java开发基础知识的开发人员与涉猎Java开发领域不久的开发人员,怎样才能写出优秀的大师级的Java代码,从而帮助他们快速成为优秀的Java程序员。
本书特色
本书虽然重点讲解了如何提升Java应用程序性能的相关理论,但是本书不是一本侧重理论的图书。过于强调理论的图书,通常内容晦涩,容易让读者读后有种云里雾里的感觉,很难体会理解。本书通过丰富、完整、更具代表性的实例,展示了如何提升应用程序性能。本书不但告诉读者如何提升应用程序的性能,并且给出了这样做与不这样做开发的Java应用程序的性能差别,以实际的实例与数字告诉读者,为什么不可以这么做,应该怎么做,并且告诉读者影响Java应用程序性能的根本原因是什么,这样可以使读者能更深刻地理解书中所涉及的知识点,从而达到深刻理解、熟练运用的目的。
本书没有教读者怎样使用Java语言进行开发,而是教读者怎样才能开发出更高效、更优秀的Java应用程序,这是本书的最大特点。举个例子来说,本书没有具体讲解如何运用Java核心类来进行开发,因为这些知识很容易找到相关的技术资料,也容易被开发人员掌握。本书重点讲解的是影响Java应用程序性能的核心类的特点,以及在开发应用程序时,它们所造成的性能瓶颈,如何可以摆脱这个性能瓶颈,或者给出打破这个瓶颈的可行方法,引导读者掌握合理使用这些核心类,编制性能最优化的应用程序。书中所涉及的每一个知识点几乎都是Java开发中的技术要点,并在讲解这些知识点时,给出如何避免进入某些技术误区的方法与措施。
本书非常注重内容的充实性与实用性,希望读者通过阅读本书,能获取更多实用的Java程序设计技术知识。书中的每一章都包含较多的知识点,通常情况下每一个知识点是一节,在每一章的结束部分都有一个小结,小结的目的是总结回顾这一章中最重要的知识点,以加深读者对本章所学知识的印象。本书在对每一个知识点的讲解过程中都附有详细的例子,每个例子都具有代表性,并且经过了笔者严格验证,相信读者在掌握本书所涵盖的知识之后一定能开发出具备最优性能的Java应用程序。
本书大部分知识点都是作者多年开发经验的结晶,衷心地希望它们能帮助读者在Java开发的职业生涯中少走弯路,养成良好的编程习惯,尽早成为Java开发专家。
本书第一版得到读者的广泛好评,作者紧跟Java技术的发展步伐对第一版的内容做了必要的调整,对过时的技术做了必要的删减,对精要技术做了进一步的完善,并在此基础上追加了目前较为前卫的优化技术如泛型,Ajax,线程池,Java多进程归并等,使本书的品质得到了较大的提升。
本书结构
本书共分为15章。由于本书并不是一本系统讲解Java语言的程序设计的图书,它着重介绍如何优化Java应用开发的关键技术的图书,因此,本书的内容是并列的,但是在写作过程中,笔者还是做了必要的调整与统筹,尽量做到由浅入深地编排本书的内容。下面简单介绍一下本书各章的内容安排。
第1章 Java程序设计风格。本章详细地讲解了有关Java程序设计风格的技术知识,通过对本章知识的学习、掌握,只要读者能够坚持其中介绍的编写规则,仅从代码风格上来讲,读者就能够具备编写大师级Java代码的能力。
第2章 内存管理。本章介绍了Java内存管理的相关知识,虽然在Java程序设计中的内存是由JVM控制管理的,但并不是说开发人员无法通过改善应用程序或通过其他途径对内存的使用进行优化,本章通过对相关知识点的讲解,可以使读者对Java内存的使用了如指掌,运用自如,对Java的内存管理机制有系统的认识。在对知识点的讲解过程中,笔者给出了选择与放弃的规则,这样读者就可以在实际的开发过程中,避免由于不合理地使用Java内存而导致系统性能下降或者系统崩溃等情况的发生,并且可以权衡考虑在特定的场景下选用哪种合理的使用内存的技术。
第3章 表达式、语句与保留字。本章讲解了Java语言中有关表达式、语句与保留字的知识,通过对本章内容的学习,读者会发现在日常的应用程序开发中有很多值得注意的地方,却往往被忽略了。结合本章所讲解的知识,相信读者能在很多方面不断地完善、优化读者的应用程序。
第4章 Java核心类与性能优化。本章讲解了Java语言中的部分核心类与开发应用软件性能的知识。通过对本章的学习,相信读者在应用Java核心类做应用开发时,就有了取舍的依据及提高应用性能的方法。
第5章 JNI程序设计与性能优化。本章讲解了JNI技术架构,JNI技术中数据类型与处理方法,JNI数学计算与性能,以及如何处理好JNI技术程序设计中的中文问题等相关技术知识。通过对本章的学习,读者能够对JNI技术建立一个完整概念,并且掌握其技术要点,知道在什么地方,什么时候应用JNI技术,以及怎样更好地应用JNI技术,开发优质应用软件。..
第6章 类与接口。本章讲解了Java语言程序设计中有关类与接口的相关知识。通过对本章的学习,读者能够对面向对象程序设计中的两个重要概念——类与接口——有更高层次上的认识。经历了从过去的知道到现在的精通这一过程,读者能有一个质的飞越。
第7章 JSP与Servlet性能优化。本章分为两部分内容:第一部分讲解如何提升JSP应用性能,第二部分讲解如何提升Servlet应用性能,通过对本章的学习,读者能够进一步认识到开发良好的JSP与Servlet应用软件需要多方面综合考虑,并可以掌握提高JSP与Servlet应用性能的技术要点。
第8章 开发高性能的EJB应用。本章首先讲解了有关如何提高EJB应用性能的相关技术知识,接着讲解了如何优化Session Bean性能,最后讲解了EJB的结合应用法则与提高EJB应用性能的其他途径等内容。通过对本章的学习,读者能够进一步加深对EJB技术的认识,成为一名精通EJB技术的高手。
评论交流
共有11人开贴评论 16人参与评论 11人参与打分 查看
评价等级:

发表于:2008-5-31 14:54:00
看了几页,发现书里面有很多不好的编程习惯。作者大力提倡的某些观点,正是应该避免的。
比如作者认为(第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仍然存在,容易被误用,而且也不利于垃圾回收。
作者还提倡变量的声明应该在代码块开始的地方。但是《代码大全》里面说变量的声明应该尽量靠近变量使用的地方。
作者的变成习惯似乎是从c里面带过来的。而且很多地方似乎就是在想当然,根本没有经过实际的测试。
比如作者认为(第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仍然存在,容易被误用,而且也不利于垃圾回收。
作者还提倡变量的声明应该在代码块开始的地方。但是《代码大全》里面说变量的声明应该尽量靠近变量使用的地方。
作者的变成习惯似乎是从c里面带过来的。而且很多地方似乎就是在想当然,根本没有经过实际的测试。
| 我要写评论 |
| 查看所有评论交流(共11条) |


点击看大图



加载中...

