后端开发基础概念

后端开发基础概念

目前处于项目上手阶段,在学习项目过程中,有一些一知半解或者不明白含义的专业名词或者缩写,在此汇总。里面的内容很多都是基于个人理解,水平有限如果有出错的地方还请各位大佬批评指正。

2023年8月31日00:34:22,已经比较晚了,后续的内容之后再补充吧,一口吃不了个胖子。

常见缩写总结

  • PO:Persistent Object,持久层对象,用于映射数据库中的Java类。通常用于表示数据库中一条记录的Java对象,通常具有与数据库中表相同的字段和数据类型。常常作为DAO(数据访问对象)层的数据模型,以及和数据库交互的对象。PO对象中的属性与数据库表中的列相互的对应,每一行数据库表数据对应一个PO对象,PO对象中的字段值就是对应的列值。
  • VO:Value Object,值对象,主要负责业务之间的值传递。VO通常表示程序中的某个值或者一组值,例如用户的姓名、年龄、地址等。VO通常用于在不同层之间传递数据,例如在Controller层和Service层之间传递数据。VO对象通常是PO对象中提取出来的一部分数据,用于与前端或其它层之间的展示和传递。
  • DAO:Data Access Object,数据访问对象,负责与数据库的交互。DAO是整个程序中与数据库交互的核心部分。DAO负责将数据库中的数据转换为Java对象,并将Java对象的数据保存至数据库中。DAO的主要作用是隔离上层业务逻辑和下层数据访问的细节。在Java开发中,通常使用Hibernate等ORM框架来实现DAO层。DAO的主要任务就是实现数据库的增删改查等基本操作,同时提供一些高级查询功能。

关于DAO与PO的区别:

DAO层主要提供的是访问底层数据源的方法,这些方法可以被Service层调用;PO主要是纯对象本身,不涉及具体的增删改查操作。

  • API:Application Programming Interface,应用程序接口。为应用外部提供功能支持。
  • APP:Application,
  • MVC:
  • DDD:

常见技术简明介绍

  • Redis:Remote Dictionary Server,远程字典服务。redis是一个key-value存储系统,支持push/pop,add/remove以及取其交集并集和差集以及更丰富的操作。是高性能的key-value数据库。我的理解就是面向企业级开发的HashMap,主要面向数据库数据的存取/查找。为什么快?

完全基于内存操作;

C语言实现,优化过的数据结构,基于集中基础的数据结构,redis做了大量的优化,性能极高;

使用单线程,无上下文切换成本;

基于非阻塞的IO多路复用机制。

  • Spring:一个开源的J2EE应用程序框架,
  • SpringMVC:
  • SpringBoot:
  • MyBatis:一款优秀的持久层开源框架,其让开发者可以专注于SQL语句本身,而不再过多的关注类似于比较原始的servlet+jsp对应的JDBC中涉及到的数据库的链接以及关闭等细节操作,简化开发流程,提高了后端开发的工作效率。

MyBatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatement)配置起来,通过Java对象和statement中的sql进行映射生成最终执行的sql语句,最后由MyBatis框架执行sql并将结果映射到Java对象并返回。

  • SpringIoC:
  • AOP:
  • RabbitMQ:一种消息队列,可以处理点对点消息队列和发布/订阅模式的消息队列;
  • Kafka:
  • Dubbo:Alibaba开发的开源服务管理框架,支持丰富的服务治理能力。依然很抽象,如何使用?
  • MQ:
  • MySQL:
  • XDB-Router:
  • ES:
  • ZK:
相关推荐
漫长的~以后28 分钟前
GPT-5.2深度拆解:多档位自适应架构如何重塑AI推理效率
人工智能·gpt·架构
爱笑的眼睛1133 分钟前
自动机器学习组件的深度解析:超越AutoML框架的底层架构
java·人工智能·python·ai
⑩-41 分钟前
简单业务异常类
java
乘风!43 分钟前
NSSM启动tomcat部署Java程序
java·服务器·后端·tomcat
思成不止于此1 小时前
【MySQL 零基础入门】MySQL 函数精讲(二):日期函数与流程控制函数篇
android·数据库·笔记·sql·学习·mysql
知识分享小能手1 小时前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 中 Linux C 编程 —语法详解与实战案例(13)
linux·学习·centos
BBB努力学习程序设计1 小时前
Java 21虚拟线程与平台线程:JVM层面的深度对比与实现原理
java
龙亘川1 小时前
深度解析《2025 中国 RFID 无源物联网产业白皮书》:技术架构、开发实践与万亿级赛道机遇
物联网·架构
代码无疆1 小时前
学点java字节码更易于理解一些特殊的java语法效果
java·后端
BBB努力学习程序设计1 小时前
Java 8日期时间API完全指南:告别Date和Calendar的混乱时代
java