摘要: 在上一篇博客 "初窥AspectJ" 中,我们提到AspectJ给java提供了三种新的结构,pointcut,advice以及inter type declaration(ITD),而且我们通过一个简单的Demo介绍了如何使用pointcut和advice。而本文将介绍inter type dec 阅读全文
posted @ 2018-09-06 10:21 jianyuan 阅读(497) 评论(0) 推荐(0) 编辑
摘要: AspectJ可以说是Java中当之无愧的黑魔法。说它是黑魔法,一方面是因为它很强大,能够解决一些传统编程方法论解决不了的问题,而另一方面,它也相当的晦涩,有着比较陡峭的学习曲线。 本文将带大家探索下AspectJ是什么,能做什么,以及如何来做,希望通过本文能够让大家初窥AspectJ之门道 AOP 阅读全文
posted @ 2018-09-04 09:07 jianyuan 阅读(864) 评论(1) 推荐(0) 编辑
摘要: 众所周知,Java语言是啰嗦的,写久了就会发现很多地方的代码看着就很冗余。 提供了一种简化Java代码的解决方案,通过注解的方式,来生成模板化的代码。最典型的就是生成类的构造函数,getter/setter,toString方法等。 <! more 注解是伴随JDK5发布的一个feature,根据生 阅读全文
posted @ 2018-08-29 18:19 jianyuan 阅读(459) 评论(1) 推荐(0) 编辑
摘要: 我在上一篇博客中简单介绍了JCMD的几个常见的用法,可以进行线程dump,内存转存,内存对象直方图分析等。可以说,JCMD集成了以前我们常用的jstack,jps,jmap等命令,就像瑞士军刀一样,all in one。除了这些功能,JCMD还能够采集JFR信息进行性能分析。 JFR: Java F 阅读全文
posted @ 2018-08-23 17:37 jianyuan 阅读(1259) 评论(0) 推荐(0) 编辑
摘要: `jcmd`是jdk自带的一个神器,能够很方便的对java程序进行profiling。jcmd其实可以替代很多常用的工具,比如jstak,jmap。接下来让我们了解下什么是jcmd,jcmd能够帮助我们定位什么问题?工作中我们如何使用jcmd。 从jdk7开始,jcmd就是jdk自带的一个工具。在正 阅读全文
posted @ 2018-08-23 15:37 jianyuan 阅读(975) 评论(0) 推荐(0) 编辑
摘要: Troubleshooting是我平时工作中的重要内容,我几乎每天都会花一些时间在定位客户环境的问题上,有很多的问题都需要通过抓包来协助分析,比如定位SSL handshake失败,SNMP请求没响应的问题等。Linux平台一般使用tcpdump抓包,由于我们只能通过远程脚本调用的方式执行,所以对w 阅读全文
posted @ 2018-08-23 14:22 jianyuan 阅读(865) 评论(0) 推荐(0) 编辑