刷新
Condition底层机制剖析:多线程等待与通知机制

博主头像 概述 Condition 是一个多线程协调通信的工具类,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒。 在使用Lock之前,使用的最多的同步方式应该是synchronized关键字来实现同步方式了。配合Object的wait()、notify()系列方法可以实 ...

多租户架构设计

博主头像 1、多租户架构设计 请设计一个支撑千万会员的鞋服会员SCRM(SaaS)多租户架构,重点说明如何在促销期间应对流量十倍激增,以及如何保障新旧SaaS客户体验稳定。 需求分析 设计支撑千万会员的鞋服会员多租户架构 促销期间应对流量十倍激增 保障新旧SaaS客户体验稳定 项目设计 程序涉及到的数据库表 ...

当你的 PHP 网站一天内流量增长 10 倍时,会发生什么?

博主头像 当你的 PHP 网站一天内流量增长 10 倍时,会发生什么? 引言:意料之外的流量激增 想象一下,你是一个小型 PHP 网站的主开发。过去几个月,网站运行一直很平稳——流量不高,负载也可预测。然后某一天,一切突然改变:你的网站流量在一夜之间增长了 10 倍。 接下来会发生什么?你的网站开始变慢,用户 ...

剑指offer-78、求平⽅根

博主头像 题⽬描述 给定⼀个⾮负整数 x ,计算并返回 x 的平⽅根,即实现 int sqrt(int x) 函数。 正数的平⽅根有两个,只输出其中的正数平⽅根。如果平⽅根不是整数,输出只保留整数的部分,⼩数部分将被舍去。 示例1 输⼊:8 返回值:2 解释:8 的平⽅根是 2.82842…,由于⼩数部分将被 ...

剑指offer-77、打印从1到最⼤的n位数

博主头像 题⽬描述 输⼊数字 n ,按顺序打印出从 1 到最⼤的 n 位⼗进制数。⽐如输⼊ 3 ,则打印出 1 、2 、3⼀直到最⼤的 3 位数 999 。 ⽤返回⼀个整数列表来代替打印 n 为正整数 示例1 输⼊:1 返回值:[1,2,3,4,5,6,7,8,9] 思路及解答 直接计算 不太清楚这道题是要考 ...

手把手教你用 Python 批量拼接图片(无需ps,适用快速修改拼接)

博主头像 ** 背景介绍** 日常工作或学习中,我们经常会遇到这样的问题: 有一堆图片(比如实验截图、作品图、论文附图) 想按固定排版拼接成一张大图 要求清晰度不能降低 还要自动分组,批量生成多张拼图 如果手动用 PS 一张张拖拽,不仅累,还容易出错。 今天这段 Python 代码可以帮你: ✅ 自动读取文件 ...

Go - slog使用入门

博主头像 简介 slog 是 Go 1.21 引入的官方结构化日志库(Structured Logging)。它结束了 Go 标准库只有简单 log 包的历史,让我们可以直接输出 JSON 或 Key-Value 格式的日志,非常适合对接 ELK、Grafana Loki 等日志分析系统。 相较于第三方日志库 ...

Flask - 常见应用部署方案

博主头像 前言 开发调试阶段,运行 Flask 的方式多直接使用 app.run(),但 Flask 内置的 WSGI Server 的性能并不高。对于生产环境,一般使用 gunicorn。如果老项目并不需要多高的性能,而且用了很多单进程内的共享变量,使用 gunicorn 会影响不同会话间的通信,那么也可以 ...

Java SE 和 Java EE 的核心功能模块

博主头像 Java SE : 它的目标是提供一个稳定且跨平台的运行环境和核心类库,用于开发桌面应用、命令行工具和服务器端的基础应用。 Java SE 的功能主要由两大部分构成:JVM (Java虚拟机) 和 核心类库 (Core Libraries) 。我们通常所说的“功能模块”,主要指的就是这些核心类库。 ...

<1234···50>