自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 设计程序时怎么选择抽象类和接口

抽象类和接口都是面向对象编程的重要概念,它们都可以用来表示某种抽象的概念,但在特定的情况下,需要根据具体的需求来选择使用哪种方式。抽象类可以包含一些具体的方法或成员变量,但同时也可以包含一些抽象方法,这些抽象方法必须由其子类去实现。抽象类一般表示“is-a”的关系,也就是说,如果一个类继承了某个抽象类,那么它可以被看作是这个抽象类的子类,同时也可以使用这个抽象类的方法和属性。接口则是一组抽象方法的集合,接口只定义了方法的签名而没有具体的实现。

2023-06-05 18:01:21 515 1

原创 TCP是怎么处理长连接、短连接

例如在基于 HTTP 协议的长轮询和 Websocket 协议中,长连接技术被广泛使用,可以在客户端和服务器之间保持长时间的连接,以实现实时数据传输和用户交互。在长连接的情况下,数据传输的速度更快,可以减少网络连接的开销,提高传输效率。在实际应用中,例如基于 HTTP 协议的长轮询和 Websocket 协议等,都是在 TCP 协议之上实现的长连接技术。在短连接的情况下,由于每次传输数据都需要建立连接,因此网络连接的开销比较大,速度相对较慢,适用于数据量小且传输频率不高的场景,如 HTTP 短连接。

2023-05-19 10:49:46 2119 1

原创 通过消息队列实现数据同步

当队列中有消息发送过来时,会触发 messageHandler 对象中的 handleMessage 方法进行消息处理,如果处理失败会触发重试机制,直至消息处理成功或达到最大重试次数后放弃处理该消息。其中,commit log 是存储所有消息的地方,consume queue 存储了每个消费者的位置信息和已消费的消息 ID,而 index 记录了特定主题或队列的索引信息,可以将消息检索到指定的 commit log 文件中,实现 RocketMQ 的高效读写操作。在发送消息时,可以指定消息的持久化级别。

2023-05-18 14:12:51 2444 1

原创 java解决redis缓存与数据库一致性问题

缓存更新服务则是一个独立的服务,通过周期性检查Redis缓存服务中的数据是否与数据库同步,并按需更新数据库中的数据。使用写-behind模式和队列:在数据发生更新时,只更新数据库中的数据,然后将需要更新到Redis的数据写入一个消息队列,异步地更新Redis中的数据,以减小更新操作对应用程序的响应时间的影响。基于消息队列的事务:使用消息队列可以实现异步消息传输,在分布式系统中,可以将Redis和数据库之间的数据更新操作放入消息队列中进行异步传输,保证在消息被处理时Redis和数据库都处于同一个事务中。

2023-05-09 13:48:55 1018 1

原创 mysql跨库查询

跨库查询,是在两台不同服务器(物理服务器)上分别安装的mysql服务器,实现跨库查询,其实现原理类似一个虚拟映射,需要用到mysql的另一个存储引擎Federated,FEDERATED存储引擎访问在远程数据库的表中的数据,而不是本地的表。(表test1在服务器A的mysql数据库,表test2在服务器B的mysql数据库)1.本地创建的表名必须在远程服务器存在,创建的字段也必须是远程表中的字段,可以比远程表的字段少,但是不能多,本地存储引擎选择。2.对本地虚拟表的结构修改,并不会修改远程表的结构。

2023-04-26 17:10:43 464 1

原创 处理分页后页面加载慢的问题,解决思路为:先查索引列再查需要的字段,问题已解决。

处理分页后页面加载慢的问题,解决思路为:先查索引列再以索引列为基础,去查需要的字段。

2022-05-16 11:11:59 202

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除