java工作半年总结

本科毕业到北京工作了半年,写一篇总结,记录一下成长过程。

面试的时候,手头掌握的东西可太惨了,大学所有的编程活动都是用C++完成的,java的基础基本为零。虽然我在大三实习的时候用过ssm+jersey+swagger做过微信公众号后台,但是由于没有系统学过java(大学没有java课,震惊),用过之后也就基本忘了,到后来只能想起来一个@Service了 = =。

刚开始工作的时候,maven不会,log怎么打不知道,nginx,redis,模板语言等这些压根就没听过,只对MyBatis有一点了解,数据库也只会简单的增删改查。但是一点也没有觉得头大,我需要的就是一个能让我学习和成长的地方,所以浑身干劲。

阶段一:第一个任务 第一个月

leader最开始给的一个开发任务,属于那种一看就知道思路的,但是做起来有点费劲的东西,但是我知道不能眼高手低(感觉大学很多这种现象,让我有了教训),所以一点一滴的去做,一个月的时间弄好上线了,期间还修改了一个公司以前的项目。感觉这个阶段一是熟手,而是阅读了一些代码,知道maven怎么用,异常怎么弄,log怎么打,nginx,redis是怎么回事,sql也复习了一下(当然都是最初步的了解,就是大致知道这些东西是啥,有什么用,在系统中承担什么角色)。这个过程中,对java的web开发基本上能够完成任务,知道ssm怎么用了,sql怎么写,以及简单的数据库表设计和索引设计,知道了前端是什么东西,模板怎么渲染。我觉得最重要的是心态,要有一种学习的心态,重零开始的心态,要沉下心来了解公司的开发步骤,任务分工,开发步骤等等。

第二阶段:第二个月,敏捷开发

第一个任务上线之后,第二个月没有开发任务,但却是最忙的一个月。这个月写了大大小小的各种程序,最紧张也是最典型的一次三天写了2000行代码(对那个时候的我来说很多了),从零开始,搭框架,到重构多并发调优,最激动的是一次就跑通了,完美完成了任务(之后做了微调,为了兼容另一个任务),第一次有了巨大的成就感,感觉自己屌屌的,但是奈何公司大佬太多,leader又是巨佬,很快自己就冷静下来了,毕竟他们完成的任务可能是我暂时无法想象的。但这时候心中已经有了一颗种子,自己写的代码居然可以很快的兼容公司其他的需求,让我萌生了想继续扩展和抽象最终写一个任务框架或者公司内部的功能模块的想法,可是这时候我太弱了,根本就无法驾驭java的抽象机制,甚至都还不了解。我从未觉得我自己的知识如此的匮乏。这个月最大的收获是让我感受到了复用和抽象的吸引力,让我有了巨大的学习驱动力,然后买了一堆书回来。

第三阶段:第三,四月,独立开发大模块

在第二个月的忙碌之后,到第三个月又恢复平静回到稳步开发的节奏中。不过这次的开发和第一个月不同,完完全全的重零开始,由我自己思考设计。哇,真的是绞尽脑汁,虽然现在看起来不是什么了不起的东西,但是对那时候的我来说就是从零到有。期间还参加了一个开源项目(用英语提提issue和PR真是牛逼死我了)。花了两天时间看了ruby和ruby on rails,然后down了一个大型的ruby项目,虽然没有参与贡献,但是从源码中获得了我需要的东西,也感觉屌屌的。这四个月中,大大小小博客看了无数,官方文档了看了一些,参与了开源项目的开发,能从一个新的语言大型项目中找到自己需要的部分,熟悉了项目部署,各种脚本开发,python基本能完成日常任务,而且自己开发了一个相对较大的项目之后,对框架的使用已经很熟练了。到这个时候,基本可以独立承担一个开发任务和日常任务了。但是扪心自问,对java的基础知识掌握还是非常的匮乏,对maven,redis,nginx,甚至ssm框架的原理基本是不了解的,我告诉自己,还太嫩了,开发项目和一些功能,是一些最简单的体力活。

第四阶段:第五,六月,学习学习还是学习

这两个月给我最深的印象就是:学习。上到spring,classload,并发等问题,下到java各种底层原理,无所不看,无所不学。其中,要好好谈谈书籍的问题,主要的书籍《java编程思想》,《Spring源码深度剖析》,《设计模式》。其中《java编程思想》是神作,绝对的神作,真正的所谓“从入门到精通”都能从里面找到自己想要的东西的书,好好的打了一下java的各种基础知识,最最最最让我惊讶的是,作者在里面演示了stream的实现(以及map,filter,reduce等方法),我当时看到就惊呆了,这本书的初版时间应该是2007年,java应该还是1.5,而stream是1.8加入的。《Spring源码深度剖析》以xmlBeanFactory为切入点跟踪代码,很适合我这种基础弱,第一次看源码的菜鸡,但是只讲了实现,没有讲设计(感觉需要自己体会,可惜内功太差感受不到spring的设计功力,只能跟着代码看懂逻辑)。《设计模式》了解各种多态的用法,看都能看懂,但是感觉要能熟练的应用到工作中并能运用自如还需要一段时间。当然这两个月也完成了很多任务,其中不乏像第一个月完成的相似的任务,开发时间缩短到了一个星期,调优改需求一个星期,还将第一个月完成的代码重头到尾重写了一遍,之前自己写的代码给我的感觉就是,虽然能工作,但是跟一坨屎一样,但是我也很开心,有这种感觉这说明我进步了。

今年的计划:《java编程思想》,《Spring源码深度剖析》,《设计模式》吃到肚子里

当然其他的书籍还有不少,但是感觉都不是目前能看的,其中有一本也强烈推荐一下,《深入分析java web》,淘宝的大佬写的,技术内容比较浅,基本只挑重点讲了一下,但是涵盖广,更像是一个技术沙龙,推荐找不到突破口的迷茫的程序员看看,可以找找自己的不足。

明年计划:啃透设计模式Spring,《计算机算法设计与分析》,《深入理解java虚拟机》

你可能感兴趣的:(java工作半年总结)