在线试读

get_product_contenthtml

  第1章 导论
  本书讨论Java能优化的艺术与科学。
  Java能优化是一门科学,这样说并不令人惊讶:关于能的讨含大量数字、评测和分析。大部分能优化工程师拥有科学类的学科背景,而且实现佳能的关键是严谨地运用科学方法。
  那么Java能优化是艺术吗?能优化既是一门科学,又是一门艺术,这种说法并不新鲜,但是我们在讨论能时很少明确地承认这一点。部分原因是“艺术”的概念与我们的调试过程相悖。对于一些人来说,看起来是艺术的东西,基本上都基于丰富的知识和经验。而足够的技术和魔法无异,像对于圆桌骑士来说,手机真的拥有魔法。同理,的能优化工程师的工作成果犹如艺术作品,只不过这些艺术作品源于渊博的知识、丰富的经验和敏锐的直觉。
  本书不能在经验和直觉方面提供帮助,但是可以帮助你积累丰富的知识。积年累月地使用这些知识,能帮助你获得Java能优化工程师的技能。本书的目标是让你深入理解Jav台的能。
  这些知识分为两大部分。部分关于Java虚拟机(Java Virtual Machine,JVM)的能优化,即如何通过JVM的配置方式影响程序的能。使用其他语言的开发人员可能认为JVM优化有点令人厌烦,但实际上,JVM优化类似于C++程序员在编译阶段测试和挑选编译器参数,或者PHP程序员在php.ini文件中设置合适的变量。
  部分关于理解Jav台的特如何影响能。注意,这里使用台这个词:有台特(比如线程和同步)是Java语言的一部分,而有台特(比如字符串处理)是Java标准API的一部分。尽管Java语言和Java API有着显著的区别,但在本书中,被同等对待。这两方面在本书中都会讲到。
  JVM的能主要取决于标志优化,台的能更多地取决于是否在代码中应用了佳实践。一直以来,开发人员只负责编写代码,能优化组只负责测试并提出能优化建议,这两方面被认为是独立的专业领域。这种区分从来不太有用,因为任何使用Java工作的人都应该理解代码在JVM中的行为,也应该知道什么样的优化有助于提升能。当项目转向DevOps模式后,这种区分开始变得模糊。只有掌握领域内的知识,才能让你的作品更具艺术气息。

……