点击上方“程序人生”,选择“置顶公众号”
第一时间关注程序猿(媛)身边的故事
你是否曾因Java代码规范版本纷杂而无所适从?
你是否想过代码规范能将系统故障率降低20%?
你是否曾因团队代码风格迥异而协同困难?
你是否正在review一些原本可以避免的故障?
你是否无法确定自己的代码足够健壮?
解忧以上问题的秘籍来了!
在《阿里巴巴Java开发手册》之后,孤尽、鸣莎不负众望地再次给大家带来了一本能刷新日常、提升意识的Java编程专业书籍,真正来自阿里集团的智慧与经验。
《码出高效:Java 开发手册》贯彻阿里官方Java代码规范标准。对Java规约的来龙去脉进行了全面而彻底的内容梳理。这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。
马云、行癫及鲁肃皆对本书赞誉有加,他们在给《码出高效》一书的推荐语中写道:
我们一起合作写经济发展的代码,写未来社会发展的每一行代码,码出高效,码出未来。— — 马云
稳定是一切基础设施的重中之重,以规范、合理的设计写出更高质量的代码,以技术解决技术问题。— — 行癫
写下一行只要1分钟,但未来会被一代代工程师读很多次、改很多次。代码的可读性与可维护性,是我心目中好代码的第一标准。— — 鲁肃
◆ ◆ ◆ ◆ ◆
第1章从计算机基础知识说起,介绍基础的0与1表示与位运算、字符集、CPU与内存、网络传输与信息安全基础知识,目的是为后文打下知识基座。
第2章走入面向对象的世界,介绍具有划时代意义的编程思想理念,覆写、重载等重要概念含义,类、方法等基础模块规范。
第3章聊聊代码风格,针对命名、代码展示、控制语句和注释等进行分类定义。虽然代码风格不影响程序运行和执行效率,但是对于团队高效协作来说具有重要意义。通过践行本章,读者可以顺其自然地写出可读性强、可维护性好的优雅代码。
第4章揭开Java的神秘面纱,探讨底层JVM核心。从字节码说起,分析类加载的过程,并结合内存布局,讲解对象创建与垃圾回收等知识点。
第5章异常与日志,首先归纳了系统中各类的异常,以及定义各种异常的处理方式,然后定义了日志使用规范,以达到监控运行状况,回溯异常等目的。
第6章数据结构与集合,以数据结构为基础,引申至集合框架,再到重点集合源码分析,最后介绍高并发集合框架,目的是让读者对集合的了解成竹在胸,运用得心应手。尤其是对于集合中使用到的红黑树特性,经过一步步分析,相信使读者不再发怵于树的平衡性与左右旋转。
第7章走进并发与多线程。由并发与并行等基础概念开始,引申到线程安全,介绍几种常见的锁实现,然后讲解线程同步方案,最后扩展到如何正确使用线程池,如何深度解析安全ThreadLocal的安全使用等。目的是让读者深入理解并且安全规范地实现并发编程,得心应手地处理好高并发多线程问题,提高生产效率。
第8章分析了单元测试的重要意义、基本原则、开发规范和评判标准。单元测试的重要意义在于它是一件有情怀、有技术素养、有长期收益的工作,是保证软件质量和效率的重要手段之一。
第9章代码规约。回归初心,聊聊开发工程师的成长方法论,讲解代码规约的起源与落地方法。虽然这更像一个故事,但是它对于推动项目落地与个人成长具有借鉴意义。
◆ ◆ ◆ ◆ ◆
正如孤尽所言,“对程序员来说,关键是骨子里要意识到:规范也是生产力,让个性化尽量表现在代码可维护性和算法效率的提升上。”
本书讲解由浅入深,囊括了一名开发工程师应具备的全部基本素质,适合每一位关注代码的人,夯实基础,让每一位程序员都有一个正确规范的起跑!
◆ ◆ ◆ ◆ ◆
此书从立意到付梓,历时超过两年,期间推翻数次写作思路,历经曲折与艰辛,只希望为时代奉献一本好书,打造中国计算机民族标杆图书。
图书每一个细节都经过作者团队和编辑团队的精心雕琢与反复核对,无论从内容还是品相上均给读者带来完美爽朗的阅读体验。
◆ ◆ ◆ ◆ ◆
2018年9月22日,《码出高效:Java 开发手册》一书新书发布会在2018杭州云栖大会“开发者生态峰会”上成功举办。这是《码出高效》历经了两年准备以及撰写后的首次亮相。
发布会后的新书签售环节,现场朋友们热情洋溢,纷纷向前与作者近距离学习交流。
◆ ◆ ◆ ◆ ◆
在2018云栖大会的首次亮相后
我们看看首批拿到书的读者
对《码出高效》是如何评价的
◆ ◆ ◆ ◆ ◆
如今《码出高效:Java开发手册》已上市,各大网店将陆续到货,如果您对这本书感兴趣,可以扫描下方二维码进行购买。
小福利
在本文下方留言,说说你想获得此书籍,最大的原因是什么?有机会获奖哦。(注意:理由不少于30字才能被选入精选参与抽奖哦~)
我们会从精选留言用户中,按照其留言点赞数,抽取排名在第3、5、9名的3位幸运者,送出纸书一本。
开奖时间:11月9日当天(以小编当日看到时的名次顺序为准,不接受抱怨,谢谢~)
推荐阅读:
print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)