日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中对象字节数_JAVA中求解对象所占字节大小

發布時間:2023/12/2 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中对象字节数_JAVA中求解对象所占字节大小 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該類為cache4j緩存框架中的工具類方法,該方法實現了兩個接口

接口1:計算對象在內存中所占字節數

接口2:復制對象,實現深度克隆效果,實現原理為先序列化對象,然后在反序列化對象;返回一個新的對象,達到克隆效果

package net.sf.cache4j.impl;

import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.ObjectInput;

import java.io.ObjectInputStream;

import java.io.ObjectOutput;

import java.io.ObjectOutputStream;

/**

*

* @version $Revision: 1.0 $ $Date:$

* @author Yuriy Stepovoy. stepovoy@gmail.com

**/

public class Utils {

/**

* 計算一個對象所占字節數

* @param o對象,該對象必須繼承Serializable接口即可序列化

* @return

* @throws IOException

*/

public static int size(final Object o) throws IOException {

if (o == null) {

return 0;

}

ByteArrayOutputStream buf = new ByteArrayOutputStream(4096);

ObjectOutputStream out = new ObjectOutputStream(buf);

out.writeObject(o);

out.flush();

buf.close();

return buf.size();

}

/**

* 賦值對象,返回對象的引用,如果參數o為符合對象,則內部每一個對象必須可序列化

* @param o對象,該對象必須繼承Serializable接口即可序列化

* @return

* @throws IOException

* @throws ClassNotFoundException

*/

public static Object copy(final Object o) throws IOException,

ClassNotFoundException {

if (o == null) {

return null;

}

ByteArrayOutputStream outbuf = new ByteArrayOutputStream(4096);

ObjectOutput out = new ObjectOutputStream(outbuf);

out.writeObject(o);

out.flush();

outbuf.close();

ByteArrayInputStream inbuf = new ByteArrayInputStream(outbuf.toByteArray());

ObjectInput in = new ObjectInputStream(inbuf);

return in.readObject();

}

}

例如:對象SMatrix

首先在定義類SMatrix時,必須為

public class SMatrix implements Serializable{

//***

}

一定要注意的一個問題是:所計算的對象必須要實現implements Serializable

總結

以上是生活随笔為你收集整理的java中对象字节数_JAVA中求解对象所占字节大小的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。