写点什么

一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序

发布于: 2020 年 10 月 20 日

前言


Java 是目前应用最为广泛的软件开发平台之一。随着 Java 以及 Java 社区的不断壮大,Java 也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。


作为一个平台,JVM 虚拟机扮演着举足轻重的作用。除了 Java 语言,任何一种能够被编译成字节码的计算机语言都属于 Java 这个平台。Groovy、Scala、JRuby 等都是 Java 平台的一个部分,它们依赖于 JVM 虚拟机,同时,Java 平台也因为它们变得更加丰富多彩。


作为一种文化,Java 几乎成为了“开源”的代名词。在 Java 程序中,有着数不清的开源软件和框架,如 Tomcat、Struts、Hibernate、Spring 等等。就连 JDK 和 JVM 自身也有不少开源的实现如 OpenJDK、Harmony。可以说,“共享”的精神在 Java 世界里体现得淋漓尽致。


作为一个社区,Java 拥有无数的开发人员,数不清的论坛、资料。从桌面应用软件、嵌入式开发到企业级应用、后台服务器、中间件,都可以看到 Java 的身影。其应用形式之复杂、参与人数之庞大也令人咋舌。可以说,Java 社区已经俨然成为了一个良好而庞大的生态系统。


此外,纯粹作为一门软件开发语言,Java 非常容易学习,其学习曲线较 C++等老牌计算机语言相比,也比较平缓。因为它尽力简化或去除了 C++中许多晦涩、多余和难以理解的部分,如指针、虚函数、多继承等。


Java 程序性能优化——让你的 Java 程序更快、更稳定。


Java 程序员进阶必读经典,上万读者的选择,数万 Java 爱好者和程序员受益匪浅!



  • 一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序

  • 感受 Java 开发中的大智慧,让你的 Java 程序更优美

  • 专注于 Java 应用程序的优化方法、技巧和思想

  • 深入剖析软件设计层面、代码层面、JVM 虚拟机层面的优化方法

  • 理论结合实际,使用丰富的示例帮助读者理解理论知识


转发+关注,然后添加 VX(tkzl6666) 即可获得《Java 程序性能优化手册》完整版的免费领取方式


本书结构


本书主要介绍 Java 应用程序的优化方法和技巧,总共分为 6 章。


第 1 章是综述,介绍了性能的基本概念,两个重要的定律(木桶原理和 Amdahl 定律),以及系统调优的一般过程与注意事项。


第 2 章从设计层面,介绍了与性能相关的设计模式、组件以及有助于改善性能的软件设计思想。


第 3 章从代码层面介绍了如何编写高性能的 Java 代码。涉及的主要内容有:字符串的优化处理、文件 I/O 的优化、核心数据库结构的使用、Java 的引用类型以及一些常用的惯例。


第 4 章介绍了并行程序开发的相关内容,以及如何通过多线程提高系统性能。先后介绍了并发设计模式、线程池、并发数据结构的使用、并发控制方法、“锁”的优化、无锁的使用以及协程。


第 5 章立足于 JVM 虚拟机层面,介绍了如何通过设置合理的 JVM 参数提升 Java 程序的性能。


第 6 章为工具篇,主要介绍了获取和监控程序或系统性能指标的各种工具,以及 Java 应用程序相关的故障排查工具。


内容目录


第 1 章 Java 性能调优概述


  • 1.1 性能概述

  • 1.2 性能调优的层次

  • 1.3 基本调优策略和手段

  • 1.4 小结



第 2 章 设计优化


  • 2.1 善用设计模式

  • 2.2 常用优化组件和方法

  • 2.3 小结



第 3 章 Java 程序优化


  • 3.1 字符串优化处理

  • 3.2 核心数据结构

  • 3.3 使用 NIO 提升性能

  • 3.4 引用类型

  • 3.5 有助于改善性能的技巧

  • 3.6 小结



第 4 章 并行程序开发及优化


  • 4.1 并行程序设计模式

  • 4.2 JDK 多任务执行框架

  • 4.3 JDK 并发数据结构

  • 4.4 并发控制方法

  • 4.5 “锁”的性能和优化

  • 4.6 无锁的并行计算

  • 4.7 协程

  • 4.8 小结



第 5 章 JVM 调优


  • 5.1 Java 虚拟机内存模型

  • 5.2 JVM 内存分配参数

  • 5.3 垃圾收集基础

  • 5.4 常用调优案例和方法

  • 5.5 实用 JVM 参数

  • 5.6 实战 JVM 调优

  • 5.7 总结



第 6 章 Java 性能调优工具


  • 6.1 Linux 命令行工具

  • 6.2 Windows 工具

  • 6.3 JDK 命令行工具

  • 6.4 JConsole 工具

  • 6.5 Visual VM 多合一工具

  • 6.6 Visual VM 对 OQL 的支持

  • 6.7 MAT 内存分析工具

  • 6.8 MAT 对 OQL 的支持

  • 6.9 JProfile 简介

  • 6.10 小结



转发+关注,然后添加 VX(tkzl6666)即可获得《Java 程序性能优化手册》完整版的免费领取方式



用户头像

添加我的微信:tkzl6666 获取文中资料 2020.09.19 加入

添加我的微信:tkzl6666 获取文中资料

评论 (1 条评论)

发布
用户头像
一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序
2020 年 10 月 20 日 17:18
回复
没有更多了
一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序