致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. pip安装软件包报Could not fetch URL

    报这个错误的原因是python.org已经不支持TLSv1.0和TLSv1.1了.更新pip可以解决这个问题,但是你不能用命令 pip install --upgrade pip 做更新,因为TLS证 ...

  2. -Bash: Unzip: Command Not Found解决方法 安装unzip

    利用unzip命令解压缩的时候,出现-bash: unzip: command not found的错误. unzip——命令没有找到,其原因肯定是没有安装unzip.利用一句命令就可以解决了. 命令 ...

  3. springmvc url处理映射的三种方式:

    一.SpringMVC简介 SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,并管理应用所需对象 ...

  4. 【js】vue 2.5.1 源码学习 (十一) 模板编译compileToFunctions渲染函数

    大体思路(九) 本节内容: 1. compileToFunctions定位 1. compileToFunctions定位 ==> createCompiler = createCompiler ...

  5. 2018-3-31-C#-谁改了我的代码

    title author date CreateTime categories C# 谁改了我的代码 lindexi 2018-3-31 21:15:3 +0800 2018-2-13 17:23:3 ...

  6. EJB版本

    1999: ejb version 1.1 -- j2ee 1.22001: ejb version 2.0 -- j2ee 1.32003: ejb version 2.1 -- j2ee 1.42 ...

  7. C# 字典 Dictionary 的 TryGetValue 与先判断 ContainsKey 然后 Get 的性能对比

    本文使用 benchmarkdotnet 测试字典的性能,在使用字典获取一个可能存在的值的时候可以使用两个不同的写法,于是本文分析两个写法的性能. 判断值存在,如果值存在就获取值,可以使用下面两个不同 ...

  8. javascript拷贝

    function copy(obj){ //浅拷贝 var result = {}; for(var attr in obj){ result[attr] = obj[attr]; } return ...

  9. CentOS 7 端口白名单设置

    # 查看白名单列表 firewall-cmd --zone=public --list-ports # 添加白名单端口 firewall-cmd --zone=public --add-port=/t ...

  10. 33.python之操作系统,进程,线程

    转载:https://www.cnblogs.com/yuanchenqi/articles/6248025.html 操作系统 一 为什么要有操作系统? 现代计算机系统是由一个或者多个处理器,主存, ...