转载本文,请联系JavaGuide公众号。01RefactoringJavaGuide我们常常对自己之前写的代码感到反感,这也是很多项目烂尾的重要原因之一。写作也是一样,经常觉得自己早期写的文章就像飞一样。出现这种现象的原因很简单!我觉得可能主要有两个原因:我积累了更多的知识,对某个知识点的理解更深了。与其他类型的文章不同,技术文章本身需要不断完善,这样文章的内容才会更好。因此,最近几个月我一直在花时间对JavaGuide上的一些早期文章进行大量重构,例如JavaFundamentals、JavaCollectionsFramework、Zookeeper、Redis等。毕竟时间有限,还是以写代码为主。所以有些文章还没有开始重构,比如数据结构部分的内容。非常期待小伙伴们的投稿!让导哥有更多的时间写代码,嘿嘿!02写了一个简单的RPC框架。我在大学的时候用过Dubbo等RPC框架。对于RPC框架的原理也有一点了解。自从!疫情期间,工作不是很忙,就想着是不是也应该写个RPC框架玩玩。去做就对了!前后耗时3个月,利用业余时间手工编写了一个简单的RPC框架(玩具),取名guide-rpc-framework。本框架基于Netty+Kyro+Zookeeper,集成了Spring。严重地!确实,费了很大力气。虽然这个东西的原理不难,但是写好确实需要时间。目前,这个项目已经有0.7k星。感谢您的支持!像这样的开源项目绝对是你简历上的加分项!而且,在自己写RPC框架的过程中,加深了对RPC框架原理的理解。在实现代码的过程中,遇到了很多问题。在解决问题的过程中,我也提高了自己的编程能力和解决问题的能力。总而言之,造轮子是一种特别能提高自己系统编程能力的方法。03写一个简易版的“SpringBoot”不错!我准备开始构建下一个轮子,一个简单版本的“SpringBoot”。我已经给它命名了,它叫做“jsoncat”。名字没有特殊意义,只是因为这个框架目前的定位是只给前端返回json类型的数据,所以在名字后面加上了json。其实说是SpringBoot的简易版,不过是简单的模仿了SpringBoot提供的功能,手工写了一个类似的轻量级HTTP框架。(功能、生态、稳定性等一定不能和SpringBoot相提并论!)具体实现先简单说一下,后面会单独写一篇文章分享。我会用Netty写一个简单的HTTPServer,主要用来处理HTTP请求。对于其他模块,我会尽量减少第三方依赖,同时兼顾代码的可读性。因此,整个框架会比较轻量级。此外,代码将尽可能简单明了,不做作秀。我还将分享我在编写这个简单的HTTP框架时所学到的知识。当然!如果你想看源码,我也会开源。写这个东西只是出于个人爱好,主要是为了提高自己的编码能力。建议朋友们尽量把自己的想法付诸行动。理论固然重要,但脱离实践的理论是不可靠的。和CRUD相比,自己造轮子肯定更有趣,也能锻炼自己的编程能力和解决问题的能力。目前的想法是版本1至少让它能够正确处理Get和Post请求。至此,我基本写完了。与之前实现的RPC框架相比,这个整体要简单一些。用自己写的框架处理了一个Post请求
