集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Java >

成都Java工程师推荐java学习路线以及方法

发布者: 成都达内     浏览次数:     发布时间:2019-05-28 10:23:52

很多人在学完 Java 基础之后,不知道后面该如何进行下一步地进行学习,或者不知道如何去学习。如何系统地学习 Java 一直是困扰着很多新手或者期待在 Java 方向进阶的小伙伴的一个问...

  前言

  刚开始,我仅仅接触过 C 语言,对 C 语言的掌握程度仅仅是可以完成老师布置的课后习题。那时候我的主要的精力都放在了参加各种课外活动。

  刚接触到 HTML、CSS、JS、Java、Linux、PHP 这些名词。开始接触Java的时候因为工作的需要我选择的安卓方向,我自己是在学习了大概3个月的安卓方向的知识后才转向Java后台方向的。最开始自己学习的时候,走了一些弯路,但是总体路线相对来说还是没问题的。我读的第一本 Java Web方向的书籍是《Java Web整合开发王者归来》,这本书我现在已经不推荐别人看了,一是内容太冗杂,二是年代比较久远导致很多东西在现在都不适用了。

  很多人在学完 Java 基础之后,不知道后面该如何进行下一步地进行学习,或者不知道如何去学习。如何系统地学习 Java 一直是困扰着很多新手或者期待在Java方向进阶的小伙伴的一个问题。我也在知乎上回答了好几个类似的问题,我觉得既然很多人都需要这方面的指导,那我就写一篇自己对于如何系统学习 Java后端的看法。刚好关注公众号的很多朋友都是学 Java 不太久的,希望这篇文章对学习 Java 的朋友能有一点启示作用。

  由于个人能力有限,下面的成都Java工程师学习路线以及方法推荐一定还有很多欠缺的地方。欢迎有想法的朋友在评论区说一下自己的看法。本文适合刚入门或者刚入门不久的朋友,比较基础。

  学习路线以及方法推荐

  下面的学习路线以及方法是笔主根据个人学习经历总结改进后得出,我相信照着这条学习路线来你的学习效率会非常高。建议使用 Intellij IDEA进行编码,可以单独抽时间学习 Intellij IDEA 的使用。

  成都Java工程师推荐java学习路线以及方法

  step 1:Java 基础

  《Java 核心技术卷 1/2》 和 《Head First Java》 这两本书在我看来都是入门 Java 的很不错的书籍 (《Java 核心技术卷1/2》 知识点更全,我更推荐这本书),我倒是觉得《Java 编程思想》有点属于新手劝退书的意思,慎看,建议有点基础后再看。对于Java8新特性的东西,我建议你基础学好之后可以看一下,暂时看不太明白也没关系,后面抽时间再回过头来看。

  看完之后,你可以用自己学的东西实现一个简单的 Java 程序,也可以尝试用 Java 解决一些编程问题,以此来将自己学到的东西付诸于实践。

  记得多总结!打好基础!把自己重要的东西都记录下来。 API文档放在自己可以看到的地方,以备自己可以随时查阅。为了能让自己写出更优秀的代码,《Effective Java》、《重构》 这两本书没事也可以看看。

  学习完之后可以看一下关于 Java 基础你不得不会的 34 个问题 ,检测一下自己的掌握情况,这 34 个问题都时 Java中比较重要的知识点,最重要的是在 Java 后端面试中的出场率非常高。

  step 2:多线程的简单使用

  多线程这部分内容可能会比较难以理解和上手,前期可以先简单地了解一下基础,到了后面有精力和能力后再回来仔细看。推荐《Java 并发编程之美》 或者《实战 Java 高并发程序设计》 这两本书。

  学习完多线程之后可以通过下面这些问题检测自己是否掌握

  Java 多线程知识基础:

  什么是线程和进程?

  请简要描述线程与进程的关系,区别及优缺点?

  说说并发与并行的区别?

  为什么要使用多线程呢?

  使用多线程可能带来什么问题?

  说说线程的生命周期和状态?

  什么是上下文切换?

  什么是线程死锁?如何避免死锁?

  说说 sleep() 方法和 wait() 方法区别和共同点?

  为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?

  成都Java工程师推荐java学习路线以及方法

  Java 多线程知识进阶:

  synchronized 关键字:①说一说自己对于 synchronized 关键字的了解;②说说自己是怎么使用 synchronized关键字,在项目中用到了吗;③讲一下 synchronized 关键字的底层原理;④说说 JDK1.6 之后的 synchronized关键字底层做了哪些优化,可以详细介绍一下这些优化吗;⑤谈谈 synchronized 和 ReentrantLock 的区别。

  volatile 关键字: ①讲一下 Java 内存模型;②说说 synchronized 关键字和 volatile 关键字的区别。

  ThreadLocal:①简介;② 原理;③ 内存泄露问题。

  线程池:①为什么要用线程池?;②实现 Runnable 接口和 Callable 接口的区别;③ 执行 execute() 方法和 submit() 方法的区别是什么呢?;④ 如何创建线程池。

  Atomic 原子类: ①介绍一下 Atomic 原子类;② JUC 包中的原子类是哪 4 类?;③ 讲讲 AtomicInteger 的使用;④ 能不能给我简单介绍一下 AtomicInteger 类的原理。

  AQS :①简介;②原理;③ AQS 常用组件。

  step 3(可选):操作系统与计算机网络

  操作系统这方面我觉得掌握操作系统的基础知识和 Linux 的常用命令就行以及一些重要概念就行了。

  对于 Linux 我们要掌握基本的使用就需要对一些常用命令非常熟悉比如:目录切换命令、目录操作命令、文件的操作命令、压缩或者解压文件的命令等等。

  计算机网络方面的学习,我觉得掌握基本的知识就行了,不需要太深究,一般面试对这方面要求也不高,毕竟不是专门做网络的。推荐 《网络是怎样连接的》 、《图解 HTTP》 这两本书来看,这两本书都属于比较有趣易懂的类型,也适合没有基础的人来看。

  step 4(可选):数据结构与算法

  如果你想进入大厂的话,我推荐你在学习完 Java 基础或者多线程之后,就开始每天抽出一点时间来学习算法和数据结构。为了提高自己的编程能力,你也可以坚持刷 Leetcode。就目前国内外的大厂面试来说,刷Leetcode 可以说已经成了不得不走的一条路。

  成都Java工程师对于想要入门算法和数据结构的朋友,建议看这两本书 《算法图解》 和 《大话数据结构》,这两本书虽然算不上很经典的书籍,但是比较有趣,对于刚入门算法和数据结构的朋友非常友好。《算法导论》 非常经典,但是对于刚入门的就不那么友好了。

  另外,还有一本非常赞的算法书推荐给各位,这本书的名字就叫《算法》,书中的代码都是用 Java语言编写。这本书的优点太多太多比如它的讲解基础而全面、对阅读者比较友好等等。除了这本书之外,《剑指 offer》 、《编程珠玑》 、《编程之美》这三本书都被很多大佬推荐过了,对于算法面试非常有帮助。《算法之美》 这本书也非常不错,非常适合闲暇的时候看。

  成都Java工程师推荐java学习路线以及方法

  step 5:前端知识

  这一步主要是学习前端基础 (HTML、CSS、JavaScript),当然 BootStrap、VUE 等等前端框架你也可以了解一下。推荐先把 HTML、CSS、JS 的基础知识过一遍,然后通过一个实际的前端项目来巩固。

  step 5:MySQL

  学习 MySQL 的基本使用,基本的增删改查,SQL 命令,索引、存储过程这些都学一下吧!推荐书籍 《SQL 基础教程(第 2 版)》(入门级)、《高性能 MySQL : 第 3 版》(进阶)、《MySQL 必知必会》。

  step 6:Maven

  建议学习常用框架之前可以提前花半天时间学习一下Maven的使用。(到处找 Jar 包,下载 Jar 包是真的麻烦费事,使用 Maven可以为你省很多事情)

  step 7:常用框架

  学习 Struts2(可不用学)、Spring、SpringMVC、Hibernate、Mybatis、shiro 等框架的使用, (可选) 熟悉 Spring 原理(大厂面试必备),然后很有必要学习一下 SpringBoot。我也遇到很多公司对于应届生直接上手SpringBoot,不过我还是推荐你把Spring、SpringMVC 好好学一下。

  Spring 真的很重要! 一定要搞懂 AOP 和 IOC 这两个概念。Spring 中 bean 的作用域与生命周期、SpringMVC 工作原理详解等等知识点都是非常重要的,一定要搞懂。

  推荐看文档+视频结合的方式,中途配合实战来学习。

  step 8:高性能网站架构

  学习 Dubbo、Zookeeper、常见的消息队列(比如ActiveMq、RabbitMQ)、Redis 、Elasticsearch 的使用。

  一定要学会拓展知识,养成自主学习的意识。黑马项目对这些知识点的介绍都比较蜻蜓点水。

  step 9:其他

  可以再回来看一下多线程方面的知识,还可以利用业余时间学习一下 NIO 和 Netty ,这样简历上也可以多点东西。如果想去大厂,JVM 的一些知识也是必学的(Java 内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM 内存管理)推荐《深入理解 Java 虚拟机:JVM 高级特性与最佳实践(最新第二版》和《实战Java虚拟机》,如果嫌看书麻烦的话,你也可以看我整理的文档:。

  另外,现在微服务特别火,很多公司在面试也明确要求需要微服务方面的知识。如果有精力的话可以去学一下SpringCloud生态系统以及其他微服务常用框架。

  总结

  成都Java工程师推荐java学习路线以及方法

  我上面主要概括一下每一步要学习的内容,对学习规划有一个建议。知道要学什么之后,如何去学呢?我觉得学习每个知识点可以考虑这样去入手:官网(大概率是英文,不推荐初学者看)、书籍(知识更加系统完全,推荐)、视频(比较容易理解,推荐,特别是初学的时候)、网上博客(解决某一知识点的问题的时候可以看看)。

  这里给各位一个建议,看视频的过程中最好跟着一起练,要做笔记!最好可以边看视频边找一本书籍看,看视频没弄懂的知识点一定要尽快解决,如何解决?首先百度/Google,通过搜索引擎解决不了的话就找身边的朋友或者认识的一些人。另外,一定要进行项目实战!很多人这时候就会问没有实际项目让我做怎么办?我觉得可以通过下面这几种方式:

  在网上找一个符合自己能力与找工作需求的实战项目视频或者博客跟着老师一起做。做的过程中,你要有自己的思考,不要浅尝辄止,对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去往深出学。

  Github 或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。

  自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖。

  做项目不光要做,还要改进,改善。另外,如果你的老师有相关 Java 后台项目的话,你也可以主动申请参与进来。

  成都Java工程师一定要学会分配自己时间,要学的东西很多,真的很多,搞清楚哪些东西是重点,哪些东西仅仅了解就够了。一定不要把精力都花在了学各种框架上,算法和数据结构真的很重要!



(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56