焉知愚之乐
saojipo.com

【转载】Java学习(吐血整理大量资源)

第一阶段:java基础

Java基础超级重要!!!
学习java基础语法,确实很乏味,又没有项目成就感。我当时就走马观花地看完了相关语法,就迫不及待地去学习J2EE部分,那种能快速地基于框架,造成系统来了。
但是很快由于基础底子不好,在遇到一些问题,我根本想不出来这是为什么会出现这个问题?如果基础扎实的话,立马能从原理上看出问题所在。
所以很快我就被打回去了,这种项目实现不了挫败感就更强了。
那些岁月里,我应该断断续续重新学习j2SE不下五遍,但都不形成系统。
直到我看到了毕向东老师的那套java基础视频,讲得真精彩,比我大学里那挂着博导名号的老师讲得好太多了。
这个视频适合零基础的新人(非科班,完全没接触过编程的),也适合java基础部分不扎实的同学。

毕向东这套视频,不仅仅是java基础,同时涵盖了常见的设计模式、算法、数据结构。这套视频的知识点多,每天三四个小时左右视频教学,一共三十天这样。
我当时是全天都在学习,看完这套视频需要一个多月,整整一个暑假。很多人也推荐马士兵老师那套视频,我也看过几集。但是我还是推荐大家看毕向东老师的这套。跟着一个老师的教学走就行,中途易师,反而会导致学习节奏变乱。
关注我公号:我叫陈龙,关键词回复“java”,即可获得资源。

书籍推荐:


《Head First Java 》
这本书适合零基础人群,生动有趣,图文并茂,也简单易懂,基本画风如下:


无所不会,无所不能的李刚编著的《疯狂Java讲义》
这本书是我最近一直在看,相对很多大牛推荐的外国经典技术字典书,我更愿意推荐你看李刚这本《疯狂java讲义》,知识点全而细,讲解上也通俗易懂,同时没有外文汉译的那种语法拗口。使用情况:当做一本java字典书,需要了解某个知识点时再去翻看。不要以这本书当做入门教材,否则看多了会困。


诸多大神强烈推荐的《Thinking In Java》
当时我学习Java的时候,有很多人推荐我看这本《java编程思想》,我当时也有借阅过同学的看过,并没有看完。但我感觉这是一本好书,知识点讲得很深刻,既然是大神推荐的,大家有空也看看!我会看的。

第二阶段:java基础进阶

很多非科班培训机构出来的同学,在应用开发方面有所能力,但在计算机基础方面非常薄弱。计算机基础课程是哪些?
数据结构与算法、操作系统、计算网络、计算机组成原理、编译原理、Linux。
这几大课程可以说是计算机科班的核心课程,几乎是现在一切应用层面开发的基础构成。
比如我们的代码是如何跑出来的?代码编译经过哪些过程?从编译原理那里,我们知道java代码要先编译成字节码,字节码再编译成机器码,最终以二进制形式被CPU识别运行。那CPU的工作原理是怎么样的呢?在计算机组成原理那里可以得到答案。
Java中集合类是如何实现的?这些其实可以在数据结构与算法中找到答案。
很多培训出来的同学在进行开发时候,是不知所以然的。反正业务代码能跑通就行,这样的程序员大概这辈子就去小公司了,搬砖达人。
大公司在招聘的时候,或在笔试或在面试,一定会考察这些知识点的。基本上在大学,能把这些基础课程学得好的同学,在校招中基本是offer收割小能手。
因为是Java学习,所以深入理解Java虚拟机也是极其重要的。推荐看这本书,也就叫《深入理解java虚拟机》


特此声明:如果你现在着急学习找工作或项目紧急需要,这个阶段的学习完全可以先搁置,面试前稍微理解即可。
真要去学习的话,没有一两年的长期战线是没法完成的。
如果你还是在校大学生,你比我幸运多了,有足够的时间,一定要仔仔细细地深入学习。
我现在就在学习,每天晚上会看看,以考试认证驱动我去再去系统地学习。
我下半年准备考软考认证,高级系统架构师,关于软考下次再说说。

第三阶段:java基础进阶

搞javaWeb的连个页面都不会调,后台页面组件不会使用,真的会很尴尬。不要觉得自己不是前端工程师,不用写页面,这部分就不需要学习了。
对于这部分的学习,不需要熟练,但需要掌握!
主要的学习内容是:HTML、CSS、JavaScript、JQuery、Bootstrap。
这部分的学习,主要给大家推荐w3cschool:w3school 在线教程
JavaScript学习:慕课网上的JavaScript入门篇
JavaScript入门篇-JavaScript入门视频教程-慕课网
慕课网上的JavaScript进阶篇
JavaScript进阶篇_JavaScript视频教程-慕课网
JQuery学习:慕课网JQuery系列教程
jQuery基础视频教程-样式篇-慕课网
jQuery基础修炼圣典_DOM篇_jQuery视频教程-慕课网
jQuery基础修炼圣典-事件篇
jQuery基础修炼圣典-动画篇

第三阶段 数据库相关

页面已经能做了,那么页面渲染的数据是从哪儿来的?数据库!
这里主要学习MySql,Oracle看实际开发中需要再进行学习。
又在想java是怎么连接数据库,这里就要学习JDBC了。

关注我公号:我叫陈龙,关键词回复“java”,即可获得资源。

第四阶段 javaWeb核心

这部分核心内容也是javaWeb的基础。现在框架当行,实际开发中几乎都是基于框架进行开发的。但是这部分的内容是框架的原理所在,要熟练掌握。学完这部分,就可以做动态网站了。
主要内容为:Http、Tomcat、Servlet、JSP、Ajax、cookie与session
学完之后,尝试动手,不依赖框架进行实战项目开发。

关注我公号:我叫陈龙,公号关键词回复“java”,即可获得资源。

第五阶段 javaWeb核心

当下,Java后端框架众多,集合使用为主。目前较为受欢迎的两大框架集合:SSH、SSM。
SSH=Spring+Struts+Hibernate。
SSM=Spring+SpringMVC+MyBatis。
我目前在学习使用的SSM框架,Maven作为构建工具,似乎这套技术栈越来越受欢迎。看实际情况来学习。
框架就是工具,如果前面基础扎实了,对框架的学习上手就很快了。正比如练武之人,内功十年,招式一年。可见基础之重要。
这部分没有什么多说的,主要在练习,环境配置是最痛苦的了。一定要自己亲手去实现几个Dome,才能深刻理解框架设计的思想。

关注我公号:我叫陈龙,公号关键词回复“java”,即可获得资源。

第六阶段 综合进阶

设计模式:记住这是在你实战编程两年以上,攒够了10万行代码之后才去下功夫学习高阶知识。要不你看有关设计模式任何书籍,都像看玄学一样。没有足够的代码量,你也体会不到这些老前辈总结下来的设计模式有何巧妙之处。

但新人深刻了解单例模式,单例模式简单,在面试和实际开发中最为常见。

一分钟学会单例模式,再也忘不了如何用一个简单的比喻,让完全不懂编程的女生瞬间明白 Java 中的单例模式是什么,以及项目开发中在哪里用?

为了让大家深入地了解设计模式,引进知乎都有大牛参与回答两个问题:

如何正确地使用设计模式? – 知乎
设计模式有何不妥,所谓的荼毒体现在哪? – 知乎

重构:一本武林秘籍,友情建议:重构需谨慎。

 

为了初学者入门学习不迷茫,这里引借@八戒的学习路径图,如下:


希望对你有用!

PS:再推荐一个我一直比较喜欢的Java公号,来自@刘欣老师的码农翻身,刘老师以非常白话、有趣的故事将Java的一些概念讲述得很好。

PS:此篇文章,在公众号里和知乎上还是有点不一样的,我特地省去了一些没要的细节。

在你们看到这篇文章之前,我特地拿着这篇文章的草稿去,请教了某java大神,八年大厂工作经验,履历牛X到你想跪舔的那种大神,反正我是跪舔了。

大神也是一个严谨的人,对此篇文章的学习方向细节都提出了很大的改进建议。

我也对应地做了反复修改,最终才更新出来。

赞(0)

评论 抢沙发

评论前必须登录!