后端

分布式--使用Dubbo搭建分布式项目

在分布式架构中,我们会将不同功能模块化,部署到不同的服务器上,这时不同模块之间的通讯就由RPC框架完成,上次介绍了Dubbo的基本使用,知道了它基于Spring容器,因此在SpringBoot项目中可以很方便的使用 一、项目配置 还是利用经典的oracle部门员工表,MyBatis--初入MyBatis中可以找到创建表和数据的sql,实现mapper层和service层的分布式架构 项目依赖关系如

一文让你测底明白如何在 Spring Boot 上传中将 MultipartFile 转 File 对象

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》专栏19年编写主要介绍使用JAVA开发RabbitMQ的系列教程&

【MySQL筑基篇】新手必看:聚簇索引、非聚簇索引与回表,一篇扫清盲区

🍃 予枫:个人主页 📚 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》 💻 Debug 这个世界,Return 更好的自己! 引言 做后端开发的同学,大概率都听过“索引优化”,也用过主键索引提升查询速度。但你真的懂索引吗?日常开发中

1700. 无法吃午餐的学生数量

题目: 学校的自助午餐提供圆形和方形的三明治,分别用数字 0 和 1 表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。 餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个 栈 里,每一轮: 如果队列最前面的学生 喜欢 栈顶的三明治,那么会 拿走它 并离开队列。 否则,这名学生会 放弃这个三明治 并回到队列的尾部。 这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止

【Java】【JVM】垃圾回收深度解析:G1/ZGC/Shenandoah原理、日志分析与STW优化

JVM垃圾回收深度解析:G1/ZGC/Shenandoah原理、日志分析与STW优化本文深入剖析JVM三大现代垃圾回收器,提供生产级调优案例,帮助你将STW停顿从秒级降至毫秒级。 一、算法原理深度剖析 1.1 G1(Garbage First)算法原理 设计目标:平衡吞吐量与停顿时间,可预测的停顿&

怎样理解wait()、notify()和notifyAll()

wait():让持有该对象锁的线程等待 notify():唤醒任意一个处于waiting状态的线程 notifyAll():唤醒所有处于waiting状态的线程。 他们之间的关系是:通过调用对象的wait()方法使线程暂停运行,通过notify/notifyAll方法唤醒wait()暂停的线程。 注意: 调用对象的wait()、notify()、notifyAll()方法需要拥有对象的监视锁,即

分布式 - 演进过程

单机架构 网站初时,应用数量和用户量都极少,可以把应用程序和数据库部署在同一台服务器上。 第一次演进:应用与数据库分离 应用与数据库对资源的消耗不同,分开部署在独立的服务器上能显著提高两者各自性能。 随着用户数的增长,并发读写数据库成为瓶颈 第二次演进:引入缓存 缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。 使用分布式缓存,例

【工作】板书窥课-“课间活动”(2)

环节3-“一共有多少盆花?” 主题图还是信息丰富的操场,问题:“一共有多少盆花?” Q:“要解决这个问题,我们首先应该做什么?” S:“找信息!” Q:“找什么信息?谁的信息?随便找吗?“ S:”找花的信息!“ T:”也就是说首先根据问题去找到相关的信息。“板书”问题-信息“ Q:”现在能解决这个问题了吗?“ S有些犹豫,因为信息有些不寻常,”有3组花是5盆,有1组是3盆。“孩子们发

JVM 优化踩坑记

本文记录了服务 JVM 优化的过程与思路,有对 JVM GC 原理以及对问题排查方向和工具的介绍,也有走弯路和踩坑,分享出来希望对大家有所帮助。 本文概要 服务异常和排查过程 RPC 接口超时的排查方向 问题根因和解决方案 JVM GC 原理与优化过程 基础工具简要介绍与使用 尝试 RPC 服务调用方反馈服务有时会有超时。 查看服务管理平台发现有客户端调用超时,调用方的超时时间设置为 1s