随笔分类 - Java
摘要:代理模式 代理模式一般包含三个角色: Subject:主题对象,一般是一个接口,定义一些业务相关的基本方法。 RealSubject:具体的主题对象实现类,它会实现Subject接口中的方法。 Proxy:代理对象,里面包含一个RealSubject的引用,外部会通过这个代理对象,来实现RealSu
阅读全文
摘要:最近在使用fastjson的`JSONObject.toJSONString()`方法将bean对象转为字符串的时候报如下错误:
com.alibaba.fastjson.JSONException: write javaBean error, fastjson version 1.2.58, class com.sun.proxy.$Proxy395, fieldName : 0
Caused by: java.lang.NullPointerException: null
阅读全文
摘要:物理内存 计算机物理内存条的容量,比如我们买电脑会关注内存大小有多少G,这个容量就是计算机的物理内存。 虚拟内存 操作系统为每个进程分配了独立的虚拟地址空间,也就是虚拟内存,虚拟地址空间又分为用户空间和内核空间,操作系统的位数不同,虚拟地址空间的大小也不同,32位操作系统虚拟地址内核空间为1G,用户
阅读全文
摘要:PhantomReference虚引用 在分析堆外内存回收之前,先了解下PhantomReference虚引用。 PhantomReference需要与ReferenceQueue引用队列结合使用,在GC进行垃圾回收的时候,如果发现一个对象只有虚引用在引用它,则认为该对象需要被回收,会将引用该对象的
阅读全文
摘要:最近看到网上有些文章在讨论JAVA中普通文件IO读/写的时候经过了几次数据拷贝,如果从系统调用开始分析,以读取文件为例,数据的读取过程如下(以缓存I/O为例): 应用程序调用read函数发起系统调用,此时由用户空间切换到内核空间; 内核通过DMA从磁盘拷贝数据到内核缓冲区; 将内核缓冲区的数据拷贝到
阅读全文