致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. 如何检查linux是否安装了php

    方法一.在终端通过php -v命令来查看一下当前php的版本.如果没有安装php,一般会提示没有php这个命令的. 2 方法二.在终端查询安装的包中是否有php,以redhat为例,则可以执行如下命令 ...

  2. java基本类型和String之间的转换

    String → 基本类型,除了Character外所有的包装类提供parseXxx(String s)静态方法,用于把一个特定的字符串转换成基本类型变量: 基本类型 → String,String ...

  3. js(一) 三大事件 实现注册验证

    ps:小声比比,为什么一周多没更,因为js真的好难啊. 上一周做了一整周的jsp+sevlet+mysql做了一个MVC模式的最基本的新闻系统源码会有空搞出来的 好累 好多的. 三大事件 (鼠标事件. ...

  4. Python--day40--主线程和子线程代码讲解

    1,最简单的线程例子: 2,多线程并发: import time from threading import Thread #多线程并发 def func(n): time.sleep(1) prin ...

  5. HDU 2871"Memory Control"(线段树区间和并+set.lower_bound)

    传送门 •题意 有 n 个内存单元(编号从1开始): 给出 4 种操作: (1)Reset :表示把所有的内存清空,然后输出 "Reset Now". (2)New x :表示申请 ...

  6. Python--day33--当面试时候问到如何解决黏包问题?的回答。

  7. grep简介

    grep -ril "xxxxx" .   :查看当前目录下所有文件是否包含指定字符,只输出符合条件的文件名 -r :递归查找 -i:忽略大小写 -l :只输出文件名

  8. linux平台依赖性

    每个电脑平台有其自己的特点, 内核设计者可以自由使用所有的特性来获得更好的性能. in the target object file ??? 不象应用程序开发者, 他们必须和预编译的库一起连接他们的代 ...

  9. C# 在基类定义好方法让子类继承接口就能实现

    在 C# 里面,接口的定义只需要类里面存在和接口声明相同的方法或属性就可以,而存在的方法或属性是在子类定义的还是基类里面定义的都无所谓.也就是在基类里面写好了方法,但不继承接口,等子类继承接口的时候就 ...

  10. poll 和 select 底层的数据结构

    poll 和 select 系统调用的真正实现是相当地简单, 对那些感兴趣于它如何工作的人; epoll 更加复杂一点但是建立在同样的机制上. 无论何时用户应用程序调用 poll, select, 或 ...