暂无个人介绍
问题排查除了最重要的解决思路和逻辑推导能力外,工具也是不可缺少的一部分,一个好用的工具可以事半功倍,甚至在某些情况下会因为没有相应的工具而压根就没法继续进行下去,这篇文章就来讲讲在排查Java问题时通常要用到的一些工...
之所以想起写这篇文章,是因为最近看到的一个著名的开源项目在内部使用时的各种问题,不得不说,很多的开源的东西思想是不错的,但离真正工程化都有不小的距离,所以没什么商业公司采用的开源产品如果要引入的话一定要慎重,通常会有...
根据《单元测试的艺术》一书中的观点,一个良好的单元测试包括三个步骤: 准备测试环境和数据; 执行目标方法; 验证执行结果(判断程序的运行结果是否如你所想)。 我们一般使用断言(Assert)进行结果验证,Junit的org.junit.Assert包提供了大量断言API,如:assertEq
Spring容器中的bean具备不同的scope,最开始只有singleton和prototype,但是在2.0之后,又引入了三种类型:request、session和global session,不过这三种类型只能在Web应用中使用。 在定义bean的时候,可以通过指定<bean>的sing
上一篇博文中简单介绍了 Android Annotations 的基本用法,顺便扯了一下概念 - 契约编程,阅读量少的可怜,看来并没有多少人对此感兴趣,今天再来一篇,介绍几个稍微高级点的用法,我就不信弄不出一个大新闻。 本篇将要介绍的几个也许并不常用,但是逼格是有保证的,它们是 Thread A
该文章转自阿里巴巴技术协会(ata)作者:霜天 VTable 虚表 虚表的内存分布 一个简单的包含虚函数的类的声明class A { public: virtual void v_a(){} virtual ~A(){} int64_t _m_a; };
作为一名 C/C++ 程序员,字节是我们天天都要与之打交道的一个东西,我们甚至和它熟悉到几乎已经忘记了它存在的地步,不同的人接连掉入字节埋下的陷阱, 且问题都较为严重,有些问题甚至定位需要花费1、2天的时间,甚至不乏一些经验十分丰富的老员工,这深深引发了我的好奇心,不得不重新认识它、重新学习它。以.
该文章转自阿里ata精选文章,作者为苏樽 日志能方便地诊断程序原因、统计程序运行数据,是大型软件系统必不可少的组件之一。本文将从设计上和功能上对比 C++ 语言常见的两款日志库: boost::log 和 google-glog 。 设计 boost::log 的设计主要有日志器( Lo