「十年饮冰」


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签
「十年饮冰」

深入分析JDBC超时机制

发表于 2017-07-22 | 分类于 java , jdbc , 数据库 , MySQL , 超时 |
前言上周在线上出现出现报警,ID号码一直无法获取,但是只有这一台机器报警,所以第一时间先在服务治理平台上禁用掉这台机器保证服务正常。停掉机器后要排查问题,思考分析步骤如下: 通过监控发现只有一个key的ID调用发生下降(第一张),这台机器上的其他key没有任何问题,从数据库更新号段正常。是不是数据库死锁了? 这个key在其他机器更新key是正常的,排除数据库的问题,那么就是这台机器的问题 查看log,发现这台机器确实没有更新数据库,两个号段的buffer都是空的。为什么更新数据库失败呢?难道是大量的超时? 仔细检查log日志,发现并没有超时的error。首先没有超时,但是号段是null的,是 ...
阅读全文 »
「十年饮冰」

一次堆外OOM问题的排查

发表于 2017-07-22 | 分类于 java , OOM , 堆外内存泄露 , 垃圾回收 , GC |
背景线上服务有一台机器访问不通(一个管理平台),在公司的服务治理平台上查看服务的状况是正常的,说明进程还在。进程并没有完全crash掉。去线上查看机器日志,发现了大量的OOM异常: 1234567891011121314151617181920212223242526272829303132333435363738017-03-15 00:00:00.041 [WARN] qtp1947699202-120772 nio handle failedjava.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.r ...
阅读全文 »
「十年饮冰」

Java JDK代理、CGLIB、AspectJ代理分析比较

发表于 2017-03-31 | 分类于 java , 动态代理 , AOP , AspectJ , CGLIB |
前言什么是代理,在Design patterns In java这个本书中是这样描述的,简单的说就是为某个对象提供一个代理,以控制对这个对象的访问。在不修改源代码的基础上做方法增强,代理是一种设计模式,又简单的分为两种。 静态代理:代理类和委托类在代码运行前关系就确定了,也就是说在代理类的代码一开始就已经存在了。 动态代理:动态代理类的字节码在程序运行时的时候生成。 静态代理先来看一个静态代理的例子,Calculator是一个计算器的接口类,定义了一个加法的接口方法,由CalculatorImpl类实现真正的加法操作.现在如果我们想对这个方法做一层静态的代理,这儿实现了一个简单的代理类实现 ...
阅读全文 »
12…6
谢照东

谢照东

我没有梦想,但是我有一个野心

16 日志
51 分类
42 标签
RSS
GitHub 微博 知乎
links
  • Mr.Harry
  • ilulu
  • 0-?
  • ios.dog
  • jucsinyu
  • 沈津生
© 2015 - 2017 谢照东
由 Hexo 强力驱动
主题 - NexT.Pisces