温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
码出高效:Java开发手册
高效
Java
开发
手册
_14491410
仅供非H到E丽莲交交流学习佼月1NO.0004798 Broadview 码出自效Java开发手册杨冠宝(孤尽)高;每慧、(呜莎)著Easy Coding 田中国工信出版集团国留挂在捂住仅供I一商业用途或交流学习使用 仅供非ni业用途或交流学习使用杨冠宝阿里巴巴集团高级技术专家,花名?瓜尽,取自冈j青扬“时盯L剑,破尽天下部刀”之意。在阿里历任技术研发、架构师、部门主管等不同的角色,承担过双十一、国际化、代码中心等大型项目,有着丰富的一线编程实战和架构经验。目前是集团代码平台负责人,在大数据、高并发、分布式、代码效能等领域t高较深的造诣3乐于分享与总结,在国内外做过多次大型交流和培训II,引起强烈共鸣。高海慧阿里云资深开发工程师,花名D.i莎。先后在阿里巴巴集团B2B技术部和阿里云任职,承担过商业化、双十一、智能调度及才0亿天的信息采集系统建设等大型顶目。在调度匹配、大数据处理和高并发领域里再丰富的实践经验和创新成果。仅供非商业用途或交流学习使用 仅供非Rli业用途DJt交流学习使用码出高效Java开发手册杨冠宝(孤尽)高j每慧(呜莎)著盯03 U Ju n 斗,沼dR 版mupuw、VIA也KHAfE凹掉,时也王臼占尽uu 乎比mjLF吧咱-n p3 10 U PA 仅供非商业用途或交流学习使用 仅供才商业用途或交流学习使用内容简介码出高效Java开发手册源于影响了全球250万名工程师的阿里巴巴Java开发手册,作者静心沉淀,对Java规约内容的来龙去脉进行了全面而彻底的梳理。本书以实战为中心,以新颖的角度全面阐述面向对象理论,逐步深入地探索怎样成为一位优秀的开发工程师。比如如何驾轻就熟地使用各类集合框架,如何得心应手地处理高并发多线程问题,如何顺其自然地写出可读性强、可维护性好的优雅代码。本书旁征博引、文风轻松,秉持“图胜于表,表胜于言”的理念,深入浅出地将计算机基础、面向对象思想、只叫探源、数据结构与集合、并发与多线程、单元测试等知识客观、立体地呈现出来。紧扣学以致用、学以精进的目标,结合阿里巴巴实践经验和故障案例,与底层源码解析融会贯通,娓娓道来。本书以打造民族标杆图书为己任,追求极致,打磨精品,在技术广度和深度上兼具极强的参考性,适合计算机相关行业的管理者和研发人员、高等院校的计算机专业师生等阅读。无论是初学者入门,或是中、高级程序员的进阶提升,本书均为不容置疑的选择。未经许可,不得以任何方式复制或抄袭本书之部分或全部内窑。版权所有,侵权必究。本书著作权归阿里巴巴(中国)有限公司所有。图书在版编自(CIP)数据码出高效Java开发手册杨冠宝,高海慧著一北京电子工业出版社,2018.10ISBN 978-7-121-34909-6 I.码II.杨高田,JAVA语言程序设计IV.TP312.8中国版本图书馆CIP数据核字(2018)第187939号责任编辑孙学瑛ED 刷北京市大天乐投资管理有限公司装订北京市大天乐投资管理有限公司出版发行电子工业出版社北京市海淀区万寿路173信箱邮编100036 开本。720 x 1000 1/16 版次2018年10月第l版印次2018年IO月第2次印刷定价99.00元ED张19字数349干字凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话(010)88254888,88258888。质量投诉请发邮件至,盗版侵权举报请发邮件至。本书咨询联系方式0I 0-51260888-819,也。仅供二ll0P:li业用途或交流学习佼用e 仅供非商业用途或交流学习使用编委会毕玄索尼多隆叶渡至简冰够晗光广陌金载骏至I和乐曾候胜燕默研文龙楠山锦铭遁木润谨玄坛虎f子息、羽可期j奥明星楚日吾晗弗止奇山辰颜别象喻阳出版团队郭立孙学瑛康旭宋亚东安娜自涛李玲王乐仅供非商业用途或交流学习使用 仅供非商业用途或交流学习使用目。码出高效Java开发手册书名中的“码”既是动词,也是名词,希望我们在“码”出高效的同时编写出高质量的代“码”。本书从立意到付梓,历时超过两年,期间推翻数次写作思路,历经曲折与艰辛,只希望为时代奉献一本好书,打造中国计算机民族标杆图书。愿这本书能陪伴在众多开发工程师的身边,大家一起进步、一起成长、一起感受编程的魅力。本书缘起这本书源于影响了全球250万名工程师的阿里巴巴Java开发手册(简称手册)。2017年2月9日,手册以PDF文件的方式正式发布第个版本。一经公布,在各大网络平台引发热议,堪称中国人自己原创的Java编程规范,甚至走进硅谷,世界开始昕到中国程序员的声音。2017年杭州云栖大会开源此手册配套的扫描插件后,一度攀升至世界第一,已经有45万名开发工程师直接下载,数以千计的企业进行部分修订后在内部推行。手册在研发效能、人才培养与系统稳定性领域都产生了巨大而深远的影响,已经成为重要的开发基础标准文件。从团队协作角度来说。虽然别人都说开发工程师是搬砖的码农,但我们知道自己是追求个性的艺术家。我们骨子里追求着代码的美、系统的美、设计的美,代码规约其实就是个对程序美的定义。曾经程序员最51以为豪的代码,却因为代码规约的缺失严重制约了相互之间的高效协同,频繁的系统重构和心惊胆战的维护似乎成了工作的主旋律,那么如何走出这种怪圈呢?众所周知,互联网公司的效能是企业的核心竞争力,体现在开发领域上,其实就是沟通效率和研发效率。本书的书名“码出高效”指的就是高效沟通与协作。大雁是一种非常讲究团队配合的鸟类,它们飞翔的队形可以有效地减少空气阻力,所以封面选择大雁作为背景,传递团队沟通与协作的理念,顺利达到共同的目标。仅供非商业用途或交流学习使用仅供非商业用途或交流学习使用剧吕从个人发展角度来说。在计算机编程曰益普及的今天,程序员群体日益壮大,本书以初级人门、中级进阶、高级修炼为目标,指导工程师的成长之路。涵盖计算机领域基础知识、面向对象理念、数据结构与集合、高并发多线程、异常和日志以及单元测试等多个方面,讲解由浅入深,囊括了一名开发工程师应具备的基本素质。本书以计算机民族标杆图书为自我要求,追求极致,打磨精品,目的是使读者在计算机综合素质上有大幅的提升。从系统稳定角度来说。稳定是基础设施的关键目标,也是每个开发工程师考核中的重要指标之一。本书搜集线上的真实故障,经过整理后与相应的知识点结合在一起进行讲解,身临其境,阐述了知其不然的背后逻辑,提出更好的实现方案,最终以技术解决技术问题。本书内容本书共包括9章,每章的主要内容如下第1章从计算机基础知识说起,介绍基础的0与l表示与位运算、字符集、CPU与内存、网络传输与信息安全基础知识,目的是为后文打下知识基座。第2章走入面向对象的世界,介绍具有划时代意义的编程思想理念,覆写、重载等重要概念含义,类、方法等基础模块规范。第3章聊聊代码风格,针对命名、代码展示、控制语句和注释等进行分类定义。虽然代码风格不影响程序运行和执行效率,但是对于团队高效协作来说具有重要意义。通过践行本章,读者可以顺其自然地写出可读性强、可维护性好的优雅代码。第4章揭开Java的神秘面纱,探讨底层JVM核心。从字节码说起,分析类加载的过程,并结合内存布局,讲解对象创建与垃圾回收等知识点。第5章首先归纳了系统中各类的异常,以及定义各种异常的处理方式,然后定义了日志使用规范,以达到监控运行状况,回溯异常等目的。第6章是重点章节,以数据结构为基础,引申至集合框架,再到重点集合源码分析,最后介绍高并发集合框架,目的是让读者对集合的了解成竹在胸,运用得心应手。尤其是对于集合中使用到的红黑树特性,经过一步步分析,相信使读者不再发怵于树的平衡性与左右旋转。第7章也是重点章节,走进并发与多线程。由并发与并行等基础概念开始,51申到线程安全,介绍几种常见的锁实现,然后讲解线程同步方案,最后扩展到如何正确使用线程池,如何深度解析ThreadLocal的安全使用等。目的是让读者深入理解并且 V I 仅供非商业用途或交流学习使用仅供非商业用途或交流学习使用码出高效Java开发手册安全规范地实现并发编程,得心应手地处理好高并发多线程问题,提高生产效率。第8章分析了单元测试的重要意义、基本原则、开发规范和评判标准。单元测试的重要意义在于它是一件有情怀、有技术素养、有长期收益的工作,是保证软件质量和效率的重要手段之一。第9章回归初心,聊聊开发工程师的成长方法论,讲解代码规约的起源与落地方法。虽然这更像一个故事,但是它对于推动项目落地与个人成长具有借鉴意义。本书分析的底层源码基本来自于最新发布的JDKl l,所有示例代码能够正常运行在相应的OpenJDK64Bit NM上。在阿里巴巴Java开发手册相关扫描插件P3C的开源网站上,即将公布所有相关源代码,敬请关注:https:/ 仅供非商业用途或交流学习使用仅供非商业ITJj垂成交流学习伎Ill日习毛第1章计算机基础1.6 信息安全33 1.1 走进0与1的世界2 1.6.1 黑客与安全33 1.2 j孚点数6 1.6.2 SQL注入34 1.2.l 科学计数法6 1.6.3 xss与CSRF35 1.2.2 浮点数表示7 1.6.4 CSRF 36 1.2.3 加减运算9 1.6.5 HTTPS 37 1.2.4 浮点数使用II 1.7 编程语言的发展43 1.3 字符集与乱码12 1.4 CPU与内存13 第2章面向对象47 1.5 TCP/IP 17 2.1 OOP理念48 1.5.1 网络协议17 2.2 初识Java52 1.5.2 IP办沾(19 2.3 类53 1.5.3 TCP建立连接21 2.3.1 类的定义53 1.5.4 TCP断开连接27 2.3.2 接口与抽象类53 1.5.5 连接池31 2.3.3 内部类55 仅供非商业川j毒或交流学斗使用码出高效:Java开发手册2.3.4 访问权限控制58 3.2.3 控制语句106 2.3.5 this与super60 3.3 代码注释108 2.3.6 类关系62 3.3.1 注释要素108 2.3.7 序列化64 3.3.2 注释格式109 2.4 方法65 2.4.1 方法签名65 第4章走进JVM110 2.4.2 参数66 4.1 字节码111 2.4.3 构造方法71 4.2 类加载过程116 2.4.4 类内方法72 4.3 内存布局123 2.4.5 getter与se忧er74 4.4 对象实例化130 2.4.6 同步与异步77 4.5 垃圾回收131 2.4.7 覆写77 2.5 重载81 第5章异常与日志135 2.6 泛型84 5.1 异常分类137 2.7 数据类型87 5.2 try代码块139 2.7.l 基本数据类型87 5.3 异常的抛与接142 2.7.2 包装类型91 5.4 日士;、143 2.7.3 字符串93 5.4.l 日志规范143 5.4.2 日志框架145 第3童代码冈恪95 3.1 命名规约96 第6章数据结构与集合才493.1.l 常量98 6.1 数据结构150 3.1.2 变量102 6.2 集合框架图152 3.2 代码展示风格102 6.2.l List集合153 3.2.1 缩进、空格与空行102 6.2.2 Queue集合153 3.2.2 换行与高度105 6.2.3 Map集合154 e 目录6.2.4 Set集合154 7.4线程池235 6.3 集合初始化154 7.4.1 结程池的好处235 6.4 数组与集合157 7.4.2 线程池源码详解242 6.5 集合与泛型164 7.5 ThreadLocal 247 6.6 元素的比较169 7.5.1 引用类型248 6.6.l Comparable幸日Comparator169 7.5.2 ThreadLocal价值254 6.6.2 hashCode手口equals172 7.5.3 Thr巳adLocal副作用263 6.7 fail-fast机制176 6.8 Map类集合180 第8章单兀测试265