文档章节

序列化与io

阿奇哥
 阿奇哥
发布于 2017/02/28 14:17
字数 276
阅读 3
收藏 0
点赞 0
评论 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
haoop序列化 Writable接口与WriteCompareable接口

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

tuzibuluo
2012/02/08
0
0
关于序列化和transient关键字

先看例子: demo1 package com.caiya.test._transient; import java.io.Serializable; /** * Created by caiya on 16/3/31. */public class User implements Serializable { private static ......

菜蚜
2016/03/31
25
0
Hibernate POJO为什么要实现Serializable接口

原文链接:http://blog.csdn.net/longeremmy/article/details/7456547

长平狐
2012/11/28
1K
0
Java复习--IO(输入/输出){Java传统IO体系、Java序列化机制}

本节从三个方面介绍Java输入输出体系,第一部分介绍Java IO,第二部分介绍Java对象的序列化机制,第三部分介绍JavaNIO。 一、Java IO Java的IO是通过java.io包下的类和接口来支持的,主要包括...

Winnie007
2015/09/20
122
0
hadoop深入研究:(十三)——序列化框架

转载请写明来源地址:http://blog.csdn.net/lastsweetop/article/details/9376495 所有源码在github上,https://github.com/lastsweetop/styhadoop 框架简介 MapReduce仅仅可以支持Writable做......

lastsweetop
2013/07/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
13
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
2
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
2
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
1
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
3
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部