本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- wy_19921005
- benladeng5225
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- xiangjie88
- wiseboyloves
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- lemonhandsome
- jh108020
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- zhanjia
- lzyfn123
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- johnsmith9th
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- kristy_yy
- lich0079
- jveqi
- java-007
- sunj
最新文章列表
HashSet--阅读源码从jdk开始
基于HashMap实现
HashSet内部实现是基于HashMap的,这是阅读和理解HashSet源码的关键,只要理解了HashMap的实现原理,再来看HashSet的源码就简单了。对于HashMap源码的阅读可以看之前的一篇文章。
首先看两个重要的成员变量:
private transient HashMap<E,Object> map;
private sta ...
JDK中反序列化对象的过程(ObjectInputStream#readObject)
此处,对象描述信息即ObjectStreamClass的实例
1、java ObjectInputStream#readObject的时候,先从输入流读入对象,读取对象信息,如果在读取过程中出现异常,则通过markDependency处理;处理完后还会调用注册进来的callback
2、读取对象的过程,先读取对象,然后再java.io.ObjectInputStrea ...
Item 76: Write readObject methods defensively
1. The readObject method is effectively another public constructor, and it demands all of the same care as any other constructor. Just as a constructor must check its arguments for validity and make ...
Item 75: Consider using a custom serialized form
1. Do not accept the default serialized form without first considering whether it is appropriate. Accepting the default serialized form should be a conscious decision that this encoding is reasonable ...
java序列化辨析
java对象序列化是一个神奇的功能,它通过让对象实现Serializable接口,并将其传递给ObjectOutputStream的writeObject方法,就能得到该对像。writeObject是怎么样实现这个功能的呢?下面分析一下这个方法的实现
writeObject首先是获取当前序列化对象的的类信息,调用的是ObjectStreamClass的lookup方法
static ...
JAVA序列化与反序列化[转]
在JAVA中,一个大的应用程序需要保存很多对象的时候,由于虚拟机内存有限,(资源宝贵啊 )有时不可能所有有用的对象都放到内存中,因此,需要将不常用的对象暂时持久化的文件中,当需要这个对象时,再从文件把对象恢复到内存中,这就是所谓对象的序列化和反序列化。本文讲实现如何将对象序列化到文件,然后再从文件反序列化到对象,你会发现其实特别简单
先看一下对象的序列化和反序列化的关键是什么
1,首先被 ...
writeObject与readObject的使用例子
写了一段程序,这段程序是用来:
传入1个用户id以及数据data,
然后在网站的cache目录下生成${employee_id}.ser的文件,把data写进去。
如果该文件存在,则删掉再重新创建下。
public static ArrayList<HashMap<String, String>> getQueryData(String employee_id) { ...