一文让你知道怎样才算是学好了 Java。

前言

流行框架,非常熟练地使用就叫学好了吗?
底层api,非常熟练地使用就叫学好了吗?
深入到jvm,就是学好了吗?
如果以后想多关注技术一点,少关注业务一点,最终的目的地在哪呢?
也就是说,java程序员的应该怎么规划自己的学习路线呢?

学习无尽头。“够用就好”是最实用的判断准则。剩下的就看自己的追求了。

越往底层发展离业务就越远。但是你看假如有这么一个故事的发展历程:

Java客户端应用开发 -> Java服务器端应用开发 -> Java库/框架开发 -> Java监控、性能调优工具开发 -> JVM开发 -> 编译器/GC/多线程并发库开发 -> 操作系统开发 -> Hypervisor开发 -> 硬件开发…

或者中间过程变一变,在经历库/框架开发之后 -> Java IDE开发 -> 对Java语言绝望了自己研发JVM上的新编程语言(包括新语言的编译器和标准库) -> 对JVM绝望了自己研发新语言配新虚拟机(包括GC、线程模型之类) -> 对虚拟机绝望了自己研发独立(standalone)的编程语言(包括内存模型之类) -> 操作系统开发 -> …

咳咳,这是绝对无止境的。这种路线走到最后恐怕还是得发现最缺的就是钱,所以不如去做金融来多赚点钱去开公司让牛逼员工去研发各种新奇技术好了 (>_<)

说到底要想向底层发展纯做技术的话那就是兴趣有多大就能走多深。这不需要问别人学到多深多广才是好,自己肯定能感觉到。如果不是兴趣驱动而是为了赚钱的话还是别纯做技术的好…

另外再提一句:多数东西都是使用比实现更容易,而且不是在一个级别上的。楼主提到“流行框架”“底层API”都是说“是不是熟练使用就算学好了”,从实用角度说如果只需要用这些东西的话那确实只要会用就够了。但是要彻底理解其机理那肯定是自己深入参与到其中的研发才是硬道理。至于有没有必要这么深入,还是前面说的,看兴趣和需要到没到那一步。

(不得不说确实有用起来“似乎”比实现起来还麻烦的东西,所以大家才会不断重复造那些轮子哈哈哈哈…)

作者:传智教育
链接:https://www.zhihu.com/question/24849247/answer/609373884
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

结合我们十三年的教学经验,根据市场需求以及企业项目整理如下:

第一个阶段:JavaSE核心

首先就是Java语言基础知识点---JavaSE部分。这部分内容是Java初学的同学最应该接触的部门同时也是Java知识体系中的核心。我们来结合上图看Java其中的运行原理、JDK配置以及JRE的区别,这些内容也可以称之为计算机基础知识。以及数组、集合框架、异常处理等等,这些都是最基本的,而且非常容易学习的,需要多加练习。

其中面向对象对于初学的朋友来说是有一定难度的。这里可以参考一些设计模型或者是设计思路。例如下图这样的一个对象,调用一个方法内存图:

这类的详细资料,都会放在网盘当中。领取详情见最后

还有不光是技术方面,模式也是要清楚的。代理模式、工场模式等等的设计模式都是需要学习的。不然到后面框架应用的时候会不知道自己学了什么。后面的框架,避免大家不知道学了什么,这边给大家整理的是套用项目的知识点。回到JavaSE相关知识点,我们看到IO流有关的知识点以及多线程也是必须要学习的。在数据交互时候经常用到的是XML、JSON等文件格式。

第二个阶段:数据库相关

初级程序员必须要掌握的一种常用关系型数据库的应用,我们看下图:

数据库的对象比如是表、视图的创建,增删改查。其实查询是在工作中非常容易见到的。在企业当中经常是需要几十张表当中来查询数据,对于内部或者是外部链接,和联合查询等等一定是要掌握的。此外,对于索引、事务也需要掌握。

第三个阶段:Javaweb阶段

由于Java也有web开发,一些前端技术,比如说是:HTML5、CSS5、JavaScript、jQuery等这些不见得要学的有多深入,但是都是要掌握的。Tomcat、Jsp以及数据库的交互这些都必须要掌握的。

  • 领取上述知识点的配套视频以及源码和笔记的方法如下:
  • 关注公众账号:动作缓慢的程序猿

第四个阶段:框架部分

这部分我们主张是结合项目去理解的。路线中我们可以清楚的看到ORM框架和MVC框架分别包括的知识点。可以优先掌握主流的SSM框架组合。在学习框架当中有的小伙伴会觉得很难,也有觉得非常简单的。其实按照规定来使用或者调用就可以了。初学的同学先要学习的是如何使用,之后再去研究内部的原理。因为框架当中的技术是封装和简化产物。

下面总结一下上述知识点当中的同类技术,比如hibernate,如果我们学会了使用Mybatis的话,上手hibernate就会很容易理解,其中SpringMVC框架应用熟练了,那Struts2框架也基本就会了。

还有web程序中包含了很多模块,但是也是包括了所有的模块,如下图所示:

最后说一下现在的应用级别越来越大了,有海量的数据并且高并发是处理的重点,单应用的程序基本上是没有办法满足要求了,分布式是个大趋势。Dubbo、Zookeeper、Docker、SpringBoot、SpringCloud、MyCat等技术,包括上面系统模块里提到的一些技术都要学习。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值