Java教程

超详细的Java学习路线总结--(入门到精通 )

本文主要是介绍超详细的Java学习路线总结--(入门到精通 ),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、个人背景

作为一个java后端开发工程师,我从上学以来接触java已经有6个年头,我在知乎上经常看到许多同学在问如何学习java,编程如何入门之类的问题,我知道刚开始学习java的你们肯定很着急,我当时也是这样,感觉对编程一无所知,焦虑又害怕。其实不必过于担心,只要找到一个合适的学习方法+勤奋的练习+合理的规划。然后静下心来仔细思考,你就能攻克java这门编程语言。

首先,开始学习java之前,我们要知道,我们要学习哪些东西。现在的编程技术发展的太快了,我们不可能把所有的知识都学会,那样也不现实。所以知道学习java要学习什么是相当关键的,可以避免我们走很多弯路。
下面我就来说说java的自学内容,下面也有一些资料供大家参考。

二、java自学内容

1、基础知识

Java学习的重点和难点恰恰集中在Java的基础语法阶段,这个阶段要理解Java的各种“抽象概念”,逐渐建立Java的编程思想。Java语言是抽象程度比较高的语言,学习Java就是学习各种“抽象”,比如类、接口、抽象类、内部类、enum等概念。要想掌握这部分知识,一个重点就在于大量的练习。

学习基础知识的时候,我知道你们有时候会很迷茫,书看了一遍又一遍。但是感觉自己啥也没学到。如果你是处于这种状态,那你不妨去看看一些网上的视频。

学习的网站有:

  • 菜鸟教程:https://www.runoob.com/java/java-tutorial.html (菜鸟学习的经典网站)
  • 牛客网:https://www.nowcoder.com/ (一个很好的刷题网站)
  • 虫洞栈(比较全面,从java基础到各个阶段的有涉及)
  • 慕课网 https://www.imooc.com/ (一个垂直的互联网IT技能学习网站)

2、学习计算机的一些基础知识

  • 计算机导论

  • 《模拟与数字电路》

  • 《计算机组成原理》

  • 《计算机体系结构》

  • 《操作系统》

  • 《编译原理》

  • 《数据结构》

  • 《数据库原理》

  • 《计算机网络原理》

(注:上面的书籍推荐,有些是和链接虽然分开的但也是匹配相关的,有的是文章、有的是问答、有的是大佬博客;总之能让你更好的加深理解。)

数据结构,你需要会使用一些简单的容易比如list或者set等,链表、hashMap等的使用,还要了解二叉树,树的遍历及图。计算机系统知识,内存,函数的调用,计算机的组成。操作系统,进程和线程、锁、并发问题,内存中的分段,页面置换等算法。学习数据库基础知识,并学习基本的增删查改。

这里推荐两本比较不错的书籍《SQL必知必会》,《数据库系统概念》,做开发的一定离开不了数据库,所以数据库知识要学习扎实。

3、一些其它的有用知识

(1) java8编程

其中包括lambda表达式、Stream api、并发增强、Nashorn。

下图是常用的api:

                                                                常用api

(2)jvm的学习

JVM 是 Java 后端面试(大厂)中非常重要的一环。不论是应届还是社招,面试国内的一些大厂,你都会被问到很多 JVM 相关的问题。比如程序计数器、虚拟机栈、本地方法栈、堆、方法区,类加载机制,双亲委派模型

(3)并发编程思想

这里可以推荐大家看看《java并发编程之美》、《深入浅出java多线程》,《Java并发实现原理:JDK源码剖析》这几本书,比较不错,我都看过,确实挺好。

  • 你需要了解:并发的多面性

java采取了更加传统的方式,在顺序语言的基础上提供对线程的支持.与多任务操作系统中分叉外部进程不同,线程机制是在由执行程序表示的单一进程中创建任务.这种方式产生的一个好处是操作系统的透明性,这对java而言是一个重要的设计目标。

  • 基本的线程机制

线程的一大好处是可以是你从这个层次抽身出来,即代码不必知道它是运行在具有一个还是多个CPU的机器上.所以,使用线程机制是一种建立透明的 可扩展的程序的方法.多任务和多线程往往是使用多处理器系统的最合理方式。

  • 共享受限资源

了解线程的资源、synchronized关键字、共享资源和锁。

  • 线程之间的协作

任务协作时,关键问题是这些任务之间的握手。为了实现这种握手,使用了相同的基础特性:互斥。

(4)Java设计模式

设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。

4、学习目前主流的框架

如Java 中的spring 框架。(如感觉spring框架太大可以学习spring boot)

spring boot:

Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快,更高效的开发生态系统铺平了道路。 Spring Boot中的一些特征:

  • 创建独立的Spring应用。
  • 嵌入式Tomcat、Jetty、 Undertow容器(无需部署war文件)。
  • 提供的starters 简化构建配置
  • 尽可能自动配置spring应用。
  • 提供生产指标,例如指标、健壮检查和外部化配置
  • 完全没有代码生成和XML配置要求

强调一点:Spring Boot 运用“约定优于配置”的思想,对使用 Spring Boot创建的工程,提供约定、缺省、默认的配置,去简化传统手动、一步一步配置的开发方式。

三、学习规划

分阶段性的给自己定个目标,这样学习效率更高,每个阶段给自己一个评分,并习惯性的总结。

1. java入门阶段

周期与目标:

学习周期:35天

学完后目标:掌握JAVA的基础知识,熟悉对数据库进行基本的增删改查。

2. javaweb的学习

学习周期:33天

学完后目标:可以仿制任何网站前端页面,解决网页浏览器兼容性问题,解决PC端和移动端兼容性问题;使用前端脚本进行相关网页功能特效编写,使用JavaWeb核心技术轻松写出任何网站功能模块,使用JavaWeb高级部分知识解决网站的相关高并发问题,无压力胜任javaEE开发工程师职位。

 

3、框架的学习

学习周期:18天

学完后目标:能够开发JavaEE的后台系统,能够搭建企业级的JavaEE开发框架,能够使用spring boot 开发后台代码。

学习知识点:Spring boot 、Spring框架、Hibernate5框架、Struts2框架。

4、项目实战

周期与目标:

学习周期:16天

学完后目标:基于Oracle数据进行应用开发,可使用Quartz框架完成定时任务调度功能开发,可使用Shiro框架完成认证及授权功能开发,可使用CXF框架完成接口功能开发,可使用amChart完成图计报表功能开发,可使用ApachePOI组件完成导入及导出功能开发,可实现邮件的发送功能,可使用freemarker实现代码自动生成,据有一定的业务需求分析能力。

学习重点:

1)oracle

简单查询、oracle的常用函数、多表查询、集合操作、DDL操作管理表、DML管理数据、其它数据库对象、PL/SQL编程、存储过程与存储函数、触发器

2)maven

maven介绍、maven安装、maven的入门程序、maven仓库、项目构建、依赖管理、maven综合案例、maven的私服

3)项目练手

你可以从网上找点Demo练手、你也可以使用git找点项目练手。寻找项目的方法很多,多练习,才是掌握编程的核心。

一定要记住,学习java,能动手就不要BB。动手能力是一件非常有必要而且高效的事情。

推荐书籍

  1. 《Java 核心技术》
  2. 《程序员修炼之道》
  3. 《计算机程序的构造和解释》
  4. 《人月神话》
  5. 《人件》
  6. 《重构:改善既有代码的设计》
  7. 《黑客与画家》
  8. 《编程珠玑》
  9. 《代码大全》
  10. 《深入理解计算机系统》
  11. 《算法导论》

这篇关于超详细的Java学习路线总结--(入门到精通 )的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!