在一个java公司做了一年多了,感觉自己还是有很大进步的(^^),至少明白了很多概念性的东西,java基础也算有了一些,对软件开发也有了一些基本概念上的认识,在一个通过cmm3的软件公司也可以基本立足做一个合格的程序员,但自己还是感觉自己很多欠缺的地方,
1.在公司所做的模块,好象都已经形成一个惯用的模式,没有自己的编码风格,copy来copy去的多,通过
自己思考的算法或者比较新颖的算法用的少(汗一个,感觉自己所用的算法都是公司已经用过的)
2.自己所做的模块好象基本上都是常用的新增,删除,修改,查询之类的,顶多也只是多表而已,感觉自己总是做重复性的工作,技术没有飞跃性的提升.
3,基础不扎实,对java所用的就稍微熟悉一点,如String类的方法啊,List,HashMap,HashTable ,但用的少的就一点都不清楚了,如IO啊,Applet啊,感觉自己很菜.
4.没有自己的优势,好象什么都清楚一点,但什么都不精通,如java,javascript,struts,ORACLE,Linux,
现在我在公司每天至少有三个小时的学习时间,想通过两到三个月来提升自己,使自己在技术上有个质的提升.
针对我这个情况,大家有什么更好的学习方法吗?希望在大家给我提建议,,,不甚感激....

解决方案 »

  1.   

    感觉个人能力不是在于你现在掌握或者精通了那些技术,而是在于你的学习能力
    毕竟现在需要学习的知识太多,而且技术更新很快,所以很多人都有LZ的困惑
    其实细心想想,对于程序员来说,大多东西是共通的,只要你有很强的学习能力,需要用到什么就学什么贝
    很多时候看到论坛里有人争论学C++好还是JAVA好,争论这个技术,那个技术学了有用?其实自己需要用到的才是最好最有用的
      

  2.   

    我也有类似的情况,也想进一步提高,但觉得eclipse插件开发、struts、hibernate都很烦,又不想学。
      

  3.   

    有时应该感觉一下名言“温故而知新”。
    ----------------------
    一天四个包子,我的生活Q_Q             
     
                                     Form: 罗毅
      

  4.   

    jbuilder7(程序员) 说得很对.
    我再补充一点:不在于学了多少技术,最重要的是做事的方法,在好的公司里做事的方法可能会好一些.
    大家一块努力!
      

  5.   

    你们公司的项目有很多代码的重复Copy吗?
    @.@||~
      

  6.   

    上开源,看英文文档,理解深刻的内部机制,例如java虚拟机,反射,类装载等,以及多关注其他新技术
      

  7.   

    同感!!!不过IO、Applet本来应用就少、而且还面临被淘汰、所以我不精我也不打算学、现在想抓住一个架构好好研究研究、瞄准了HIBERNATE、STRUCTS我不喜欢、看书方面就是打算好好复习研究一下数据结构、开头感觉枯燥是必然的、但是坚持下去最终掌握也是必然的。
      

  8.   

    API用一下就会熟悉。应该提高的是解决问题的能力,和如何对你的问题想出一个成熟的solution.怎么来设计经理给你的模块比较科学。经理给你一个功能来实现,首先你的问题肯定是想一下这些模块有哪些你觉得比较困难,或是自己实现起来没有底的,讨论一下之后,你实现了,这才是体现水平的地方。
      

  9.   

    可以从两方着手:
    1。从理论方面对java进行比较全面的了解,包括比较斟础的RMI, JNDI, EJB,自己做一点小例子看看,对着书看看以为很简单,实际做了会遇到一些困难,沿着这些困难展开并最终克服这些困难就会有不少的收获,并对Java会有一个较全面的认识。同时试着跟踪国际上最流行的技术,这里说的是跟踪而不是精通。是指大体上了解这方面的方向。如最新的Hibernate, Spring以及相关的什么SOA, Ioc。 这方面不能等国内的翻译文档出来,等别人翻译出来已经是两年后了,要自己去国外网站上多看看,如www.theserverside.com, www.javaworld.com等。2。实实在在的自己动手从头开始做一些什么东西。比方说建一个BBS或什么东西。说到这种东西会觉得很简单,但实际做起来可以做的东西还是很多的。包括你选用怎么样的一个框架,怎样设计你的权限控制,怎样O-R映射,看看CSDN是怎么做的就知道它可以做多么的复杂。如果可能,也可是参与到一个什么开源项目组织中去,SourceForge当然是世界上最大的开源地。 相对学习理论知识,自己动手挑战性大得多。需要一些耐心。
      

  10.   

    Expert One-on-One J2EE Design and Development
    by Rod Johnson
    也可以关注springframework
      

  11.   

    建议学习数据库,往DBA方面发展,等你工作四五年后,你一定会发现用得最多最不易过时的还是数据库技术。trust me!
      

  12.   

    Joeblackyang(暗夜精灵) 
    这位兄弟,你是学数据库的吗?数据库是望那方面发展呢?开发还是维护。
      

  13.   

    说实在的,就做JAVA而言,现有的资源确实太丰富了,随便网上搜搜看,就会有你所需要的代码,大部分时候也不需要自己考虑高效的算法和良好的数据结构,JAVA已经为开发者提供了很多现有的很好用的并且非常高效的实现,往往只需要将重心关注于业务逻辑和整体系统的框架就可以了,故而对数据结构和算法,似乎越来越模糊了。本身你去COPY那些代码,就说明那些代码的重用性比较好了,JAVA的目的就是为了高效率的开发应用,但是作为程序员,还是要时刻多动脑子,多想算法,保持一种对算法的灵敏度,使脑子可以转的飞快,这样有利于我们保持状态。
      

  14.   

    拿个Blog来记录每天的学习成果,提高很快的!
      

  15.   

    楼主和我的精力简直太象了,我也觉的自己的工作好像只是在重复别人的工作,创造性不高。。很难精通JAVA,但是又没有办法,任务压身也得做啊。。希望在工作之外提高自己把,不过,像楼主可以在业务上和管理上慢慢提高啊,毕竟不是每个人都能对技术很精通,有时也没必要。^_^个人意见。
      

  16.   

    做编程,就要多思考!JAVA,C++,VB,VC……都只是一些工具而以,所以,想要学精一门工具过而一辈子是不可能的!由其是在科技飞速飞展的这个年代!所以你只有把编程的思想学好之后,才能在更好的生存下去!
    自我感觉应该:
    看到任何一件都,都把他们用代码来描述出来!
    在工作之于,不要用高级工具来编写程序!
    当然,做一些简单的类、控件也是不错的!
    在新的编程工具出现以后,找不同点!
    然后重点学习一下不同的地方!
      

  17.   

    我是初学Java,感觉入了门了,但是不知道该如何再提高,希望各位高手能给点意见
      

  18.   

    在一个java公司做了一年多了,感觉自己还是有很大进步的(^^),至少明白了很多概念性的东西,java基础也算有了一些,对软件开发也有了一些基本概念上的认识.
    ???
    楼主当初怎么进的公司?
      

  19.   

    DATA STRUCTURE
    ALGRITHMS
    Thinking in JAVA
    JAVA PATTERNS
    J2EE
    J2EE PATTERNS
      

  20.   

    THEN OOA/OOD
    TO BE THE LEADER
      

  21.   

    恩啊,我觉得新东西是学不完的,什么struts,spring,hibernate之类的,要用到实际项目中的话,上手还是很快的,我以前也不知道Struts框架,但实际项目中用到时,很快就上手了,
    关键要学人家的思想,老外怎么就能搞出这些框架来?使用人家的东西本来就是很easy的事。可以多看看设计模式,JAVA虚拟机(虽然我现在也没时间看,但以后肯定是要看的),这些东西不会变那么快,也是基础的东西。楼主,和你一起努力!
      

  22.   

    不过IO、Applet本来应用就少、而且还面临被淘汰、所以我不精我也不打算学、现在想抓住一个架构好好研究研究、瞄准了HIBERNATE、STRUCTS我不喜欢、
    //IO要被淘汰???IO被淘汰java就是深度残疾了,Applet应用少??是你用的少吧。另外,你知道HIBERNATE、STRUCTS分别是做什么的么??看书方面就是打算好好复习研究一下数据结构、开头感觉枯燥是必然的、但是坚持下去最终掌握也是必然的。
    //数据结构固然重要,但在oo世界里,oop设计相对更重要一点。
      

  23.   

    剖析一些框架源码,相信对楼主会有帮助的,比如spring,struts,Hibernate,Compiere等开源项目