Best Practise(JDK API)
一些常用的代码示例,经验
源码实现实时获取Java堆内存信息
摘要: 如果大家有遇到过Java内存泄露问题,而且亲自动手去定位和分析经历的同学来讲,获取Java的堆内信息对了内存使用情况的问题分析和定位是非常有帮助了。例如我们常用的MAT工具,可以较方便的让我们定位程序中内存的使用情况,是哪块导致了内存的泄露等。
但由于传统的分析过程比较麻烦,需要使用Jdk的jmap(Java Memory Map)命令把heap内存dump到一个文件,然后用MAT进行分析。所以本文介绍一种方法可以实现在线查看heap内存的使用情况,并附上源码实现,希望对大家有帮助。由于目前调研中只找到了Sun JDK6以及以上版本的实现,所以目前该方案只支持Sun JDK6或以上。如果其他同学有其它版本的JDK实现分享,欢迎一起交流。
阅读全文
posted @
2013-02-20 16:30 x.matthew 阅读(6277) |
评论 (9) 编辑
JDK 并发API学习笔记之CyclicBarrier同步器
摘要: CyclicBarrier一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。假如在涉及一组固定大小的线程的程序应用中,要求这些线程必须不时地互相等待(保证所有线程都执行完毕才返回),那么选择 CyclicBarrier 就会让这个实现变得非常容易。CyclicBarrier 在释放等待线程后可以重用,所以又称它为循环 的 barrier。
阅读全文
posted @
2012-06-28 13:34 x.matthew 阅读(2728) |
评论 (1) 编辑
LRUMap 源代码实现解读
摘要: 本文通过对Apache Commons Collections 项目中LRUMap这个集合类的源代码进行详细解读,为帮助大家更好的了解这个集合类的实现原理以及使用如何该集合类。
首先介绍一下LRU算法. LRU是由Least Recently Used的首字母组成,表示最近最少使用的含义,一般使用在对象淘汰算法上。也是比较常见的一种淘汰算法。
阅读全文
posted @
2012-06-28 13:34 x.matthew 阅读(5790) |
评论 (1) 编辑
Thrift学习笔记(原创)
摘要: Thrift出自Facebook用于后台各个服务间的通讯,Thrift的设计强调统一的编程接口的多语言通讯框架.
本文通过一个实例来介绍一下Thrift最基本的应用。
阅读全文
posted @
2011-11-12 18:57 x.matthew 阅读(17870) |
评论 (4) 编辑
如何做到API兼容(转载)
摘要: 本文主要介绍什么是API,以及API兼容的重要性,最终给出方案如何评估API,以及如何做到API兼容。
阅读全文
posted @
2011-07-29 19:35 x.matthew 阅读(564) |
评论 (0) 编辑
Tomcat7 StuckThreadDetectionValve 功能分析
摘要: 本月Tomcat 7.0.14版本正式发布,其最显著的一个新功能就是引入了StuckThreadDetectionValve功能,该功能可以帮助分析和检查耗时的请求或潜在可能会出现请求线程阻塞等情况
阅读全文
posted @
2011-05-25 21:51 x.matthew 阅读(3040) |
评论 (4) 编辑
Java IO部分的学习笔记
摘要: 针对 JDK IO部分整理的类图
阅读全文
posted @
2009-06-13 10:38 x.matthew 阅读(3416) |
评论 (6) 编辑
svenson, 一个用于生成和解析JSON数据格式的Java5开源类库
摘要: svenson是一个用于生成和解析JSON数据格式的Java5开源类库。它能够将JSON数据集转换成Java对象或相反的操作。
阅读全文
posted @
2008-12-29 21:35 x.matthew 阅读(3108) |
评论 (0) 编辑
Java对象XML序列化框架-Simple2.0
摘要: Simple是一个XML序列化框架,一个Java版本宽容的序列化框架,能够快速在Java平台上开发XML。支持通过annotations完全配置化的XML结构;提供版本管理框架允许向前和向后兼容序列化;更好的性能,使用轻量级StAX提升XML反序列化进程,比XStream和JAXB更快;通过namespace annotations提供完全的命名空间支持;包括XML模板系统
阅读全文
posted @
2008-12-10 20:16 x.matthew 阅读(3822) |
评论 (1) 编辑
使用ftp4j类来实现FTP操作
摘要: ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。
阅读全文
posted @
2008-12-01 08:13 x.matthew 阅读(7720) |
评论 (8) 编辑
使用cobertura来测量单元测试的代码覆盖情况
摘要: Cobertura是一个基于jcoverage的免费Java工具,它能够显示哪一部分代码被你的测试所覆盖,并可生成HTML或XML报告. 本文将介绍如何在项目中使用cobertura来测量单元测试的代码覆盖情况.
阅读全文
posted @
2008-11-25 22:47 x.matthew 阅读(4524) |
评论 (4) 编辑
Java Base64类库学习笔记
摘要: Java Base64 这是一个用于编码和解码(encode/decode )base64字符串和数据流的Java开源类库。Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。可用来作为电子邮件或WebService附件的传输编码.
阅读全文
posted @
2008-11-25 20:23 x.matthew 阅读(10269) |
评论 (0) 编辑
JSON taglib学习笔记
摘要: JSON-taglib 是 JSP 2.0 标签库,用于生产 JSON (JavaScript Object Notation) 数据结构。
阅读全文
posted @
2008-11-03 19:30 x.matthew 阅读(2327) |
评论 (0) 编辑
Java工具类学习笔记
摘要: 本人早期整理的Java工具类学习笔记
阅读全文
posted @
2008-10-25 20:21 x.matthew 阅读(4079) |
评论 (7) 编辑