一个不喜欢读书的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是不可取的,要有用户注册的功能,下面就开始进行用户注册的开发. 用户表 首先要想好用户注册的时候需要提供什么信息:用户名.密 ...
随机推荐
- mysql查看'datadir'目录
mysql查看创建的数据库的数据,包含表等存放的目录,可以输入下面指令查看: show variables like 'datadir'
- Linux下使用clock_gettime给程序计时
http://www.cnblogs.com/daqiwancheng/archive/2010/07/01/1769522.html
- SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-008-带参数的ADVICE
一. 假设有情形如:cd里有很多轨,当播放音乐时,要统计每个音轨的播放次数,这些统计操作不应放在播放方法里,因为统计不是播放音乐的主要职责,这种情况适合应用AOP. 二. 1. package sou ...
- webstore+nodejs
新建一个普通的project. 编写如下代码: var http=require('http'); http.createServer(function(req,res){ res.writeHead ...
- 【PythonChallenge】Level 4
如题,是一个链表,N多数据,其中还有其它操作,比较麻烦,也是刚学python网络编程.对于Perl的RE很熟悉,还没有学python的,还是啃手册吧.其中在读出16044时,并没有找到匹配项,如下图所 ...
- 【HDOJ】1003 Max Sum
最开始使用递归DP解,stack overflow.化简了一些,复杂度为O(n)就过了. #include <stdio.h> int main() { int case_n, n; in ...
- poj2411Mondriaan's Dream(状压)
http://poj.org/problem?id=2411 下次还是去学习下dfs的写法吧 自己乱写的好像有点乱 乱七八糟改了一通过了 以1 1 表示横着的 1 0 表示竖着的 枚举每一行的状态 再 ...
- hadoop2.2编程:MRUnit——Test MaxTemperatureMapper
继承关系1 1. java.lang.Object |__ org.apache.hadoop.mapreduce.JobContext |__org.apache.hadoop.mapreduce. ...
- Shell获取文件后缀名
file = "thisfile.txt" echo "filename: ${file%.*}" echo "extension: ${file## ...
- NSUserDefaults存数据相关的问题
NSUserDefaults存储数据的类型是有限制的!NSUserDefaults里面只能存储property list objects.具体的内容请看下面的链接.特别的,对于NSDictionary ...