java后端技术栈大致了解
~欢迎批评及指正!
- Java是编程语言 jdk是Java的一个合集
- jvm是运行Java的虚拟机,他可以安装在任意平台,具有一些内存管理之类的机制需要了解,jvm是跨平台的基础 Java在jvm上才能运行
- spring是一个Java框架,所谓框架可以理解为一个基础程序,基于这个基础程序可以写出不同的java应用,根据应用的不同又衍生出不同的子框架
- springboot用于移动应用,springmvc用于web应用
- tomcat是基于Java实现的一个web服务器,实际上服务器就是一个后端服务程序,它的底层实现是一些基于socket的程序
- apache也是个web服务器,但是它只用于静态网站,tomcat支持jsp的动态解析,所以假如要做有动态效果的网站web服务器就要选用tomcat
- SQL是一种数据库管理系统也是一种数据库语言,mybatis把Java语言和mysql语言做了一种映射,这样就可以使用mybatis管理数据库,编写程序比较统一
- Nignix用于做反向代理,用来应对高并发的,反向代理是服务端用来应对高并发请求的方法,把请求分散到多个后端处理器,正向代理则是客户端的,客户把请求发给代理服务器,代理再分发到服务器
- Redis也是用来应对高并发的数据库技术,他把数据组织在内存\缓存中,以实现高速的读取
- Oracle是SQL引擎的数据库
- docker是一种容器技术的实现,容器技术就是原本你一台机器硬件要运行不同的应用程序要基于虚拟机,现在你可以把程序依赖的环境和依赖库都打包到docker container中,可以发布到任何Linux机器上
- docker基于lxc,Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,一般发行版的Linux系统都具有docker引擎