致Java初学者

精心整理资料点击获取

前言

​ 能看到这篇文章的朋友,应该都或多或少的了解Java,也许你现在是个菜鸟还在成长的路上。再此期间你一定遇到了很多困惑疑虑,对未来的学习方向感到很迷惑。作为过来人我非常了解你们现在的处境。我是从2014开始接触Java这门编程语言的,从2017年从事Java相关开发工作,也是一个奋力奔跑的菜鸟,直到今天我还在不断的学习,提升自己的技能,学无止境,学习永远在路上。回顾自己的学习历程,也是充满了困难与挑战,也层迷茫与失落过,但最后都坚持过来了。今天特此写这篇文章,就是为了帮助曾经像我一样迷惑的Java初学者,可能这篇文章对你的提升不是很高,但是它能给你足够的勇气坚持下去,证明当初自己的选择是没错的。

​ 记得我当时学Java时,没人指点一切都能靠自己摸索。就和舍友共同出资在TB买了视频,然后就一抹黑的闷着头往下学,遇到问题只能百度。庆幸自己当初坚持了下来。

脚踏实地,明确学习目标

在现在这个社会,能够保持一颗学习的心,思考的心,我觉的是很难得的。我始终认为学习是一个循序渐进的过程。
从基础到难,从广度在到深度。不应该急功近利的着急上来就学习框架,基础都弄不明白,框架是很难应用起来的。

一个合格的Java程序员成长路线应该是这样的:

基础语法学习项目训练

框架学习

综合项目训练

初级程序员

中级程序员

高级程序员

资深架构师

脚踏实地,一步一个脚印,不要急于求成,做好每一步都将花费很多精力专研和学习,在这个过程中可能会遇到各种各样难解的问题,可能会打消学习的积极性,保持一个冷静的心,迎难而上。

指定良好的学习计划,按照计划实施学习。这样可以让你少出弯路,尽快成为一个合格的Java程序员。

在学习Java之前准备工作

在学习Java之前首先应该

第一:三问自己

一问:应该了解Java是什么?

二问:我为什么要学习Java?

三问:学完Java能干什么?

第二:安装环境

现在Java的发行版很多,对于初学者来说可能不知道下载那个版本的JDK,在这里我建议从JDK8学起,应该Java8提供了很多高级特性,对于以后的编程帮助非常大,而且现在很多开源的框架也是基于Java8开发的。

工利善其事,必先利其器

学好Java编程工具非常重要,可能对于初学者大多数接触最多的就是Eclipse或MyEclipse,之前我也用的是这。后来在同事熏陶下用了Idea,真的是太香了,非常值得推荐的开发工具,集成了很多优秀的插件,对你学习编程将起到事半功倍的效果。

严格遵守代码规范

才开始学习的时候,可能的想法就是,只要代码不报错,能运行跑起来就行了。代码规范就和我们的生活习惯一样,坏的陋习对我们的生活影响非常大。代码规范也是同理,所以就应该从开始就严格要就自己,遵守代码规范。

这里推荐《阿里Java开发手册》,Idea也集成了这个代码规范插件。

书籍推荐

作为过来人,走了很多冤枉路,踩了很多坑,但还是希望能够保持一个冷静,平常的心去学习。以下每个阶段推荐看的书籍,
如果你还迷茫,如果你还排序,那就拿出姿态行动吧

第一阶段推荐书籍

这个阶段主要是学习和了解Java基础

书名 推荐指数 备注
Java huashan-2019-06-20 5星 阿里Java开发手册信息版本
Java8实战 5星 从0了解Java8
疯狂JAVA讲义 4星 初学者入门书籍
Java核心技术 卷1 基础知识 原书第10版 5星 Java开发者必读书籍

这个阶段不推荐看《Java编程思想》因为你的功力还没到看的时候

第二阶段推荐书籍

这个阶段主要是学习和了解数据库相关数据

书名 推荐指数 备注
MySQL必知必会(文字版) 5星 从零开始学习Mysql
第三阶段推荐书籍

这个阶段你可能会接触一些前端的知识,包括Html,css,Javascript,jquery等

书名 推荐指数 备注
JavaScript高级程序设计(第3版)中文 高清 4星 内容全面
第四阶段推荐书籍

这个阶段你可能会接触Javaweb相关学习,了解servlet,学会写一些简单页面

第五阶段推荐书籍

这个阶段就需要学习一些框架像spring,mybatis等

书名 推荐指数 备注
Spring 3.x企业应用开发实战(高清版) 5星 内容全面,值得对看几遍
精通Spring4.x企业应用开发实战 5星 同一作者,框架版本不一样
Spring实战(第4版) 5星 内容全
Mybatis 4星 入门书籍
第六阶段推荐书籍

这个阶段可能就会学习一些高级部分如springboot,springcloud

书名 推荐指数 备注
JavaEE开发的颠覆者 Spring Boot实战 5星 springboot入门强烈推荐
Spring Boot+Vue全栈开发实战 4星 偏于实战
Spring Cloud微服务实战 5星 springcloud学习必看书籍
Spring Cloud与Docker微服务架构实战 5星 springcloud学习必看书籍
第七阶段推荐书籍

这个阶段可能就会学习一些高级中间件,如kafka,rabbitMQ,Docker

书名 推荐指数 备注
第一本DOCKER书 修订版 5星
Docker技术入门与实战第3版 4星
第八阶段推荐书籍

这个阶段可能就是了解一些架构方面的书籍
关注下面公众号,获取更多书籍和学习资料

鄙人学术短浅,也在学习中

学习指南

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最后希望以上说描述的,能够帮助到你。

微信公众号


JAVA程序猿成长之路
分享资源,记录程序猿成长点滴。专注于Java,Spring,SpringBoot,SpringCloud,分布式,微服务。

致Java初学者的更多相关文章

  1. 一位资深程序员大牛给予Java初学者的学习路线建议

    java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...

  2. 对Java初学者的忠告

    1) 适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况. 如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的 ...

  3. Java初学者笔记

    Java初学者笔记 前提:认识汉字,认识英语单词,会用键盘打字 ------------------------------- 端口是什么: --------面向对象编程(OOP) 接口”(Inter ...

  4. 给JAVA初学者的50个忠告

    摘自: http://wenku.baidu.com/link?url=p5vDKt5bKzUXxG_hAsB9XopHJRROeovOGGh4jnXGZXiUedR-fNOLO7zb6ddENo5U ...

  5. java 初学者需注意问题

    1.Java为什么能跨平台运行? Java语言编写的程序既是编译型的,又是解释型的.程序代码经过编译之后转换为一种Java字节码的中间语言,Java虚拟机即JVM将对字节码进行解释和运行.编译只进行一 ...

  6. 一位资深程序员给予Java初学者的学习路线建议

    一位资深程序员给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干 ...

  7. Java初学者:深度辨析"=="与equals的区别

    Java初学者:深度辨析"=="与equals()方法的区别 1.基本数据类型当中,"=="比较的是两个变量的值 int a=5; int b=4; 3 int ...

  8. Java初学者必知 关于Java字符串问题

    摘自 http://developer.51cto.com/art/201503/469443.htm 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学 ...

  9. 转载:一位资深程序员大牛给予Java初学者的学习路线建议

    一位资深程序员大牛给予Java初学者的学习路线建议   java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打 ...

随机推荐

  1. codeforces1217-edu

    C The Number Of Good Substrings 我原来的基本思路也是这样,但是写的不够好 注意算前缀和的时候,字符串起始最好从1开始. #include<cstdio> # ...

  2. 立足GitHub学编程:13个不容错过的Java项目

    立足GitHub学编程:13个不容错过的Java项目 今天我们将整理一大波干货满满的Java示例代码与能力展示素材. GitHub可谓一座程序开发的大宝库,有些素材值得fork,有些则能帮助我们改进自 ...

  3. Educational Codeforces Round 7、

    A - Infinite Sequence 题意:有一种这样的无限序列数 1,1,2,1,2,3.....   (如果最大数n,那么就有从1到n的所有1到n的数): 思路:题意只给了1秒.直接模拟肯定 ...

  4. Codeforces Round #186 (Div. 2)

    A. Ilya and Bank Account 模拟. B. Ilya and Queries 前缀和. C. Ilya and Matrix 考虑每个元素的贡献. 边长为\(2^n\)时,贡献为最 ...

  5. HttpMessageNotWritableException: Could not write JSON: Infinite recursion (StackOverflowError); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite

    org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Infinite r ...

  6. 浅谈集合框架二 List、Set常用方法

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  7. spring security BCryptPasswordEncoder加密解密,不错的随机盐,不错的加密解密方法

    项目中用这个加密感觉不错啊,推荐: 1.先大体看看,了解一下 浅谈使用springsecurity中的BCryptPasswordEncoder方法对密码进行加密(encode)与密码匹配(match ...

  8. git提交时如何忽略一些文件

    起因 在使用git对软件进行版本管理的时候我们总有一些不需要提交到版本库里的文件和文件夹,或者在管理一个实际应用的开源项目的时候,不可以把带有数据库信息的文件上传到开源平台当中,这个时候我们就需要让g ...

  9. H3C网络监测工具命令

    1.Debugging 2.Display debugging 3.Display diagnostic-information display diagnostic-information 命令用来 ...

  10. jQuery 工具类函数-URL操作函数

    调用名为$. param的工具函数,能使对象或数组按照key/value格式进行序列化编码,该编码后的值常用于向服务端发送URL请求,调用格式为: $. param (obj); 参数obj表示需要进 ...