简单的Hessian实例

Spring 与Hessian 整合的简单远程调用实例 Spring与hessian 远程调用整合 阅读详情

1.下载最新的Hessian的jar文件(我们用的是for java),地址为:http://hessian.caucho.com/

2.用eclipse新建一个web工程,命名为:WebTest;把第一步下载的jar文件放入该工程

3.新建一个接口和三个类,运行BasicClient类即可在控制台看到效果

 接口 IBasic :

 

[java]  view plain copy
  1. public interface IBasic {  
  2.     public String hello();  
  3.     public Car getCar();  
  4. }  
 

 

   类 Car:

 

[java]  view plain copy
  1. import java.io.Serializable;  
  2. public class Car implements Serializable{  
  3.     /** TODO */  
  4.     private static final long serialVersionUID = 1L;  
  5.     private String name;  
  6.     private String length;  
  7.     private String color;  
  8.     public String getName() {  
  9.         return name;  
  10.     }  
  11.     public void setName(String name) {  
  12.         this.name = name;  
  13.     }  
  14.     public String getLength() {  
  15.         return length;  
  16.     }  
  17.     public void setLength(String length) {  
  18.         this.length = length;  
  19.     }  
  20.     public String getColor() {  
  21.         return color;  
  22.     }  
  23.     public void setColor(String color) {  
  24.         this.color = color;  
  25.     }  
  26.       
  27. }  
 

    类 BasicService :
 
[java]  view plain copy
  1. public class BasicService implements IBasic {  
  2.     public Car getCar() {  
  3.         Car c = new Car();  
  4.         c.setColor("红色");  
  5.         c.setLength("2m");  
  6.         c.setName("火车");  
  7.         return c;  
  8.     }  
  9.     private String hello = "Hello World";  
  10.     public String hello() {       
  11.         return hello;  
  12.     }  
  13. }  
 

  类 BasicClient :

[java]  view plain copy
  1. import java.net.MalformedURLException;  
  2. import com.caucho.hessian.client.HessianProxyFactory;  
  3. public class BasicClient {  
  4.     public static void main(String[] args){  
  5.         String url = "http://127.0.0.1:8081//WebTest/hello";     
  6.         HessianProxyFactory factory = new HessianProxyFactory();     
  7.         IBasic basic;  
  8.         try {  
  9.           basic = (IBasic) factory.create(IBasic.class, url);  
  10.           Car car   = basic.getCar();     
  11.           System.out.println("Hello: " + basic.hello());     
  12.           System.out.println("color: " + car.getColor());  
  13.           System.out.println("length: " + car.getLength());  
  14.           System.out.println("name: " + car.getName());  
  15.         } catch (MalformedURLException e) {  
  16.             e.printStackTrace();  
  17.         }    
  18.     }  
  19. }  
 

  web.xml文件改成如下:

[xhtml]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  
  3.   <display-name>WebTest</display-name>  
  4.   <welcome-file-list>  
  5.     <welcome-file>index.html</welcome-file>  
  6.     <welcome-file>index.htm</welcome-file>  
  7.     <welcome-file>index.jsp</welcome-file>  
  8.     <welcome-file>default.html</welcome-file>  
  9.     <welcome-file>default.htm</welcome-file>  
  10.     <welcome-file>default.jsp</welcome-file>  
  11.   </welcome-file-list>  
  12.   <servlet>    
  13.     <servlet-name>hello</servlet-name>    
  14.     <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>    
  15.     <init-param>    
  16.         <param-name>home-class</param-name>    
  17.         <param-value>BasicService</param-value>    
  18.     </init-param>    
  19.     <init-param>    
  20.         <param-name>home-api</param-name>    
  21.         <param-value>IBasic</param-value>    
  22.     </init-param>    
  23.    </servlet>    
  24.     
  25. <servlet-mapping>    
  26.     <servlet-name>hello</servlet-name>    
  27.     <url-pattern>/hello</url-pattern>    
  28. </servlet-mapping>   
  29. </web-app>  
 

hessian 实例 远程调用方法就是HttpInvoker:他也是将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的优点。试使用Http协议传输二进制流的,同时又具有Hessian、Burlap(传输xml文本)的优点。 立即下载

相关推荐

一个简单的Hessian示例

一个简单的Hessian,简单介绍了Hessian的使用方式,介绍了Hessian和Spring集成的使用方式,以及单独使用Hessian的方式。

吃瓜教程 —— 第三章

三. 线性模型 1. 初识机器学习 1.1 基本术语 1.2 建立关于“预测”的模型任务 当预测对象为离散值,称为“分类”任务;当预测对象为连续值,称为“回归”任务; 当预测对象涉及两个,称为“二分类”任务,其中一个为“正类”,另一个为“反类”;当预测对象为多个时,称为“多分类”任务; 将数据集中的数据分成若干组,每组称为一个“簇”,即聚类任务。 1.3 学习任务的分类(按照训练集是否拥有标记信息分类) 监督学习 —— 分类与回归的代表 无监督学习 —— 聚类的代表 1.4 科学推理的两大基本手段

m0_57726052的博客 1965

手把手教你配置SAP PP供应区域(Supply Area):实现线边仓精准发料与物料流优化

本文详细解析了SAP PP供应区域(Supply Area)的配置方法,帮助企业实现线边仓精准发料与物料流优化。通过三级优先级逻辑和四步配置法,系统可自动识别最优组件来源位置,显著提升生产订单处理效率和库存准确率。文章还提供了典型问题解决方案和性能优化技巧,适用于离散制造和重复制造场景。

weixin_29275257的博客 434

Maltab计算hessian矩阵 hessian function简单例子

Hessian矩阵其实就是一个多元函数的所有二次偏导数构成的雅克比矩阵,matlab中求解的方法是对雅克比矩阵再求雅克比矩阵。 例如 syms x y z f=x^2+y^2+z^2+x*y*z; J=jacobian(f,[x;y;z]); H=jacobian(J,[x;y;z]); 结果为 J = [ 2*x + y*z, 2*y + x*z, 2*z + x*y] H = [ 2, z, ...

caoyongsheng的博客 1万+

从JX-2R-01热敏打印机芯到稳定打印:硬件设计与时序控制的实践指南

本文详细解析了JX-2R-01热敏打印机芯的硬件设计与驱动开发全流程。核心内容包括:实现严格的双电源上电时序控制、采用PWM恒流驱动步进电机确保走纸平稳,以及精确控制SPI数据加载与加热脉冲时序以获得清晰打印效果。文章提供了从电路设计、芯片选型到代码调试的实战指南,旨在帮助开发者构建稳定可靠的热敏打印模块。

weixin_29169899的博客 222

基于smart_rtmp直播,最简单的部署手册

版本号 添加内容 修改时间 V1.0 新建 2021年12月30日 V1.1 增加网页播放 2021年12月31日 V1.2 增加是否可以多流和测试数据 2022年1月5日 目录 一、软件储备 1.推流软件:OBS 2.服务器流媒体软件:smart_rtmp 3.播放软件:Pot...

qq_28768477的博客 1万+

OpenCV实战 | Hessian矩阵以及在血管增强中的应用

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达术语解释- 由于本文代码基于OpenCV基础库,所以题目中添加了“OpenCV实现”字样。- 由于图像的二维特性,所以下文中所有“Hessian矩阵”都特指“二维Hessian矩阵”。Hessian矩阵等相关理论基础这里的基础理论有点多,你可以先过一遍,然后在读代码的时候再回过头来加深理解,这样效果比较好。1.Hessian矩...

小白学视觉 1777

大模型技术驱动智慧矿山数字化转型

多模态大模型作为AI领域的前沿技术,通过融合视觉、传感器等多源数据,构建了强大的环境理解与决策能力。其核心价值在于打破数据孤岛,实现实时分析与智能响应,特别适用于工业场景中的复杂系统优化。在智慧矿山建设中,该技术通过数字孪生、设备自诊断和智能调度等模块,显著提升了安全生产效率和资源利用率。典型应用包括基于强化学习的采掘路径规划、多层级灾害预警体系构建,以及可自我更新的矿山知识图谱系统,这些创新正在推动传统矿业向数字化、智能化方向转型。

weixin_29061531的博客 222

【图像处理】海森矩阵(Hessian Matrix)及用例(基于Steger的中心提取_含代码)

线结构光中心提取算法是线扫描三维重建精度高低以及光条轮廓准确性的重要因素。本方法可以改善提取的光条中心有断线;当光条较宽时,线条值局部会出现上下波动;当有弧光反射时光条中心线局部上下跳变等情况。...

weixin_40204808的博客 6447

Windows下用Docker快速搭建SearXNG私有搜索引擎(附Dify集成配置)

本文详细介绍了在Windows环境下使用Docker快速搭建SearXNG私有搜索引擎的完整流程,包括环境准备、容器化部署、安全配置优化以及与Dify平台的深度集成方法。通过分步指导和实用配置示例,帮助开发者构建兼具隐私保护和AI增强能力的本地化搜索解决方案,特别适合需要定制化搜索服务的应用场景。

weixin_30300225的博客 336

电磁场仿真软件:Sonnet_(12).Sonnet与其他软件的集成

Sonnet作为电磁场仿真领域的强大工具,不仅能够独立完成复杂的仿真任务,还可以通过与其他软件的集成,实现更高效的工作流程和更广泛的功能扩展。通过与CAD、EDA、数据处理软件、MATLAB、Python以及云计算平台的集成,Sonnet用户可以更好地利用现有设计资源,进行参数优化和结果分析,从而提升设计和仿真效率。希望本节的内容能够帮助你更好地理解和应用Sonnet的集成功能。

kkchenjj的博客 1432

梯度、Hessian矩阵、Jacobian矩阵的计算

x表示为如下列向量: 一、f(x)为一维 此时其一阶导数构成的向量为梯度向量g(x),其二阶导数构成的矩阵为Hessian(海森/黑塞)矩阵G(x); 导数可以表示为: 梯度向量 Hessian矩阵 二、f(x)为多维 f(X)表示为如下列函数向量: 此时其一阶导数构成的矩阵为Jacobian(雅克比)矩阵J(x)。 雅克比矩阵 ...

hyl1181的博客 1万+

基于 Simulink 的 PFC + LLC 级联系统联合仿真与优化实战教程

摘要:本教程详细介绍了2kW级AC-DC变换器建模方法,采用"BoostPFC+LLC谐振变换器"组合架构。重点解析了双级系统的核心控制策略:前级BoostPFC实现功率因数校正(PF>0.95),后级LLC通过变频调制(PFM)实现高效能量传输。教程包含四大关键步骤:PFC建模与控制、LLC参数计算与实现、母线电容优化设计以及系统联合调试,特别针对级联系统常见的母线电容震荡问题提供了解决方案。同时给出了仿真波形分析指南和避坑建议,包括代数环处理、仿真步长设置等实用技巧,为新能源车

MHD0815的博客 118

Hessian简单实例

一、Hessian概述:       Hessian:hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能,相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用了二进制协议,所以它很适合于发送二进制数据,Hessian主要作面向对象的消息通信。Hessian的初衷就是支持动态类型,格式紧凑,跨语言Hessian是使用...

tanksyg的专栏 605

【ATC/DTC方法第一期】经典平均/昼夜温度周期ATC/DTC方法介绍(含Python代码实现)

【ATC/DTC方法第一期】经典平均/昼夜温度周期ATC/DTC方法介绍(含Python代码实现)

WW、forever的博客 484

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

hessian简单实例

Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。 xianm

u013444177的专栏 590

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

简单Hessian实例

1.下载最新的Hessian的jar文件(我们用的是for java),地址为:http://hessian.caucho.com/2.用eclipse新建一个web工程,命名为:WebTest;把第一步下载的jar文件放入该工程3.新建一个接口和三个类,运行BasicClient类即可在控制台看到效果 接口 IBasic : public interface IBasic {

留下脚印 2670

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Hessian实现Webservice简单实例

Hessian实现Webservice简单实例 Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供服务,因此非常类似于平时我们用的WebService。只是它不使用SOAP协议,但相比webservice而言更简单、快捷。 Hessian官网:ht...

天空的博客 447

spring mvc hessian maven简单实例

第一次接触hessian的时候不懂这是什么东西,于是本人在网上找资料自己学习了一下。搭建了一个简单的hessian工程并整理成文档。文档和工程都已上传,希望对正在学习的朋友们有用。 ...

asia007空间 195

简单的Hessian接口开发实例

需要的jar包‍‍hessian-4.0.7.jar‍‍ ...

weixin_34375054的博客 141

关于二进制Web服务框架Hessian最简单代码实例

关于二进制Web服务框架Hessian最简单代码实例 在resin3.1 下测试通过 hessian版本: hessian-3.1.6.jar 官方地址: http://hessian.caucho.com/#Java http://hessian.caucho.com/ 步骤如下: 1. 接口定义 package com.yanek.study.hessian; publi

动感超人的专栏 1066

Hessian+Maven Demo 一个简单的实例(有问题,可以提问,经常在线,源码会粘上连接,可下载)

1:这个小Demo是我在IOS系统上搞起来的,MAVEN、JDK、TOMCAT、ECLIPSE安装都不一一说了,可以自己尝试一下,有问题,可以在线问我 2:这是一个Hessian入门级别的项目,项目是Maven项目、方便管理和以后整合SpringMVC。

随笔记录-分享&记忆 2311

Hessian简单入门

Hessian简单入门.

陈伟堂的专栏 8714

Hessian学习笔记之Hessian实例

1.简介      Hessian是一个轻量级的remoting on http工具,通过简单的方法提供了RMI的功能。 与WebService相比较而言,Hessian更简单、快捷。      Hessian采用的是二进制的RPC协议,正是因为它采用的是二进制协议,所以它很适合于发送二进制数据。   2.实例讲解    服务端:               a.下载hessian...

侠客行 290
上一篇: yum和apt-get的区别
下一篇: 用eclipse创建java web工程
无尽晴天
博客等级 码龄20年 33粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值