摘要: Set的定义是一群不重复的元素的集合容器。也就是说,只要使用Set组件,应该是要保证相同的数据只能写入一份,要么报错,要么忽略。当然一般是直接忽略。 如题,HashSet是Set的一种实现,自然也符合其基本的定义。它的自然表现是,一直往里面插入数据,然后最后可以得到全部不重复的数据集合,即直到天然去 阅读全文
posted @ 2023-11-05 15:07 阿牛20 阅读(471) 评论(1) 推荐(0) 编辑
摘要: 事务在关系型数据库中是一非常重要的东西,spring中对事务的处理也很简单,也就是加个注解的事。为更进一步理解它是如何实现的,今天我们就来拆解下。 1. 几个核心问题 1. 事务的核心是什么? 简单说其实就是底层数据库的使用方法,比如通常的sql begin; commit; rollback;.. 阅读全文
posted @ 2023-07-30 15:20 阿牛20 阅读(238) 评论(1) 推荐(0) 编辑
摘要: mongodb 没有官方的游标滚动实现深度分页功能,建议的都是选择出一个字段,如_id,然后每次查询时限制该字段,而不进行分页处理。 也没有看到更优的实现方式,本文做一个大胆的假设,自行实现滚动分页功能。供大家思路参考。 但是猜想可以自行实现一个,简单思路就是,第一次查询时不带limit进行查询全量 阅读全文
posted @ 2023-06-23 15:11 阿牛20 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 我们在使用数据库进行查询时,很多时候会用到分页展示功能,因此除了像mybatis这样的完善的orm框架之外,还有pagehelper这样的插件帮助减轻我们的工作。 pagehelper的实现方式是,不需要我们去编写分页代码,只需要调用一个分页方法,出来的结果就是经过分页处理的。一来,我们的xml中的 阅读全文
posted @ 2022-11-27 15:54 阿牛20 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 数据库的重要性和通用性都不用说了,什么sql的通用性,sql优化之类的也不必说了,咱们今天来聊聊另一个有意思的话题:如何取一个筛选的反面案例。 1. 举几个正反案例的例子 为了让大家理解我们的假设场景,什么叫做正反案例?比如: 0. 正向案例为:取出年龄为空的用户,那么反面案例为:取出年龄不为空的用 阅读全文
posted @ 2022-10-23 18:59 阿牛20 阅读(2269) 评论(1) 推荐(3) 编辑
摘要: 在之前的文章中,我们有说过bitmap,bitmap在很多场景可以应用,比如黑白名单,快速判定,登录情况等等。总之,bitmap是以其高性能出名。其基本原理是一位存储一个标识,其他衍生知道咱就不说了,而redis就是以这种原生格式存储的。 实际上,redis是基于string的数据结构实现了bitm 阅读全文
posted @ 2022-10-15 21:35 阿牛20 阅读(1003) 评论(0) 推荐(0) 编辑
摘要: 一直以来,进程和线程的区别,这种问题一般会被面试官拿来考考面试者,可见这事就不太简单。简单说一点差异是,进程拥有独立的内存资源信息,而线程则共享父进程的资源信息。也就是说线程不拥有内存资源,所以对系统消耗会更小。所以,线程也有轻量级进程的说法。 除了从资源消耗的角度来讲进程线程的差别,还有一个值得说 阅读全文
posted @ 2022-09-25 11:04 阿牛20 阅读(817) 评论(0) 推荐(0) 编辑
摘要: 关于文件跟踪,我们有很多的实际场景,比如查看某个系统日志的输出,当有变化时立即体现,以便进行问题排查;比如查看文件结尾的内容是啥,总之是刚需了。 1. 自己实现的文件跟踪 我们平时做功能开发时,也会遇到类似的需求,比如当有人传输文件到某个位置后,我们需要触发后续处理操作。 那么,我们自己实现的话,也 阅读全文
posted @ 2022-08-14 20:13 阿牛20 阅读(1491) 评论(1) 推荐(0) 编辑
摘要: 在网络请求时,总会有各种异常情况出现,我们需要提前处理这种情况。在完善的rpc组件dubbo中,自然是不会少了这一层东西的。我们只需要通过一些简单的配置就可以达到超时限制的作用了。 dubbo的设计理念是,客户端控制优先,服务端控制兜底。 1. 超时机制的实现思路 要想实现超时,一般有两个思路。一个 阅读全文
posted @ 2022-07-09 13:53 阿牛20 阅读(4265) 评论(2) 推荐(1) 编辑
摘要: 现实场景往往是这样,我们应对一个需求,很快就会有一个处理方法了,然后根据需求做了一个还不错的实现。因为实现了功能,业务很happy,老板很开心,all the world is beatiful. 但随着公司的发展,有人实现了一套底层的标准组件,按要求你必须要接入他那个,他的功能与你类似,但你必须要 阅读全文
posted @ 2022-06-26 11:32 阿牛20 阅读(928) 评论(0) 推荐(1) 编辑