导读1.什么是序列化?2.为什么要序列化?好处在哪里?3.C++对象序列化的四种方法4.最常用的两种序列化方案使用心得正文1.什么是序列化?程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯。这个将程序数据转化成能被存储...
分类:
编程语言 时间:
2014-05-12 16:37:24
阅读次数:
429
我们知道Java中的对象都是存在于堆内存中的,而堆内存是可以被垃圾回收器不定期回收的。从对象被创建到被回收这一段时间就是Java对象的生命周期,也即Java对象只存活于这个时间段内。
对象被垃圾回收器回收意味着对象和对象中的成员变量所占的内存也就被回收,这意味着我们就再也得不到该对象的任何内容...
分类:
编程语言 时间:
2014-05-06 01:20:00
阅读次数:
392
导读
1. 什么是序列化?
2. 为什么要序列化?好处在哪里?
3. C++对象序列化的四种方法
4. 最常用的两种序列化方案使用心得...
分类:
编程语言 时间:
2014-05-05 13:09:33
阅读次数:
435
form表单有一个serialize()方法,可以序列化表单的值,但是jquery提供的这个方法会把数据序列化为类似下面的形式:
a=1&b=2&c=3&d=4
jquery并没有提供将表单数据序列化为json的方法,所以需要我们自己封装一下,下面给出代码和测试样例,先写一个js文件:
$.ajaxSetup({
contentType: "application/x-www-for...
分类:
Web程序 时间:
2014-05-04 00:14:14
阅读次数:
320
在派生类中序列化一个基类
假如有一个基类如下:
class student_info
{
public:
student_info() {}
virtual ~student_info() {}
student_info(const std::string& sn, const std::string& snm, const std::string& sg)
: name_(sn),...
分类:
其他好文 时间:
2014-05-03 21:41:12
阅读次数:
356
本篇是boost::serialization 用基类指针转存派生类(错误多多,一波三折)的姊妹篇,这里只不过做一个总结。
先来看一个基类
class base_class
{
public:
base_class(int m=0) : base_member_(0) {}
virtual ~base_class() {}
virtual void print_data() = 0;
...
分类:
其他好文 时间:
2014-05-03 21:24:33
阅读次数:
247
boost::serialization 也支持c++的多态,这样我们就可以通过使用基类的指针来转存派生类,
我们接着上一篇(
boost::serialization(2)序列化基类
)的例子来看:
基类和派生类的代码如下:
class student_info
{
public:
student_info() {}
virtual ~student_info() {}
s...
分类:
其他好文 时间:
2014-05-03 21:08:18
阅读次数:
280
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。
把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Ja.....
分类:
编程语言 时间:
2014-05-01 19:34:42
阅读次数:
283
1 Yield生成器
Yield是我在其他语言中没有见过的一个属性,算是python的一大特色,用好之后可以使代码更简洁。考虑一个简单的例子,文件的遍历。要遍历一个目录下的所有文件需要递归的操作。如果我们只是单纯的打印文件名,我们可以在递归的过程中完成,每当发现一个非目录就可以打印文件名。代码如下:
class TraverseDirectory(object):
@s...
分类:
编程语言 时间:
2014-04-30 22:48:40
阅读次数:
312