先说自己的情况,今年刚毕业,在传统软件公司上班半年了,平时都是些业务代码,用的技术也比较稳定(有点过时)。平常休息的总想提升自己的技术能力,但是苦于没有目标,总是这里学一点那里学一点。想问下各位大佬,是先学一些流行的框架如:springCloud rabbitMq  之类的框架,还是要先学一些底层的知识如:jvm虚拟机,各种java源码之类的?

解决方案 »

  1.   

    自己先给自己一个定位,给自己一个目标,可以百度上网查查其他人在你这个时候是 怎么打算的,比如要成为一个java技术大牛,可以百度一下看到很多java技术大牛给出的路径和建议,然后一步一步充实自己。框架和基础都很重要,框架也许能马上看到效果,但是基础是内功的修炼。
    可以参考这篇:https://www.cnblogs.com/huaxingtianxia/p/5724093.html
      

  2.   

    我来讲一些大道理:
    学习和做项目一样,首要要清楚地划分项目边界。
    对任何一种知识的学习如果把握不好度,都将是一个漫长的过程。
    所以,你首先要知道,你列举的知识(springCloud,rabbitMq之类,jvm虚拟机,各种java源码)要学习到一个什么程度算结束。
    也就是无目的的学习基本上就是学死还写不出东西。建议:
    从通用的技术角度来说(不考虑特定领域的技术复杂性),
    复杂的系统基本上伴随着高并发,大数据,复杂的业务逻辑(业务逻辑和具体的行业背景有关,暂时不考虑这点)。
    所以建议你从高并发,大数据这两条线出发,先找一些文章看看实际的生产系统是怎么做的。
    然后各找一个小模块的业务,动手在自己的电脑里实现,遇到不会的知识随时补。jvm虚拟机这类底层的东西是要随时看的,但要从实际的需求出发去看,比如JVM调优,多线程的实现等。
    springCloud这类的框架关键在于概念的学习,思想大于技术。但也是要结合实际,想一想为什么要这么做(这个很重要)。
    各种java源码的话遇到实际问题或者自己感兴趣的话再看吧,为了看源码而看源码真的没必要。
      

  3.   

    可以先使用一些成熟框架,用到一定程度慢慢就会猜想底层的实现,到时候在翻源码,建议三年之下不要看源码,可以了解的技术 ssm , shiro ,activeMQ , redis ,之后在工作中成长起来,不管多老的技术,都会有供你吸收的养分
      

  4.   

    推荐你先学框架,差不多了就换工作,不换工作就准备转产品。
    光自学,没有使用场景过不了多久你就忘了,研究也不会深入到哪去。特别像是java虚拟机,内存分配一类的,很实际的说,刚看完吹吹13还行,没有应用场景几天就忘,实际上能用到相关知识的岗位又确实很少。
    框架类比较实用,能用到的岗位多,然而大部分只是用个皮毛,深入使用很多需要自定义,而具体自定义内容则根据每家公司的需求有所不同,所以重要的是研究的能力。
      

  5.   

    第一步 java编程思想 第二步三大框架 第三步 23种设计模式 第四步 算法大全 第五步 架构大全 分布式 并发艺术 数据结构第六步 深度学习ai