让你从入门到工作——Java基础>JavaWeb前端>数据库>动态网页>微服务框架>SSM>高级框架>分布式>进阶>面试
Java基础
Java基础是java初学者的起点,是帮助你从小白入门到精通必学基础课程!
为初学者而著!
java300集>>>适合准备入行开发的零基础员学习Java,基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。
Java基础板块知识:
职业规划
学习方法
泛型、容器
数据结构和算法
智能电话本实战
IO流
Java介绍
变量、数据类型、运算符
IDEA
控制语句、方法、递归算法
面向对象
JVM
数组和数据储存
JDK
异常机制、可视化
飞机大战项目
配套学习:Java初学者入门教程>>>
JavaWeb前端技术
JavaWeb包含前端、数据库、动态网页。JavaWeb是入门课程,是学习后面高进阶课程的基础。
Java Web,是用Java技术来解决相关web互联网领域的技术栈。
web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富。Java技术对Web领域的发展注入了强大的动力。
比如:
数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:
(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。
例如:
MySQL是一个关系型数据库管理系统。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB可以存储比较复杂的数据类型。 Mongo最大的特点是它支持的查询语言非常强大
数据库学习完毕后,可以将数据存储到数据库中,也可以通过SQL语句从数据库中查询数据,结合Java项目可以实现动态站点的数据的保存。
动态网页技术
动态网页是与静态网页相对应的,也就是说,网页 URL不固定,能通过后台与用户交互。完成用户查询,提交等动作。常用的语言有ASP,PHP,JSP等。
动态网页技术是区别于静态网页技术而言的。相比与传统的静态网页,动态网页有了明显的交互性、自动更新性,以及因时因人而变的灵活性。
比如:
微服务框架
SpringBoot是由Pivotal团队提供用来简化Spring的搭建和开发过程的全新框架。 随着近些年来微服务技术的流行,Spring Boot 也成了时下炙手可热的热点技术。
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。 其主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。
Spring Cloud是一系列框架的有序集合。 它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Dubbo是一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入 功能,可以和Spring框架无缝集成
微服务框架的技术点
微服务被拆分为多个微服务进程后,进程内的方法调用变成了进程间的远程调用,这种变化会带来分布式系统的一系列问题
比如:
服务的注册与发现
身份验证与授权
服务的伸缩控制
反向代理与负载均衡
路由控制
流量切换
日志管理
性能度量、监控与调优
分布式跟踪
过载保护
服务降级
服务部署与版本升级策略支持
错误处理
SSM主流框架
SSM全称Spring+SpringMVC+MyBatis,是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。
高级框架
Spring是Java EE编程领域的一个轻量级开源框架,Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。 Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。
easyui是一种基于jQuery、Angular.、Vue和React的用户界面插件集合。 easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。 使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面
MyBatis的前身就是iBatis , MyBatis使用XML描述符或注释将对象与存储过程或SQL语句耦合,将关系数据库与面向对象应用程序结合使用变得更加容易。支持定制化SQL、存储过程以及高级映射。
分布式
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
Spring Cloud Config就是一个分布式配置中心解决方案。其采用集中式管理每个微服务的配置信息,并使用GIT等版本仓库统一存储配置内容,实现版本化管理控制。
在分布式系统中,事务参与者在不同的分布式节点上或事务操作的数据源不是同一个,这些情况产生的事务都叫做分布式事务。
例如: 项目A实现Tb_item表新增、项目B实现tb_item_param新增,现在需要实现商品新增,需要把项目A和项目B两个项目新增的方法组成一个事务,这个事务就是分布式事务。
FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
Dubbo是一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入 功能,可以和Spring框架无缝集成
RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
练手项目
进阶教程
Java桌球游戏的实现过程,面向刚入门或者有一定java基础的人群。帮助学员理解面向对象编程,并将基础知识进行实际应用,最终目标为开发出一个功能强大的桌球游戏。
课程内容包含两大部分
1、讲解该项目的所有理论知识
2、讲解该项目的实现过程。手把手带你用Java做出桌球小游戏。提高你的编程能力。
MongoDB是一个基于分布式文件存储的数据库。
由C++语言编写。在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB可以存储比较复杂的数据类型。 Mongo最大的特点是它支持的查询语言非常强大
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
Maven是一个项目管理的综合工具。它提供了一个框架,一种模式,让开发人员可以完美的对整个项目的生命周期进行管控,开发团队可以自动完成项目的基础工具建设。
目前,基本上所有的标准的java项目都是基于Maven管理的。本课较为详细的程介绍了Maven在实际项目中的应用。
Shiro是Apache提供的一个Java安全框架,执行身份验证、授权、密码和会话管理,结合Spring、SpringMVC、MyBatis框架整合讲解。