源码时代小课堂:市面上常用的java技术架构都是哪些呢?
我们都知道编程技术语言很多,如当下比较火的编程语言有java,python,javascript,php...语言,
编程语言太多了,而今天我们不可能把所有的语言都说一下,所以我们今天要讲解的编程语言就是我们java,当然现阶段我们java程序是有点厉害的,不管是大型项目,高并发上亿的数据量还是操作小项目都是稳定性,安全性都是数一数二的,非常nice!!
那我们不禁有一个疑问,那java既然这么火,那现在市面上常用的技术架构都是哪些呢?
这个问题你只要多关注一下招聘网站的需求还是问一下做程序的小哥哥小姐姐就一目了然了。
后端常见的架构就是:SpringBoot+SSM+elasticsearch +redis+maven+SpringCloud
SpringBoot:它的作用就是快速搭建企业级的架构和简化程序员很多繁琐复杂的步骤,比如jar包导入的简化和编程式代码的简化
Spring: 把应用程序中的bean统一交给Spring进行管理控制,简化了我们的代码操作,和降低了代码的耦合度,Spring框架基本上是所有公司比用的一门技术,因为它能很轻松的渗透控制层,持久层和业务层,由于使用频率太高了,以至于现在外面很多控制层的框架或者持久层的框架基本上都能和Spring进行无缝集成
SpringMVC:SpringMVC是Spring的一个子项目,它主要是控制层的架构,它对于接收参数还有跳转页面都进行了较大的简化,让程序员更好的入门和操作更加简单,如果你是老程序员用过struts或者struts2基本上就在厕所哭吧,太难入手了,而且用起来也是很复杂的一件事情
Mybatis:它是一个orm框架,它要比jdbc好用太多了,因为它可以吧结果集自动映射对应的实体类,由于是自己手动编写sql语句,所以性能方面是能得到一定的保证,向jpa虽然要比mybatis操作更加简单,但是sql语句一般都是自动生成,所以性能方面我们也是不好控制,所以外面公司基本上还是喜欢使用mybatis
elasticsearch :如果我们做电商网站,或者互联网的项目,就会涉及到一个高级查询,由于sql语句的模糊查询性能低下,所以我们可以使用es对数据进行分词,创建索引,让查询性能更高,匹配度也是更好
Redis:由于现在互联网的项目是越来越多,很多时候为了简化数据库的压力,让用户查询性能更高,我们会采用redis来做缓存
Maven:现在单体项目是越来越少了,基本上都是按照功能或者模块划分项目,那多个项目之间是需要进行关联和管理的,所以我们可以采用maven进行对应的管理
SpringCloud:如果遇到上亿级别的项目,我们如果只有单体项目是不行的,因为单体项目存在很多劣势(单点故障,不能处理高并发量...这些都是它的劣势),所以我们就得创建多个服务来运行微小项目,所有的微小项目组合在一起就是一个大项目,那多个项目之间是需要管理控制的,所以我们可以使用SpringCloud来进行管理和创建