Java原生序列化、Avro、RPC与Log4j

本文深入探讨了Java原生序列化机制及其局限性,并详细介绍了Avro序列化框架的原理、优势及使用步骤。通过实例展示了Avro在Hadoop RPC中的应用,同时提供了创建RPC服务端和客户端的完整流程。此外,还讨论了如何利用Avro进行RPC中的对象传递,并简单介绍了Log4j的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Java原生序列化机制

1、序列化作用

2、Java原生序列化的局限性

3、案例演示

(1)创建SerializableDemo项目

(2)创建Student类

(3)创建TestDemo类

(4)创建testWrite()方法,测试序列化

(5)编写testRead()方法,测试反序列化

二、Avro序列化框架

1、Avro介绍

2、Avro特点

3、同类主流产品

4、Apache Avro应用Hadoop RPC

5、Apache Avro优点

6、利用Avro实现序列化的步骤

三、Avro序列化框架案例演示

1、创建Maven项目AvroDemo

2、修改pom.xml文件

3、配置私服(如果不能上网就这样处理)

4、在main目录里创建avro源文件夹

5、在avro目录里创建avro模式文件student.avsc

6、通过avro插件生成模式文件对应的Java类(Student)

7、在net.hw包里创建TestDemo类,测试序列化与反序列化

(1)编写testCreate()方法,测试Student对象的创建

(2)编写testWrite()方法,测试对象序列化写入文件

(3)编写testRead()方法,测试反序列化成对象

四、利用Avro实现RPC(远程过程调用)

(一)服务器端

1、创建Maven项目RPCServer

2、修改pom.xml文件,引入avro框架

3、配置私服(能够上网就不用配置)

4、在main里创建源文件夹avro

5、在avro目录创建协议文件MathService.avdl(注意扩展名必须是avdl)

6、利用协议文件MathService.avdl生成相应的MathService接口

7、在rpc.service里创建MathServiceImpl实现类

8、创建net.hw.rpc包,在里面创建Server类

(二)客户端

1、创建Maven项目RPCClient

2、修改pom.xml文件,引入avro框架

3、配置私服(不能上网时才配置私服)

4、在main里创建源文件夹avro

5、在avro目录创建协议文件MathService.avdl(注意扩展名必须是avdl)

6、利用avro插件,基于协议文件MathService.avdl生成相应的MathService接口

6、创建net.hw.rpc包,在里面创建Client类

(三)利用RPC传递对象

1、在avro目录里添加student.avsc模式文件

2、利用avro插件基于student.avsc模式文件生成相应的Student类

3、修改MathService.avdl协议文件,添加一个新方法

4、让avro插件基于MathService.avdl协议文件生成相应的MathService接口

5、修改Client类

6、将avro目录里的MathService.avdl与student.avsc文件拷贝到服务器端对应的目录

7、利用avro插件基于模式文件与协议文件生成对应的类与接口

8、修改MathServiceImpl,增加对getAge()方法的实现

五、Log4j使用介绍


一、Java原

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒城译痴无心剑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值