关于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我的项目,须要哪些常识储备,须要理解哪些技术,并且我也举荐一些比拟精品的视频课程。

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

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

阿里云限时活动-2核2G-5M带宽-40-100G SSD服务器,特惠价86元/年(原价724元/年,限时99元续购三次),速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

You may also like...

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据