一个不喜欢读书的Javaer的读书单
很可惜,从我一开始学技术开始,我就不喜欢看书,严重的时候翻不到两页就会开始狂打瞌睡。很幸运,有互联网能够为我提供很多知识,甚至一些知识从网上看来的会更加权威一些。但是,我的经验告诉我,无论是从功利性的找工作的角度,还是从实用性的学技术的角度,下面这些书都非常值得多读几遍,于是它们很幸运没在我即将离校的时候被当做废纸卖掉。
1. 《Java核心技术》
仔细研读这套书上下册至少两遍,最现实最直接的好处就是网上各种Java基础的笔试、面试题90%以上都难不倒你。这套书对JavaSE各种特性的讲解较为深入,同时配以大量(个人认为甚至有点过多)的示例,因而既适合新手入门,又适合老鸟深入理解。
缺点就是太厚太重了,一来增加了读完全书的心理压力,二来不便于携带,三来实在不适合作为案头翻阅的工具书。
2. 《Java Web开发技术大全》
这本书是我JavaEE的入门书籍,它与《Java核心技术》的风格截然相反:较少涉及JavaEE的原理展开讨论,而是大量地运用实际案例展示如何(用MyEclipse)进行Struts2 + Hibernate + Spring + Ajax的Java Web应用的开发。它最大的优点是一本很优秀的案头工具书,方便你在任何时候查阅SSH中某个框架的一些语法或者配置该怎么写。
相对的,它的不足正是它不是一本适合深入学习SSH中任意一个框架的书,所谓杂而不精。
3. 《算法导论》
如果说是否把《Java核心技术》作为废纸卖掉我还犹豫了下的话,《算法导论》就是我绝对不会卖掉的书了。算法对于一个程序员的重要程度自不用说,而《算法导论》作为学算法必看的一本书,其价值也无需赘述了。
缺点?除了面试外,短期内用处不大应该就是它最大的缺点了。
4. 《大话设计模式》
这本书是当我跟我一哥们提起我想买GoF的那本设计模式书时,他给我的推荐,理由是:GoF那本我不一定看得下去,但是这一本我一定能看完。事实也是如此。这本书最大的特点和优点就是语言生动,不像一本技术书(封面更不像),而更像一本讲故事的书。但是,每个设计模式的讲解、适用场景、优缺点、示例又一个都不落。
缺点同《Java Web开发技术大全》一样,它也不是一本讲理论的书,浅显易懂才是它的风格。另外,这本书的示例基于C#,还好它跟Java很类似。
5. 《操作系统》
尽管Java几乎不用跟底层打交道,但是阅读《操作系统》的过程中,很多地方会让我有一种“啊!原来是这么一回事”的感觉。最显著的,比如线程。《操作系统》这类较为底层的书籍,对于Java程序员而言,最大的作用我感觉应该是知识体系的提高,不局限于Java的那些API,跟算法的作用其实差不多。而这些又是靠网上繁杂的文章无法系统学习的。
6. 总结
以上6本书,离校的时候我从哈尔滨把它们带到了北京,作为一个不爱看书的程序员,可见我对它们的珍视。在我看来,越是理论、越是需要系统学习的知识,就越需要通过权威的书籍来学习,如算法、OS、JavaSE基础等;而那些已经有现成框架的技术,网上无论是权威的资料还是代码实例都要更多,如Spring、Hibernate、Python、Android等,手边需要的只是一本可翻查的工具书。因此,无论是读书还是从网络中学习都是可行,无需拘泥。
7. 下一步
对Java的学习,一来是各种流行的框架的运用,二来就是对其本身的深入了。因此,接下来我打算搞一本《深入理解Java虚拟机》来看看。
一个不喜欢读书的Javaer的读书单的更多相关文章
- 链表习题(1)-设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点
/*设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点*/ /* 算法思想:设f(L,x)的功能是删除以L为首结点指针的单链表中所有值等于x的结点, 则显然有f(L->next,x)的 ...
- 有一个线性表,采用带头结点的单链表L来存储,设计一个算法将其逆置,且不能建立新节点,只能通过表中已有的节点的重新组合来完成。
有一个线性表,采用带头结点的单链表L来存储,设计一个算法将其逆置,且不能建立新节点,只能通过表中已有的节点的重新组合来完成. 分析:线性表中关于逆序的问题,就是用建立链表的头插法.而本题要求不能建立新 ...
- 【读书笔记】SpringBoot读书笔记
整体目录结构: 一.入门 二.开发第一个应用程序 三.自定义配置 四.测试 五.Groovy与Spring Boot Cli 六.在Spring Boot中使用Grails 七.深入Actuator ...
- 记录一下,PC端vue开发常用框架,已经用过elementUI和iview 接下来尝试另一个Muse-UI 喜欢它的点击效果
官网地址: https://muse-ui.org/#/zh-CN/installation
- 一个很不错的适合PHPER们书单,推荐给大家【转】
来我博客的访客们中,有一些是PHP的初学者,是不是很迷茫PHP应该怎么学?应该买什么样的书?到处问人,到处求助?这下好了. 正好看到黑夜路人在博客上推荐了一个书单,看上去都非常不错,很多我也没有读过, ...
- iOS 创建一个在退出登录时可以销毁的单例
一.单例简介 单例模式是在软件开发中经常用的一种模式.单例模式通俗的理解是,在整个软件生命周期内,一个类只能有一个实例对象存在. 二.遇到的问题 在平时开发使用单例的过程中,有时候会有这样的需求,在用 ...
- 才趟过的一个坑,css造成的Validform表单提交按钮点击无效
最近入手的一个项目,在开发的过程中,遇到了一个以前没遇到过的问题,废了半天的功夫才弄懂原因,留下足迹,警醒后人,下面开始讲故事啦! 在一个昏天暗地的上午,我一个人照常坐在办公室安静的工作中!项目编码已 ...
- 自己动手写一个简易对象关系映射,ORM(单例版和数据库池版)
准备知识 DBUtils模块 <<-----重点 DBUtils是Python的一个用于实现数据库连接池的模块 此连接池有两种连接模式: DBUtils提供两种外部接口: Persist ...
- 一个web应用的诞生(5)--数据表单
下面把角色分为两种,普通用户和管理员用户,至少对于普通用户来说,直接修改DB是不可取的,要有用户注册的功能,下面就开始进行用户注册的开发. 用户表 首先要想好用户注册的时候需要提供什么信息:用户名.密 ...
随机推荐
- Win2003部署Framework 4.5框架的MVC4项目
[一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/4554672.html] Win2003中IIS6部署Framework 4.5框架的MVC4 ...
- 使用NSURLSession实现断点续传
在sb中创建按钮,并且连线到.m文件中
- file_operations结构2
对与应用层的每个系统调用,驱动程序都有一个与之对应的函数.对于字符设备驱动程序,这些函数集合在一个file_operations类型的数据结构中,该结构体在Linux内核的include/linux/ ...
- 用css控制cellspacing、cellpadding
用css控制cellspacing.cellpadding 发表于 2006 年 12 月 24 日 由 Silbo 在table中控制单元格之间的间距要用到cellspacing.cellpaddi ...
- Windows下的.NET+ Memcached安装
转载请标明出处: http://www.yaosansi.com/ 原文:http://www.yaosansi.com/post/1396.html Memcached官方:http://danga ...
- LightOJ 1197 Help Hanzo 素数筛
题意:筛一段区间内素数的个数,区间宽度10w,区间范围INT_MAX 分析:用sqrt(INT_MAX筛一遍即可),注意先筛下界,再筛上届,因为有可能包含 #include <cstdio> ...
- [转]ASP.NET MVC 入门8、ModelState与数据验证
ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的ModelState类型的字典集合.在进行数据验证的时候这个属性是比较有用的.在使用Html. ...
- Linux查看系统性能命令
性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介绍. ———————————————————————————————————— ...
- 通过DeveloperApi获取spark程序执行进度及异常
在应用spark时,经常要获取任务的执行进度,可以参照jobProgressListener的设计来完成该功能. 以下代码仅供参考,欢迎交流. 效果显示: 代码: package org.apache ...
- linux的nohup命令的用法
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/local/mysql/bin/my ...