Penistrong's Nano Blog

My left brain has nothing right,and the right brain has nothing left

[Linux] Manjaro搞机备忘

Manjaro baed on archlinux

Manjaro搞机备忘录 硬件外设 双屏配置 单显卡双屏 [2022.11.17]已知Quadro P1000的miniDP口使用miniDP转HDMI线与直连的miniDP转DP同时作为输出,会导致各种奇怪的双屏问题,改用两根直连miniDP转DP线解决 [2023.02.10]实验室主机加装Geforce RTX2070后,将P1000作为输出...

[Java] 查看与分析GC日志

如何查看G1收集器的GC日志

查看与分析GC日志 小米一面 你有看过G1收集器的GC日志吗? 业务高并发情况与平常情况的GC表现是完全不同的,要进行调优就要分析GC日志 在性能调优方面,我的经验非常欠缺,只是了解怎么dump某个时间点JVM里的快照,以进行堆栈分析,但是对怎么查看并分析GC日志毫无经验 特此学习一下 查看GC日志 首先要说明的是,JVM以默认参数启动时,不会记录并保留GC日志(像Ela...

[OpenCV] Quaternion and Rotation

四元数与3D旋转,Rodrigues Formula

四元数 四元数基本性质 对于两个四元数 $q_1=[s, \vec{v}]$ 和 $q_2=[t, \vec{u}]$,仿照向量它们有一些基础的代数性质 四元数乘法 四元数乘法不遵守交换律,即 $q_1q_2 \ne q_2q_1$,与张量类似,有了左乘与右乘的区别 矩阵形式 $\textrm{Graßmann}$积 \[q_1q_2 = [st - \vec{v} \cdot...

[Spring] 接口幂等性组件开发-分布式锁实现方式

基于分布式锁实现接口幂等性组件,适用于并发量适中的分布式场景

接口幂等性组件开发 包名约定: org.penistrong.wheel.idempotence 接口幂等性及其解决方案 HTTP/1.1 中对幂等性的定义如下: 幂等性描述了一次和多次请求某一个资源对于资源本身应该具有相同的效果。任意多次执行某一个请求,对于资源本身应该具有同样的副作用。 副作用是指不会对结果产生破坏性或者不可预料的结果,任意多次执行对资源本身产...

[Spring] 限流组件自定义-基于注解+AOP

利用Guava/Redis实现可扩展的无侵入注解式限流方案

限流组件自定义 包名约定: org.penistrong.wheel.limiter 为什么要自定义限流组件 在微服务架构流行的当下,有很多中间件实现了限流功能,比如著名的Sentinel、Hystrix等,这些限流组件通常为了易用性和扩展性增加了很多冗余功能 有时候只是想进行简单的限流,但是却要引入一个庞大的限流中间件同时还需要维护配置文件、规则文件等,有种大炮打蚊子的感觉...

[ORM] MyBatis-Plus实际使用中碰到的坑

我永远喜欢Spring Data JPA

Mybatis-Plus 自动填充配置 字段自动填充没有生效 S: 实体类基类BaseEntity中的updatedTime字段明明标注了fill=FieldFill.INSERT_UPDATE, 按照字面含义是在插入和更新时自动更新该字段,而实际使用中却并没有自动更新 T: 定位MyBatis-Plus处理字段自动更新的逻辑,尝试解决该问题 A: 查询MyBatis...

[系统设计] 高并发架构电商秒杀下单链路设计

经典场景-秒杀超卖

高并发架构电商秒杀下单链路设计 阿里大淘宝一面,经典的超高并发架构下电商秒杀场景题,当时答得不是很好,特地学习一波以待强化 原题三点需求: 并发量特别大,几十万甚至上百万级别 用户秒杀后要能够立即获得秒杀结果,对延迟很敏感 库存不能出现问题,即要解决秒杀超卖问题 由浅至深 先提出一个最简单的需求,减库存场景: 库存量stock存在Redis中,服务端通过Redis...

[OS] 用户态与内核态

操作系统的用户态与内核态,及Java的IO调用

用户态与内核态 Linux操作系统的体系架构分为用户空间和内核(即用户态与内核态),运行在用户态的应用程序必须依托于内核提供的资源,比如CPU资源、I/O资源等 站在操作系统的角度,由于进程是操作系统分配资源并调度的最小单位,而线程是CPU任务调度和执行的最小单位 进程与线程的区别: 本质区别: 进程是操作系统分配资源并调度的最小单位,而线程是CPU任务调度和执行的最小单位...

[LeetCode] 笔试复盘

各种笔试的相关记忆

笔试复盘 阿里巴巴 T1. 众数 T2. 开心消消乐 给定一个 $n \times m$ 的格子盘,每个格子都有其颜色和分数 点击一个格子后,会消除连在一起的所有颜色相同的格子,消除后格子上方的未消除格子将自动下落 请输出每次点击后的当次得分 输入: 第一行两个数字 $n$ 和 $m$ 接下来的 $n$ 行,每行有 $m$ 个长度为2的字符串,每个字符串由1个小写字母表示其...

[个人简历总结] 项目介绍与相关场景

清晰总结项目,训练条理性

简历项目总结 自我介绍-吟唱 面试官您好,我叫陈立伟 本科毕业于华中科技大学软件学院软件工程专业 研究生就读于华中科技大学计算机学院计算机技术专业,攻读专业型硕士学位 今年暑期在联想上海研究院作为Java开发工程师进行实习,主要负责toB项目中后端服务的定制开发 所谓的定制就是在团队内部开发的公共组件标准品的基础上进行二次开发,满足客户的业务需求 除了后端开发工作外,我还负责了...