日期:2014-05-20  浏览次数:20680 次

学习现在很迷茫,不知道继续学什么?
毕业有一年了,现在在一个小公司工作,做JAVA企业开发这块,也是公司里的技术大拿。每天就是写写业务逻辑、有什么技术难点攻克一下、新项目做做架构设计。每天下班后我就会自己学点别的东西,但是很迷茫,不知道学什么。

问以前的老师,老师让我学一些web服务,规则引擎还有其他一些东西,主要是想让我涉猎范围大一些,了解的多了能在工作中有机会用到。我自己也都学了,了解、会用、知道基本原理和实现方式,但是细节不了解,问的细了答不出来。

我的情况是我对新知识接受的速度很快,也涉猎了很多东西,从前端到服务端,几乎主流的技术都接触过。有个好处就是什么样的业务需求用什么样的技术,而不是只知道用SSH。但是我所会的任何技术都是一个情况,了解、会用,知道基本的原理和实现、细节不了解、不深入。

最近我看了一些面试题,都是Java基础性的问题,好多都答不出来,可能以前学的也不扎实,现在印象都模糊了。现在就是感觉很迷茫,很浮躁,不知道该怎么继续学


------解决方案--------------------
1、多线程和异步、并发的概念会忽然变得很重要,因为在一个对性能有要求的系统里,是不会允许你把各种琐事都排着队一件件去办的,你不能老写些a方法调b方法再调c方法再调d方法然后返回的代码。你开始想起有队列这种东西,有runable这种东西,你开始觉得自己的代码高端起来了,和当年的增删改查程序员有天壤之别。但同时麻烦也来了,你开始遇到线程安全问题,尤其是当你的程序跑在一个多机环境而不是单机环境里的时候,你会对这些很头痛。对于这些问题,Jms技术是个很有代表性的东西,当然并不像ssh那么常用。

2、你会发现数据库性能实在不行,出于不甘现状,或者赶时髦,你该去了解nosql了,memcached redis mongodb,眼花缭乱,没关系,试着用用,能很好地缓解mysql之类关系数据库的压力。
3、出于公司某些业务需要,你可能会钻研一个特定技术领域,比如全文搜索技术,lucene\solr,比如工作流jbpm,比如权限系统,单点登陆之类的,又或者某些特定业务领域的算法研究,这些是你的加分项。
4、你开始发现你的代码很乱,久了以后自己都看不懂,重复的,难以重用的代码堆积如山,不想维护,BUG百出。于是你要开始重视设计模式,合理地改造下自己的代码习惯,不再被僵化的SSH,MVC三层架构束缚住。
5、Google和各种资料是你进步的动力,极少再遇到必须请教别人才能解决的问题,如果你这个阶段还老是问别人,你的技术生涯也就快到头了。
------解决方案--------------------
基础不扎实,不能叫大拿呀。
------解决方案--------------------
勿在浮沙筑高台,基础很重要