- 博客(7)
- 收藏
- 关注
记一次诡异的bug
前提:一份万年不变的代码,居然报了错 我们公司也算是个电商公司,网站自然支持支付宝和微信支付,支付网关完成后,使用一直没啥大问题,直到uat环境有一天突然基本不能支付,所有支付方式回调都失败,于是开始了漫漫bug长路。。。 1.看堆栈root cause: caused by OptimisticLockingFailureException.....乐观锁异常,是在根据...
2017-01-06 23:37:13
187
原创 Java读取配置文件路径设置
读配置文件推荐做法:1. Test.class.getResource("")获取Test类所在路径2. Test.class.getResource("/")获取classpath的绝对路径3. Thread.currentThread().getContextClassLoader().getResource("")同上4. Test.class.getClass...
2014-11-07 11:18:44
395
原创 Linux常用命令
1. 查看哪个进程占用了某个端口 lsof -i:端口号 然后在用ps -ef|grep 进程号查看 2. vi中搜索关键字 输入/进入搜索模式,搜到后输入n表示下一个 3. 搜索文件位置 find / -name a.xml,表示查找根目录/下名为a.xml的文件...
2014-07-30 10:17:10
120
Netty源码分析4---客户端连接流程
前面看了服务端绑定和读写的流程,再来看客户端,瞬间感觉简单多了~ 客户端和服务端相比,区别主要在NioClientBoss上,worker是一样的。来看一个简单的客户端: ClientBootstrap bootstrap = new ClientBootstrap( new NioClientSocketChannelFactory( Executors.newCa...
2014-07-07 10:54:23
193
Netty源码分析3---服务端线程模型
只看了服务端的线程结构,客户端还没看,不知道是不是一样,所以这篇就叫服务端线程模型吧,以后看了客户端再修改。术语和第二篇一样,不重复写了。 1. Netty与Reactor的关系Netty是Reactor模型的实现,有关Reactor有一张经典的图:通过前面的分析,大概能知道:① main reactor即NioServerBoss,由它的selector负责监听端口,...
2014-06-16 14:07:44
149
Netty源码分析2---服务端读写流程
上次分析了服务端bind流程,今天继续看服务端读写流程。 术语:worker---NioWorker对象,BT---boss线程,IOT---worker线程,UT---用户线程 先说一下前提条件:所有与具体连接相关的IO操作都是由IOT负责完成的,并且handler也是在IOT执行的,所以才说耗时的操作要自己起线程,不要交给IOT,IOT不是拿给你独占的。 一. 服务...
2014-06-13 16:00:14
244
原创 Netty源码分析1---服务端绑定流程
前言:一直自认为水平很差,什么都不懂,想找个源码来看看,无奈时间不够(码农搬砖很辛苦的诶),最近终于抽了点时间,看了一下Netty,感觉代码确实写得干净规范,看着舒服(吐槽一下有些开源代码,简直惨不忍睹,神马代码风格和规范通通木有,无力吐槽)。之前看的Netty源码分析感觉没说透彻,索性干脆自己写,也不知道对不对,和大家分享讨论一下吧,也算是复习巩固,欢迎交流。。。 注:以下分...
2014-05-21 18:10:24
270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅