推荐几本架构方面的书_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3055 | 回复: 1   主题: 推荐几本架构方面的书        上一篇  
panpan.nie
注册用户
等级:大校
经验:4754
发帖:217
精华:2
注册:1970-1-1
状态:离线
发送短消息息给panpan.nie 加好友    发送短消息息给panpan.nie 发消息
发表于: IP:您无权察看 2016-3-24 16:27:38 | [全部帖] [楼主帖] 楼主

看书的好处

1、能出版的书一定经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料

2、对着书上的代码自己敲方便

 

看完书之后再次提升自我的最好途径是看一些相关的好博文。一本书往往有好几百也,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处

 

关于设计模式,看 java_my_life 的博客

其讲解设计模式的大体路线是:

1、随便开篇点明该设计模式的定义

2、图文并茂讲解该设计模式中的结构

3、以详细的代码形式写一下该种设计模式的实现

4、补充内容

5、讲解该设计模式的优缺点

 

对于一个设计模式,我们关注、学习的知识点,不就是上面这些吗?

当然,同一种设计模式的写法有多种,不是只有某种写法才是这种设计模式。比如,适配器模式,我们应该关注什么是适配器模式,而不是怎么写适配器模式,不是按照该种格式写的就不是了。不过,通过代码学习,是最快的一种理解方式啦

 

一、《深入理解Java虚拟机:JVM高级特性与最佳实践》 作者 周志明

如果你不满足于做一个只会写if……else……的java 程序员的话:

1、了解java 代码的底层运行机制

2、定位性能问题

3、对整个系统进行性能调优

4、解决各种奇怪的线上线下问题

5、更加高级别的,为自己的项目量身定做一款适合自己项目的虚拟机

那么 java 虚拟机 就是你必学的一门技术。(网上有电子版,不过与纸张书有最新版,新版有作者新补充的知识。

 

二、HotSpot 实战》 作者:陈涛

Java 虚拟机都是遵循着 java虚拟机规范来的,市面上的java 虚拟机有几十款,比如 sun jdkibm jdk 等,《深入理解Java虚拟机:JVM高级特性与最佳实践》 一书里卖弄的虚拟机并不针对某种特定的虚拟机,而是从java 虚拟机规范的角度来讲解java 虚拟机

平时使用的乃商用的大多数java虚拟机都是sun公司的HotSpot,大家从cmd进入命令行,使用 java -version 可以看出版本。

如果希望在java 虚拟机贵啊反的基础上深入了解虚拟机的一些细节是怎么实现的,就可以看一下《HotSpot实战》一书。源码是c/c++ 写的。有兴趣,去下载一个openJDK 看看 HotSpot 的源码。

 

三、java 并发编程实战》 作者:Brian Goetz

这本书常常被列为java程序员必读十大书籍排行榜。

不过,个人感受:文字多,代码少;讲解多,实践少

翻开这本书,多线程怎么用,什么是死锁,什么是竞争,什么是线程安全等等,方方面面的知识点都用大量文字篇幅讲解,整体来说,java 的理论知识体系 讲解的非常透彻的。对于想要速成的,呵呵

 

四、java 多线程编程核心技术》 高洪岩

     想要学习多线程就多看看此书

这本书的特点:代码多+精讲解

本书关于 线程安全,synchronzedReentrantTimer 等等都有详细的代码进行了讲解,而且每个大知识点下的小知识点都会详细讲解,非常有实践价值。

学习方法:敲代码、运行、思考

 

五、Effective Java中文版》作者:Joshua Bloch

作者是谷歌的首席架构师,属于超级技术大牛级别了吧。本书也有很高的知名度

好的代码是每一个程序员都应该去追求的。

好的代码 提升了 代码的可读性 以及可以规避许多潜在的、未知的问题,避免代码上线之后出问题而花时间去维护——无论从时间成本、人力成本来说哦,这都是非常高的。

 

六、《深入分析java web 技术内幕》 许令波

HTTPDNSCDn、静态化、JettyTomcatServletSpringMybatis 等等,设计知识面非常广。尽量用短的篇幅讲清楚一些Java web 使用到的技术内幕,让读者对这些知识点的技术内幕有一个理性的认识。

 

七、《大型网站技术架构 核心原理与案例分析》 李智慧(原阿里巴巴技术专家

Java 的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?一个大型网站是如何从 一个小型网站成长起来的?如何保证你的网站安全?分布式系统使用到了缓存,有哪些缓存?缓存的使用有哪些值得注意的事项?

强推!

 

八、《大型网站系统与java 中间件实践》 宪杰(淘宝技术总监)

分布式系统的演化,CDNCAP理论和BASE理论等等

本书重点是中间件三个字,中间件事分布式系统中一个非常重要的东西,其最重要的作用就是解耦,降低模块与模块之间的强依赖。不同模块之间的依赖度降低,便可以各自独立开发自己的功能,这也可以说是软件工程发展的目标和驱动力。

 

九、《从 Paxos 到 ZooKeeper 分布式一致性原理与实践》 作者:倪超(阿里巴巴工程师)

该书属于分布式组件的范畴。如果有志于做一个出色的大型网站架构师、公司的技术总监之类的,这些知识当然是必须掌握的了。

本书从分布式系统基本理论开始讲起,讲到Paxos 算法,最后慢慢引入到 Zookeeper ,循序渐进。

 

十、Mysql 5.6 从零开始学》 作者:刘增杰和李坤

丰富的数据库性能优化经验是一个顶尖程序员必备技能

目前主流的数据库oracle mysql

1、mysql 免费,没有比这个更好的理由了

2、Mysql 相比oracle 更轻量级、更小、安装和卸载 更方便,sql 都差不多的,使用对比学习法,关注一下两者的差别就好

 

十一、spring 源码深度解析》

Spring 这个框架做的太好了,功能太强大了。这种功能强大的框架内部一定是很复杂的实现,这就导致一旦你的程序使用spring,出了问题、可能是error、可能是exception、可能程序运行结果不是你的预期的,出现诸如此类问题的时候,将会让你感到困惑,除了上网查资料或者问别人似乎没有更好的解决办法了。

研读Spring的源代码不失为一种很好的学习方法,我个人认为这有很多好处:

1、理解框架内容的实现之后,可以主动去解决问题,而不是依赖别人

2、Spring框架内部实现用到了很多设计模式,很好的代码设计思路,这将会对你写代码、理解设计模式有很大的提高

3、研究spring框架将会大大增强你读代码的能力

好的程序员和普通程序员的差别在于,后者只会把别人写好的东西拿来用,前者不仅能用,还清楚知道别人写好的东西底层是如何实现的。



后记:这是别人推荐的,感觉都好难。不过作为一个程序员,我们也不能以为上班的时候敲敲代码就完成任务了。人,要不断学习哦




赞(0)    操作        顶端 
藏剑天策
注册用户
等级:中尉
经验:415
发帖:7
精华:0
注册:2016-1-29
状态:离线
发送短消息息给藏剑天策 加好友    发送短消息息给藏剑天策 发消息
发表于: IP:您无权察看 2016-3-24 23:14:03 | [全部帖] [楼主帖] 2  楼

写得好详细,给楼主赞一个



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论