1,serialVersionUID 用来表明类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入private static final long serialVersionUID这个属性,具体数值自己定义。
2,控制串行化对象文件版本的,实现了serializable接口的类都应该写这个东西.
在警告上点左键就可以自动添加。当然也可以去掉警告。设置:Window--> Preferences--> Java,将serializable class without serialVersionUID的设置由warning改为Ignore。然后Eclipse会重新编译程序,那些警告信息也就消失了。
序列化的几个高级应用
1 虚拟机是否允许反序列化,不仅取决于类路径和功能代码是否一致,一个非常重要的一点是两个类的序列化 ID 是否一致(就是 private static final long serialVersionUID = 1L)
2 序列化保存的是对象的状态,静态变量属于类的状态,序列化并不保存静态变量
3,Transient 关键字的作用是控制变量的序列化,在变量声明前加上该关键字,可以阻止该变量被序列化到文件中,在被反序列化后,transient 变量的值被设为初始值,如 int 型的是 0,对象型的是 null
4,Java 序列化机制为了节省磁盘空间,具有特定的存储规则,当写入文件的为同一对象时,并不会再将对象的内容进行存储,而只是再次存储一份引用
来自:http://www.ibm.com/developerworks/cn/java/j-lo-serial/index.html
分享到:
相关推荐
1、serialVersionUID作用, 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 2、Servlet中service()方法 3、servlet中的doGet和doPost的不同 4、……
private static final long serialVersionUID = 8290188097137862984L; public static final int IMAGEWIDTH = 200; // 图片宽度 private int place;// 图片位置 public Cell(ImageIcon icon, int place) { ...
private static final long serialVersionUID = 5038573199831787259L; private String shownum;//序号 private String pk_org;//资金组织 private String pk_debitorg;//财务组织==借款单位 private String pk...
private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, ...
private static final long serialVersionUID = 1L; public XmlNode() { } public String tagName; public String tagValue; public String attList; public int level; public XmlNode parent; public...
序列化ID 两个类的序列化ID相同才能保证反序列的对象是一致private static final long serialVersionUID在序列化过程中,
private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated ...
private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JPanel jPanel = null; private JTextField jTextField = null; private JButton jButton = null; private ...
private static final long serialVersionUID = 2568625249670479556L; GamePanel mp=null; public static final int AREAWIDTH=400; public static final int AREAHEIGHT=300; public static void main(String...
private static final long serialVersionUID = 7941685726759058059L; public IllegalExpressionException() { } public IllegalExpressionException(String info) { super(info); } }
private static final long serialVersionUID = 1L; JPanel panel = new JPanel(new BorderLayout()); JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(new GridLayout(7, 7)); JPanel panel3 = new...
private static final long serialVersionUID = 1L; private String fileName; // 文件名称 private long fileLength; // 文件长度 private byte[] fileContent; // 文件内容 public Message(){ } p
private static final long serialVersionUID = 1L; private JTabbedPane tabPane = null;// 选项卡面板 /** * 构造方法 */ public MainFrame() { init(); } /** * 生成主面板样子 */ private void ...
private static final long serialVersionUID = 1L; public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding...
private static final long serialVersionUID = -5596241291862147220L; private int id; private String name; private int age; @Id public int getId() { return id; } public void setId(int id) { ...
今天遇到如下问题: public class Test { public static void main(String[] args) { if (…) { System.out.println(“a”); } else { System.out.println(“b”);... private static final long serialVersionUID =
客户端提交两个String类型的参数,服务端返回一个对象类型。...public class Person implements Serializable { /** * */ private static final long serialVersionUID = -410186774891162281L;
private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session=request...
serialVersionUID = 8683452581122892189 /** * Default initial capacity. * 默认的初始容量 */ private static final int DEFAULT_CAPACITY = 1 /** * Shared empty array instance used for e