如何快速打好Java基础?
私下里,很多很多小伙伴隔三差五就问我:“二哥,怎么快速打好 Java 基础啊?能把你的经验分享一些吗?”每次我都花很长时间去回复,直到他们满意。但这样做实在是太累了,就在 GitChat 上分享一篇免费的 Chat 吧,这样他们再问我的话,直接把链接发送给他们。
本 Chat 涉及到的内容:
- 开始学习之前的准备
- 需要阅读的书籍推荐
- 需要观看的视频推荐
- 掌握 Spring 势在必行
- 不要害怕犯错
适合人群: 对高效学习 Java 有强烈兴趣的小白
二哥,我是一名大学生,专业是电力工程,但想自学 Java,如何快速打好基础呢?
微信上 tison 向我提出了这个问题。我想我是有资格来回答的,从北京奥运会那年开始学 Java,到现在已经有 10 多个年头了,真的是从一名编程白痴一步步走到现在的。
我在各大技术网站上分享了不少 Java 方面的原创文章,不知道影响了多少初学者,反正文章的留言中经常能看到他们由衷的感谢。现在每天仍然有不少同学(tison 是其中之一)加我微信,问我怎么一路过来的,希望能够把宝贵的经验分享出来,让他们少走一些弯路。 借这个机会,就统一回答下。
既然要快速,咱就没法面面俱到,必须挑重点、讲实用。下面就根据我的实战经验,谈一谈具体的学习过程。
01、准备
学习之路是一项很逆人性的差事,并不是每个人都能够坚持下来,尤其是打基础的阶段,过于强求的话可能就会适得其反,没入门先放弃了。
1)对 Java 感兴趣,对互联网的高薪感兴趣,对“程序员秃顶”的段子视若无睹,只有这样,你才能真正地坚持下去。
2)富有坚韧不拔的学习能力,别总遇到一点点困难,就自暴自弃。
3)设定一个目标就死磕,如果你经常拿不到最终结果,需要反思是不是从来没有成功做成过一件困难的事情,没成功过所以不知道“坚持”可以大大提高成功的概率。
4)拥有解决问题的勇气,学习的过程中注定会遇到许许多多的坑,要敢于跳进去,然后再爬出来,并且是在不寻求他人帮助的前提下。我见过太多的同学,遇到点屁大的问题就直接扔在群里等大牛解答,殊不知搜索引擎是第一步。
02、书籍
高尔基曾说过:“书籍是人类进步的阶梯。”这是至理名言,打 Java 基础的过程中必须要耐着性子去读完两本书:《Head First Java》和《Java 核心技术卷一》。
上大学那会,老师要求我们读的入门书是《Java 编程思想》,这本书确实值得读。但是很可惜,那时候我实在是看不懂,硬着头皮上也看不懂,感觉在看甲骨文一样。10 多年过去了,如果让我来推荐 Java 入门书的话,我不会推荐这本。
《Head First Java》是一本非常有趣的书,作者挑选的插图可以说张张经典,真正实现了“图文并茂”的需求,搞得你感觉有点不好意思,仿佛不是在读一本技术书,而是在读《知音》。
不只是图片,还有游戏、拼图、解谜题以及你意想不到的内容。真的是一点都不“正经”,正因为如此,阅读起来才会感觉兴趣盎然嘛。
《Java 核心技术卷一》虽然没有《Head First Java》那么趣味化,但广度和深度都恰到好处。这两本书虽然都比较厚,但读起来并不会觉得头大,因为都算是通俗易懂的入门书。我建议你把书中的实例都在电脑上跑一遍。有些内容看不懂的话,就先跳过,不要钻牛角尖。这样下来,粗略的估计,需要 2 个月的时间。
最好的话,每读完一章,接写一篇笔记出来,所谓好记性不如烂笔头,在写作的过程中,为了能够把一个知识点说明白,你不会不自觉的学习到更多扩展的内容,理解也会随之加深。这些笔记就好像你在学习过程中的荣誉勋章,以后再回看的时候,也会觉得学习的日子过得很充实。
02、视频
可能你更喜欢看视频教学,那么我也为你精心准备了一些。这些视频我已经分门别类了,需要的话可以关注我的公众号【沉默王二】,按照下面的口令清单回复即可获取。
Java 基础视频名称 | 口令 |
---|---|
Java 基础语法 | javaboy4096 |
Java 面向对象 | javaboy6148 |
深入面向对象和数组 | javaboy8200 |
Java 常用类详解 | javaboy4105 |
Java 集合与数据结构 | javaboy2062 |
Java 数据结构和算法 | javaboy6184 |
Java IO 流全解析 | javaboy8209 |
Java 网络编程 | javaboy6166 |
Java 异常机制解析 | javaboy6157 |
深入理解 Java 多线程 | javaboy4114 |
手动开发一个 Web 服务器 | javaboy2071 |
独立开发 SORM 框架 | javaboy8227 |
深入理解 Java 注解+反射 | javaboy8218 |
Java 23 种设计模式 | javaboy4123 |
学会 Java 正则表达式 | javaboy6175 |
JDBC 详解 | javaboy2080 |
深入理解 Java 虚拟机 | javaboy2089 |
Java 解析 XML 文件 | javaboy8236 |
IntelliJIDEA 视频教程 | javaboy4285 |
Java 编程规范 | javaboy4222 |
除此之外,我再推荐一门免费的公开课《老九零基础学编程系列之 Java 入门》,网易云课堂上可以直接观看。主讲人徐嵩的授课风格非常风趣,听起来很过瘾,我最近没事的时候就看一集,回味一下当初学 Java 时没有视频资料的苦涩。
看视频和看书的体验完全不同,在我看来,通过视频学习的好处主要有两点:
视频中讲的东西比较形象,有一种身临其境的感觉。
视频有一种你看不到的魔力,可以提高你学习的自主性。
03、Spring
Spring 目前在 Java 开发中占据了重要的一环,可以说是密不可分。毫不夸张的说,不会 Spring,绝对算不上一名合格的 Java 开发人员。Spring 的核心概念是 IOC(控制反转)和 AOP(面向切面编程),这两个概念掌握了,再学习 Spring 的其他衍生项目就会容易许多。
学习 Spring 的入门书,我推荐《Spring 实战》,这本书学起来很快,并且书中提供的案例都很容易上手,顺着敲一遍。Spring MVC、Spring Boot、Spring Cloud 是工作当中最常用的三块内容,几乎每一个成熟的正式项目都会用到其中之一,所以很有必要再花 2 个月的时间去入门一下。
04、其他知识
要想学好 Java,还有一些知识需要掌握,比如说 MySQL、MyBaits,只有和数据库打通,才算是打通了任督二脉。学习 MySQL 的话,推荐《高性能 MySQL》,很经典的一本书;学习 MyBaits 的话,直接看官方文档就够了。算下来的话,还需要再花 1 个月的时间入门。
05、实战演练
花了 5 个月的时间好不容易入了门,接下来就需要一个实战项目巩固下。这里我推荐好朋友江南一点雨的《微人事》,GitHub 上已经开源,搜索关键字“vhr”即可。这个开源项目很容易上手,文档也很全面,目前标星已经 1 万多了,非常受欢迎。
这个项目学下来,预计还需要 1 个月的时间,你已经算是一名合格的 Java 程序员了。
06、犯错犯错再犯错
一定要敲代码,在敲的过程中肯定会出错。不管你是在看书,或者文章,还是视频,你觉得作者说得好像挺简单的,以为看过一遍后自己也理解了。当往往不是这样的,程序在敲的过程中会发生许许多多意想不到的问题,有时候作者限于篇幅的原因,往往会选择性地跳过一些细枝末节,但这些对于编程的初学者来说,往往很难驾驭。只有经过自己的手敲出来,才能证明真的是会了,懂了。
不是有那句俗话嘛,“当局者迷旁观者清”,如果你站在读的角度,就会很容易自欺欺人;但如果自己亲自实操的话,就完全不一样了,不仅印象深刻,还为以后的复盘做好了备份。在敲的过程中,最好把自己认为经典的案例分门别类,放到 GitHub 上或者码云上,等到以后再用的时候,也好找——书到用处方恨少,代码也是。
出错了没关系,把错误解决掉的过程中你能听到自己成长的声音,就好像雨后春笋一样。没有出错的同学要么是天才,要么就是蠢材(复制粘贴)。
07、最后
按照我说的方法,顶多半年时间,就可以打好很坚实的 Java 基础了。如果你在学习的过程中遇到问题,也欢迎随时和我交流。切记,要坚持,三天打鱼两天晒网只会打不到鱼还会弄破了网。
怎么样?这篇 Chat 绝对值得点赞和收藏吧?赶紧行动起来!
阅读全文: http://gitbook.cn/gitchat/activity/5e531690e105cb33157788d6
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App , GitChat 专享技术内容哦。
如何快速打好Java基础?相关推荐
- c#快速入门~在java基础上,知道C#和JAVA 的不同即可
☺ 观看下文前提:如果你的主语言是java,现在想再学一门新语言C#,下文是在java基础上,对比和java的不同,快速上手C#,当然不是说学C#的前提是需要java,而是下文是从主语言是java的情 ...
- 10年java架构师教你如何快速打好Java基础?
从大学到现在,我使用Java已经将近10年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用. 因为是在工作中培训,就必然有两个约束:实用.时间紧,因此就不能像大学 ...
- 如何快速打好java基础_学习Java课程时如何才能打好基础呢?
对于初学Java的人来说,打好基础并形成编程思维非常重要.从Java语言自身来看,主要的学习难点集中在基础部分,只有学好了基础才能向更高阶层进阶,那么零基础学员在学习Java课程时如何才能打好基础呢? ...
- Java基础部分快速复习(以前复习的时候放在自己的新浪博客上)
工作后Java基本没有用到,有时候自己也会把基础过一遍,下面的链接是以前重温的时候整理的Java基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习,节省 ...
- Java基础-SSM之mybatis快速入门篇
Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...
- java基础总结-java技术栈快速复习
java基础 java基础概念 java概述和语言背景 java语言是没有sun公司(Stanford University Network:斯坦福大学网络)在1995年推出的计算机语言 java之父 ...
- Java基础 快速学习(一)
注意:本系列博客是在作者已经有一年多的C++经验的基础上学习Java的个人总结,可能并不适合所有看到这篇博客的人. 一.数据类型 1.整数:byte,short,int,long 分别对应1,2,4 ...
- 算法基础、算法比赛快速入门(java)
想用Java快速入门算法?这篇文章你得看! 提示:本文章适合想要入门算法,并且想 "快速" 达到一定成果的同学们阅读~ 文章非常非常非常长(可能是你见过最长的算法基础篇章)!!! ...
- 自用的快速复习Java基础知识,不适用于每一个人
自用的快速复习java基础知识,不适用于每一个人 问题背景 1. 类定义出来的变量称为**对象** [IDEA安装](https://www.jb51.net/article/193853.htm) ...
最新文章
- 数据结构-单向循环链表、双向循环链表、仿真链表
- Codeforces Round #374 (Div. 2) A , B , C 水,水,拓扑dp
- 最精美详尽的 HTTPS 原理图
- python网络爬虫软件哪个好用_好好学Python,入门网络爬虫之精华版!
- UI实用素材|电商购物类APP界面设计原则!
- 腾讯广告算法大赛 | 复赛第二周最佳进步奖得主心得分享
- qml demo分析(clocks-时钟)
- 我的Mac中毒了,病毒居然叫做MacPerformance
- java aws批量_通过 S3 Batch Operations (批量操作)功能轻松处理海量对象
- element布局容器大小_Element-UI 技术揭秘(4)— Container 布局容器组件的设计与实现。...
- Tomcat服务器下载、安装、配置环境变量教程(超详细)
- threejs 三面体_Three.js基础探寻五——正二十面体、圆环面等
- 本人博客目录 [实时更新]
- 线上连锁线下整合的连锁电商架构 打造店店互推人人分销模式
- 微光互联 TX800-U 扫码器无法输出中文到光标的问题
- AliOS Things 编译体系
- JavaScript中查找指定字符串的几种方式
- NPN型三极管的工作原理
- CRM客户关系管理系统源码跟单销售公司订单跟进客户公海合同管理办公erp客户管理(小程序+APP+H5)
- 二十三、从句_地点原因方式条件状语从句