java如何入门
链接:https://www.zhihu.com/question/25255189/answer/1947096157
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先我们来看看Java包含哪些知识点:
Java基础语法:变量,赋值,判断,循环,函数,类等等;
Java语言特性:面向对象、继承、封装、接口、多态、抽象、跨平台等等;
Java内置SDK: Map、List、Arry、Network、File、Thread、 IO等等;
SSM框架:SpringMVC: 负责和浏览器交互、Spring:负责业务逻辑、MyBatis:负责和数据库交互、Log4j:负责打日志、Maven:跨平台依赖包管理等等;
语言设计特性:JVM、GC回收算法,Thread Local等等;
架构体系:分库/分表、分布式、缓存、搜索、抓取、索引、消息队列、集成部署、集群等;
设计模式:单例模式、工厂模式、迭代器模式、中介者模式、解释者模式等等;
工作实战经验:高并发、高可用、容灾备份、降级、微服务等;
要想学习Java达到能找一份工作(无论好坏),并且能做项目,最起码要将:Java基础语法、Java语言特性、Java内置SDK、SSM框架学习通透。
否则就算你勉强着了一份工作,真正要动手做项目,依然是大把东西都不会(别怀疑,有那种培训班出来特会面试的,入职后什么都不会,这种我见过)。
下面重点说下这四块学通透要花多久:
1.Java基础语法,这个有个几天基本就学会了,无非是看看书和视频,然后一行行敲代码。
2.Java语言特性,比如Erlang里的收件箱和发件箱,Java里的面向对象、继承、封装、多态、接口等等,这个稍微难点,但高效学习的话也就1-2周。
3.Java语言内置的SDK,Java里内置了非常多的东西,Map、Arry这些算是最常用的集合,也比较好理解,但像IO、Network、File之类的就麻烦多了,因为理解这些封装SDK的背后需要大量计算机体系基础知识,比如计算机网络、操作系统等等。好在Java提供了一个神器:Java Doc,不会的话就去查查,勉强能改能运行起来也差不多了,这一块最起码需要1个月左右的时间,如果想精通基本几个月甚至几年起步。
4.SSM框架:它们都是开源工具包,或者叫开源框架,Java最令人发指的就是这几个弟兄,在它们面前你之前学的Java的基础知识几乎作废!SSM框架是完全不一样的东西,同样一个功能放在不同的场景下就需要选择不同的框架。但这玩意基本是所有公司做项目的标配,拼命学,2个月起步吧。但要想精通基本贯穿了整个编码生涯。
以上,总计差不多3个月,就能成长为一名初级Java工程师,不少培训班为啥时间是3个月?其实还是有一点科学道理的。
但是,但是,无论你是科班出身还是培训班流水线培养出来的,找到一份Java工作只是一个起步。Java是特别容易让人低估的语言,不少C++出身的人上来就狂妄宣称:一个月玩转Java,最终都被残酷的事实打脸。
我曾经就是,作为毕业就加入腾讯担任C++开发工程师,之后在360成长晋升到技术总监,2014年,我们部门的后端技术栈要转Java,一开始我以为很快就能精通,结果发现Java真是入门容易,天花板却极高。
比如JVM、GC回收算法,Thread Local这些,再比如分库/分表、分布式、缓存、搜索、抓取、索引、消息队列、集成部署、集群这些,随便拿出一项都值得深入研究。
所以,要不断深入的学习,不断夯实计算机体系基础知识、加强对Java整体体系的深入了解,这样才能成长为高级Java开发甚至Java技术专家。
另外,初学Java不建议一上来就啃经典大厚书,可以看看Java初学书籍,再搭配学习视频来完成入门。Java入门视频我推荐这个: