【转】我为什么把think in java 读了10遍
我在想写这篇博文之前,就曾经对我媳妇(她是做web前端的)讲,我把think in java看了几次几次,媳妇那时就用很羡慕和莫名的眼神看着我说,你真有毅力,我当时就蒙了,我以为她会说,你现在基础一定很好,很强大之类的话,但是她没有,我有点失望,不过自打我把这本书看了5便之后,我只要有时间就和她讲基础的重要性之类的话,直到她十分厌烦,其实那时我知道,虽然我看了好几遍,但其实根本没有看明白,这句话我一直不敢和我身边的人讲,因为我在技术这个行业干了9年了,而且我在公司还小有名气,如果我说我看不懂think in java我怕他们笑话,但其实是真看不懂,越看就感觉自己在计算机的世界中像一个门外汉,为什么这么说呢,恐怕还要从找工作说起,我在大学里学的是计算机网络技术专业,什么计算机原理,java语言等等的都学了,而且都考过了,但是直到找工作才知道,我学的用不上,面试了很多次都以失败告终,不过好在有个“好心”的老板雇用了我,当然了,我是骗进去的,不过那个公司也同样不是什么好公司,不过即使这样,我还是在2周以后让公司开除了,我会永远记得那天,老板把我从17层骂到1层,他骂我是骗子,不过我不恨他,因为我知道,是他给我了了解这个行业的机会,虽然只有两周,但我已经明白,如果你想在中国从事技术,最快你要学习什么,从公司出来后,我买了一本jsp开发,看了一个月又去面试终于面试成功,开始了我的程序员生涯。
自从干上这行以后,我可能就像中国大多数程序员一样,一个项目接着一个项目,什么不会就学什么,就这样干了5年,什么html、css、js、java、sql、服务器等等都做过了,终于感觉自己都会了,可是又很茫然,为什么呢?因为在这行里,总有存在这样一些论调,“如果你30岁还做程序员,你就会失业”我不知道这句话是谁说的,但是的确给我的印象很深,那是我快30了,我可不想30岁以后没有饭吃,虽然我这么想但是也没有采取什么行动,直到有一天我不知为什么买了一本think
in java 4th,哦对了,好像是为了面试更高的职位,好像是吧,具体的我记不得,不过这不重要,重要的是我从第二章就有些看不懂了,从那时起,我才知道,妈的,我的基础太差,我有些恐惧了,不是恐惧我会失业,而是恐惧这个行业我干了5年,居然输给了一本书的前50页,丢人,我就怀着这样的心情开始了读think in java,说实在的读第一遍很痛苦,第二遍同样很痛苦,因为很多名词、思想根本不理解,为了理解这些词和思想,迫使我一次又一次的读下去,就这样整整读了一年10遍,虽然有些地方我还是读不明白,但发现我的思想产生了巨大的变化,这个变化不是指java水平,确切的说应该是语言本身,之后我又读了effective
java等书籍,从那以后在公司中几乎已经没有人是我的对手了,我分析问题的角度和方式与读书之前完全是两个级别,我在公司小有名气了,我有点沾沾自喜,天天盼望着给人讲讲我的思想,就在这样的状态下,我继续买书、读书,不久之后问题又来了,我发现并没有搞懂think in java,更准确的说我没有搞懂计算机,因为我基础太差了,什么数据结构、算法导论等等著作,我几乎是打开前10页就读不下去了,我突然间感到了,整个中国这个行业的浮躁和大学教育的失败,我又重新开始学习基础知识,目的不是为了更高的工资,而是更明白我所从事的事业。
这时,我们公司新来了一个女领导,我分配到了她的组中,她还自己亲自招了几个人,不过就是她招的人,迫使我离开了公司,这几位大哥典型是行业的败类,当然我的脾气也不好在某些技术处理上顶撞了他们,他们想办法,让我滚蛋了,我又开始了面试,在一次面试中,我对主考说,我读了think in java 4h10便,为了是更接近作者的思想,他轻蔑的说,你是自虐吧,结果不用我说了,我没有被他录取,在回家的路上,我想这是自虐吗?我追求本质错了吗?是这个行业错了吗?我不知道,我也不想知道,但我认为我做的路是正确的,闪跃着光辉,我30岁以后做程序员不会失业。
原文地址:http://www.douban.com/note/136804332/
【转】我为什么把think in java 读了10遍的更多相关文章
- JAXB在Java 9/10并且使用Tomcat 9的问题
Implementation of JAXB-API has not been found on module path or classpath. JAXB API是java EE 的API,jav ...
- Eclipse调试Java的10个技巧【转】
clipse调试Java的10个技巧 先提三点 不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时 ...
- Java复习10.Servlet编程
Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面 ...
- 几周内搞定Java的10个方法
不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”).简单来说,就是Java程序可以直接在任何设备上运行. Java语言是什么? 不管我们是否 ...
- Java习题10.24
Java习题10.24 1. 1,3.connect()与accept():这两个系统调用用于完成一个完整相关的建立,其中connect()用于建立连接.accept()用于使服务器等待来自某客户进程 ...
- Java习题10.25
Java习题10.25 1. 实际上这道题考查的是两同两小一大原则: 方法名相同,参数类型相同 子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类 ...
- 030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符
030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符 本文知识点:Java中的条件运算符 条件运算符是Java当中唯一一个三目运算符 什么是三目运算 ...
- Java SE 10 新增特性
Java SE 10 新增特性 作者:Grey 原文地址:Java SE 10 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- Java SE 10 Application Class-Data Sharing 示例
Java SE 10 Application Class-Data Sharing 示例 作者:Grey 原文地址:Java SE 10 Application Class-Data Sharing ...
随机推荐
- ANg-线性回归算法
线性回归算法 linear regression 对于线性回归模型,我们期望对于样本数据集,通过假设函数,得出目标值 代价函数 m在这里指的是训练样本的数量 所以我们的目的就是得出代价函数(平方误差代 ...
- centos 用户指定目录访问
在linux系统中,比如有这样一个场景,abc/a.abc/b.abc/c三个目录,用户user1,user2分别隶属于A组和B组. 控制:用户user1只能访问abc/a和abc/b目录,而用户us ...
- UIApplication 的学习
1.0 URL 的组成 == 协议头://主机名/路径 从iOS7 开始,系统提供了两种管理状态栏的方式,默认交给控制器去管理 2.0 旋转事件----> UIApplication --- ...
- Redis Cluster在线迁移
由于之前的redis cluster物理硬件性能不足.决定升级到更好的服务器上.考虑到redis是核心生产数据库,决定在线迁移,迁移过程,不中断服务. 下面是测试环境的完成迁移步骤:1. 原环境(测试 ...
- 学JS的心路历程-函式(六)其余参数及预设参数
今天我们要来介绍ES6新增的其余参数及预设参数! 其余参数rest parameter …numbers可以让我们表示不确定数量的参数,并将其视为一个数组: function getVal(…numb ...
- shell 脚本传参
在 shell 中我们会见到 $0.$1.$2这样的符号,这是什么意思呢? 简单来说 $0 就是你写的shell脚本本身的名字,$1 是你给你写的shell脚本传的第一个参数,$2 是你给你写的sh ...
- 安装 telnet
yum install telnet-server yum install telnet service xinetd restart 查询是否正常启动telnet netstat -tn ...
- Fixation index
:或者1.简单介绍 固定指数(FST)是一种由遗传结构决定的种群分化指标.它通常是由遗传多态性数据,如单核苷酸多态性(SNP)或微卫星估计.作为莱特f统计的一个特例,它是种群遗传学中最常用的统计方法之 ...
- 1.5.7、CDH 搭建Hadoop在安装之前(定制安装解决方案---配置单用户模式)
配置单用户模式 在传统的Cloudera Manager部署中,管理每台主机上的Hadoop进程的Cloudera Manager Agent以root用户身份运行.但是,某些环境会限制对root帐户 ...
- js 创建对象的几种方法
1. 使用object创建 var person = new Object(); person.name = "Tom"; person.age = "29"; ...