logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

图解Redis中的9种数据结构(高级面试,必备)

最大的特性就是: HyperLogLog在数据量非常大的情况下,占用的存储空间非常小,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64(2的64次方) 个不同元素的基数,这个是一个非常庞大的数字,为什么能够用这么小的空间来存储这么大的数据呢?上节的结构是“静态”的,即我们先拥有了一个链表,再在之上建了多层的索引。这是因为HyperLogLog并没有存储每个元素

文章图片
#微服务#职场和发展#java +2
我用ChatGPT,给RabbitMQ加了个连接池

/ 获取Rabbitmq消息,并保存到DB // 说明:这里仅作为示例,如果有多种类型的消息,可以根据消息判定,简单的用 if...else 处理,复杂的用工厂 + 策略模式 notifyService.saveArticleNotify(JsonUtil.toObj(message, UserFootDO.class), NotifyTypeEnum.PRAISE);} /** * 关闭链接 *

文章图片
#rabbitmq#分布式
京东Java高开岗三面算法+数据库+设计模式,复习1个月成功拿offer

京东高级java现场三面,包含:算法、数据库、设计模式、java高级等,尾部有最全BAT高级java面试题目和答案福利,想要的就快来领走吧~(领取方式见文末) 京东技术面试(一): 算法面试: 二叉树怎么实现的 知道哪些排序算法 快排怎么实现 堆排序怎么实现 一道算法题:两个有序数组,有相同的元素,找出来 集合类和java高级特性面试 链表,数组的优缺点,应用场景,查找元素的复杂度 hashmap

文章图片
#java#算法#数据库
一次 Druid 连接池泄露引发的血案

这就是连接泄露配置项,如果连接长时间不归还,removeAbandoned 打开状态,超过 removeAbandonedTimeoutMillis 设置的超时时间,将会强制回收连接。问题很明显,肯定是应用程序哪里用了连接但没有释放,全局排查代码又比较艰难,加了三个 Druid 连接池配置项,最终定位并解决了问题。这个配置项虽然可用于排查连接池释放问题,但生产环境小心使用,如果有的业务执行事务的时

文章图片
#java#jvm#tomcat
有点狠有点猛,我用责任链模式重构了业务代码

如果此时说:可以把不同的校验规则拆分成不同的函数,不同的类,这样不也可以满足减少代码复杂性的要求么。IHandler 负责抽象处理器行为,handle() 则是不同处理器具体需要执行的方法,HandleA、HandleB 为具体需要执行的处理器类,HandlerChain 则是将处理器串成一条链执行的处理器链。读者可以自己在 IDEA 中实现两种不同的责任链模式,对比其中的不同,设想下业务中真实的

文章图片
#责任链模式#重构#mybatis
字节面试官狂问我:数据库查询超时优化问题

不推荐使用socket timeout来限制statement的执行时长,因此socket timeout的值必须要高于statement timeout,否则,socket timeout将会先生效,这样statement timeout就变得毫无意义。猜测应该是 mybatis 的 注解和xml 使用方式是相斥的,不兼容的,因此在 xml 的sql修改 timeout配置 timeout =

文章图片
#数据库#mybatis#mysql
线上MySQL读写分离,出现写完读不到问题如何解决?

这样,写操作执行后,就确保从节点已经读取到主节点发送的 binglog 数据,即 Master_Log_File、 Read_Master_Log_Pos 或 Retrieved_Gtid_Set 是最新的,这样才能与执行的相关数据进行对比,判断是否有延迟。上述是默认的异步同步模式,我们发现,从主节点提交成功到从节点同步完成,中间间隔了6,7,8,9,10多个步骤,涉及到一次网络传输,多次文件读取

文章图片
#spring boot#开发语言#java +2
解放双手推荐一款阿里开源的低代码工具,YYDS

之前分享过一些低代码相关的文章,发现大家还是比较感兴趣的。之前在我印象中低代码就是通过图形化界面来生成代码而已,其实真正的低代码不仅要负责生成代码,还要负责代码的维护,把它当做一站式开发平台也不为过!最近体验了一把阿里开源的低代码工具LowCodeEngine,确实是一款面向企业级的低代码解决方案,推荐给大家!LowCodeEngine简介LowCodeEngine是阿里开源的一套面向扩展设计的企

文章图片
#低代码#开源
阿里开源的限流神器 Sentinel,轻松拿下接口限流

Sentinel是阿里巴巴开源的限流器熔断器,并且带有可视化操作界面。在日常开发中,限流功能时常被使用,用于对某些接口进行限流熔断,譬如限制单位时间内接口访问次数;或者按照某种规则进行限流,如限制ip的单位时间访问次数等。之前我们已经讲过接口限流的工具类ratelimter可以实现令牌桶的限流,很明显sentinel的功能更为全面和完善。来看一下sentinel的简介:https://github

文章图片
#java#面试#架构 +1
学完Nginx/OpenResty详解,反向代理与负载均衡配置,能涨薪多少

反向代理与负载均衡配置接下来介绍Nginx的重要功能:反向代理+负载均衡。单体Nginx的性能虽然不错,但也是有瓶颈的。打个比方:用户请求发起一个请求,网站显示的图片量比较大,如果这个时候有大量用户同时访问,全部的工作量都集中到了一台服务器上,服务器不负重压,可能就崩溃了。高并发场景下,自然需要多台服务器进行集群,既能防止单个节点崩溃导致平台无法使用,又能提高一些效率。一般来说,Nginx完成10

文章图片
#nginx#java#架构 +2
    共 67 条
  • 1
  • 2
  • 3
  • 7
  • 请选择