文档章节

序列化与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
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
serialVersionUID的作用

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

ok绷forever
2016/07/13
10
0
Java序列化与反序列化(原生方式与Jackson方式)

image.png Java序列化与反序列化 交流或更多内容请关注我的公众号:nezha_blog 我的技术博客:https://nezha.github.io 微信公众号 当两个进程在进行远程通信时,彼此可以发送各种类型的数据...

哪吒小子
2017/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker部署springboot项目

安装docker 菜鸟教程 springboot项目 maven依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001......

yimingkeji
今天
10
0
ios多个target

1.建立3个target,分别为heroone,heroone test,heroone dev;分别为正式环境,test环境,dev环境 2.注意取消掉autocreate以防止名字不对,分别以Duplicate的方式建立另外两个scheme 3.创建...

HeroHY
今天
6
0
php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部