如何在4个月内入行Java编程?
我是985硕士,本科是非专业课,所以我在读研期间自学了两年java,最后拿到了Rampamp学校里BAT等大公司的Doffer。正好我最近写了四本Java工程师学习指南,讲述了如何从入门到进阶学习Java,这也是我自己学习Java两年的心得。
想成为一名专业的Java后端工程师,自学需要时间和精力,那么如何入门呢?问题是如何入门,所以我决定选择前两篇文章来回答这个问题,分别是如何学习Java的基础知识和如何启动一个JavaWeb项目。
接下来是具体文章。建议你按顺序看,有点长。收藏的时候记得点赞或者评论。续杯!
Java工程师学习指南
初学者章节
最近有很多朋友问我Java小白怎么入门,学习路线怎么安排,每一步怎么走比较好。本来以为前面的文章可以解决大家s的问题,其实不然,因为我之前写的文章都是基于Java后端的整体情况,忽略了很多白人的感受,很多朋友需要更基础更详细的学习路线。
所以,今天我们重新开一个新的话题,分别按照四篇关于Java学习路线的文章(入门篇、初级篇、中级篇、高级篇),作者也打算借此机会回忆一下自己的Java学习历程。今天,我们要谈谈小白如何开始学习Java。
首先,文章内容不会详细到每一步如何操作,只会提供大概的思路和方向,启发大家。如果真的要一步一步的指导操作,至少需要一本书的厚度。
本文介绍的方法可能并不适合所有人。如有错误,请见谅。
01准备工作
开发环境建设
我们经常直接跳过这一步,但因为这是小白的教程,让let'在这里提一下。首先,你需要一台电脑,然后安装JDK和JRE。JDK提供Java开发工具,也就是一些必要的jar包,JRE是Java的运行环境组件,我们熟悉的JVM就在其中。
安装这两样东西后,通常需要配置环境变量,否则可能会找不到某些目录。
IDE选择和安装
IDE指的是本地开发编辑器。没有它,你只能直接在记事本等工具中键入代码。IDE最大的优势就是集成了大量的工具和功能模块,让你非常轻松的完成开发。
以前大家都用eclipse,但是eclipse已经不流行了。现在推荐你直接用intellijidea作为你的第一个代码编辑器。如果你是用过eclipse的同学,基本上也可以无痛切换。
Intellijidea可以直接从官网下载,试用版持续30天。如果想永久使用,网上有一些方法。
关于jar包
什么是jar包?其实就是把一堆文件打包成类格式,Java里叫jar包。这些jar包可以在编译器中被直接识别,并被开发人员使用。
对于初学者来说,可能只需要使用JDK自带的一些API,但是如果要引用外部的jar包,可能会遇到一些困难。对于idea来说,有两种方法可以导入外部jar包,一种是手动导入jar包,另一种是使用maven。后者将在与JavaWeb相关的文章中讨论。
手工导入jar包并不难。你需要先下载jar包,然后选择导入对应项目下的jar包。具体方法这里就不讨论了,因为网上可以查到。
学习Java基础知识的几种方法
理解基本语法
学习一种语言时,首先要做的是学习它的语法。我第一次学习Java语法是在Runoob。这个网站可以让你最快地完成任何语言的语法介绍。当然,这只是相当于浏览基础语法。
要真正掌握Java语言的基础知识,仅仅看基础语法是远远不够的。大三刚接触Java课程的时候,听老师讲面向对象的三大特点,我不能甚至不了解数组的初始化方法,但这些内容都是我们需要掌握的。所以,为了学好Java的基础知识,我们还需要看视频或者看书来学习。
观看视频
视频,可以去极客学院或者海量开放在线课程。com来听Java基础课程,当然也可以看我分享的Java视频课程。众所周知,现在Java的培训班很多,上学的基本东西都差不多,但是他们有的课程还不错,有渠道可以去看看。
看视频的好处是可以更好的接收知识,同时也会耗费你更多的练习,所以有时候可以选择看书。
读书
如果看书的话,不建议小白看太复杂的书,比如《Java编程思想》。新手千万不要看。个人建议你只需要看《Java入门到精通》的书先,因为这部分的学习只是你后期学习的开始,以后可能还要回去重新学习这些内容。
现在市面上介绍Java基础知识的书太多了,质量参差不齐,内容同质化严重。其实作者没读过多少书。给你一个建议,你只需要挑一两本书来读。这里有两本最简单的书,《headfirstjava》和《Java从入门到精通》。
阅读博客
这里我推荐另一种学习,就是看博客,比书更适合。对于一个技术点的学习,你可以很容易的在网上找到这个知识点相关的原理、实现方法和代码示例。
我的博客不。;不要解释任何特别基本的东西。如果看了一些基础的文章,可以去Runoob等网站上查一下。如果你有明确的想学的知识点,相信搜索引擎会给你更好的答案。
代码实践
另外,一般的Java书籍或者视频课程都会要求你相应地完成一些练习,这部分需要你在电脑中使用IDE来完成。
在IDE中可以熟悉Java语言的使用和基本代码的实现,同时可以尝试各种API,测试一些语言特性,比如继承、封装、多态等等。
另外,这也是你熟悉IDE的一个好机会,因为IDE的各种功能在公司都有可能用于开发,提前熟悉IDE绝对是有益无害的。
03Java入门必备知识点梳理
Java入门阶段,可能需要接触以下知识。无论你用哪种学习,这些内容都是你能掌握的重点。;学习Java基础知识时不可避免的。
Java的基础知识
这部分内容是你必须掌握的,需要在入门阶段打好扎实的基础,让你在后面的内容上一层楼就能学会。
如何打牢基础?最好的方法是在IDE上实现书中或视频中的每一个例子。当然,有时候你也可以自己写一些有趣的例子。
1基本数据类型
比如int,double,char,以及它们的包装类。
熟悉基本数据类型的使用,了解每种类型占用的字节数,以及它们与打包类的转换。
2过程控制
比如for循环,ifelse,while循环等等。
如果你是学过C语言的学生,可以跳过这一部分。
3字符串类型字符串的使用
字符串类型是Java中非常重要的类型。它不是一种基本的数据类型,但很常用。熟悉并练习与字符串相关的api,开始关于字符串的学习。
4阵列
数组的初始化方法有哪些,如何写二维数组,如何把数组当作方法参数?
5类和对象
Java中最重要的两个概念:类和对象。它们的用途、区别和联系是什么?请在您的代码中实践它们。
Java核心技术
对于这部分内容,我相信很多白人只能理解其基本用法,但他们并不不明白背后的一些原理:比如为什么接口和抽象类会有这些区别,多态的意义是什么,为什么会有反射。
初学者只需要在学习这部分内容的时候知道如何使用就可以了。当然,你你最好实现所有这些功能来加深你的印象。
至于为什么会有这些特点,这些特点什么?;它背后的原理是什么?It这不是我们想要的。;我们现在正在讨论。我们我将在初级和中级章节中讨论它。因为,要理解这些原理,你得理解JVM,并发技术的基础,网络的基础,甚至更多。很明显,这不是你现在能做到的。
1接口和抽象类
写一些接口,并且写一些实现类来实现这些接口,理解我们为什么需要接口,为什么子类需要在接口中实现方法。
同样的,实现一些抽象类。然后,看它和界面有什么不同。
2继承、封装和多态
如何理解继承,子类和父类有什么联系?
封装是保护代码的一种。实现封装的方法有哪些?
多态一般分为重载和重写。分别怎么用?
3异常处理
Java中的异常处理主要用于捕捉和处理错误。请编写一些trycatch代码块来捕获错误。
4组类别
集合类是我们经常需要处理的东西,比如List、Map、Set等。快速熟悉API,然后写一些测试实例。
5IO输入流和输出流
IO输入流和输出流可以操作文件、网络数据等内容。如何用Java代码完成如此复杂的操作,其实只需要几个简单的API就可以了。
6多线程
为了以最合理的分配和调度系统资源,我们需要多线程,多线程会让程序变得有趣,也会带来很多问题。使用Thread和相关API来尝试这些有趣的东西。
可选内容:
1反思(刚知道,没必要入门)
2枚举类型和泛型(理解就够了,入门不需要)
3网络通讯(只知道socket的基本使用,需要网络基础)
4数据库操作(只知道基本的JDBC,需要数据库基础)
04摘要
综上所述,对于一个Java小白来说,入门Java可以分为这几个步骤:
首先,建立一个良好的Java开发环境;其次,通过Runoob等一些网站熟悉Java的基本语法;再次,通过看书、看视频来熟悉Java的基础知识;第四,通过看书、看视频,初步了解Java的核心技术;第四,通过代码练习加深理解。本文主要是给大家提供一个学习思路,推荐一些学习方法。如果你能按照这些步骤,配合一些适合自己的学习方法来完成自己的学习计划,相信你也能很好的完成《Java入门》。
官方账号【Java技术江湖】某阿里Java工程师的技术站,作者黄(关注官方账号后,回复"Java和获取Java基础、高级、项目和架构师等免费学习资料,以及数据库、分发、微服务等更热门的技术学习视频,内容丰富,兼顾的原则和实践,此外,还将给予作者的原创Java学习指南,Java程序员面试指南等干货资源)Java工程师学习指南
主要文章
最近有很多朋友问我Java小白怎么入门,学习路线怎么安排,每一步怎么走比较好。本来以为前面的文章可以解决大家s的问题,其实不然,因为我之前写的文章都是基于Java后端的整体情况,忽略了很多白人的感受,很多朋友需要更基础更详细的学习路线。
所以,今天我们重新开一个新的话题,分别按照四篇关于Java学习路线的文章(入门篇、初级篇、中级篇、高级篇),作者也打算借此机会回忆一下自己的Java学习历程。今天,我们要谈谈小白如何开始学习Java。
首先,文章内容不会详细到每一步如何操作,只会提供大概的思路和方向,启发大家。如果真的要一步一步的指导操作,至少需要一本书的厚度。
本文介绍的方法可能并不适合所有人。如有错误,请见谅。
01JavaWeb项目指南
在上一篇文章中,我们讨论了开始使用Java的几个步骤。先设置好环境,然后熟悉基本语法,再熟悉Java的一些核心技术,并在代码中实现。
如果你已经完成了这部分的学习,应该感觉你已经对Java有了一定的了解,可以很轻松的编写一些Java代码,比如多线程输出数字,然后操作IO流。
当然,这些代码通常只是演示,在实际项目中我们可能不会这么简单地使用这些技术。我们可以同时使用集合类、多线程和API来操作数据库。
所以,在今天的第一篇文章,让让我们谈谈如何做这个项目。
JavaWeb项目
对于大多数Java新手来说,最适合他们入门的项目就是JavaWeb。因为Java天然适合Web应用,有完善的生态,所以有很多开源工具和框架来支持这些应用,比如Spring、Hibernate、SpringMVC等等。
那么,如何开始制作JavaWeb项目呢?我个人认为最好的是看视频。因为,如果你看了一本书,很多内容都是过时的,源代码一般是不提供的。也有一些老板喜欢推荐开源项目(GitHub上的项目),但是对于小白来说,如果没有一个完整的文档来指导,是没有意义的。
曾几何时,JavaWeb项目还是用JSPServlet开发的,后来出现了Struts2,再后来出现了我们现在一直在用的Sprin。GMVC,说实话,无论你使用什么样的开发框架,你都需要先花些时间学习相关的技术,否则你会发现,即使看视频,你也不不知道什么里面发生了什么。
要做好一个JavaWeb项目,不仅需要一门好的项目课程,还需要足够的知识储备。让让我们整理一下这些内容。
知识储备
上次我们讲了Java的基础部分,所以我们赢了这里就不重复了~让让我们分别谈谈知识储备的其他方面。
02前端知识
推荐资源:在w3cschool学习html、css、js,支持在线代码测试。
既然是做Web的,就不可避免的要涉及到前端技术。不过现在把前端和后端分开是一种趋势,所以如果你对前端不感兴趣,没必要花太多时间学习。
对大多数学生来说,你d最好了解html的基本标签和格式,可以自己写一些简单的页面。如果用CSS,也可以稍微接触一下。相比前两种服务于style的技术,我们更应该学习Javascript,了解它的基本语法和ajax的使用,因为ajax在前端和后端交互中非常重要。
因此,要成为一个JavaW《JavaWeb入门到精通》、海量开放在线课程网、极客学院等网站上的JavaWeb基础课程。
这是JavaWeb开发最原始的形式,现在很少直接使用,但是后来的各种框架其实都是建立在servlet上的。你需要知道这两种技术是用来做什么的,你你最好写一些演示来练习。
对于JSP来说,有时候你可能要学习jstl之类的标记语言,因为这些标记可以让你更容易的将Java代码插入到JSP中。
2Spring和SpringMVC
推荐资源:《Spring实战》等网站上的SpringMVC基础课程,海量开放在线课程。com和极客学院。
其实除了以上资源,你也可以直接去官网查快速入门文档。
Struts2早就被时代抛弃了,春天才是今天的霸主。你要知道春天是怎样的。使用,以及如何使用SpringMVC,并学会在项目中使用。
由于SpringBoot最近很流行,而且构建方法比SpringMVC简单,所以你也可以先学习SpringBoot,以便更快地构建你的第一个JavaW《Sql必知必会》、Runoob上的MySQL基础教程、massiveopenonlinecourseNet、极客学院等网站上的视频课程。
JavaWeb应用程序必须有数据,所以我们需要使用数据库。其实搭建一个mysql数据库很简单,但是对于初学者来说最麻烦的就是写sql。所以先学会建表,熟悉sql,对你以后的项目大有裨益。
4冬眠和冬眠
推荐资源:Runoob上的Hibernate和Mybatis基础课程,海量开放在线课程等网站上的视频课程。com和极客学院。
当你学会使用sql查询数据的时候,你在项目中方便的处理数据可能还不够,因为我们还需要一个步骤,就是把数据库中的数据转换成Java中的对象。Orm框架就是为了解决这个问题。它可以使一个表与Java类一一对应,使得数据查询非常方便。Hib《maven实战》、白一maven教程教程、网站视频课程、海量开放在线课程等。com和极客学院。
刚才我们讲了Spring,orm框架,MySQL等技术。事实上,一个简单的JavaWeb项目只需要这些东西。
但是,有一个问题:一个项目中使用了这么多技术,将需要很多jar包。我们如何管理这些jar包呢?如果直接导入需要的jar包,那么每次jar包更新或者需要更换的时候都要手动操作,非常麻烦。另外,jar包多的时候,项目打包后的war格式文件也会很大,不利于传输。
为了解决上述问题,maven应运而生。Maven通过pom.xml文件指定需要的jar包,并且自带了很多与构建相关的功能,比如编译、打包、运行单元测试等等,因为它本身就是一个构建工具。
当然,初学者可能很难理解这些概念。你必须知道的是,大多数JavaWeb项目都需要maven来管理,你需要学习maven的基本用法。最基本的用法是学习修改pom.xml文件。
六雄猫
推荐资源:海量开放在线课程等网站上的视频课程。com和极客学院。
对小白来说,与Tomcat相关的技术非常复杂。毕竟是应用服务器。其实这个时候,你只需要学会如何安装Tomcat就可以了。毕竟它在项目中的作用是提供一个运行环境。
正常情况下,你只需要下载并解压Tomcat的压缩包。因为IDE现在支持Tomcat的集成,所以一般情况下,你可以在IDE中配置你的Tomcat路径,然后设置你的项目路径,IDE会自动把你的工程代码部署到Tomcat服务器上。
如果想跳过IDE直接把项目部署到Tomcat上,也可以直接编译项目,把文件打包成war格式(这一步可以用maven来完成),然后把war文件复制到Tomcat下的特定目录下。
以上两种部署的详细步骤请去搜索引擎。
7Git和GitHub
推荐资源:廖雪峰Git教程、GitHub官网视频课程、海量开放在线课程、极客学院等网站。
既然要做项目,为什么不发布在GitHub上。当你熟悉Git指令后,你就可以轻松发布项目中的每一个更新,并同步到GitHub,这样不仅可以让你更好的管理项目版本,还可以让你的GitHub更加活跃,为你以后的面试加分。
所以,赶快学习Git指令,开始你的项目之旅吧。
04其他常用组件
除了以上必要的技术,有时候我们还会在项目中用到其他的东西,我们这里称之为组件。这里只是简单介绍一下。至于怎么用,在网上很容易找到相关文章。
1个日志系统
项目编码多的时候,容易出错。日志可以很好地记录代码运行时的错误。常用的日志系统有log4j、logging等。另外,你还需要了解slf4j。
第二单元测试
日志系统可以记录代码问题,单元测试是为了避免代码错误。JUnit是通用的单元测试组件。建议你找个文档看看,然后下载玩玩。
3JSON
JSON逐渐成为前端数据交互的标准格式。为了在项目中使用JSONAPI,您还需要导入它的jar包。一般我们会用阿里提供的fastjson,那就下载吧,玩得开心。
当然还有很多常用的JavaWeb组件,比如HTTPClient,一些加密工具,一些压缩工具等等,所以我就不多说了这里就不一一列举了。
5摘要
那个今天就到这里。It更像是a"项目文章"而不是一篇预备文章。因为学完基础知识后基础内容之后,做项目是最好的复习和练习。所以它难怪这篇文章关注于做项目。
今天主要讲做好一个JavaWeb项目需要哪些知识储备和技术,我也推荐一些优秀的视频课程。
后面我还会写一篇文章,具体讲讲项目怎么做,会更详细,更侧重于怎么做,敬请关注。
今天总结以下几点:
1Java基础知识储备2前端知识储备3了解和使用JavaWeb常用技术4JavaWeb常用组件介绍5视频课程推荐俗话说,磨刀不误砍柴工。相信看完这篇文章,你可以更好的做好知识储备,然后开始JavaWeb项目实践。我希望你能成功完成你的第一个项目。
官方账号个人官方账号:程序员黄
黄985硕士,阿里巴巴Java工程师。在自学编程、技术求职、Java学习方面有着丰富的经验和独到的见解,希望能帮助到更多想从事互联网行业的程序员。作者专注于技术栈,JAVA的后端,并热衷于分享程序员干货,学习经验,求职经验,还有自学编程和Java技术栈的相关干货。黄是一个坚持学习和写作的斜杠青年,相信终身学习的力量,希望和更多的程序员成为朋友,共同进步和成长!
原创电子书关注官方账号【程序员黄】回复【原创电子书】即可获取我的原创电子书了。这本电子书总结了我两年的Java学习,包括学习方法、技术总结、求职经验、面试技巧,已经帮助很多程序员拿到了心仪的offer!
程序员3T技术学习资源:有些程序员学习技术资源包。关注官方账号后,后台可以回复关键词"材料与工程免费获取,包括Java,python,C,大数据,机器学习,前端,移动终端的技术资料。
科技官方账号:Java科技江湖
如果想实时关注我的更新文章和分享干货,可以关注我的官方账号【Java技术江湖】。
这是一个阿里Java工程师的技术停留。作者黄重点介绍了Java相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔也会谈到Dock:关注官方账号,回复"Java和掌握Java的基础、高级和项目。以及其他免费的学习资料,如数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理与实践。此外,干货资源如作者的原版Java学习指南和Java程序员面试指南也将呈现。
写过的代码如何进行管理?
管理代码必须使用scm。现在git是主流,其次是svn,还有一些其他的,比如cvs等等。建议题主直接用git。
Git最重要的特点是分布式分支,另一个就是仍然可以离线实现代码的版本管理,因此受到大多数程序员的青睐。
如果主体只是在本地管理代码,那么他只需要安装git,ideaeclipse就可以很容易地与git集成。如果主体需要远程库进行开发或与他人共享,可以使用现有的免费私有库或公共库服务,如githubgitlabbitbucket,国内的如阿里云代码、Codecloudgitee等。同时,如果主体需要自己管理代码存储,可以考虑安装gitlab进行私有化部署。