logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

new Thread()之后发生了什么?

new Thread()就创建了一个线程了?这么描述不太对,准确地说,new Thread()只创建了一个Java对象,真正的线程还不存在。我们写了后,到操作系统里创建一个真正可执行的线程,中间经历了好几步,每一步涉及不同的层级。我们可以来追踪new Thread()之后的完整链路:Java层做了什么,JVM层做了什么,操作系统层又做了什么。然后再看sleep和interrupt这些操作,在这三层

文章图片
#java#后端#面试
synchronized拿不到锁的线程会被怎么处理?

来我这边面试的Java程序员呢,我必定会问的其中一个问题是如下这个,我们现场回放一下。我问:一段代码被synchronized括住后,两个线程A和B,同时想进入这个代码块,假设线程A拿到锁了,进入代码块。那拿不到锁的线程B会被怎么处理?应聘者:被操作系统挂起我又问:一定要被挂起吗?如果挂起后,而之前进入代码块的线程A执行的很快,马上释放锁了。那操作系统还得把线程B重新调度回来,得不偿失哦应聘者:那

文章图片
#java#面试#后端
Spring Boot RabbitMq 并发与限流

概述电商中秒杀请求,属于瞬间大流量,同一时刻会有大量的请求涌入到系统中,可能导致系统挂掉。应付这种瞬间大流量的其中一种方式,便是利用消息队列。1、利用消息队列先进先出的特性,将请求进行削峰;2、控制好消费端的消费速度,进行必要的限流。在消费端,要做到上面提到的第2点,在Spring Boot RabbitMQ中只需要利用@RabbitListener`注解,做一些简单配置就可以了。...

第1篇:应付亿级用户规模的支付系统代码实战-开篇词

提醒」:是付费专栏,但是在知识星球里是免费的。目前星球里已更新了「几亿用户,百万并发的C端商品系统实战」、「DDD领域驱动设计三年落地实战」和「应付亿级用户规模的支付系统代码实战」,后续的订单,支付,结算和购物车专栏,星球内也都是免费的。有一天晚上接近12点,订单系统的同事在群里发了一条消息:今天有几笔自由卡订单状态不对劲,订单上写着已支付,但支付系统里查不到对应的支付流水。排查的结果让人背后发凉

文章图片
#java#架构#微服务 +1
用设计模式重构核心业务代码的一次实战

本文通过连锁店订货模板列表展示的业务场景,探讨了如何运用设计模式重构复杂业务代码。原始代码存在单一职责原则违反、开闭原则违反等问题,导致维护困难。针对VO构建、业务规则过滤和特殊处理等不同需求,作者选择了Builder模式、责任链模式和策略模式进行重构,实现了职责分离和可扩展性。重构后的架构通过Handler协调各组件,使Builder、Filter和Processor各司其职,遵循了单一职责、开

文章图片
#设计模式#重构
win10下安装rabbitmq

下载地址http://www.rabbitmq.com/install-windows.html打开这个网站,直接下载rabbitmq-server-3.7.4.exe安装rabbitmq双击rabbitmq-server-3.7.4.exe,注意自己指定一个安装目录,默认的安装目录包含Program Files目录,Program Files是带空格的...

netty实战-netty client连接池设计

概述最近有很多网友在咨询netty client中,netty的channel连接池应该如何设计。这其实是个稍微有些复杂的主题,牵扯到蛮多技术点,要想在网上找不到相关的有相对完整的参考文章,确实不太容易。在本篇文章中,会给出其中一种解决方案,并且附带完整的可运行的代码。如果网友有更好的方案,可以回复本文,我们一起讨论讨论,一起开阔思路和眼界。阅读本文之前需要具备一些基础知识知道netty的一些基础

Cursor集成MCP MySQL服务器完整配置指南

本指南介绍了在Cursor IDE中配置MCP MySQL服务器的方法,实现chat窗口直接执行SQL查询。配置步骤包括安装MCP MySQL服务器包、修改配置文件、安装测试工具并重启Cursor。使用时通过"@mysql-local 执行: SQL语句"语法操作数据库,支持查询、统计、表结构查看等功能。文档还提供了故障排查方法、安全注意事项和替代方案,帮助开发者高效完成数据库

文章图片
用了一个很蠢的方法定位服务不可用原因

概述哎,最近的一次上线,业务功能点很少,本以为稳稳的,肯定没事,谁知晚上十点半刚上完线,服务突然自动重启了,运维人员认为风险极高,回滚了。运维这么一快速回滚,没有dump出堆栈信息,研发这边定位问题,也只能靠日志了。下面将定位问题的整个过程简单重现一下。定位过程公司用的是spring cloud+k8s体系,会使用到存活探针,探测失败的话,会重启pod,当时通过阿里的arms,发现了full gc

适合中小型企业的出口入口网关微服务

23年入职现在这家公司,到岗后我做的第一件事不是接业务需求,而是先搭了快速开发框架和模版微服务工程,然后紧接着搭了这个出口入口网关微服务。这个决定跟之前的经历有关。待过几家公司,每家都要对接不少第三方系统,钉钉、企业微信、金蝶、各种外卖平台、电子签章,零零散散加起来十几个。对接代码散落在各个微服务里,A服务对接了钉钉的用户接口,B服务也要用,又对接了一遍。接口一改,两边都得改。新人来了想找对接钉钉

文章图片
#微服务#架构#java
    共 43 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择