自学Java半年成功拿到offer,分享我的学习经验,这些坑千万别踩!

 

自学当然好啦,可以省不少的钱, 可是自学会碰到很多问题呢。 个人花了一年半时间(当前时间是20170815),做了个Java自学的网站,试图解决一些自学中会碰到的问题。

1.思路、框架、原理 一下子涌进来太多,接受不过来

无论是刚开始接触Java这门语言,还是像现在需要去学习一些新的技术的时候,都会选择去百度资料进行学习。 然而百度来的资料很多都有个不好的做法,就是一开篇就以一种高屋建瓴的方式讲很多思路,原理和框架。 事实上,对于刚开始接触,还没有多少动手实践的新手而言,是很难领会这些高屋建瓴的思路、原理和框架的,不仅不利于上手,而且还给初学者形成了一种暗示和心里压力:这个东西学习梯度是蛮陡峭的哦,无形中加大了学习的难度。

我偏爱的学习方式是,不要一来给我讲太多的东西,直接给我代码,让我跑起来。 只要跑出结果了,我自然而然就会得到一定的领悟,然后再自己去浏览每行代码,并琢磨其含义,那么就能逐渐理解和消化了。

 

推己及人,所以我在做Java教程的时候,也是采用这种方式,在每个知识点的讲解,都是一来就给出了可以运行的代码,并且提供便捷的复制手段,这样大家一上手就是跑一个可以看到效果的代码:

 

代码跑起来了,看到效果了,才会有兴趣往下学嘛

2.自己写不知道错误在哪里

经过上一步跑起来了,真的可以看到效果呢,可是代码是复制粘贴来的,那可不行,得自己敲出来才行。 这个想法当然是好的,所以就开始一个个关键字,一行行的敲代码起来。

可是因为初学者不熟练,也许是某一个字母出错,或者少写了一个分号,程序就跑不起来,而且这种细微的差别,很有可能找上大半天去了。 为了提高这部分的学习效率,在教程每个代码右边都提供了代码比较功能。

 

如图所示,通过高亮提醒,很容易就可以定位到错误的位置是哪里,减少差错时间,提高学习效率。

3.运行某个代码,需要第三方jar包,手里却没有,怎么办

Java代码运行有个特点,常常需要用到第三方类,而这些类都放在.jar这种格式的文件里。如果这些jar包,让初学者自己去找, 一个是不知道在哪里下载,再一个同样的jar包会有各种不同的版本,有些版本与当前代码是不兼容的,所以这里也是容易掉进坑里,花很多很多时间才会找到对的那个jar包。

所以在需要用到jar包的地方,都直接在教程相关下载区域提供了当前代码正在使用的jar包,点击即可下载使用,方便快捷~

 

不仅如此,还提供了指导,如何把这个jar包导入到项目中,以便正确地使用它

顺便在这里说一下,如果你现在也在学习Java,了解Java,渴望成为一名合格的Java开发工程师,在整个Java入门的学习过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,都可以随时申请加入我的Java技术圈:766328863。这里面聚集了很多正在转行自学Java的初学者,有任何不懂的地方都可以随时在里面交流探讨。

 

4.这个知识点涉及的部分很多,有个思路图,原理图捋一下就好多了

现在好了,照着教程自己做了一边,做出来了,效果也看到了,那么就有了感性的认识。 不仅做出来了,心中还产生了更多问题,这个时候,就处于一个饥渴的状态了。 那么此时此刻,开始讲原理图,思路图,就能够听得懂了,并且通过思路图也能把刚才所学整理,总结,更好的消化吸收。

 

5.光是图文我还是看不懂,想看看视频怎么讲的

有部分的知识点还是挺复杂的,比如算法,hashcode 原理什么的。 光是看图文和代码,还是有些稀里糊涂的。

虽然有些稀里糊涂,但是经过自己敲过一遍,是带着针对性问题的稀里糊涂。 那么这个时候,带着问题来看视频讲解,效果就会非常好了。

 

这里提供的视频,都是解读性视频,是建立在已经动手做过了,带着疑问再来看的视频。那么比起看着敲代码风格的视频,学习效率就会提高很多啦

截至目前为止(20170815),视频已经有累计时常 47个小时24分钟50秒,共计 440个, 大小26G~

刚才到数据库里统计还吓了一跳,没想到啊。。。都这么多了,哈哈哈~

6.虽然也写出来了,但是个别细节还是有疑问,该问谁呢

在每个知识点下面,都有一个提问区域,里面有和你学习同样知识点的同学的疑问,或许你可以在别人提问的答案里找到自己需要的,也可以通过看别人的提问,启发自己做扩展性的思考。

绝大部分提问,我都做了回答的,截至目前为止(20170815),累计有1021个知识点,2788个提问,

我回答了其中2544个问题。

 

7.需要练习巩固理解帮助消化

知识点掌握了,但是好像就是抄教程上的代码,最好给我个小挑战,基于这个知识点做点什么练习,能够自己把这个知识点运用起来,就能更好的理解和消化了。 为此,挺用心地设计了194个Java 练习,几乎每个Java课程的知识点下面都有练习题

 

8.Java 框架代码怎么都跑不成功

学习Java是绕不开框架的,可是框架要成功地运行起来是有比较苛刻的条件的,比如特定版本的jar包,严格的配置,必须提供的实体类,控制类,服务类,框架之间不同版本的兼容性等等,任何一步除了差错都会出问题。而无法运行起来,是很难有信心和兴趣学下去的。

所以为了便于同学们学习框架,在每个框架知识点的学习部分,都有当前知识点的 可运行项目 (什么都配置好了,需要的jar包都准备好了的)提供,确保可以跑起来。

 

9.记录下心得体会

终于把要运行的代码跑起来了,该理解的思路图也掌握了,此时此刻能够自己总结一下就最好了。如果写在自己电脑上,零零散散的,也容易遗失,所以在页面上也提供了当前知识点的笔记功能

把这时的想法,思路,研究都记录下来,等全部学完了,再回过头来巩固和理解,学习效果就会很好,知识点掌握得也牢固

 

10.实践项目

陆陆续续把各种JAVA,前端,服务端,框架的知识都掌握了,练习都做了,但是没有串起来,心里面也比较心虚,真正做项目的话,不知道该如何下手。 这个时候,就需要各种项目来练手了。

截至目前提供了4个实践项目练手

一:JAVA 桌面项目,虽然SWING桌面应用在工作里用的并不广泛,不过刚刚把JAVA基础学完,也没有其他好的视图展示方式(此时还没有开始学习HTML,JSP)。 好在SWING也不复杂,还是可以通过这个项目把JAVA基础里的各个知识点好好串一串的。

 

二: 前端项目。 现在前端有很多现成的框架,很容易就可以做出漂亮的界面。可是要对这些漂亮的界面做点修改,那就需要有较好的前端基础功底了。 这个项目呢,就是用纯HTML, CSS 和 JS做一个模仿天猫官网的页面,讲得比较细,对每个页面的布局,以及每个样式的讲解都有细致的说明。 比较适合对前端比较感兴趣的同学,夯实前端的基础。

 

三、J2EE项目。 现在大家在开发JAVA WEB项目,一般都使用SSH,SSM,SPRING BOOT等框架进行,可是这些框架下面都是用的J2EE的基础技术 Servlet,JSP,Filter, Listener等等。一来就开始使用框架开发的同学,一旦碰到稍微底层点的问题,就有点不知所措, 所以为了夯实大家的J2EE基础,做了这么一个基于J2EE来模仿天猫前后台的实践项目。

 

四、SSH 项目。 SSH也曾一度非常流行,是大家的框架首选,不过眼下基本上都是被SSM所替代了。 不过SSH还是有其较大的人员需求。 正是因为曾经一度流行过,所以很多企业,很多以前的,以及正在稳定运行中的项目,都是SSH做的。 这些项目需要二次开发和维护,那么也是需要相当数量的开发人员的。(这一点可以通过各大招聘网站,搜索SSH关键字得以侧面的验证)

所以呢,也准备了一个基于SSH的项目,这个项目使用SSH对上一个J2EE的项目进行了重写

 

五、 SSM项目。 还没有做好,哈哈~ 做教程可费劲了~ 估计10月底能做好吧~

11.刷一刷面试题

该学的知识点都差不多了,项目也撸过了,接下来就要去笔试面试了,那么刷一刷面试题,笔试题,零时抱抱佛脚,总归是有好处滴:

 

学习的路线规划

上面列罗出了自学过程中可能会碰到的问题,以及相应的解决办法,算是战术层面吧。 接下来说说整体学习路线的规划。 以下的规划,是假设当前是零基础的状态给出的:

1.Java 基础

 

2.Java 中级

 

3.前端基础

 

4.J2EE 服务端

 

5.Java 框架

 

学习时间预计

要学习的内容还真不少,那么需要多长时间呢? 根据较多同学的反馈,约莫预计个如下的时间:

 

计算桌面实和前端实践项目,需要3.5个月的时间。

大概需要每天投入6-8个小时的学习时长,并且要有相当的自律性。 既然想省略培训机构的万把块钱,那么自己管好自己总是必须的了喔

关于心态

可以达到什么程度呢? 从学员的反馈来看,经过3.5个月的学习,倘若能够自己独立把几个实践项目做出来,并且能够较为清晰地描述其中的项目结构,结构层次,核心问题解决思路,那么拿到一个初级程序员的offer不会有太大问题。

猜你喜欢

转载自blog.csdn.net/chengxuyuan9527/article/details/114367116