摘要:
XML和json的优缺点 xml的优点(1)格式统一(2)容易与其他系统进行远程交互,数据共享比较方便xml的缺点(1)xml文件庞大,文件格式复杂,传输占带宽(2)服务器和客户端都需要花费大量代码来解析xml,导致服务器和客户端代码变得异常复杂且不易维护(3)客户端和服务端解析xml花费较多的资源 阅读全文
摘要:
出现OOM如何解决一. 可通过命令定期抓取heap dump或者启动参数OOM时自动抓取heap dump文件。二. 通过对比多个heap dump,以及heap dump的内容,分析代码找出内存占用最多的地方。三. 分析占用的内存对象,是否是因为错误导致的内存未及时释放,或者数据过多导致的内存溢出 阅读全文
摘要:
序列化与反序列化把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。对象的序列化主要有两种用途:一.把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;二.在网络上传送对象的字节序列。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的 阅读全文
摘要:
1.ConcurrentHashMap ConcurrentHashMap是线程安全的HashMap的实现。 1)添加 put(Object key , Object value) ConcurrentHashMap并没有采用synchronized进行控制,而是使用了ReentrantLock。 阅读全文
摘要:
1.可重入锁 如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1,而在m 阅读全文
摘要:
一.Java中的ThreadPoolExecutor类 java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类, 因此如果要透彻地了解Java中的线程池,必须先了解这个类。 在ThreadPoolExecutor类中提供了四个构造方法: 从上面的代码 阅读全文