logo头像

不忘初心 方得始终

tips

Linux中的零拷贝技术

Linux中的零拷贝技术

引言零拷贝(Zero-Copy)技术指在计算机执行操作时,CPU不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及CPU的拷贝时间。作用是在数据从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,消除CPU在这方面的负载。…

动态修改日志级别

动态修改日志级别

引言日志是我们定位问题的关键,尤其是在线上。但是有时我们输出的日志信息不够充足,给排查问题带来了极大的困扰。如果能够不重启应用,就能动态调整日志级别的话,无疑给我们排查问题带来了极大的帮助。…

SpringMVC集成Swagger

SpringMVC集成Swagger

当前方便管理项目中的API接口,最流行的莫过于Swagger了,功能强大,UI界面漂亮,并且支持在线测试等等。所以仔细研究了下Swagger的使用。在这里记录下SpringMVC集成Swagger。…

自定义rest代理(二)

自定义rest代理(二)

之前用HttpClient实现了rest代理(自定义rest代理(一)),从网上看了下资料,同时针对公司已有的框架做了一些封装和改造。用Retrofit2另外实现了一套rest代理工具包。其中基本都是都是基于Retrofit2,自己又...

MongoDB辅助之mongo-spring-support

MongoDB辅助之mongo-spring-support

引言在开发中经常使用到MongoDB,每个项目使用各不相同,既繁琐又好不管理。这里封装了一套MongoDB类似于Mybatis的ORM增强版工具,和Spring无缝结合,只需要简单的配置就可以实现强大的功能。同时扩展了MongoDB的Datastore功能,加了一些自定义方法。其原理离不开之前所说的FactoryBean。…

自定义rest代理(一)

引言在项目中可能我们会调用其他的rest接口,我们会写一个HttpClientSender工具类,返回后然后一大堆的条件判断,既繁琐又不直观。我们可以运用所学的FactoryBean手写一个rest代理,使用时可以像Mybatis那样...

浅谈设计文档

浅谈设计文档

引言经常听到调侃程序员的一句话”程序员最烦写文档,也最烦别人不写文档”。文档在项目开发中非常重要,首先是自己对产品和设计要非常熟悉才能写出一篇好的设计文档,其次文档可以让别人快速理解技术架构,快速上手。这里总结下自己这几年写概要设计文档的经验。…

protostuff序列化

引言HTTP通信离不开对象的序列化和反序列化。通过序列化技术,可以跨语言实现数据的传输,将对象转换为字节序列,然后在网络上传送;通过反序列化,可以将字节序列转换为对象。…

自定义StopWatch

引言在平时的开发调试工作或线上中,有时会遇到程序执行效率非常慢,通过一般的经验只能判断出部分逻辑有问题,但判断并不直观且效率较低,不知道方法中哪个阶段比较耗时。…

谈谈日志

引言日志用来记录用户操作、系统运行状态等,是一个系统的重要组成部分。 然而,由于日志通常不属于系统的核心功能,所以常常不被团队成员所重视。…