
Java性能权威指南(第2版)
- 大小:72.6 MB
- 类型:Java指南
- 格式:PDF
- 出版:人民邮电出版社
- 作者:斯科特·奥克斯(Scott、Oaks)
- 更新:2022-09-06 09:08:44

为找资料的网友们整理了Java指南相关的资料,由人民邮电出版社出版,作者是斯科特·奥克斯(Scott、Oaks),介绍了关于Java、Java指南方面,格式为PDF,资源大小72.6 MB,目前在Java指南类资源综合评分为:8.2分。
Java指南资源推荐
- 《Java数据分析指南》配套代码 配套资源 / 334.53 KB / (美)约翰·哈伯德(John R.Hub 推荐度:
- java编程题整理(50道题型及答案) / 102 KB / 段梓晨 推荐度:
- 《编写高质量代码:改善Java程序的151个建议》源代码 配套资源 / 23.4 MB / 秦小波 推荐度:
书籍介绍
内容简介
本书从JVM和Java API两个方面,深入地介绍了Java 8和Java 11等新的Java长期支持版本中影响性能的因素。本书先从Java应用程序的通用方法、基准测试的缺陷、性能监控工具等方面,分析了如何通过JVM的配置方式影响程序的性能;接着从即时编译、垃圾回收、堆内存与原生内存实践、线程与同步的性能等方面,分析了常见的优化方向及其特性。第2版专注于更加成熟的Java 8和Java 11,主要的更新内容涉及G1垃圾回收器和Java飞行记录器,以及Java在容器化环境下的性能变化。
目录
- 前言 xiii
- 第 1章导论 1
- 1.1概述 2
- 1.2平台和约定 2
- 1.2.1Java平台 2
- 1.2.2硬件平台 4
- 1.3全面的性能 6
- 1.3.1写出更好的算法 6
- 1.3.2写更少的代码 7
- 1.3.3过早优化 8
- 1.3.4其他:数据库永远是瓶颈 9
- 1.3.5常见优化 9
- 1.4小结 10
- 第 2章性能测试方法 11
- 2.1测试真实的应用程序 11
- 2.1.1微基准测试 11
- 2.1.2宏基准测试 15
- 2.1.3介基准测试 16
- 2.2理解吞吐量、批处理时间和响应时间 17
- 2.2.1测量批处理时间17
- 2.2.2测量吞吐量18
- 2.2.3测量响应时间 19
- 2.3理解可变性22
- 2.4早测试、常测试 25
- 2.5基准测试示例 27
- 2.5.1Java 微基准测试工具 27
- 2.5.2常用代码示例 34
- 2.6小结 36
- 第3 章Java 性能工具箱 38
- 3.1操作系统工具和分析 38
- 3.1.1CPU 使用率 39
- 3.1.2CPU 运行队列 41
- 3.1.3磁盘使用率 42
- 3.1.4网络使用率 44
- 3.2Java 监控工具 45
- 3.2.1基本的VM 信息 46
- 3.2.2线程信息 48
- 3.2.3类信息 49
- 3.2.4实时GC 分析 49
- 3.2.5堆转储后期处理 49
- 3.3性能分析工具 49
- 3.3.1采样分析器 50
- 3.3.2探查分析器 53
- 3.3.3阻塞方法和线程时间线 54
- 3.3.4原生分析器 55
- 3.4JFR 57
- 3.4.1Java Mission Control 57
- 3.4.2JFR 概览 58
- 3.4.3开启JFR 64
- 3.4.4选择JFR 事件 67
- 3.5小结 69
- 第4 章使用即时编译器 70
- 4.1即时编译器:概览 70
- 4.2分层编译 73
- 4.3常用的编译器标志 74
- 4.3.1优化代码缓存 74
- 4.3.2检查编译过程 75
- 4.3.3分层编译级别 78
- 4.3.4逆优化 79
- 4.4高级编译器标志 82
- 4.4.1编译阈值 82
- 4.4.2编译线程 83
- 4.4.3内联 85
- 4.4.4逃逸分析 86
- 4.4.5CPU 相关代码 87
- 4.5分层编译的权衡 88
- 4.6GraalVM 89
- 4.7预编译 90
- 4.7.1提前编译 90
- 4.7.2GraalVM 原生编译 92
- 4.8小结 93
- 第5 章垃圾回收简介 95
- 5.1垃圾回收概览 95
- 5.1.1分代垃圾回收器97
- 5.1.2GC 算法99
- 5.1.3选择GC 算法101
- 5.2GC 优化基础108
- 5.2.1调整堆的大小 108
- 5.2.2调整分代大小 110
- 5.2.3调整元空间大小 112
- 5.2.4控制并行113
- 5.3GC 工具114
- 5.3.1在JDK 8 中开启GC 日志 114
- 5.3.2在JDK 11 中开启GC 日志 115
- 5.4小结 118
- 第6 章垃圾回收算法 119
- 6.1理解Throughput 回收器 119
- 6.2理解G1 垃圾回收器 125
- 6.3理解CMS 回收器 136
- 6.4高级优化 143
- 6.4.1晋升和Survivor 空间143
- 6.4.2分配大对象 146
- 6.4.3AggressiveHeap 标志 152
- 6.4.4完全掌控堆的大小 153
- 6.5实验性GC 算法 154
- 6.5.1并发压缩:ZGC 和Shenandoah 154
- 6.5.2无回收:Epsilon GC 156
- 6.6小结157
- 第7 章堆内存实践 159
- 7.1堆分析 159
- 7.1.1堆直方图160
- 7.1.2堆转储161
- 7.1.3内存溢出错误 164
- 7.2减少内存使用 168
- 7.2.1减小对象大小 169
- 7.2.2使用延迟初始化171
- 7.2.3使用不可变对象和标准化对象 175
- 7.3对象生命周期管理 176
- 7.3.1对象重用177
- 7.3.2软引用、弱引用和其他引用181
- 7.3.3压缩的普通对象指针193
- 7.4小结194
- 第8 章原生内存实践195
- 8.1内存占用195
- 8.1.1测量内存占用 196
- 8.1.2小化内存占用197
- 8.1.3原生内存跟踪 197
- 8.1.4共享库原生内存201
- 8.2针对操作系统的JVM 优化 204
- 8.3小结208
- 第9 章线程和同步性能 209
- 9.1线程和硬件209
- 9.2线程池和ThreadPoolExecutor 210
- 9.2.1设置线程数210
- 9.2.2设置小线程数213
- 9.2.3线程池任务大小215
- 9.2.4设置ThreadPoolExecutor 的大小215
- 9.3ForkJoinPool.217
- 9.3.1工作窃取 221
- 9.3.2自动并行化 223
- 9.4线程同步 224
- 9.4.1同步的代价 225
- 9.4.2避免同步 228
- 9.4.3伪共享 230
- 9.5JVM 线程优化 233
- 9.5.1优化线程栈大小 234
- 9.5.2偏向锁234
- 9.5.3线程优先级 235
- 9.6监控线程和锁 235
- 9.6.1查看线程235
- 9.6.2查看阻塞线程 236
- 9.7小结239
- 第 10 章Java 服务器 240
- 10.1Java NIO 概览 240
- 10.2服务器容器 242
- 10.2.1优化服务器线程池 242
- 10.2.2异步Rest 服务器 243
- 10.3异步出站调用246
- 10.4JSON 处理251
- 10.4.1解析和编组概览 252
- 10.4.2JSON 对象 253
- 10.4.3JSON 解析 254
- 10.5小结 256
- 第 11 章数据库性能实践 257
- 11.1示例数据库 258
- 11.2JDBC 258
- 11.2.1JDBC 驱动 258
- 11.2.2JDBC 连接池 260
- 11.2.3预处理语句和语句池 261
- 11.2.4事务 262
- 11.2.5结果集处理269
- 11.3JPA270
- 11.3.1优化JPA 写 271
- 11.3.2优化JPA 读 272
- 11.3.3JPA 缓存 275
- 11.4Spring Data280
- 11.5小结281
- 第 12 章Java SE API 技巧282
- 12.1字符串 282
- 12.1.1压缩字符串 282
- 12.1.2重复字符串和字符串保留283
- 12.1.3字符串连接 288
- 12.2缓冲I/O 291
- 12.3类加载 293
- 12.4随机数 296
- 12.5Java 原生接口298
- 12.6异常300
- 12.7日志303
- 12.8Java 集合API304
- 12.8.1同步和非同步305
- 12.8.2设置集合大小306
- 12.8.3集合与内存效率 307
- 12.9Lambda 和匿名类 308
- 12.10流和过滤器的性能310
- 12.11对象序列化 312
- 12.11.1瞬时字段312
- 12.11.2覆盖默认的序列化313
- 12.11.3压缩序列化数据 315
- 12.11.4跟踪重复对象317
- 12.12小结 319
- 附录调优标志总结 321
以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。
Java指南相关资源
-
Java程序设计实用教程 课后答案
《Java 程序设计实用教程》是2010年4月人民邮电出版社在出版的书籍,作者是耿祥义、张跃平。本书注重结合实例,循序渐进地向读者介绍了Java语言的重要知识点,特别强调Java面向对象编程的思想。 Java语言具有面向对象、与平台无关、安全、稳定、多线程等优良特性,是目前软件设计中极为强大的编程语言。全书分为16章,分别讲解了简单数据类型、运算符、表达式和语句、类与对象、子类与继承、接口与多态、数组与枚举、内部类与异常类、常用实用
大小:3.35 MBJava教程课后答案
-
Java EE Web编程
JavaEEWeb编程(Eclipse平台) 作者:李芝兴、杨瑞龙 出版时间:2008-01 【图书简介】 本书全面地介绍了JavaEEWeb编程技术,内容由浅入深,循序渐进。本书内容包括了JavaEE技术规范、Eclipse开发平台、JSP、Servlet、Web服务器、应用服务器和数据库的安装及其简单操作。本书重点介绍了目前流行的轻型框架Hibernate、Struts以及Spring。本书的案例操作性强、实用性高。通过案例的讲解力求让读者掌握各个技术的要点,从而引领读者了解和学习更多的知识。本书适合
大小:62.27MBJava EE电子书
-
零基础学Java(第4版)
零基础学Java(第4版) 一共分为四篇,共25章,循序渐进地讲述了Java语言的语法规则,Eclipse和MyEclipse开发环境的使用,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构
大小:29.7 MBJava学习电子书
-
神经网络算法与实现:基于Java语言
本书结合Java编程语言,由浅入深地介绍了神经网络算法的应用,涉及神经网络的构建、神经网络的结构、神经网络的学习、感知机、自组织映射等核心概念,适合对神经网络技术感兴趣的开发人员和业余读者阅读
大小:32 MB神经网络电子书
-
Java Web应用详解
这本书以网络留言板开发为主线将JavaWeb知识融会贯通,知识模块完整,通过静态网页篇、动态网站篇、系统框架篇、项目实战篇循序渐进地使学生全面掌握JavaWeb开发技术,欢迎下载
大小:74.2 MBJava电子书
-
《编写高质量代码:改善Java程序的151个建议》源代码
本书是一本关于Java最佳实践的集大成之作,它从Java语言本身、Java程序的架构设计和思想、Java程序的编码规范和习惯等方面对151个经典的问题给出了解决方案,为Java开发者提高开发效率和编写高质量的Java代码提供了宝贵的建议。 封面图 目录 前言 第1章Java开发中通用的方法和准则/1 建议1: 不要在常量和变量中出现易混淆的字母/2 建议2: 莫让常量蜕变成变量/2 建议3: 三元操作符的类型务必一致/3 建议4: 避免带有变长参数的方法重载/4 建议5: 别让
大小:23.4 MB编写代码配套资源
-
Java EE的轻量级开发利剑:Spring Boot实战
内容简介 本书以JavaEE的实践为主题,全面阐述SpringBoot、SpringMVC、SpringCloud等企业级领域内的热门技术。本书讲解相关技术框架的核心知识,并结合汽车管理系统等实战项目,把JavaEE领域内流行的SSH、SSM、SpringBoot、SpringCloud、MyBatis和JPA等框架整合起来,再从代码层面讲述Activiti、Kafka、Redis、Docker、Maven、WebService和POI等经典技术。通过本书深入浅出的讲解,读者在学习Java架构师专业技能的
大小:26.3 MBJava EE
-
Java在线问题诊断工具:Arthas
线上系统为何经常出错? 数据库为何屡遭黑手? 业务调用为何频频失败? 连环异常堆栈案,究竟是哪次调用所为? 数百台服务器意外雪崩背后又隐藏着什么? 是软件的扭曲还是硬件的沦丧? 走进科学带你了解 Java线上问题诊断工具。
大小:820 KBJava诊断
参与送书
学习笔记

完成支付宝支付、查询的接口之后,我们应该还需要定时与支付宝进行对账,以确保商户系统的订单信息是正确的,想知道支付宝支付、查询接口实现过程的亲们,可移步到上一篇有详细过程。 现在我们来讲一下支付宝对账的功能,关于与支付宝交互的关键代码,其实支付宝的API已经讲得很清楚,如果亲们想直接看支付宝API,点击 支付宝对账API ,当然我在文章也会进行说明解释……

反射是Java中核心技术之一,这里先不定义什么叫反射,先看一个例子 要求: 1)创建一个person的实例,单不能使用Personperson=newPerson()的方式 2)调用run()方法,也不能使用person.run()方式 我们知道要调用方法必须先要有对象,现在不能通过new关键字来实例化对象,只能通过反射来实现。 上面就实现用反射的方式调用preson类中的方法。可能有人要问了,为什么不直接new出来呢?通过反射……

很多的Java初学者从前辈的口中和各种资料中经常会听到一个词:Java框架,那么什么是“Java框架”?Java框架又包含哪些内容?今天小编为大家解答一下什么是Java的框架, 怎么学习Java框架 ,主流的Java框架有哪些: 什么是Java框架 所谓的Java框架,简单理解是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为……