很可惜,从我一开始学技术开始,我就不喜欢看书,严重的时候翻不到两页就会开始狂打瞌睡。很幸运,有互联网能够为我提供很多知识,甚至一些知识从网上看来的会更加权威一些。但是,我的经验告诉我,无论是从功利性的找工作的角度,还是从实用性的学技术的角度,下面这些书都非常值得多读几遍,于是它们很幸运没在我即将离校的时候被当做废纸卖掉。

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. 链表习题(1)-设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点

    /*设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点*/ /* 算法思想:设f(L,x)的功能是删除以L为首结点指针的单链表中所有值等于x的结点, 则显然有f(L->next,x)的 ...

  2. 有一个线性表,采用带头结点的单链表L来存储,设计一个算法将其逆置,且不能建立新节点,只能通过表中已有的节点的重新组合来完成。

    有一个线性表,采用带头结点的单链表L来存储,设计一个算法将其逆置,且不能建立新节点,只能通过表中已有的节点的重新组合来完成. 分析:线性表中关于逆序的问题,就是用建立链表的头插法.而本题要求不能建立新 ...

  3. 【读书笔记】SpringBoot读书笔记

    整体目录结构: 一.入门 二.开发第一个应用程序 三.自定义配置 四.测试 五.Groovy与Spring Boot Cli 六.在Spring Boot中使用Grails 七.深入Actuator ...

  4. 记录一下,PC端vue开发常用框架,已经用过elementUI和iview 接下来尝试另一个Muse-UI 喜欢它的点击效果

    官网地址: https://muse-ui.org/#/zh-CN/installation

  5. 一个很不错的适合PHPER们书单,推荐给大家【转】

    来我博客的访客们中,有一些是PHP的初学者,是不是很迷茫PHP应该怎么学?应该买什么样的书?到处问人,到处求助?这下好了. 正好看到黑夜路人在博客上推荐了一个书单,看上去都非常不错,很多我也没有读过, ...

  6. iOS 创建一个在退出登录时可以销毁的单例

    一.单例简介 单例模式是在软件开发中经常用的一种模式.单例模式通俗的理解是,在整个软件生命周期内,一个类只能有一个实例对象存在. 二.遇到的问题 在平时开发使用单例的过程中,有时候会有这样的需求,在用 ...

  7. 才趟过的一个坑,css造成的Validform表单提交按钮点击无效

    最近入手的一个项目,在开发的过程中,遇到了一个以前没遇到过的问题,废了半天的功夫才弄懂原因,留下足迹,警醒后人,下面开始讲故事啦! 在一个昏天暗地的上午,我一个人照常坐在办公室安静的工作中!项目编码已 ...

  8. 自己动手写一个简易对象关系映射,ORM(单例版和数据库池版)

    准备知识 DBUtils模块  <<-----重点 DBUtils是Python的一个用于实现数据库连接池的模块 此连接池有两种连接模式: DBUtils提供两种外部接口: Persist ...

  9. 一个web应用的诞生(5)--数据表单

    下面把角色分为两种,普通用户和管理员用户,至少对于普通用户来说,直接修改DB是不可取的,要有用户注册的功能,下面就开始进行用户注册的开发. 用户表 首先要想好用户注册的时候需要提供什么信息:用户名.密 ...

随机推荐

  1. Linux配置系统

    配置架构: 三元素: 配置文件, 环境变量, 命令行选项 三级别: 系统级,用户级,程序级 应用: 调用时可能发生变化的配置信息,使用命令行选项:改动很少但确实应该由各个用户自己控制的配置信息,使用用 ...

  2. memcached远程 telnet 无法连接,解决方案

    因为默认的Memcached配置,使用了本机ip:127.0.0.1 ,此时利用VI修改下配置 vi /etc/memcached.conf 文件打开后,修改下,把-l前面加入#号注释掉,重启服务器就 ...

  3. SQL server数据类型int、bigint、smallint、tinyint

    1. 整数类型 int.bigint.smallint.tinyint 数据类型 范围 存储 bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9 ...

  4. hdu4655Cut Pieces

    http://acm.hdu.edu.cn/showproblem.php?pid=4655 先以最大的来算为 N*所有的排列数  再减掉重复的 重复的计算方法:取相邻的两个数的最小值再与它前面的组合 ...

  5. java文件IO操作

    package com.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...

  6. 函数fsp_alloc_free_page

    从fsp中分配32个碎片页 /**********************************************************************//** Allocates ...

  7. $destroy

    ng-view 路由切换会触发 $destroy

  8. nginx-rrd监控nginx访问数

    一 .查看已安装的nginx是否包含stub_status模块 /usr/local/nginx/sbin/nginx -V nginx version: Nginx/1.2.0 configure ...

  9. bsp板级支持包

    定义 2作用 ▪ 建立让操作系统运行的基本环境  ▪ 完善操作系统运行的环境 3开发流程     1定义 板级支持包(BSP)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部 ...

  10. xp系统下网络打印机怎么设置

    亲测,可行 打印机共享可以有效节约办公资源,提高办公效率.可是还有很多朋友不知道怎么设置,我们这里讲一下网络打印机的设置方法. 1.我们点开桌面左下角的开始菜单,选择“打印机和传真” 2.我们右击某个 ...