如何系统全面地自学 Java 语言?

以下分享的视频教程 99% 来源于B站(哔哩哔哩),其余来自于慕课网,有的视频得反反复复来回看,希望这些视频能帮助你系统全面地自学 Java 语言。

一、Java基础

  • 尚硅谷宋红康(强力推荐)
  • https://www.bilibili.com/video/av48144058
  • 动力节点Java零基础教程视频
  • https://www.bilibili.com/video/av11361088
  • 北京尚学堂高琪(推荐)
  • https://www.bilibili.com/video/av30023103
  • 求知讲堂:2019求知讲堂零基础Java入门编程视频教程 高口碑 无废话 无尿点
  • https://www.bilibili.com/video/av76235341
  • 尚硅谷Java8新特性+JUC+NIO
  • https://www.bilibili.com/video/av71563078

二、数据结构与算法

  • 郝斌-数据结构入门
  • https://www.bilibili.com/video/av6159200
  • 尚硅谷韩顺平图解Java数据结构与算法
  • https://www.bilibili.com/video/av54029771
  • 数据结构与算法基础-java版(颜群)
  • https://www.bilibili.com/video/av33835237
  • 清华大学-邓俊辉MOOC数据结构与算法全套
  • https://www.bilibili.com/video/av49361421
  • (小甲鱼)数据结构与算法(全99讲完结版)
  • https://www.bilibili.com/video/av29175690

三、图解Java设计模式

  • 尚硅谷韩顺平-强烈推荐
  • https://www.bilibili.com/video/av57936239

四、Java源码

  • Java 源码分析
  • https://www.bilibili.com/video/av74161334
  • HashMap源码解读
  • https://www.bilibili.com/video/av75133052
  • B站最全Spring全家桶教程——深入源码底层(2019最新)
  • https://www.bilibili.com/video/av64330731

五、Java框架整合

  • 尚硅谷Java视频教程_SSM整合视频教程
  • https://www.bilibili.com/video/av21045215
  • 尚硅谷雷丰阳大神的Spring、Spring MVC、MyBatis课程
  • https://www.bilibili.com/video/av56193747
  • 黑马SSM教程
  • https://www.bilibili.com/video/av47952553
  • SSM框架视频整合+(传智播客)
  • https://www.bilibili.com/video/av29422149
  • SSM框架整合教学IDEA版最新
  • https://www.bilibili.com/video/av73118229

六、Spring源码

  • spring源码全集
  • https://www.bilibili.com/video/av71093907
  • Spring4.x入门视频教程_王泽(广陵散)
  • https://www.bilibili.com/video/av40323796
  • spring-spring注解驱动开发-源码版-雷丰阳-尚硅谷
  • https://www.bilibili.com/video/av71252572
  • Spring5最新完整教程IDEA版【通俗易懂】
  • https://www.bilibili.com/video/av71110355

七、SpringMVC

  • 尚硅谷佟刚Java视频教程_SpringMVC视频
  • https://www.bilibili.com/video/av21272240
  • SpringMVC最新教程IDEA版
  • https://www.bilibili.com/video/av71874024
  • 黑马程序员SpringMVC
  • https://www.bilibili.com/video/av18288362
  • 千锋Java:SpringMVC框架教程
  • https://www.bilibili.com/video/av45556876

八、Mybatis、MyBatisPlus

  • 尚硅谷Java视频教程_MyBatis视频教程(源码级讲授的MyBatis视频)
  • https://www.bilibili.com/video/av21272940
  • 尚硅谷MyBatisPlus教程
  • https://www.bilibili.com/video/av27212529
  • Mybatis最新完整教程IDEA版【通俗易懂】
  • https://www.bilibili.com/video/av69742084
  • MyBatis-Plus入门
  • https://www.imooc.com/learn/1130
  • MyBatis-Plus进阶
  • https://www.imooc.com/learn/1171

九、SpringBoot

  • 尚硅谷SpringBoot整合篇
  • https://www.bilibili.com/video/av23284778
  • SpringBoot最新教程IDEA版
  • https://www.bilibili.com/video/av75233634
  • 2020年最新springboot2.0+shiro+jwt+redis+swagger+layui+thymeleaf 前后端
  • https://www.bilibili.com/video/av78917587
  • 尚硅谷好评如潮【SpringBoot】视频
  • https://www.bilibili.com/video/av20965295

十、SpringCloud

  • SpringCloud-尚硅谷
  • https://www.bilibili.com/video/av49106064
  • 2018千锋Java高级教程-Java微服务架构
  • https://www.bilibili.com/video/av36042649
  • SpringCloud最新教程IDEA版
  • https://www.bilibili.com/video/av76020761
  • SpringCloud+Vue项目实战——社交项目
  • https://www.bilibili.com/video/av63499215

十一、JVM

  • juc 与 jvm – Java 必学 2019版本-阳哥- 尚硅谷- idea
  • https://www.bilibili.com/video/av70166821
  • 尚硅谷_JVM从入门到精通宋红康2020版(持续更新中)
  • https://www.bilibili.com/video/av83622425
  • 深入理解JVM-张龙
  • https://www.bilibili.com/video/av75247289

十二、数据库与缓存

  • 尚硅谷周阳(强力推荐)
  • https://www.bilibili.com/video/av21334868
  • MySQL 基础+高级篇- 数据库 -sql -尚硅谷
  • https://www.bilibili.com/video/av49181542
  • 尚硅谷Mycat教程(mycat分布式架构精讲)
  • https://www.bilibili.com/video/av80469766
  • Redis-尚硅谷redis视频教程-尚硅谷-周阳
  • https://www.bilibili.com/video/av51139549
  • 千锋微服务2019最新Redis教程[千锋南京]
  • https://www.bilibili.com/video/av49517046

十三、Linux

  • 尚硅谷_韩顺平_Linux教程
  • https://www.bilibili.com/video/av21303002
  • 史上最牛的Linux视频教程—兄弟连
  • https://www.bilibili.com/video/av18156598
  • 黑马程序员-linux从入门到精通
  • https://www.bilibili.com/video/av23360560

十四、工具篇

  • 尚硅谷Java视频教程_Maven视频
  • https://www.bilibili.com/video/av36557763
  • Maven基础篇
  • https://www.bilibili.com/video/av54119831
  • 尚硅谷Java视频教程_IDEA视频教程
  • https://www.bilibili.com/video/av30080993
  • IDEA教程-干货大合集
  • https://www.bilibili.com/video/av34324988
  • idea超详细使用教程
  • https://www.bilibili.com/video/av67438327
  • 学会 Git 玩转 Github
  • https://www.bilibili.com/video/av10475153
  • 尚硅谷_Git&GitHub
  • https://www.bilibili.com/video/av24441039
  • 1小时玩转 Git/Github
  • https://www.bilibili.com/video/av55780016

十五、分布式

  • Dubbo 视频教程全集(30P)| 4 小时从入门到精通
  • https://www.bilibili.com/video/av62353311
  • 尚硅谷Zookeeper教程(zookeeper框架精讲)
  • https://www.bilibili.com/video/av32093417
  • 标价199元的Elasticsearch课程,学完感觉值2900元,转手分享给大家!
  • https://www.bilibili.com/video/av65496118
  • 最新ElasticSearch6实战教程
  • https://www.bilibili.com/video/av35882450

十六、实战篇

  • 2020课程-分支教程–SpringBoot2.0-_好客租房项目
  • https://www.bilibili.com/video/av86786545
  • 畅购商城2019最新JAVA项目实战
  • https://www.bilibili.com/video/av79353223
  • 尚硅谷电商项目谷粒商城【springCloud-alibaba】
  • https://www.bilibili.com/video/av79264992
  • Java_谷粒电商-2019版-尚硅谷雷丰阳-电商项目-谷粒商城-尚硅谷-(完毕)-1905
  • https://www.bilibili.com/video/av76369486
  • 2019年最新版Springboot+mybatis+RocketMQ+SpringCloud技术讲解
  • https://www.bilibili.com/video/av45911661
  • SpringBoot项目实战:企业项目管理系统
  • https://www.bilibili.com/video/av65870246

十七、GitHub开源项目

  • SpringBoot学习教程+实战项目推荐
  • spring-boot-demo
    • spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 65 个集成 demo,已经完成 53 个。
    • 项目地址:https://github.com/xkcoding/spring-boot-demo
  • SpringBoot-Labs
    • 基于 Spring Boot 2.X 的 Spring Boot 深入学习项目。
    • 项目地址:https://github.com/YunaiV/SpringBoot-Labs
  • springboot-guide
    • 这个项目主要涵盖了 Spring Boot 比较重要的一些知识点,比如如何优雅地进行异常处理。
    • 项目地址:https://github.com/Snailclimb/springboot-guide
  • springBoot
    • 这个项目同样是 springboot 框架与其它组件结合如 jpa、mybatis、websocket、security、shiro、cache 等。
    • 项目地址:https://github.com/527515025/springBoot
  • eladmin
    • eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。
    • 项目地址:https://github.com/elunez/eladmin
  • mall
    • mall 这个项目的话,是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现,采用 Docker 容器化部署。
    • 项目地址:https://github.com/macrozheng/mall
  • vhr
    • vhr(微人事)这个项目的话,是一个前后端分离的人力资源管理系统,后端基于 SpringBoot 开发,前端基于 Vue 开发,并且,项目加入常见的企业级应用所涉及到的技术点,例如 Redis、RabbitMQ 等。另外,这个项目提供了非常详细的文档。
    • 项目地址:https://github.com/lenve/vhr
  • favorites-web
    • 基于 Spring Boot 2.X 的开源项目。favorites-web(云收藏)是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章。
    • 项目地址:https://github.com/cloudfavorites/favorites-web
  • community
    • 开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。功能持续更新中…… 技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap。
    • 项目地址:https://github.com/codedrinker/community
  • SpringBoot-Shiro-Vue
    • 提供一套基于 Spring Boot-Shiro-Vue 的权限管理思路.前后端都加以控制,做到按钮/接口级别的权限
    • 项目地址:https://github.com/Heeexy/SpringBoot-Shiro-Vue
  • Spring Cloud学习教程+实战项目推荐
  • SpringCloudLearning
    • 这个仓库提供了基于 Spring Cloud Finchley 版本、Greenwich 版本以及 Spring Cloud Alibaba 部分组件的使用教程。总体还是很推荐的,对新手也比较友好!
    • 项目地址:https://github.com/forezp/SpringCloudLearning
  • Spring Cloud 系列教程
    • 这一系列教程同样提供了基于 Spring Cloud Finchley 的版本以及 Spring Cloud Alibaba 相关的内容。并且,还包括一些实用技巧比如:Spring Cloud 中,如何优雅下线微服务?、Spring Cloud 各组件重试总结等等。
    • 项目地址:http://www.itmuch.com/spring-cloud/spring-cloud-index/
  • SpringCloud-Learning
    • 这个开源项目对于 Spring Cloud Alibaba 介绍很详细。
    • 项目地址:https://github.com/dyc87112/SpringCloud-Learning
  • SpringAll
    • 这个仓库涵盖的内容挺多,涵盖了 Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2。Spring Cloud 只是其中的一部分。
    • 项目地址:https://github.com/wuyouzhuguli/SpringAll
  • SpringCloud
    • 这个项目是一个基于 SpringCloud2.1 的微服务开发脚手架,整合了 spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway 等。服务治理方面引入 elasticsearch、skywalking、springboot-admin、zipkin 等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。
    • 项目地址:https://github.com/zhoutaoo/SpringCloud
  • Spring-Cloud-Platform
    • Cloud-Platform 是国内首个基于 Spring Cloud 的微服务开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关 API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用 Spring Boot2 以及 Spring Cloud Gateway 相关核心组件,前端采用 vue-element-admin 组件。
    • 项目地址:https://github.com/wxiaoqi/Spring-Cloud-Platform
  • JeeSpringCloud
    • 基于 SpringBoot2.0 的后台权限管理系统界面简洁美观敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、微服务,同时包含许多基础模块和监控、服务模块。
    • 项目地址: https://gitee.com/JeeHuangBingGui/jeeSpringCloud
  • zuihou-admin-cloud
    • 基于 SpringCloud(Hoxton.SR3) + SpringBoot(2.2.6.RELEASE) 的 SaaS 微服务脚手架,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关 API、分布式事务、大文件断点分片续传等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用 Nacos、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis、SpringBoot、Redis、RibbitMQ 等主要框架和中间件。
    • 项目地址:https://github.com/zuihou/zuihou-admin-cloud
  • piggymetrics
    • 基于 Spring Boot 和 Spring Cloud 和 Docker 的微服务架构。
    • 项目地址:https://github.com/sqshq/piggymetrics
  • mall-swarm
    • mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。mall-swarm 在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套 Spring Cloud 教程。
    • 项目地址:https://github.com/macrozheng/mall-swarm

如何系统全面地自学Java语言?

计算机基础知识:

了解计算机的基本组成部分,包括硬件、操作系统、网络等。这包括对计算机内部结构的理解,以及操作系统的工作原理和网络协议的基础知识。对于硬件,需要了解中央处理器、内存、硬盘、显卡等部件的功能和作用。对于操作系统,需要理解进程、线程、文件系统等概念。对于网络,需要掌握TCP/IP协议、HTTP协议等基础知识。

编程语言:

选择一门编程语言作为起点,例如Python。这是一门易学且广泛应用于各个领域的语言。在掌握基本语法和数据类型的基础上,学习条件语句、循环、函数等控制流程和程序结构的基础知识。同时,也需要学习如何调试代码和处理错误。

编程基础:

学习编程的基本概念,例如变量、数据类型、条件语句、循环、函数等。这是编程的基石,只有掌握了这些基本概念,才能编写出高效的程序。

数据结构与算法:

了解常见的数据结构(例如数组、链表、栈、队列)和算法(例如搜索、排序、递归)。这些数据结构和算法是解决复杂问题的关键工具。

Web开发:

学习HTML、CSS和JavaScript,掌握基本的网页设计和交互开发技能。了解如何创建动态网页和实现用户交互。

数据库: 学习SQL语言和关系型数据库概念,了解如何存储和检索数据。数据库是存储和管理大量数据的重要工具。

版本控制系统: 学习使用Git等版本控制系统,能够管理代码的版本和合作开发。版本控制系统是团队协作和提高工作效率的重要工具。

面向对象编程:

了解面向对象的编程概念和设计模式,例如类、对象、继承、多态等。面向对象编程是解决复杂问题的有效方法。

网络编程:

学习网络编程的基本概念,例如HTTP协议、Socket编程等。了解如何编写网络应用程序和实现网络通信。

通过实际项目来应用所学知识,提升编程能力和解决问题的能力。可以选择一些感兴趣的项目或者应用场景,将所学知识运用到实践中,不断优化和改进自己的代码。在学习过程中,可以通过在线教程、视频教程、图书等多种资源来学习。同时,也要多动手实践,写代码并解决实际问题,从中积累经验和提高能力。

选择学建议你是,理论与实践相结合去入门

入门基础一定要学好。在后期的学习当中也要注意理论与实践相结合,要将所学的理论运用到项目开发中去,一定要多敲代码。

肯定要先制定好学习路线,找到自己想学习的方向和语言,然后进行基础学习,在基础这一阶段,不建议大家自己死翻课本死记硬背,因为书中的有些文字对知识点的描述无法做到非常精准。面授或者跟着老师线上跟学是更好的选择,这两者相比,面授成果是超过线上的。

学习完成和自己学习后独立完成另一个编程完全是两个概念。若是一味去抄,只能让你对这个知识点又熟悉一遍,意义不大。所以,你应该自己独立自主的去思考并实现,这样才能真正的让你把之前掌握的所有的知识点都整合起来。 要找到一个框架去深入研究它的源码和它的底层原理。同时对于架构一定要熟悉和了解,同时算法学习,需要做到熟悉了解并运用。

零基础的话,你需要去记住一些概念性质的东西,同时包括梳理你的逻辑思维、培养自己的代码感。

拉长学习时间,提升学习效率。

拉长学习时间,提升学习效率,首先要制定比较详细的计划,就是一定要规定好自己的学习时间,不能三天打鱼两天晒网,一定要坚持,然后要多上手去练习和记,尤其是Java英语多深刻的记一下(这个不多,总共只有一些,记忆在脑子里就行,如果你需要可以找我要汇总版)。

自学的话,时间会比较长,自学会出现和在线课学习差不多的问题,就是搭建失败或者遇到问题,没有人辅导你的情况下,一定要把你的问题走通了再继续往下学习。而不是得过且过,所以解决问题会耗费你的时间,那么你的整体时间就要拉长,基础一定要学透了,打扎实了。

项目的话,如果你自己去找项目去练习,基本网络上的都是比较老的了,而且一个人去做一个项目,会让你缺乏团队配合能力,而且写在简历里面可能会比较突兀,不过如果能有自己开发一个项目的能力,那么也证明学习还是有用的呀,在学习方面,可以去B站看看,还有csdn上看看,但是csdn上相对比较杂,而且有的连贯性不好,B站上可能会连贯性比较好,但是一般都有个几百几百篇,就是内容比较难让你找到重点,各有千秋。

还有一点要提示的就是,如果没有项目经历,进入到企业实习之后,上手可能会遇到很多问题,然后学习和接触到项目可能会需要比较长的时间,因为首先要看公司有没有项目,其次就是带你的人有没有时间去教你,所以需要有一定的耐心和学习力,这点是你到了实习企业需要注意的,要多学,因为项目经验只能在实践中获得。

一文详解 Java 的八大基本类型

自从Java发布以来,基本数据类型就是Java语言中重要的一部分,本文就来详细介绍下每种基本类型的具体使用方法和限制。

作者 | Jeremy Grifski

译者 | 弯月,责编 | 郭芮

出品 | CSDN(CSDNnews)

以下为译文:

几年前,我开始编写了一系列有关Java入门的文章,我觉得有必要将其中一些非常细节的内容单独拿出来写成文章。这样,那些入门内容就更容易理解了。首先,我来介绍一下有关Java 8中的基本类型。

如题所述,Java语言本身有8种基本类型。在下面几节中,就让我们一起来看看这8种基本类型。我将针对每种基本类型,介绍具体的使用方法和限制。

int基本类型

首先,Java的整数是32位有符号(即包括正值和负值)整数,由int关键字表示:

当然,像所有基本类型一样,整型有自己的限制。由于它只有32位,所以其取值范围为-2147483648到2147483647。这数字很大嘛!当然,我们可以在DrJava的交互面板中用下述技巧来确认:

自然地,对于简单的计算而言,int是最常用的整数类型。如果你需要更大的数字范围,请参照下面的long。

double基本类型

与int不同,Java的双精度类型是64位浮点数,由double关键字表示:

需要提醒的是,浮点数实际上就是实数。换句话说,双精度浮点数中包含小数点。

由于双精度类型是64位,它能表示的数字要比整型多很多。同样,我们可以利用交互面板来确认双精度类型的范围:

需要注意的是,负的指数表示的是非常小的数字,而不是非常大的负数。所以这里的取值范围跟整数不是完全一样。

一般而言,double是在Java中使用浮点数的默认选择。另一个选择是float。

char基本类型

我们已经看到,Java的字符类型表示16位字符,由char关键字表示:

Java中所有的字符都用单引号表示。同时,双引号用来表示字符串。我们稍后会讨论字符串。

与往常一样,我们可以通过下面的代码找出字符的范围:

为了让这个范围有意义,我们可以将结果转换成整数(稍后会更多地介绍):

可见,char类型是Java中唯一的无符号类型。换句话说,字符的取值范围为0到65535,每个值映射到特定的字符。如果需要创建该范围之外的字符,可以将一对字符组合起来。参见“在Java中反转字符串”(https://therenegadecoder/code/reverse-a-string-in-java/)这篇文章中的例子。

byte基本类型

当我们讨论二进制时,我们讨论的实际上是比特的概念。而8个比特组成一个字节,字节是Java支持的基本类型之一。本质上,byte类型只不过是取值范围为-128到127的8位整数。可以猜到,字节由byte关键字表示:

同样,可以利用下面的代码片段来确认byte类型的取值范围:

根据我的经验,byte类型在读取和处理原始数据时非常有用。但是一般而言,我们不会使用它,因为取值范围太小了。

short基本类型

short是另一种整数类型,但它占用的空间要比int类型更小。实际上,它的占用空间正好是int类型的一半,为16位,由short关键字表示:

short类型的取值范围也只有整数的一半,我们可以用下述代码确认:

在实际应用中,short只有65546个可能的值。在内存空间和磁盘空间受限的情况下,我们会使用byte和short。但在其他情况下,在定义整数时默认使用int更为安全。

long基本类型

与short相反的是long基本类型,即长整数。该类型用来表示比int类型还要大的非常大的数。long类型是64位有符号整数,其取值范围超过了10的18次方。

通常,长整数用long关键字表示:

下面的代码可以查看64位值究竟有多大:

也许,long可以用来计算光在一定时间内走过的距离。光在一秒内大约传播万千米。如果编写一个程序来跟踪光走过的距离,那么7秒后int类型就超出范围类,而long类型能够计算大约975年。不相信吗?可以看看这个gist(https://gist.github/jrg94/820d3f0f482dd19f0170964346381df0)中的计算。

float基本类型

虽然我们通常使用64位浮点数类型double,但Java还支持另一种浮点数类型,叫做float。但与int类似,Java默认情况下使用double表示浮点数。不管怎样,我们可以用float来表示32位浮点数类型:

float类型的范围如下:

可见,32位浮点数的范围和精度都要小得多。如果不需要double的精度,同时节省一半的空间,那么可以选择float类型。

boolean基本类型

最后我们来讨论一下boolean类型。定义布尔类型可以使用boolean关键字:

布尔类型有些特殊,不像其他基本类型那样,它们表示的不是数字值。实际上,之前使用的MAX_VALUE和MIN_VALUE技巧在这里不能使用。相反,它表示的是true或false,即真和假。

在此,我不打算详细介绍布尔类型,因为在Java中做任何事情都会涉及到布尔类型。尽管如此,我们通常不会明确地声明布尔类型。相反,许多代码逻辑中的比较操作的结果都是布尔类型。

原文:https://dev.to/renegadecoder94/the-8-primitive-types-in-java-10cl

本文为 CSDN 翻译,

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。