超详细的Java学习路线总结–(入门到精通 ,附Java视频教学)

6个月前发布 SanS三石
37 0 0

一、个人背景

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

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

二、java自学内容

1、基础知识

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

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

学习的网站有:

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

超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)

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

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

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

还可以听老杜的MySQL基础入门到精通视频教程,这个视频也是我刚开始学习mysql比较喜欢喜欢看的:

该网页的视频不仅仅有数据库知识点的教程,最主要是还有许多案例,就差手把手教你写sql了。除此之外该视频还有配套的讲义和练习题,让你摆脱那种只看知识点的恐惧,让你动起手来学习sql的一些基本语法。

可以去下列网站学习Mysql:

3、一些其它的有用知识

(1) java8编程

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

下图是常用的api:

超详细的Java学习路线总结--(入门到精通 ,附Java视频教学)
常用api

你可以看看java 8 新特性的博客如:

(2)jvm的学习

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

(3)并发编程思想

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

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

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

  • 基本的线程机制

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

  • 共享受限资源

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

  • 线程之间的协作

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

你可以通过以下网站学习并发编程:

你也可以看视频学习如;

(4)Java设计模式

设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
学习这部分内容的时候,比如说分布式架构,你可以看以下视频:

该视频教你一步步使用dubbo,学习这一部分的知识你可能会出现很多错误,这时候不要恐慌,也不要着急。慢慢来一个一个解决,跟着视频慢慢的学,千万不要涂快,也不要有拖延症。跟着视频一步步了解分布式的思想和使用。

或者你可以看以下视频:Shiro教程

关于设计模式你也参考慕课网学习:(这个要花钱的)

或者一些编程网站和博客内去学习大佬的经验总结也不错:

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创建的工程,提供约定、缺省、默认的配置,去简化传统手动、一步一步配置的开发方式。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...