ejb到底是啥

EJB、JPA、JMS等Java EE核心组件 EJB:提供了一种编写组件化、可重用的企业级应用程序的方法,支持 Session Beans、Entity Beans 和 Message-Driven Beans。JPA:提供了对象持久化机制,简化了数据库操作,支持实体映射、查询语言、事务管理和缓存机制。JMS:提供了消息传递服务,支持异步通信,适用于点对点和发布/订阅模式。通过掌握这些核心组件,可以更好地利用 Java EE 技术来构建高性能、高可靠性的企业级应用。 阅读详情

EJB到底是什么?

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 


既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发"吧!这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB"分布式运算"指得是"负载均衡"提高系统的运行效率。然而,估计很多人都搞错了,这个"服务群集"和"分布式运算"并没有根本解决运行负载的问题,尤其是针对数据库的应用系统。
为什么?

我们先把EJB 打回原形给大家来慢慢分析。


2. 把EJB 掰开了揉碎了 


我们把EJB 的概念好好的分析一下,看看能发现些什么蛛丝马迹。


3.1 EJB 概念的剖析


我们先看一下,EJB 的官方解释:
商务软件的核心部分是它的业务逻辑。业务逻辑抽象了整个商务过程的流程,并使用计算机语言将他们实现。
……
J2EE 对于这个问题的处理方法是将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果。在J2EE 中,这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB(Enterprise JavaBean)组件。这其中我们主要关注这么几点,我们来逐条剖析:

剖析1:所谓:"业务逻辑" 
我们注意到在EJB 的概念中主要提到的就是"业务逻辑"的封装,而这个业务逻辑到底是什么?说的那么悬乎,其实这个所谓的"业务逻辑"我们完全可以理解成执行特定任务的"类"。


剖析2:所谓:"将业务逻辑从客户端软件中抽取出来,封装在组件中……运行在一个服务器上"
既然我们知道了"业务逻辑"的概念就是执行特定任务的"类",那么,什么叫"从客户端软件中抽取出来"?其实,这个就是把原来放到客户端的"类",拿出来不放到客户端了,放到一个组件中,并将这个组件放到一个服务器上去运行。


3.2 把EJB 这个概念变成大白话 


变成大白话就是,"把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是给他打成包放到一个服务器上了"。


3.3 发现问题了 


不管是用"八股文"说,还是用大白话说这个EJB 概念都提到了一个词--"客户端软件"。
"客户端软件"?难道EJB 的概念中说的是C/S 软件?
是的,没错!
EJB 就是将那些"类"放到一个服务器上,用C/S 形式的软件客户端对服务器上的"类"进行调用。
快崩溃了吧!
EJB 和JSP 有什么关系?EJB 和JSP 有关系,但是关系还真不怎么大,至多是在JSP 的服务器端调用远端服务上的EJB 类,仅此而已。


4 .1 EJB 的最底层究竟是什么 


我们揭开了EJB"八股"概念的真谛,那么,再来分析EJB 的底层实现技术,通过底层实
现技术来分析EJB 的工作方式。


4.2 EJB 的实现技术


EJB 是运行在独立服务器上的组件,客户端是通过网络对EJB 对象进行调用的。在Java中,能够实现远程对象调用的技术是RMI,而EJB 技术基础正是RMI。通过RMI 技术,J2EE将EJB 组件创建为远程对象,客户端就可以通过网络调用EJB 对象了。


4.3 看看RMI 是什么东东 


在说RMI 之前,需要理解两个名词:
对象的序列化
分布式计算与RPC


名词1:对象的序列化 
对象的序列化概念:对象的序列化过程就是将对象状态转换成字节流和从字节流恢复对象。将对象状态转换成字节流之后,可以用java.io 包中的各种字节流类将其保存到文件中,或者通过网络连接将对象数据发送到另一个主机。
上面的说法有点"八股",我们不妨再用白话解释一下:对象的序列化就是将你程序中实例化的某个类的对象,比如,你自定一个类MyClass,或者任何一个类的对象,将它转换成字节数组,也就是说可以放到一个byte 数组中,这时候,你既然已经把一个对象放到了byte数组中,那么你当然就可以随便处置了它了,用得最多的就是把他发送到网络上远程的计算机上了。如图2 11所示。

 
名词2:分布式计算与RPC 
RPC 并不是一个纯粹的Java 概念,因为在Java 诞生之前就已经有了RPC 的这个概念,RPC是"Remote Procedure Call"的缩写,也就是"远程过程调用"。在Java 之前的大多数编程语言,如,Fortran、C、COBOL 等等,都是过程性的语言,而不是面向对象的。所以,这些编程语言很自然地用过程表示工作,如,函数或子程序,让其在网络上另一台机器上执行。说白了,就是本地计算机调用远程计算机上的一个函数。如图2 12所示。

 
名词3:二者结合就是RMI 
RMI 英文全称是"Remote Method Invocation",它的中文名称是"远程方法调用",它就是利用Java 对象序列化的机制实现分布式计算,实现远程类对象的实例化以及调用的方法。说的更清楚些,就是利用对象序列化来实现远程调用,也就是上面两个概念的结合体,利用这个方法来调用远程的类的时候,就不需要编写Socket 程序了,也不需要把对象进行序列化操作,直接调用就行了非常方便。
远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程序语法规则和在本地机上对象间的方法调用的语法规则一样。如图2 13所示。

4.4 优点


这种机制给分布计算的系统设计、编程都带来了极大的方便。只要按照RMI 规则设计程序,可以不必再过问在RMI 之下的网络细节了,如:TCP 和Socket 等等。任意两台计算机之间的通讯完全由RMI 负责。调用远程计算机上的对象就像本地对象一样方便。RMI 可将完整的对象作为参数和返回值进行传递,而不仅仅是预定义的数据类型。也就是说,可以将类似Java 哈西表这样的复杂类型作为一个参数进行传递。


4.5 缺点 


如果是较为简单的方法调用,其执行效率也许会比本地执行慢很多,即使和远程Socket机制的简单数据返回的应用相比,也会慢一些,原因是,其在网络间需要传递的信息不仅仅包含该函数的返回值信息,还会包含该对象序列化后的字节内容。


4.6 EJB 是以RMI 为基础的

 

通过RMI 技术,J2EE 将EJB 组件创建为远程对象,EJB 虽然用了RMI 技术,但是却只需要定义远程接口而无需生成他们的实现类,这样就将RMI 技术中的一些细节问题屏蔽了。但不管怎么说,EJB 的基础仍然是RMI,所以,如果你想了解EJB 的原理,只要把RMI的原理搞清楚就行了。你也就弄清楚了什么时候用EJB 什么时候不需要用EJB 了。


5. EJB 中所谓的"服务群集" 


既然已经知道了,RMI 是将各种任务与功能的类放到不同的服务器上,然后通过各个服务器间建立的调用规则实现分布式的运算,也就明白EJB 所谓的"服务群集"的概念。就是将原来在一个计算机上运算的几个类,分别放到其他计算机上去运行,以便分担运行这几个类所需要占用的CPU 和内存资源。同时,也可以将不同的软件功能模块放到不同的服务器上,当需要修改某些功能的时候直接修改这些服务器上的类就行了,修改以后所有客户端的软件都被修改了。如图2 14所示。

 

6. 这种部署难道是无懈可击 


图2 14所示的这个"服务群集"看似"无懈可击",其实是它这个图没有画完整,我们来把这个图画完整,再来看看有什么问题没有。


6.1 瓶颈在数据库端 


仔细观察之后,发现这种配置是有瓶颈的,如图2 15所示。

 
我们看看图2 15的结构图,现在如果想实现各个服务器针对同一个数据库的查询,那么,不管你部署多少个功能服务器,都需要针对一个数据库服务器进行查询操作。也就是说,不管你的"计算"有多么"分布"也同样需要从一台服务器中取得数据。虽然,看起来将各个功能模块分布在不同的服务器上从而分担了各个主计算机的CPU 资源,然而,真正的瓶颈并不在这里,而是,数据库服务器那里。数据库服务器都会非常忙的应付各个服务器的查询及操作请求。
因此,通过这个结构图使我们了解到了EJB 根本不能完全解决负载的问题,因为,瓶颈并不在功能模块的所在位置,而是在数据库服务器这里。


6.2 假如分开数据库,数据共享怎么办 


有的读者一定会想到下面的这个应用结构,如图2 16所示。

 
就是把每一个功能服务器后面都部署一个数据库,这样不就解决了上节所说的问题了吗?是的解决了数据库查询负载的问题,然而又出现了新的问题,就是"数据共享"的问题就又不容易解决了。


6.3 网络面临较大压力,让你的应用慢如老牛

 

我们再向前翻看看如图2 15所示的这种架构中存在两个网络,一个是"A 网"一个是"B网",这两个网络是不同的。"B 网"往往是局域网,一般带宽是10M/100M,速度较快,因此到还好说,然而,"A 网"往往是互联网或者是利用电信网络互联VPN 网或称广域网。"A 网"的特点是带宽一般较窄,如ADSL 的网络仅仅有512K-2M 的带宽,由于广域网互联的成本较高,所以一般不会有较高的带宽。而在这个网络上恰恰跑的是功能模块和客户端软件之间交换的数据,而这部分数据恰恰优势非常占用带宽的。因此,这个应用架构其运行速度可以想见是多么的慢了。说句不夸张的话,有点想老牛拉破车一样的慢。一个如老牛的系统:目前在中国互联网做运营商网络管理系统的一个大公司,它的一个早期的网管软件就是采用了这种架构来做的C/S 结构的应用系统。有一次,我作为评估者来对其应用系统进行评估,将其部署到一个非运营商大型的网络中的时候,便出现了我们上述描述的情况,速度已经到了难以忍受的地步,打开一个流量图,有时候需要用15分钟的时间才能呈现完整。然而,该系统在开发阶段并没有发现这个问题,为什么呢?因为,他们没有考虑到应用的实际用户连接网络的复杂性,从而给该公司造成较大损失,以至于,这个开发架构被最终遗弃。

 

7. EJB 活学活用,J2EE 不是必须使用EJB 


通过上面小节的讲解似乎好像EJB 和开发Web 应用的B/S 结构的系统关系并不大,其实倒也不然。我们如果把"客户端程序"理解成某一台服务器,这样也是可以被应用的,而且,如果是服务器互相之间做EJB 的调用的话,也就不存在广域网带宽限制的问题了。
但是,如下情况尽量就不要使用EJB 了:
1、较为简单的纯Web 应用开发,不需要用EJB。
2、需要与其他服务程序配合使用的应用,但调用或返回的自定义的网络协议可以解决的应用程序,不需要使用EJB。
3、较多人并发访问的C/S 结构的应用程序,尽量不要使用EJB。

 

 

总结:

a.EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。

b.RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。

c.服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。

文章转自 http://blog.youkuaiyun.com/jojo52013145/article/details/5783677

EJB体系结构之EJB容器 EJB容器 EJB容器(中间件)在EJB服务器环境中进行,EJB容器为EJB构件提供操作环境。        主要来说,EJB容器管理一下的系统级问题:      持久性(Persistence)      生命周期管理(Life Cycle Management)      安全性(Security)      事务管理(Transaction Management 阅读详情

相关推荐

EJB(Enterprise JavaBeans)详细概述及后端开发

首先,我们需要创建一个EJB组件,可以是会话Bean(Session Bean)、消息驱动Bean(Message-Driven Bean)或实体Bean(Entity Bean)。接下来,我们需要定义EJB组件的接口,它描述了组件对外提供的方法。在上述示例中,我们使用JNDI(Java Naming and Directory Interface)查找远程接口,然后通过接口调用EJB组件的方法。在EJB开发中,我们需要将EJB组件进行配置和部署,以便容器能够正确管理和调用它们。2.1 创建EJB组件。

BugTO的博客 558

EJB到底是什么,真的那么神秘吗??

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"?  既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务 集群"和"企业级开发"吧! 这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉 广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB"分布式运 算"指得是"负载均衡"提高系统的运行效率

haoguiting 2181

Tomcat支持EJB的插件openejb

目前Tomcat并不直接支持EJB,但可借助openejb插件来间接能够支持EJB

JavaBean与EJB的区别

JavaBean与EJB的区别: 在学习Spring框架时,百度百科上有这么一句话: 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 对于这句话很是不解,什么是JavaBean,什么又是EJB,为什么要使用JavaBean代替EJB 为了解决这些疑惑,阅读了以下文章 什么是JavaBean、bean? 什么是POJO、PO、DTO、VO、BO ? 什么是EJB、Entity...

平凡岁月里星辰 786

ArcGIS基础:CAD数据转换为GIS数据(符号化显示、数据转换、线转面、空间连接)

1、符号化显示: CAD数据加载进来有很多列表,包含了点【point】、线【polyline】、面【polygon】、标注数据【Annotation】等数据,本次实验我们需要用到的是面数据,也就是.dwgPolygong格式的数据。如下图所示: 把数据加载进来,然后在2处打开属性表,查看CAD数据的属性表,打开后可以发现【layer】图层表示就是地块的用地性质,它就是符号化显示的依据。 我们在数据上右键【属性】,打开图层属性,找到【符号系统】,选择类别中的【唯一值】,然后在【值字段】下拉选择【layer】,

yuanYW7556的博客 2万+

忍者安全渗透系统(NINJITSU OS V3)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

忍者安全渗透系统(NINJITSU)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

1万+

什么是EJB?EJB详解

EJB到底是什么? 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发"吧!这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB"分布式运算"指得是"负载均衡"提高系统的运行效率。然而,估计很多人都搞错了,这个"服务群集"和"分布式运算"并没有根本解决运行负载的问题,尤其是针对数据库的应用系

soulofball的博客 1万+

文石NoteX3国行版安装 Google Play经验分享

文石NoteX3国行版安装 Google Play经验分享。

2301_80693261的博客 7599

EJB 叫我如何爱上你 --评《精通EJB》及EJB

是本好书先谈谈《精通EJB》这本书,Ed Roman是著名网站TheServerSide.com的CEO,自己也拥有一家专门从事中间件开发的公司MiddleWare, 另外两个合著者Tyler Jewell是BEA的J2EE专家,Scott W. Ambler也是面向对象设计和敏捷建模的大师,由这样的专家写出来的书籍,的确堪称经典,让人看得放心,读得顺心。整个J2EE架构是个非常复杂的架构,而《精

天外网志 1万+

FusionCompute8.0.0实战指南:从零部署CNA与VRM环境

本文以华为FusionCompute 8.0.0为例,详细介绍了如何利用老旧硬件从零开始部署CNA计算节点与VRM管理节点的完整实战指南。内容涵盖实验环境准备、CNA安装与网络配置、VRM虚拟机部署方案对比,并提供了典型故障排查与性能调优技巧,帮助读者低成本构建可用的虚拟化学习环境。

weixin_29306317的博客 315

2021-10-29 atcoder ABC157——B - Bingo

B - Bingo 先标记,然后暴力判断,这样最清晰最好想。 #include<iostream> #include<algorithm> #include<cstring> using namespace std; typedef long long LL; int a[110][110],b[110]; int main() { for(int i=1;i<=3;i++) for(int j=1;j<=3;j++) cin>>a[i]

honeistbutter的博客 337

架构师-EJB

当有状态会话Bean处于活动状态一段时间后,如果仍然没有收到外部客户端的请求,为了节省系统资源,容器会把有状态会话Bean中的状态信息序列化到临时存储空间,并把有状态会话Bean从内存中移除,这个过程称为“钝化”。会话Bean封装了商务逻辑,客户端可以通过本地、远程、Web服务的方式调用会话Bean的方法来访问部署在服务器上的应用程序,从而调用其他Bean的方法,会话Bean不具有持久性,即它的数据不保存在数据库里。其中会话Bean又包括有状态会话Bean、无状态会话Bean和单件会话Bean三种。

技术博客 1871

解锁SPWM电压利用率:三次谐波注入幅值的黄金分割点

本文深入探讨了SPWM电压利用率的提升方法,重点介绍了三次谐波注入技术及其黄金分割点(1/6比例)。通过数学推导和工程实践,揭示了如何通过特定幅值的三次谐波注入将电压利用率从86.6%提升至115%,与SVPWM相当。文章还提供了实验室调试流程和DSP实现代码,帮助工程师优化逆变器设计。

weixin_30729609的博客 915

EJB基础三 有状态EJB

有状态EJB其实是类似于CDI中的依赖作用域。就是你需要一个有状态EJB的时候,就会新建一个有状态EJB。因为根据需求创建的,所以每个请求都有一个,这样才可以保存状态,故成为有状态EJB。 无状态EJB在wildfly中默认最大20个,假如有100个请求,那么这20个无状态EJB只能被共享。共享了又怎么能保存客户端的状态呢?购物车就是个明显的有状态EJB,将购物车它放到session里,这样保证

ilovewqf的博客 5万+

使用R包PreMSIm预测微卫星不稳定的标题:基于基因表达量的微卫星不稳定性预测

在本文中,我们将介绍如何使用R语言中的PreMSIm包来根据基因表达量进行微卫星不稳定性的预测。需要注意的是,本文仅介绍了使用PreMSIm包进行微卫星不稳定性预测的基本流程和代码示例。在实际应用中,还需要考虑数据的质量控制、模型优化以及结果的解释和验证等因素,以确保预测结果的准确性和可靠性。预测结果将返回一个包含微卫星不稳定性指数的向量,其中每个元素对应一个样本的预测结果。在有了输入数据后,我们可以使用PreMSIm包中的函数进行微卫星不稳定性的预测。函数生成一个包含所有样本的微卫星不稳定性信息的表格。

2301_79330511的博客 382

CANoe连接Option Scope使用方法

本文档主要介绍如何使用CANoe Option .Scope捕获CAN总线上的物理波形,并利用眼图进行分析。

测试领域技术分享 1354

关于EJB,为什么用EJB?为什么不用EJB?

EJB

学习编程,热爱编程 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

EJB2移植到EJB3的一些实践

众所周知EJB被人病诟的很大的一个缺陷就是它复杂的配置,和奇异的编程模型。所以EJB3的推出减小了这些毛病, 但是Rod Johnson似乎还是不满意:) 关于2个标准的对比已经有很多文章和书籍了,我这里不再赘述。我只想说的是自己经历到的移植的经验,希望和大家分享。主要是session bean的移植。首先是开发EJB配置的模式由于EJB3把配置由descriptor移到了

卢声远 Shengyuan Lu的专栏 1817

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【进阶EJB】问你EJB知多少?

EJB近几年好像不太常用了,但是作为SUN公司重点推荐的一种规范,其强大之处还不被很多人熟知。接下来一系列关于EJB的博文就将一一揭开EJB的神秘面纱,今天我们就先来宏观看一下就是什么是EJB呢?

不忘初心 1649

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

认识EJB

一、定义         将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果。在J2EE中,这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB(Enterprise JavaBean)组件。 EJB体系结构中涉及以下 6 类软件构件: 1

大道至简 1245

EJB3.0和EJB2.1有哪些区别

本文从实战角度比较EJB2和EJB3的异同,通过深入剖析揭示EJB3.0的真相,EJB3.0真是带来简化?还是一种表象上的简化?EJB3.0真的变得轻量了,还是披着羊皮的狼?  EJB编程模型的简化  首先,EJB3简化的一个主要表现是:在EJB3中,一个EJB不再象EJB2中需要两个接口一个Bean实现类,虽然我们以前使用JBuilder这样可视化开发工具自动生成了EJB2的这三个类,好

philip的专栏 3400

EJB 和 without EJB

            自古有矛就有盾,有正就有邪,中国人讲:“天地万物,阴阳两极.”西方人讲:“辨证唯物主义”。其实本质都是一样,都是说明了事物都有两面。            以前略略看过EJB的一些资料,就当时不成熟的思想来看,觉得EJB的分布式概念相当好,对于实际工作的情况而言也是蛮实用的一个方法,比如在电力,电信,银行大型行业里面使用这种构架业务层和web服务器层分开,业务层就全放在EJ

闷炮闲话 1656

EJB进行开发项目

 综述:企业JavaBean(Enterprise JavaBean,EJB)为开发服务器端企业应用程序组件提供了一个模型,利用这个模型开发用来创建可移植与分布式企业应用程序的服务器企业应用程序组件,比创建独立的企业应用程序所需使用的企业应用程序组件更为简单。程序设计开发者花费最小的精力就能使用由EJB容器/服务器所提供的分布式通信能力。  何谓EJB的角色?具体有哪些角色?   EJB的

meteorWJ's Home—Floating clound 1720

EJB-02:EJB开发流程

一、开发EJB的步骤 第一大步:开发编译业务接口和Bean类 (1) 编写业务接口和Bean类 (2) 编译 第二大步:打包部署到JNDI服务器 (3) 提供部署描述文件 (4) 打包(编译后的字节码文件和部署描述文件)成ejb-jar (5) 部署ejb-jar到容器 第三大步:测试 (6) 检测部署是否成功(看容器是否发现) (7)

逆境成长 1363

带你走进EJB--EJB容器

当你建立一个简单的java类的时候,你需要java虚拟机去执行它,同样的道理,当你执行SessionBeans或者MDBs的时候,你也需要类似Java虚拟机的东西去执行它,这个东西就是EJB的容器.而执行Entities Beans 的时候你需要的这个东西是持久化提供者.            在这片文章中我们将会对EJB 的容器和持久化对象进行深一步学习和了解.接着上一篇文章里的图,

潛龍,勿用 2474

Ejb相关规范

Ejb是Enterprise javaBean(企业javabean)的简称,它是j2ee规范的一部分,它通过一些列的api来将ejb规范转换成了ejb产品。             它主要是针对部署分布式应用程序而设计的.企业级javaBean主要指:            会话bean(Session Bean):分为有状态的和无状态的,每当客户端请求时,容器就会选择一个sessionB

~ 2488
上一篇: 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
下一篇: 关于HTTP协议,一篇就够了
A__Men
博客等级 码龄9年 502粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值