乐趣区

关于java:四个步骤教你轻松学会Java编程

我写过一个 Java 工程师学习指南,我把它分为了四个局部,第一步是打好 Java 根底,把握 Java 核心技术,第二步是把握 Java Web 技术栈,可能做一些我的项目,第三步是把握 Java 方面的进阶技术,包含网络编程、并发编程、JVM 等,第四步是把握后端进阶技术,比方分布式、缓存、音讯队列等技术。

依照这样的一个脉络,我感觉可能把握这外面的绝大部分内容,并且有过相应的一些实际,那么能够算是学好了 Java。当然,学好 Java 只是一个开始,要真的干好活,做好我的项目,以及其余各方面的技术工作,则是在学好 Java 的根底去延长和开展的。

接下来就是具体的四篇文章,倡议大家按程序浏览,有点长,珍藏的时候记得点赞或者评论哈。笔芯!

Java 工程师学习指南

入门篇

最近有很多小伙伴来问我,Java 小白如何入门,如何安顿学习路线,每一步应该怎么走比拟好。本来我认为之前的几篇文章曾经能够解决大家的问题了,其实不然,因为我之前写的文章都是站在 Java 后端的全局上进行思考和总结的,疏忽了很多小白们的感触,而很多敌人都须要更加根底,更加具体的学习路线。

所以,明天咱们从新开一个新的专题,别离依照四篇文章讲述 Java 的学习路线(别离是入门篇,高级篇,中级篇,高级篇),笔者也打算趁此机会,回顾一下本人的 Java 学习历程。明天咱们要讲的是,小白同学如何入门 Java。

先申明一点,文章内容不会具体到每一步怎么操作,只会提供大抵的思路和方向,给大家以启发,如果真的要一步一步领导操作的话,那至多须要一本书的厚度啦。

本文所述的办法不肯定适宜所有人,如有谬误敬请体谅。

01 后期筹备工作

开发环境搭建
这一步咱们往往会间接跳过,但既然是面向小白的教程,这里就提一下吧。首先你须要一台电脑,而后装置好 JDK 和 JRE,JDK 提供的是 Java 开发工具,也就是一些必备的 jar 包,JRE 则是 Java 的运行环境组件,咱们相熟的 JVM 就在这外面。

装置好这两个货色之后,个别还要配置一下环境变量,否则有一些目录可能无奈被正确找到。

IDE 抉择和装置
IDE 指的就是本地开发编辑器,没有了它,你就只能间接在记事本这类工具里敲代码了。IDE 最大的益处就是整合了大量的工具和功能模块,让你十分轻松地实现开发。

以前大家都用 eclipse,不过 eclipse 曾经不风行了,当初我举荐你间接用 intellij idea 作为你的第一个代码编辑器。如果是用过 eclipse 的同学,基本上也能够无痛切换。

intellij idea 能够间接在官网上下载,试用版 30 天,如果想要永恒应用,网上也有一些方法滴。

对于 jar 包
jar 包是什么,其实就是将一堆 class 格式文件打包,Java 中把它称为 jar 包,这些 jar 包在编译器中能被间接辨认,让开发者应用。

对于老手来说,可能只须要用到 JDK 自带的一些 API,然而如果你要援用内部 jar 包,可能就会遇到一些艰难了。对于 idea 来说,导入内部 jar 包有两种方法,一种是手动导入 jar 包,一种是应用 maven。后者会在 Java Web 相干的文章中讲起。

手动导入 jar 包其实也不难,你须要先下载好 jar 包,而后在对应的我的项目下抉择导入 jar 包即可,具体的办法这里就不开展说了,因为在网上都找失去。

02 学习 Java 根底的几种办法

理解根底语法

学习一门语言,最开始要做的事件就是学习它的语法。我最早学习 Java 语法是在 Runoob,这个网站能够让你对任意一门语言实现最疾速的语法入门,当然,这只是相当于你浏览了一遍根底语法。

想要真正把握 Java 语言根底,光看根底语法还远远不够,我在大三第一次接触 Java 课程,听老师讲面向对象三大特色听得一头雾水,连数组的初始化形式都理不分明,但这些内容都是咱们须要把握的。所以,为了学好 Java 根底,咱们还须要看视频或者看书进行学习。

看视频
视频的话,能够到极客学院或者慕课网听 Java 根底课程,当然也能够看我分享的 Java 视频课程。大家也都晓得,当初 Java 的培训班十分多,基本上学的货色也都大同小异,不过它们的有些课程还不错,大家有渠道的话也能够去看一看。

看视频的益处是你能够更好地接管常识,同时也会消耗你更多实际,所以,有时候你也能够抉择看书。

看书
看书的话,对于小白来说不举荐太简单的书,比方《Java 编程思维》这种书,老手千万不要看。我集体倡议,你只须要先看看《Java 入门到精通》这种类型的书就足够了,因为这个局部的学习只是为你前面的学习开个头,你当前可能还要回过头来从新钻研这些内容。

当初市面上介绍 Java 根底的书籍切实太多了,品质参差不齐,内容同质化重大,笔者看过的其实也不多。给大家一个倡议,你只须要挑一两本书来看即可,这里举荐两本最简略的吧,《head first java》和《Java 从入门到精通》。

看博客
这里再举荐另一种学习形式,就是看博客,博客比起书籍来说,更适宜对于某个技术点的学习,你能够很容易地在网上找到这个知识点相干的原理,实现办法,以及代码范例。

我的博客里没有解说特地根底的货色,如果你看一些比拟根底的文章,能够到 Runoob 等网站上查看。如果你有一个很明确的知识点想要学习,置信搜搜引擎会给你更好的答案。

代码实际
除此之外,个别的 Java 书籍或者视频课程都会要求你相应实现一些练习题,这部分内容你须要本人在电脑里应用 IDE 实现。

在 IDE 里,你能够很好地相熟 Java 语言的应用,根本代码的实现,同时能够尝试各种各样的 API, 并且测试一些语言个性,比方继承,封装,多态等等。

另外,这也是你相熟 IDE 的一个好机会,因为在公司里做开发可能要用到 IDE 各种各样的性能,提前相熟好 IDE 相对是有益无害的。

03 Java 入门必备知识点梳理

在 Java 入门阶段,你可能须要接触到以下这部分常识,不论你是从通过哪种形式学习,这些内容都是你学习 Java 根底时绕不过的重点。

Java 基础知识
这部分内容是你必须要把握的内容,在入门阶段你须要把这些根底打扎实,以便于在学习前面的内容时能够更上一层楼。

如何把根底打扎实呢,最好的方法就是在 IDE 上把书上或者视频上的每个例子都实现一遍,当然有的时候你也能够本人写一些有意思的例子。

1 根本数据类型

比方 int,double,char,以及其包装类。

相熟根本数据类型的应用,理解每种类型所占的字节数,以及它们和包装类之间的互相转换。

2 流程管制

比方 for 循环,if else,while 循环等等

如果是学过 c 语言的同学,这部分能够跳过了。

3 字符串类型 String 的应用

字符串类型是 Java 中很重要的类型,它不是根本数据类型,但却很罕用,相熟和实际 String 相干的 api,开始你对字符串的学习吧。

4 数组

数组的初始化形式有哪些,二维数组应该怎么写,把数组当成办法参数又该怎么解决?

5 类和对象

Java 中最重要的两个概念:类和对象,它们有什么用呢,有什么区别和分割呢,请在代码中实际它们吧。

Java 核心技术
对于这部分内容,我置信很多小白只能理解它们的根本应用办法,然而并不明确其背地的一些原理:比方为什么接口和抽象类有这些区别,多态的意义是什么,为什么要有反射。

老手在学习这部分内容时,只须要晓得怎么用就能够了。当然,你最好把这些个性都实现一遍,以加深印象。

至于为什么有这些个性,这些个性背地的原理是什么,不是咱们当初探讨的内容,这些内容咱们将在高级和中级篇中讲述。因为,要理解这些原理,你得理解 JVM,理解并发技术的根底,理解网络根底,甚至更多。显然,这不是你当初能做到的。

1 接口和抽象类

写一些接口,同时写一些实现类去实现这些接口,并且理解一下为什么咱们须要接口,为什么子类须要实现接口里的办法。

同理,去实现一些抽象类吧。而后,看看它和接口有什么不同。

2 继承,封装和多态

如何了解继承,子类和父类之间有什么分割呢。

封装是一种爱护代码的形式,有哪些形式能够实现封装呢。

多态个别分为重载和重写,它们别离怎么应用?

3 异样解决

Java 中的异样解决次要用于捕捉和处理错误,请你写一些 try catch 代码块去捕捉谬误吧。

4 汇合类

汇合类是咱们常常须要打交道的货色,List,Map,Set 等等,赶快去相熟 API,而后写一些测试例子吧。

5 IO 输出流和输入流

IO 输出流和输入流能够操作文件,网络数据等内容,如何在 Java 代码中实现这么简单的操作呢,其实只须要简略的几个 api 就能够了。

6 多线程

为了让系统资源最正当地调配和调度,咱们须要多线程,多线程会让程序变得乏味,也会带来很多问题,应用 Thread 和相干 API,去尝试这些乏味的事件吧。

可选内容:

1 反射(理解即可,不是入门必须)

2 枚举类型和泛型(理解即可,不是入门必须)

3 网络通信(理解根本的 socket 应用即可,须要网络根底)

4 数据库操作(理解根本的 JDBC 即可,须要数据库根底)

04 总结

总而言之,对于一个 Java 小白来说,入门 Java 能够分为这几步:

1 首先搭建好 Java 开发环境

2 通过 Runoob 等一些网站相熟 Java 的根本语法

3 通过看书看视频等形式相熟 Java 基础知识,通过代码实际加深了解

4 通过看书看视频等形式初步理解 Java 核心技术,通过代码实际加深了解。

本文次要是为大家提供一个学习的思路,以及举荐一些学习办法,如果你可能依照这样的步骤去学习,并且配合上一些适宜你本人的学习办法来实现学习打算,置信你能够很好地实现对 Java 的入门。

如果大家对于学习 Java 有任何的问题,对于如何晋升学习 Java 以及学习办法、学习技巧、疾速达到待业的技术水平,都能够随时到这个群问,建设了 5 年的 Java 学习交换 QQ 群:634 930 465
有不懂的问题能够随时在外面问,须要 Java 各个阶段的学习材料也能够在外面进行下载。外面有很多大佬,对于前端和 Python 的问题也能够问。

Java 工程师学习指南

高级篇

01 Java Web 我的项目指南

在上一篇文章中,咱们讲到了入门 Java 的几个步骤,先搭建好环境,而后相熟根本语法,接着相熟 Java 的一些核心技术,并且在代码中进行实现。

如果你曾经实现了这部分内容的学习,应该会感觉本人对 Java 曾经有肯定理解了,能够轻松地写出一些 Java 代码,比方实现多线程输入数字,再如操作 IO 流等等。

当然,这些代码通常只是一些 demo,咱们在理论的我的项目中可能并不会这么简略地应用这些技术,咱们可能会同时应用汇合类,多线程,以及操作数据库的 API。

所以,在明天的高级篇中,咱们就来谈谈怎么做我的项目吧。

Java Web 我的项目
对于大部分 Java 老手来说,最适宜他们入门的我的项目就是 Java Web 了。因为 Java 人造适宜做 Web 利用,并且生态欠缺,更有很多开源的工具和框架去撑持这些利用,比方 Spring,Hibernate,SpringMVC 等等。

那么,如何开始着手做一个 Java Web 我的项目呢。集体认为最好的形式就是看视频了。因为,看书的话,很多内容比拟过期,并且个别不会提供源代码。也有一些大佬喜爱举荐开源的我的项目(在 GitHub 下面的我的项目),然而对于小白来说,如果没有很残缺的文档去领导他们,那也是毫无意义的。

曾几何时,Java Web 的我的项目还在应用 JSP + Servlet 进行开发,起初呈现了 Struts2,再起初,呈现了咱们当初也始终在用的 SpringMVC,说实话,不管应用哪种开发框架,你都须要先花一些工夫去学习相干的技术,否则你会发现,即便是看视频,你也不晓得外面在讲什么。

要想做好一个 JavaWeb 我的项目,你不仅须要一个好的我的项目课程,还须要足够的常识储备,上面就让咱们来理一理这些内容吧。

常识储备
Java 根底局部的内容咱们上次说过了,这里就不再反复啦~ 上面咱们别离来说说其余几方面的常识储备把

02 前端常识

举荐资源:在 w3cschool 学习 html,css 和 js,反对在线测试代码。

既然是做 Web,就不免要波及到前端技术,不过,当初前后端拆散曾经是一种趋势,所以,如果你对前端不感兴趣,也没必要花太多工夫去学习。

对于大部分同学来说,你最好要理解 html 的根本标签和格局,本人可能写一些简略页面,CSS 的话,也能够略微接触一些。绝对于后面两个服务于款式的技术,咱们倒是更应该去学习一下 JavaScript,理解它的一些根本语法,以及 ajax 的应用,因为在前后端交互时,ajax 是十分重要的。

所以,做一个 Java Web 我的项目,你不须要花太多工夫在写前端页面上,如果有源代码能够间接应用,当然,对于一些须要批改的前端页面,你得怎么去做批改它,因为有时候你须要应用 JSP,JSP 既包含前端代码也包含 Java 代码,如果你齐全看不懂前端代码的话,那就很难堪了。

03 Java Web 罕用技术

JavaWeb 的技术栈其实比拟宏大,所以咱们不要求八面玲珑,只是心愿你可能相熟一下我的项目中可能用到的技术。上面列举一些常见的技术,大家最好要理解一下。

1 JSP 和 Servlet

举荐资源:《JavaWeb 入门到精通》,慕课网、极客学院等网站上的 JavaWeb 根底课程

这是 Java Web 开发最原始的状态,当初很少间接应用了,然而起初的各种框架其实也是建设在 servlet 之上来做的。你们须要理解这两个技术别离是用来干什么的,最好能写一些 demo 来实际。

对于 JSP,有时候你可能还要学习 jstl 等标签语言,因为这些标签能够让你更不便地往 JSP 中插入 Java 代码。

2 Spring 和 SpringMVC

举荐资源:《Spring 实战》,慕课网、极客学院等网站上的 SpringMVC 根底课程。

事实上,除了上述资源之外,你也能够间接到官网上查看疾速开始文档。

Struts2 早已被时代摈弃,Spring 则是当今的霸主,你须要理解 Spring 如何应用,以及 SpringMVC 如何应用,并且学会在我的项目中应用它。

因为 SpringBoot 最近很火,并且搭建形式比 SpringMVC 更简略,你也能够先学习 SpringBoot,以便更疾速地搭建起你的第一个 Java Web 我的项目。

3 MySQL

举荐资源:《Sql 必知必会》,Runoob 上的 MySQL 基础教程,慕课网、极客学院等网站上的视频课程

一个 JavaWeb 利用肯定要有数据啊,所以咱们须要用到数据库,其实搭一个 mysql 数据库是非常简单的,然而对于初学者来说最麻烦的就是写 sql 了,所以,先学会建表,相熟 sql,对你当前做我的项目也是大有裨益的。

4 Hibernate 和 Mybatis

举荐资源:Runoob 上的 Hibernate 和 Mybatis 基础教程,慕课网、极客学院等网站上的视频课程

当你学会了应用 sql 去查问数据,可能还不足以让你在我的项目中很不便地解决数据,因为咱们还须要一个步骤,就是把数据库的数据转化成 Java 里的对象。orm 框架就是为了解决这一问题而呈现的,它能够让一张表和 Java 类一一对应,让数据查问变得十分不便。Hibernate 和 Mybatis 都是 orm 框架,只不过当初 mybatis 越来越火了。

所以,你须要理解这一技术,因为它会宽泛地使用到大部分 Java Web 我的项目中。

5 Maven

举荐资源:《maven 实战》,易百教程里的 maven 教程,慕课网、极客学院等网站上的视频课程

方才咱们曾经说过了 Spring,orm 框架,以及 MySQL 等方面的技术了。实际上,一个简略的 Java Web 我的项目也只须要这些货色了。

然而,有一个问题,就是:一个我的项目里用到这么多技术,所须要的 jar 包也会很多,咱们如何治理这些 jar 包呢。如果间接导入所需 jar 包,那当 jar 包更新或者须要替换时,每次都要手动操作,十分麻烦。另外,当 jar 包很多时,我的项目打包后的 war 格式文件也会很大,不利于传输。

为了解决上述问题,maven 应运而生了。maven 通过 pom.xml 文件来指定所需的 jar 包,并且自带了很多构建相干的性能,比方编译,打包,运行单元测试等等,因为它自身就是一个构建工具。

当然,老手可能还难以了解这些概念,你必须要晓得的是,大部分 Java Web 我的项目须要用 maven 来治理,你须要学会 maven 的根本用法,最根本的用法就是:学会批改 pom.xml 文件。

6 Tomcat

举荐资源:慕课网、极客学院等网站上的视频课程。

对于小白来说,Tomcat 相干的技术是非常复杂的,毕竟它是一个应用服务器啊,事实上这个时候,你只须要学会如何装置 Tomcat 即可。毕竟,它在我的项目中的作用就是提供一个运行环境而已。

失常来说,你只有下载解压 Tomcat 的压缩包即可。因为当初的 IDE 都反对集成 Tomcat,所以个别状况下你都能够在 IDE 中配置好你的 Tomcat 门路,而后设置好你的我的项目门路,IDE 会主动把你的工程代码部署到 Tomcat 服务器上。

如果你应用想跳过 IDE 间接部署工程到 Tomcat 上,也能够间接编译工程并且打包失去 war 格局的文件(这个步骤能够应用 maven 来实现),而后拷贝 war 文件到 Tomcat 下的特定目录即可。

上述两种部署形式的具体步骤请到搜索引擎寻找答案。

7 Git 和 GitHub

举荐资源:廖雪峰的 Git 教程,GitHub 官网,慕课网、极客学院等网站上的视频课程。

既然要做我的项目,为什么不把它公布在 GitHub 上。当你相熟了 Git 指令之后,你能够很不便地公布你我的项目中的每一次更新,并且同步到 GitHub 上,这样既能够让你更好地治理我的项目版本,又能够让你 GitHub 更加沉闷,为你将来的面试加分。

所以,连忙学好 Git 指令,而后开启你的我的项目之旅吧。

04 其余罕用组件

除了下面几种必备的技术之外,有时候咱们在我的项目中还会用到其余货色,在这里咱们把它们叫做组件。这里只做简略的介绍,至于具体怎么应用,在网上都能够很容易地找到相干文章。

1 日志零碎

当我的项目代码比拟多的时候,容易产生谬误,日志能够很好地记录代码运行时的谬误,罕用的日志零碎有 log4j,logging 等等,另外你还须要理解一下 slf4j。

2 单元测试

日志零碎能够记录代码问题,单元测试则是为了防止代码出错,罕用的单元测试组件次要是 JUnit,倡议你找个文档看一看,而后下载下来玩一下。

3 JSON

JSON 逐步成为前后端数据交互的规范格局,为了在我的项目中应用 JSON 的 API,你也须要导入它的 jar 包,个别咱们都会应用阿里提供的 fastjson,赶快下载来玩一玩吧。

当然,罕用的 Java Web 组件还有很多,比方 HTTPClient,再比方一些加密工具,一些压缩工具等等,这里就不再一一列举了。

5 总结

明天的内容就到这里了,与其说是高级篇,反而更像是“我的项目篇”呢。因为学完根底内容之后,做我的项目是最好的温习和实际形式了。所以这篇文章围绕着做我的项目来开展,也就难能可贵了。

明天咱们次要讲的是,做好一个 JavaWeb 我的项目,须要哪些常识储备,须要理解哪些技术,并且我也举荐一些比拟精品的视频课程。

前面我还会写一篇文章,专门讲一讲怎么做我的项目,会更加具体,更加偏重怎么去做,敬请期待吧。

退出移动版