基本信息
【插图】

编辑推荐
淘宝网Java技术专家,CSDN 超人气博主作品,全面提升Java单兵作战能力!
该书“雕琢”的系统,为阿里超大规模的数据库集群服务!
完全突破Java图书从环境搭建到语法点罗列再到案例总结的写作惯例,直逼底层,懂原理,看源码,奠定Java老A的坚实基础!
没有数页代码的简单堆砌,有的是新颖的思考方法;没有各类语法的无聊罗列,更多的是在探索技术背后的思路; 没有难懂术语的枯燥晦涩,用的是对话和探讨;轻松,愉快,读来不忍释卷,要学Java,这本书不容错过!
内容简介
计算机书籍
《Java特种兵(上册)》分上、下册,上册强调个人修为的提升,也是本书主旨所在,希望能帮助各位读者朋友提升“功力”;下册将基于上册的内容融入设计、实现的细节。
《Java特种兵(上册)》上册共10章,主要内容包括:从简单的角度来验证功底,通过一些简单的例子来说明我们应当如何去掌握Java的基础;关于计算机的工作原理和Java虚拟机的基础知识;Java通信;Java并发;数据库知识;源码基础,说明Java常见的框架基础知识,比如反射、AOP、ORM、Annotation和配置文件的原理;JDBC、Spring的源码讲解,通过几种不同类型的框架源码,希望读者能体会源码之中的思维方式、设计、架构,以及了解到不同源码的区别所在;最后是知识总结。
《Java特种兵(上册)》既适合有一定Java基础,并希望能在Java技术上有所成长的人阅读,也适合能静心看书的初学者,以及以自我提升为主要目的的读者阅读,还适合工作一段时间,对知识和发展的方向很迷茫,甚至对某些观念也比较迷茫,但是又渴望去解决这些问题,渴望自己成长,渴望自己能找到道路的人阅读。
作译者
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,经过自己的不断努力与坚持,走到现在,自认为还算是一个不错的“泥水匠”。作者把在这一过程中所经历过的许多问题和技术细节,以及自己的学习经历和心理,记录在博客上,引发众多网友的共鸣。
作者发现和自己有类似经历的人很多,在许多网友的支持下,决定写下这本书分享给大家,希望这本书对徘徊在Java门外的初学者有一定的引导作用,能够提升Java入门者的单兵作战能力,独当一面!
目录
第1篇 Java功底篇
第1章 扎马:看看功底如何 2
1.1 String的例子,见证下我们的功底 2
1.1.1 关于“==” 3
1.1.2 关于“equals()” 3
1.1.3 编译时优化方案 6
1.1.4 补充一个例子 6
1.1.5 跟String较上劲了 8
1.1.6 intern()/equals() 9
1.1.7 StringBuilder.append()与String“+”的PK 11
1.2 一些简单算法,你会如何理解 15
1.2.1 从一堆数据中找max和min 16
1.2.2 从100万个数字中找最大的10个数字 17
1.2.3 关于排序,实际场景很重要 17
1.2.4 数据库是怎么找数据的 18
1.2.5 Hash算法的形象概念 18
1.3 简单数字游戏玩一玩 20
1.3.1 变量A、B交换有几种方式 20
1.3.2 将无序数据Hash到指定的板块 20
前言
关于本书
冰冻三尺,非一日之寒。本书不是什么神功秘籍,所以它无法让你在短时间内从一个小鸟变成一个牛人,更无法让你从牛人成为大师,这本书是希望读者朋友能够在纠结的时候想起还可依赖它。因为本书不仅仅在讲解一些知识,同时也包含了作者以及作者同事的一些工作经历,以及工作经历中的那些痛苦与纠结,我们希望在这本书的陪伴下,你在纠结之时选择的不是放弃自我,而是坚持到胜利的那一刻。
作者本人也不是什么牛人,更不是绝顶高手,只能说我们经历的某些事情也许值得去分享,这些内容不仅仅包含一些知识,同时也包含了很多思想、方法和面对问题的态度,注重功底和修为的提升。如果有一天你发现这本书带给你更多的是方法,从而让你建立起自己的许多思路,能够快速学习和成长,那么本书的一个重要目的就达到了;如果有一天你发现再去看某些“牛人秘籍”会比以前轻松和愉悦,那么也许这本书有点小功劳。
本书不是什么代码大全,也不是专门讲解某些指定的知识板块的书籍(例如JVM),并不会针对某些专门的知识板块去做过细的说明,也不会去说明详细的API,更不会全面地说明它们的源码,这是没有意义的。通过本书,希望你能从内心认识到“知识无涯”,我们总会遇到自己没有见过的问题,需要学会的就是如何面对这些问题,即如何去思考和定位,如何去学习和成长。
在本书中,可能会以各种“换位思考”的方式来探讨一些技术内容,从技术本身的角度来讲,侧重于讲解技术之中蕴藏的各种奥秘以及探索奥秘的一些思路,而不是讲解一些技术的使用,希望读者在这个过程中开始有意识地去理解知识应有深浅之分,并同时真正掌握Java基础,提升自我的功底,同时还能找到提升功底的方法。
本书中许多对话和探讨的模式,适合像小说一样来静心品味,我相信如果你能静心,那么不论是初学者还是有一定功底的人,都能从本书中受益。作者本人在刚进入大学的时候,是一个连计算机是什么都不知道的人,也曾经有过为了通过C语言考试而死记硬背代码的经历,后来通过不断努力,才有能力写出这本书。因此,本书会结合当时胖哥从一个计算机界的“文盲”开始成长的过程中所拥有的一些“可爱”的思想经历,如果你有类似的思想经历,希望这本书能够帮助你,也同时希望你理解到:只要你愿意,你就一定行的!
本书有的内容风格会偏于娱乐,这些内容所描述的技术肯定不会那么严谨,由于不严谨,可能会让不同的读者产生仁者见仁、智者见智的情况。对于某些有着同样工作经历的人看来,也许会有着发自内心的共鸣,对于初学者可以是一个大概的形象理解。虽然书中的许多解释并不是技术点上的准确解释,但我不希望初学者“小伙伴们”仅仅注重娱乐本身的话题,而要想想这种娱乐的例子所带给自己的一些感性认识。
本书会谈到一些成长性的内容,因此我们可以先大概定位一下一些不同层次的人会怎样思考,怎样做事情,让大家有个形象上的认识。
Java学习三段位
许多初学者,就像是无头苍蝇,四处乱撞,什么都想学,学了就丢,而且喜欢钻牛角尖,甚至没有独立思考的习惯,遇到问题总是先问,再解决问题。他们经常会问:“为什么我的东西在这好用,在那不好用?”因为你还根本不知道问题的原因,当然不知道这么多的为什么了,任何问题都需要定位分析,再解决,再总结。面对问题要静下心来通过自己对基础的认识来分析可能的原因,然后逐步缩小范围,再定位问题。如果抛出一个错误就能知道原因,那么直接设计一个答题的机器就可以了,而不需要任何人为的介入。
学到一定程度的人,懂得思考,懂得换位思考,能解决大多实际问题,他们不仅仅能开始自己定位问题,而且开始具有“前瞻性”,思考一些问题未来可能存在的潜在情况,也开始逐步关注一些内在原理。不过,可能是艺高人胆大,这些人有可能会犯一些不该犯的错误,他们通常是一些十分优秀的程序设计者,很多时候可能是为了展现自己的技术能力,会将一些不值得去做的事情不断细化和优化,或者去做一些别人做过的事情,如果因为这样丢掉主业务,则通常说它是过度优化、过度设计、重复制造。作者本身也有同样的亲身经历,而矛盾在于是否真的是过度设计,在不同的场景下会有不同的看法和评价,因此这个阶段的同学,通常会有一个纠结期。在这个阶段的人开始讲究内外双修,也同样是一个积土成山、积水成渊的过程,因为有一定的功底,学习很多知识都很快,在知识面上会有很大的突破,在知识点上也会逐步加深,可能在工作中不论是业务还是技术上都有了很多的选择,被认为是工作能力很强的人。一些很“牛”的开发人员就会开始意识到很多代码如何去编写会更优雅、更加高效,用更简单的代码搞定更多的问题,但还未上升到系统级别和架构级别。
可能更高级别的人开始具有很强的全局观,让系统全局更加具有可维护性和伸缩性,系统性能良好,稳定性十足,能搞定各类架构、部署、规范化等相关的问题,在某些领域上也是说话很有分量的人物。他们可能会花很多时间去写通用模型和设计,将难题简单化,解决大家解决不了的难题。通常会尽量让系统的维护变成一条配置或是几条简单代码,但是可以顶得上一群人写一堆代码,这就是特种兵程序员的“快”、“准”、“狠”、“稳”。
这里的各种级别仅仅是作者“自言自语”,并不代表什么,要做到没有级别在心中才能真正让自己快速成长。另外,看了这些级别并不代表今天我是初学者,明天将不好的习惯改掉后就“脱胎换骨”了,也并不代表自己在某件小事情上有了大师的风范就代表自己是大师了。这些东西都是经历一些事情后才会形成一些自然意识,我们只是有意识地去学习他们为什么会这样做事情,为什么年轻人比老员工有活力,但通常来讲“姜还是老的辣”。
本书读者对象
□ 适合对象
(1)有一定Java基础,并希望能在Java技术上有所成长的人。
本书学习有一定门槛,如果是初学者,则可以先以书中的一些例子为引导,希望了解为什么的时候,再来看其中的解释。
(2)对于能静心看书的初学者,可以迭代着看本书。
虽然有一定门槛,不过初学者只要能静心地迭代着读几次后,你或许也能体会出里面有很多思想、方法、解决问题的手段、看问题的侧面,甚至面对问题的心态,那么也可以受益良多。
媒体评论
——朱金清(阿里花名:穆公)
本书全面地描述了一个合格的Java程序员所必须理解的基本知识,内容深入浅出,语言幽默诙谐,知识点覆盖面广,阐述理论又不拘泥于理论,例子丰富,实战性极强,显示出小胖哥对JVM的深入理解和丰富的Java实践经验,非常适合Java初学者作为入门教程。对有一定的Java编程经验,但是渴望对Java代码背后隐藏的JVM基础知识有更深入理解的同学来说,更是一本不可多得的好书。同时,本书也凝聚了小胖哥和他的同事们对Java系统架构与设计的独特理解,处处体现了Java程序员应有的工作和学习方法。相信读者在读完此书后,学到的不仅仅是扎实JVM及Java基础知识,迅速成为Java开发领域的老A,更能学到胖哥的追根究底的学习态度,受益终生。
——洪熙
资深Java工程师,主要从事JVM内核研发工作
阿里云-核心系统研发部-专用计算组
入职不久,就听说谢宇在写一本面向Java开发人员的书籍,那个时候在想市场上JAVA方面的书籍已经够多了,还有什么内容可以写的呢?但在不久后当我拿到前面几章的手稿的时候,就迫不及待地阅读,我发现,对于已经在这个行业内从事多年研发的从业人员来说,有很多知识点在过去的时间都没有重视而被忽略,而作者不但用一种诙谐幽默的方式表达出来,而且还引导读者一起思考,无处不体现出作者深厚的功底。
——锐意(真名:廖科)
资深Java工程师
多年SNS开发的经验
阿里数据库方案-iDB组担任leader
如果想要一本普及Java基础的书,这本可能并不合适;这本书适合有一些Java基础,想要深入的同学;内容涵盖了作者多年使用Java的经验,对初学者,犹如中国人写的Think In Java,内容广泛深入而又不拖沓,专注Java排雷避坑;期间还穿插了一些作者对于程序员职业生涯的感悟,如果你初入IT这行感到迷茫,在这本书里可以找到方向。
——顼阳(真名:许飞飞)
数据方案-大数据方案,资深数据库工程师
Hbase方面有较深的造诣。
淘宝80%的开发工程师都在使用Java,书中很多的技术问题在淘宝的业务场景下均已遇到。全书不仅介绍了各种Java的技术,还融入了作者在淘宝多年的学习心得和想法,非常适合初学者业余阅读和技术提升。这是我读过的最有意思,最轻松愉快的一本Java基础书籍。
作者其它作品
宽带城域网与MSTP技术
- ¥30.00
- ¥25.50