2021-03-30

java相关术语汇总

  • MESI: 内存一致性协议
  • CAS: Compare And Swap的缩写,翻译过来就是比较并替换。  更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B。

    synchronized是悲观锁,这种线程一旦得到锁,其他需要锁的线程就挂起的情况就是悲观锁。
    CAS操作的就是乐观锁,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。

  • JMM:java memory model ,java内存模型
  • CAP:CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
  • POJO (Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
  • PO: Persistant Object. 持久对象,数据;

    PO 是 Persistant Object 的缩写,用于表示数据库中的一条记录映射成的 java 对象。
    PO 仅仅用于表示数据,没有任何数据操作。
    通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

  • DTO: Data Transform Object. 传输对象,前端调用时传输 ;

    DTO 通常用于不同服务或服务不同分层之间的数据传输。
    DTO 与 VO 概念相似,并且通常情况下字段也基本一致。
    但 DTO 与 VO 又有一些不同,这个不同主要是设计理念上的,比如 API 服务需要使用的 DTO 就可能与 VO 存在差异。
    通常遵守 Java Bean 的规范,拥有 getter/setter 方法。

  • VO: Value Object. 表现对象,前端界面展示。

    VO 是 Value Object 的缩写,用于表示一个与前端进行交互的 java 对象。
    这里的 VO 只包含前端需要展示的数据即可,对于前端不需要的数据,比如数据创建和修改的时间等字段,出于减少传输数据量大小和保护数据库结构不外泄的目的,不应该在 VO 中体现出来。

  • BO: Business Object. 业务对象,封装对象、复杂对象 ,里面可能包含多个类;

    BO 包括了业务逻辑,常常封装了对 DAO、RPC 等的调用,可以进行 PO 与 VO/DTO 之间的转换。
    BO 通常位于业务层,要区别于直接对外提供服务的服务层:
    BO 提供了基本业务单元的基本业务操作,在设计上属于被服务层业务流程调用的对象,一个业务流程可能需要调用多个 BO 来完成。

  • DAO 是 Data Access Object 的缩写,用于表示一个数据访问对象。

    使用 DAO 访问数据库,包括插入、更新、删除、查询等操作,与 PO 一起使用。
    配合 VO, 提供数据库的 CRUD 操作
    DAO 一般在持久层,完全封装数据库操作,对外暴露的方法使得上层应用不需要关注数据库相关的任何信息。

  • DO(Domain Object)领域对象

    就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。
    TO(Transfer Object) ,数据传输对象
    在应用程序不同 tie( 关系 ) 之间传输的对象
上面说的 PO、VO、DTO 都是典型的 POJO。而 DAO、BO 一般都不是 POJO,只提供一些调用方法。

  • EJB: Enterprise JavaBean

    EJB 是Sun的 JavaEE 服务器端组件模型,设计目标与核心应用是部署分布式应用程序。
    EJB (Enterprise JavaBean) 是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。
    在 J2EE 里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。
    在 EJB3.0 推出以后,实体Bean被单独分了出来,形成了新的规范JPA。

  • JPA: Java Persistence API

    JPA 是 Java Persistence API 的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值