致Java初学者
致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初学者的更多相关文章
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- 对Java初学者的忠告
1) 适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况. 如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的 ...
- Java初学者笔记
Java初学者笔记 前提:认识汉字,认识英语单词,会用键盘打字 ------------------------------- 端口是什么: --------面向对象编程(OOP) 接口”(Inter ...
- 给JAVA初学者的50个忠告
摘自: http://wenku.baidu.com/link?url=p5vDKt5bKzUXxG_hAsB9XopHJRROeovOGGh4jnXGZXiUedR-fNOLO7zb6ddENo5U ...
- java 初学者需注意问题
1.Java为什么能跨平台运行? Java语言编写的程序既是编译型的,又是解释型的.程序代码经过编译之后转换为一种Java字节码的中间语言,Java虚拟机即JVM将对字节码进行解释和运行.编译只进行一 ...
- 一位资深程序员给予Java初学者的学习路线建议
一位资深程序员给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干 ...
- Java初学者:深度辨析"=="与equals的区别
Java初学者:深度辨析"=="与equals()方法的区别 1.基本数据类型当中,"=="比较的是两个变量的值 int a=5; int b=4; 3 int ...
- Java初学者必知 关于Java字符串问题
摘自 http://developer.51cto.com/art/201503/469443.htm 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学 ...
- 转载:一位资深程序员大牛给予Java初学者的学习路线建议
一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打 ...
随机推荐
- 如何检查linux是否安装了php
方法一.在终端通过php -v命令来查看一下当前php的版本.如果没有安装php,一般会提示没有php这个命令的. 2 方法二.在终端查询安装的包中是否有php,以redhat为例,则可以执行如下命令 ...
- java基本类型和String之间的转换
String → 基本类型,除了Character外所有的包装类提供parseXxx(String s)静态方法,用于把一个特定的字符串转换成基本类型变量: 基本类型 → String,String ...
- js(一) 三大事件 实现注册验证
ps:小声比比,为什么一周多没更,因为js真的好难啊. 上一周做了一整周的jsp+sevlet+mysql做了一个MVC模式的最基本的新闻系统源码会有空搞出来的 好累 好多的. 三大事件 (鼠标事件. ...
- Python--day40--主线程和子线程代码讲解
1,最简单的线程例子: 2,多线程并发: import time from threading import Thread #多线程并发 def func(n): time.sleep(1) prin ...
- HDU 2871"Memory Control"(线段树区间和并+set.lower_bound)
传送门 •题意 有 n 个内存单元(编号从1开始): 给出 4 种操作: (1)Reset :表示把所有的内存清空,然后输出 "Reset Now". (2)New x :表示申请 ...
- Python--day33--当面试时候问到如何解决黏包问题?的回答。
- grep简介
grep -ril "xxxxx" . :查看当前目录下所有文件是否包含指定字符,只输出符合条件的文件名 -r :递归查找 -i:忽略大小写 -l :只输出文件名
- linux平台依赖性
每个电脑平台有其自己的特点, 内核设计者可以自由使用所有的特性来获得更好的性能. in the target object file ??? 不象应用程序开发者, 他们必须和预编译的库一起连接他们的代 ...
- C# 在基类定义好方法让子类继承接口就能实现
在 C# 里面,接口的定义只需要类里面存在和接口声明相同的方法或属性就可以,而存在的方法或属性是在子类定义的还是基类里面定义的都无所谓.也就是在基类里面写好了方法,但不继承接口,等子类继承接口的时候就 ...
- poll 和 select 底层的数据结构
poll 和 select 系统调用的真正实现是相当地简单, 对那些感兴趣于它如何工作的人; epoll 更加复杂一点但是建立在同样的机制上. 无论何时用户应用程序调用 poll, select, 或 ...