-
公众号/混qq群/微信群:不少人手里都有几t的资源,如果跟群友的关系不错,一般都会免费给你发的
-
…
1.2 学习Java基础
零基础学习Java的路线我简单总结为以下:
-
首先去官网下个JDK,按现在常用的版本JDK1.8就够学习了
-
下载地址:JDK1.8下载:www.oracle.com/technetwork…
-
随后去下载现在Java常用的编辑器IDEA(也可以用eclipse,但现在IDEA的确是好用)…
-
下载地址:IDEA下载:www.jetbrains.com/idea/
-
以1.5/1.75倍速观看Java基础视频(以刘意为例)
在学习Java基础时,我简单来说一下什么东西可以不碰:
-
&^|
位运算符,++i
和i++
类似这种绕死人的语法 -
内部类
-
AWT,SWING编程
-
注解
需要深入理解的知识点:
-
流程控制
-
面向对象的概念
-
Java语法
-
this指针、重写和重载、final、static等等这些基础的东西
-
集合(包括泛型)
-
常用的集合类
-
IO流
-
IO流代码的编写
-
(理解这些知识点,能够在有提示的情况下码出代码,但不要为了一些细节钻牛角尖)
简单过一遍的知识:
-
异常
-
多线程
-
网络编程
-
反射机制
-
(你得知道这个知识点是干嘛用的,为什么要学这个知识点,能看懂具体的代码!)
对于上面所说深入理解的知识点,我个人是非常建议在学习期间写笔记(博客)的。如果你想写笔记的话,最好直接就用markdown
语法来编写,而不是用word/简单的记事本。
markdown语法非常好学,几分钟跟着就可以学习了,几乎所有的it博客网站都支持markdown
:
- markdown学习:www.jianshu.com/p/q81RER
如果喜欢画思维导图的,我这里推荐processOn就可以了。无需下载Xmind这么麻烦了:
- ProcessOn来画思维导图:www.processon.com/i/5815483ce…
有的时候并不需要使用IDEA打开一个.java
或者.xml
这样的文件,可以使用notepad++
记事本:
- NotePad++记事本:notepad-plus-plus.org/
学会科学上网和使用Chrome浏览器,比如说下载拦截广告插件,英语翻译插件
-
Chrome浏览器:www.google.com/chrome/
虽然是快速学习Java,但学完上面的估计得一个月了(:…
一个月发现都是面向控制台编程(console),输入输出一些数据来玩。
期间可能就学习IO的时候可以复制文件,修改文件名有点意思。但好日子就要来临了!
1.3 学习Java Web基础
首先我们可以学习一下Web前端的知识(此部分都简单过一下就好了)
-
HTML/CSS/JavaScript/jQuery
-
CSS框架(都有中文手册,很快就上手了,选一个自己喜欢的就好了):
-
BootStrap:www.bootcss.com/
-
Materialize:www.materializecss.cn/
到目前为止,学完上面这些可以搭建“能看”的静态网页了。曾经看过一段话来总结上面的技术:
- “HTML是名词,CSS是形容词,JavaScript是动词”
随后学习JavaWeb的路线如下:
-
Tomcat(简单过一下)
-
XML/注解(简单过一下)
-
Servlet(重点理解)
-
HTTP协议(重点理解)
-
Filter过滤器(重点理解)
-
Listener监听器(简单过一下)
-
JSP(简单过一下)
-
AJAX、JSON(简单过一下)
基于上面的学习,起码已经可以使用request对象来接收前端发送过来的数据,使用response对象将Java后端的数据返回给前端,使用Filter拦截器来处理中文乱码问题(Tomcat默认的编码是ISO-88591)。总的来说已经可以实现前后端交互了!
1.4 学习数据库
数据库这里指的是关系型数据库,一般我们以MySQL来入门就足够了。
在学习期间,其实很多时间都耗费在配置环境上面,比如我之前安装JDK,安装MySQL,安装Oracle就耗费了不少时间。后来我也将其写成博客,需要重新安装的时候翻一下博客就好了。
- 比如MySQL安装教程:segmentfault.com/a/119000001…
主要学习SQL的基本使用吧:
-
创建表(create table)
-
增删改查(insert,delete,update,select)
-
对于存储过程、触发器这些了解一下即可
-
对于索引、锁后面再学(此部分很重要,但以快速入门来说,可以先不看)
1.5 学习Java连接数据库(JDBC)
到这里,我们Java Web、数据库、Web前端的基础都已经基本学完了,但此时Java和数据库是相互独立的。我们想要以程序的方式来对数据库的数据进行操作,那就要学习一下Java连接数据库(JDBC)。
JDBC这项技术并不难呀,就是模板代码,来来去去就几个步骤:
-
导入MySQL或者Oracle驱动包
-
装载数据库驱动程序
-
获取到与数据库连接
-
获取可以执行SQL语句的对象
-
执行SQL语句
-
关闭连接
由于这些代码可能会重复出现,那我们可以学习一下DbUtils这个组件:可以帮我们减少编写JDBC的模板代码。
1.6项目管理和框架的学习
经过上面的学习,已经是可以在本地写一个Web项目了。
-
页面框架使用BootStrap/Materialize框架来搭好
-
请求处理交由Servlet,返回的数据可以通过AJAX或者使用JSP,DAO层可以使用DbUtils。
-
数据保存在MySQL中
为了让写代码变得更爽,我建议用半天学一下Maven(项目管理工具),用几天学一下SpringBoot。
- 从Servlet直接跳到SpringBoot可能有点难理解,但多搞几天我相信还是可以的…
1.7Linux学习
最后,我们在本地上写完的项目想要让其他人都看得见,一般都会部署在Linux环境下的。(此部分的学习可以等到将项目写完,想要部署项目才学习)
我是不推荐使用虚拟机再搞Linux的,直接买一台方便很多
-
如果是学生的话,一个月的学生版也就10块一个月。
-
如果是转行的大哥话,现在阿里云双十一有优惠,买起来就很便宜了。
优惠链接:m.aliyun.com/act/team111…
总结
==
总结一下我认为学习Java的路线:
-
Java基础–>流程控制–>面向对象(包括Java语法)–>Java集合–>Java IO流–>异常–>多线程–>网络编程–>反射
-
JavaWeb基础–>HTML/CSS/JavaScript/jQuery–>Tomcat–>XML/注解->Servlet–>HTTP–>Filter过滤器和监听器–>JSP–>AJAX/JSON–>数据库(MySQL)–>JDBC和DbUtils
-
项目管理和框架–>Maven–>SpringBoot
-
Linux基本命令