文档章节

序列化与io

阿奇哥
 阿奇哥
发布于 2017/02/28 14:17
字数 276
阅读 3
收藏 0

java的io设计

 

/** 基于Dubbo的分布式系统架构视频教程,吴水成,wu-sc@foxmail.com,学习交流QQ群:367211134 **/
package wusc.edu.demo.redis;

import org.apache.commons.lang3.SerializationUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;

/**
 * 
 * @描述: Redis测试 .
 * @作者: WuShuicheng .
 * @创建时间: 2015-3-23,上午1:30:40 .
 * @版本号: V1.0 .
 */
public class RedisSpringTest {
	private static final Log log = LogFactory.getLog(RedisSpringTest.class);

	public static void main(String[] args) {
		try {
			ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/spring-context.xml");
			context.start();
			
			ShardedJedisPool pool = (ShardedJedisPool) context.getBean("shardedJedisPool");
			ShardedJedis jedis = pool.getResource();
			
			
			String key = "zq";
			String value = "";
			
			log.info(key + "=" + jedis.get(key));
			
			jedis.del(key); // 删数据
			
			log.info("delete");
			log.info(key + "=" + jedis.get(key));
			
			jedis.set(key, "ZengQi"); // 存数据
			value = jedis.get(key); // 取数据
			log.info("set");
			log.info(key + "=" + value);
			
			jedis.set(key, "WuShuicheng"); // 存数据
			value = jedis.get(key); // 取数据
			log.info("set overwrite");
			log.info(key + "=" + value);
			
			jedis.del(key); // 删数据
			value = jedis.get(key); // 取数据
			log.info("del");
			log.info(key + "=" + value);
			
			

	        User user = new User();
	        user.setId("123124");
	        user.setName("fighter");

	        // 存入一个 user对象
	        jedis.set("user".getBytes(), SerializationUtils.serialize(user));

	        // 获取
	        byte[] bs = jedis.get("user".getBytes());
	        User desUser = (User) SerializationUtils.deserialize(bs);
	        System.out.println(desUser.getId() + ":" + desUser.getName());

			context.stop();
		} catch (Exception e) {
			log.error("==>RedisSpringTest context start error:", e);
			System.exit(0);
		} finally {
			log.info("===>System.exit");
			System.exit(0);
		}
	}
}

 

上图中利用org.apache.commons.lang3.SerializationUtils对序列化对象User进行了一次反序列化,存redis中存的byte[]数据对象,redis中存储的user如下图所示

 

 

 

© 著作权归作者所有

共有 人打赏支持
阿奇哥
粉丝 0
博文 3
码字总数 1371
作品 0
深圳
程序员
私信 提问
关于序列化

Java 序列化是指:将一个对象转化成一串二进制表示的字节数组,通过保存或转移这些字节数据来达到持久化的目的。 需要持久化,对象必须继承 java.io.Serializable 接口。 父类继承 java.io....

xiaoye08050141
2018/01/11
0
0
Java 序列化与反序列化实例记录

序列化: 把对象转换为字节序列的过程称为对象的序列化反序列化: 把字节序列恢复为对象的过程称为对象的反序列化 实例:1.实体类 注:实现序列化接口 2.测试类:

banyoukang
2016/10/28
13
0
hessian BigDecimal反序列化异常

用hessian时BigDecimal反序列化时有的版本报上述异常如hessian4.0.7,有的版本反序列化结果是0,原因是服务端和客户端没有加序列化和反序列化配置,在服务提供方jar包里加上hessian的配置就可...

William
2015/10/20
1K
1
haoop序列化 Writable接口与WriteCompareable接口

public interface WritableComparable<T> extends Writable, Comparable<T> {} Hadoop并没有使用JAVA的序列化,而是引入了自己实的序列化系统,package org.apache.hadoop.io这个包中定义了大......

tuzibuluo
2012/02/08
0
0
serialVersionUID的作用

简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersion...

ok绷forever
2016/07/13
10
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
7
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
2
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部