关于Java特种兵下册

《Java特种兵 下册》这本书一直没出,至上册出版近1年以来,每周会有很多小伙伴发私信或邮件问起我下册出版的事情,纵使目前有很多无奈,小胖还是初步决定准备写下册。

对于1年多没有出下册,在这里给大家说下原因:

1、下册的手稿早就有,几乎和上册一起出来的(都在2年前动笔开始写的),原本这本书也没有分上下册,是因为字数和页码的限制才有上下册之分。但拆分上下册后,小胖对下册不太满意,打算重写下册,所以暂时就没有出。

2、虽然小胖对下册不满意,但一直没想清楚到底那里不满意,加上近1、2年的工作越来越忙,就很少有时间去关注这个事情。

3、这本书的写法比较随性,因为也是工作之余来写,里面偏啰嗦和反复的话比较多,因此受到很多高手们的集体吐槽,我一直没想清楚如果下册还是这样会是什么样子的。

4、这1、2年的工作,我自己也对很多下册所提到的一些内容有了认识上的变化,所以我一直认为可能有些下册的内容我自己也没太想清楚。

5、下册写技术性的东西相对偏少,即使有,也更多是偏于理论,不会有太多上册那样的代码Demo。也就是针对的人群不太一样,也许和不同人群的期待也有所不同。

6、出于出版社的发行量,上册还有很多存货在出版社,所以如果写不好,对他们的利益也不太好,因为出版社也有编辑和运营等也需要拿到业绩。

7、小胖近2年的身体变得有点不太好,可能和有些时候疯狂工作有关系吧,最近小胖得了“痛风”,脚很痛走不了路,这病也很难治。

不论如何吧,有很多原因,所以近一年多以来一直没时间和精力来重写下册,因为写书需要投入很多思考和精力来做,也需要为书中所写的每一句话负责。

想要重启下册的原因:

1、最大的原因应该就是每周收到小伙伴们的一些期待吧(通过邮件、私信、博客等方式吧),虽然我不清楚下册是否能达到你们的期望,但如果我不写,似乎对不起这些小伙伴了。

2、小胖看得出来,这种写法还是适合不少的人群的,甚至于在很多大公司的书架和书库也出现了身影,作为公司员工学习的书籍,小胖还是觉得很欣慰。

3、在写法上,小胖不敢说有太大突破,不过应该可以比以前稍微精炼那么一丢丢,因为这一年多以来,小胖自己也能感觉到有所提升,呵呵。

4、有些下册原来的见解没太想清楚的地方,小胖在这一两年中通过积累,也有更多的认识,这些认识或许可以分享给大家。

5、和出版社初步沟通了下,他们也希望我出了上册后把下册也出了。

关于时间点:

1、准确的时间点小胖现在无法给大家,因为给了也不会准,小胖最少要痛风病好一点才会开始动笔,如果不出意外会在国庆前开始写下册,如果有最新情况小胖会更新到博客中。

2、开始动笔后只要不遇到什么大的意外,小胖希望是4-6个月内改完原来的手稿,然后交给出版社,一般交给出版社后需要1-3个月review、审核、出版的过程。

下册内容(下册的内容小胖):

下册内容在其它博客里面有所标注,但由于事隔一年多,所以小胖有很多知识的认知也有所变化,所以内容上也会有做一些调整。

1、设计方面内容依然会写,小胖依然用自己的方式告诉大家怎么样去设计,当然小胖会改很多内容,设计也会涉及到代码设计、软件架构设计、产品设计、交互设计等或许我们会有所探讨。

2、实现方面会写得比较杂,坑、产品与项目、交互体验。再简单谈谈项目中的形形色色。

3、扩展篇,依然会谈集群、分布式两块,但这两块并不是一本书可以讲清楚的,所以小胖只是带大家入个门,当然会提到一些简单的例子。技术量化这块,小胖会简单提到一些理论知识为大家提供参考,如操作系统、网络。当然也会涉及到一些技术成本和时机的探讨。

目录及进度更新中(最后更新于2015-10-21)

设计篇

第1章  代码及软件架构设计 (目录基本确定,编写中...):

   1.1 接口及抽象类    

      1.1.1 接口无处不在                     (完成于2015-10-09)

      1.1.2 抽象类是接口的“好基友”   (完成于2015-10-09)

      1.1.3 设计者角度思考问题          (完成于2015-10-13) 


   1.2 抽象代码的小例子                      

       1.2.1 从一个星座计算开始                   (完成于2015-10-21)

       1.2.2 简单的解压缩处理封装                 (编写中。。。)        

       1.2.3 登陆体系对接的逐步复杂演变    

       1.2.4 使用不同的主页                         

       1.2.5 小结(根据实际情况可删除)

    1.3 扩展框架的小技巧例子           

       1.3.1 Web容器的Listener动态指定

       1.3.2 通过Spring动态指定Filter

       1.3.3 WEB任意代码位置得到属性文件

       1.3.4 动态指定校验逻辑

       1.3.5 扩展及总结(根据实际情况可删除)

     1.4 通用模块组件化                    

       1.4.1 WEB常见组件化例子

       1.4.2 工具组件

       1.4.3 JS组件扩展封装

       1.4.4 Webscoket封装

       1.4.5 其它业务组件抽象

         会话、任务、队列、通信、连接、线程、中间件、存储体系、工作流、安全.....

       1.4.6 封装的服务化及标准化

       1.4.7 意义与总结(根据实际情况可删除)

     

     1.5 业务模块化                        

        1.5.1 深入业务背景

        1.5.2 业务之间的关系

        1.5.3 业务模块化细节

        1.5.4 学习开源组件模块化

     1.6 代码分层                     

        1.6.1 WEB常见代码分层

        1.6.2 组件代码分层

     1.7 重构                                 

        1.7.1 重构的目的和时机

        1.7.2 日常快速局部化重构

        1.7.3 模块化局部重构

        1.7.4 应用产品重构

        1.7.5 产品体系重构

      1.8 拆分(根据实际情况可能与重构合并)  

         1.8.1 拆分的目的和时机

         1.8.2 局部代码级拆分

         1.8.3 模块剥离

         1.8.4 系统剥离

        1.9 本章小结

第2章  产品设计

第3章 交互设计

实现篇

第4章 代码坑坑碎碎念

第5章 实现思路碎碎念

第6章 实现是兢兢业业的工作

第7章 团队中的事情

扩展篇

第8章 集群&分布式基础引导

第9章 云

第10章 运维

时间: 2024-12-14 03:18:51

关于Java特种兵下册的相关文章

《Java特种兵 上册》勘误、问答、反馈、心得

大家好,Java特种兵上册已经正式在9月初上市发售.这本书可能很多人拿到会有不同的感受,大多数在意料之中. 不论如何,如果您有什么问题,可以在该博客反馈我,我会在回复.正文中将其反馈. 以下是近期一些同学向我提出的问题: [光盘中的代码编译有点问题,如何使用?]: 解释:本书的代码大部分基于JDK 1.6,少部分会依赖于JDK 1.7.不过代码之间的依赖关系不强,因此在切换JDK 版本的时候,将相应的类注释掉应该就OK了.lib目录下有一些依赖包,如果您自己有,就不需要这些包了. [effect

《Java特种兵》5.2 线程安全

本文是<Java特种兵>的样章,感谢博文视点和作者授权本站发布 接下来的内容都将基于多核处理器,因为单核处理器不会出现将要谈到的可见性问题,不过并不代表单核CPU上多个线程就没有一致性问题,因为CPU有时间片原则,还会有其他的一些问题,例如重排序. 本节的内容比较偏重于理论化,看过的同学应该知道这部分内容并不容易看懂.不过要学习并发编程就必然会涉及这方面的内容,所以我们一定要努力去学习,胖哥会尽量通过自己的理解,用一些相对简单的方式让大家得到一些感性认识,进一步的深入就得靠大家自己多去参看相关

《Java特种兵》1.5 功底补充

本文是<Java特种兵>的样章感谢博文视点和作者授权本站发布 1.5 功底补充 看完1.4节发现胖哥废话很多貌似没啥干货了 为了不让大家认为功底只有String那么一点点东西胖哥就再增加对原生态类型.集合类的说明这两方面的内容相信所有的Java开发者都必然会用到. 1.5.1 原生态类型 原生态类型是"神马" 原生态类型就是Java中不属于对象的那5%部分. 那到底是哪些东西呢 包含boolean.byte.short.char.int.float.long.double这

《Java特种兵》1.8 老A是在逆境中迎难而上者

本文是<Java特种兵>的样章,感谢博文视点和作者授权本站发布 1.8 老A是在逆境中迎难而上者 小胖哥虽然不是一个"传道者",但是喜欢小小论道,因为在人生的道路上,很多时候你我都会面临许多纠结的事情,而这个时候我们的态度会决定命运,而道就是道理和方法. ◎ 作为"程序员",每天被要求修改代码是否会烦躁不堪,甚至觉得失去工作的价值?当有人说你的代码有很多Bug时,你会像小鸟或老鸟一样反应吗? ◎ 作为"架构师",成天被程序员说这里(那

《Java特种兵》1.1 String的例子,见证下我们的功底

本文是<Java特种兵>的样章感谢博文视点和作者授权本站发布 1.1 String的例子见证下我们的功底 哇塞第1节就开始讲代码例子受不了啦胖哥你坏死了所有的书第1节都是写这个领域有什么东西的. 哈哈小胖哥天生就是个逆天之人哦希望你能先实践有了感性认识后再进行理论了解内在. 下面的代码改编于网络牛人的一段程序先看代码清单1-1. 代码清单1-1 一段String的比较程序 private static void test1() { String a = "a" + &quo

《Java特种兵》1.2 一些简单算法,你会如何理解

本文是<Java特种兵>的样章感谢博文视点和作者授权本站发布 1.2 一些简单算法你会如何理解 终于迎来第二次聚会的机会本节内容会轻松许多也许一盏茶的工夫就可以听完这个小故事. 注其实本节并不是讨论算法例子也会很简单如果你对算法很熟悉请跳过此节. 想要从一堆数据中找出一个max.min. 想要从100万个数字中找出最大的10个数字. 你的想法是什么你会如何找先排序再找或者摸不到头脑. 胖哥的一些方法也许会帮到你"想想学校里面排队.找人是怎么做的". 假如一个学校有几千人你要

《Java特种兵》5.1 基础介绍

5.1 基础介绍 5.1.1 线程基础 本节内容介绍给那些还没接触过Java线程的朋友希望能有个感性认识. Java线程英文名是Thread所有的Java程序的运行都是在进程中分配线程来处理的.如果是一个main方法则由一个主线程来处理如果不创建自定义线程那么这个程序就是单线程的.如果是Web应用程序那么就由Web容器分配线程来处理在4.4.1节中介绍了在Tomcat源码中是如何分配线程的. 也许在使用main方法写代码时我们感觉不到多线程的存在在Web程序中也感觉不到多线程和自己编写程序有什么

《Java特种兵》5.2 线程安全(一)

接下来的内容都将基于多核处理器,因为单核处理器不会出现将要谈到的可见性问题,不过并不代表单核CPU上多个线程就没有一致性问题,因为CPU有时间片原则,还会有其他的一些问题,例如重排序. 本节的内容比较偏重于理论化,看过的同学应该知道这部分内容并不容易看懂.不过要学习并发编程就必然会涉及这方面的内容,所以我们一定要努力去学习,胖哥会尽量通过自己的理解,用一些相对简单的方式让大家得到一些感性认识,进一步的深入就得靠大家自己多去参看相关的资料了.  5.2.1 并发内存模型概述 前文中提到,为了提升性

《Java特种兵》1.4 功底概述

1.4 功底概述 本节是本章的"道"第一次总结胖哥会尽量简单说明. 1.4.1 什么是功底 古人有句话"心有灵犀一点通"形容相互之间的交流十分默契而融洽的基础在于彼此十分了解对方.在专业领域上要做到这一点就是要深深地了解技术以及它的内在. 武侠中有一种武学叫"九阳神功"也有一种武学叫"易筋经"等它们之所以很神奇是因为它们都有一种不变的特征就是学习了这些武功后再学习任何武学都很快而且可以比别人学得更好.同时这些"武学秘