摘要: 前言 作为内存中数据存储,Redis 以其速度和性能着称,通常被用作大多数后端服务的缓存解决方案。 但是,在内部,Redis 采用单线程架构。 为什么单线程设计依然会有这么高的性能?如果利用多线程并发处理请求不是更好吗? 在本文中,让我们深入探讨为什么 Redis 才有单线程架构,依然如此之快,主要 阅读全文
posted @ 2023-02-07 15:59 JAVA旭阳 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 前言 几年前,我在浏览互联网时偶然发现了一个新的电子商务网站,注意到网站上的图片加载速度不快。我刷新了页面并重试了几次。终于,十秒钟后,我能够看到带有图像的渲染网页。 最初,我以为我的互联网连接很差,但互联网下载速度足够好。我也可以观看高清的 Youtube 视频。这激发了我的好奇心,想知道为什么电 阅读全文
posted @ 2023-02-06 13:53 JAVA旭阳 阅读(505) 评论(0) 推荐(1) 编辑
摘要: 都用过@Autowired,但你知道它是怎么实现的吗 前言 在使用Spring开发的时候,配置的方式主要有两种,一种是xml的方式,另外一种是 java config的方式。在使用的过程中java config,我们难免会与注解进行各种打交道,其中,我们使用最多的注解应该就是@Autowired注解了。这个注解的作用就是注入一个定义好的bean。 那么 阅读全文
posted @ 2023-01-28 11:59 JAVA旭阳 阅读(493) 评论(0) 推荐(1) 编辑
摘要: IntelliJ中高效重构的 10 个快捷方式 前言 在日常的开发工作中,我们经常需要重构,重构可以让我们写出的代码更上一层楼。所以,我会借助IntelliJ提供的一些功能,帮助我高效进行重构。这里是我推荐10个快捷方式,也是我每天都在使用的,非常有用。 欢迎关注个人公众号【JAVA旭阳】交流学习 1.将选择提取到局部变量 (Ctrl + Alt 阅读全文
posted @ 2023-01-27 10:04 JAVA旭阳 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 前言 2023年我们公司主抓代码质量,所以单元测试必不可少,而且都写到了年底的绩效目标中了。在考虑如何达成这个目标的过程中,我发现了一个关于单元测试的IDEA插件——SquareTest,它可以帮助我们提高编写单元测试的速度,你知道吗? 欢迎关注个人公众号【JAVA旭阳】交流学习 SquareTes 阅读全文
posted @ 2023-01-26 09:48 JAVA旭阳 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 我总结了写出高质量代码的12条建议 前言 工作这么多年,见过许许多多的代码,有的写的好,有的写的很糟糕。好的代码不外乎要做到你的代码可阅读、可维护、可扩展。说难不难,说简单也不简单,那么本文我将总结工作这么多年该如何写出整洁代码的一些实践。 欢迎关注个人公众号【JAVA旭阳】交流学习 1.使用清晰且有意义的命名 干净代码最重要的原则之 阅读全文
posted @ 2023-01-25 10:06 JAVA旭阳 阅读(844) 评论(3) 推荐(7) 编辑
摘要: 工作这么多年,我总结的数据传输对象 (DTO) 的最佳实践 前言 数据传输对象 (DTO) 是一种设计模式,常用于软件开发不同层或者不同系统之间传输数据。DTO 的主要目的是封装数据并防止它被其他层或系统直接访问或修改。通过遵循一组最佳实践,开发人员可以确保他们的 DTO 有效且高效。 欢迎关注个人公众号【JAVA旭阳】交流学习 DTO 的重要性 DTO 是 阅读全文
posted @ 2023-01-23 10:56 JAVA旭阳 阅读(683) 评论(0) 推荐(2) 编辑
摘要: 你知道哈希算法,但你知道一致性哈希吗? 前言 假如让你为淘宝这种数据量非常大的公司的设计一个可扩展的数据存储系统,你该如何存储和管理数据呢?总不能放在单个服务器上吧,肯定放不下,必然需要水平扩展。那么这样就带来一个问题,这个数据要存储在哪个服务器上呢?这就引入了本文的主题一致性哈希算法,可能你没听过,那么本文就通过一个简单的例子带你一步一 阅读全文
posted @ 2023-01-22 12:22 JAVA旭阳 阅读(265) 评论(0) 推荐(1) 编辑
摘要: 【架构设计】你真的理解软件设计中的SOLID原则吗? 前言 在软件架构设计领域,有一个大名鼎鼎的设计原则——SOLID原则,它是由由Robert C. Martin(也称为 Uncle Bob)提出的,指导我们写出可维护、可以测试、高扩展、高内聚、低耦合的代码。是不是很牛,但是你们都理解这个设计原则吗,如果理解不深入的话,更这我通过JAVA示例深入浅出 阅读全文
posted @ 2023-01-14 10:11 JAVA旭阳 阅读(266) 评论(1) 推荐(4) 编辑
摘要: 这可能是Feign调用可重试的最佳方案了 前言 在我们公司里,不同的服务之间通过Feign进行远程调用,但是,我们在尝试使调用可重试时遇到了一个小问题,Feign框架本身可以配置的自己的重试机制,但是它是一刀切的方式,所有的调用都是同样的机制,没有办法像我们希望的那样在每个方法的基础上配置。不过我在项目中探索除了一种新的写法,通过sprin 阅读全文
posted @ 2023-01-11 15:32 JAVA旭阳 阅读(337) 评论(0) 推荐(1) 编辑