自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(212)
  • 收藏
  • 关注

原创 PV 操作

信号量 S当S >= 0表示某资源的的可用数;当S < 0表示其绝对值表示阻塞队列中等待改资源的进程数;P 操作表示 申请一个资源V 操作表示 释放一个资源P 操作:S := S - 1若S >= 0, 则执行 P 操作的进程继续执行若S < 0, 则将执行该操作的进程置为阻塞状态, 并将其加入到 “阻塞队列”V 操作:S := S + 1若S > 0, V 操作继续若S <= 0, 则从阻塞队列唤醒一个进程, 并将其加入到 “就绪队列”

2024-06-11 23:12:53 288

原创 Cracking toxic logic

Presupposing fallacies (false arguments, implanted opinions) do not focus on the problem, and the problem itself does not hold

2024-06-06 23:14:14 749

翻译 Write For Others But Mostly For Yourself 为别人写作,但主要是为自己

现在我不只是在博客上公开写作,而是在我的团队中私下写作,当主题是我不能公开分享的东西,或者是我认为对他人没有价值的东西。因为我确实和人们分享它,所以我的脑海中会自动检测到BS,它会告诉我什么时候我的想法是草率的或不可靠的。我知道,如果我不小心,或者确实对我写的东西不小心,我不仅会浪费人们的时间,而且我可能会在互联网上被公开嘲笑。写了一段时间博客后,我意识到它教会了我如何思考。它肯定会有所帮助,但首先也是最重要的是,它是一个工具,人们可以用它来提升自己的游戏,并把他们的知识和批判性思维提升到一个新的水平。

2024-05-18 00:09:23 37

翻译 该项目包含一个11,000行代码文件 The project with a single 11,000-line code file

代码遵循一个粗略的模式,即获取有关用户的一些数据,检查是否满足某些条件,然后执行一些重复了一千次左右的操作。程序的所有状态都基于用户的权限,所以我们可以模拟报告错误的人,这样我们就可以看到他们所看到的。如果我做了一个改变,导致其他一些“功能”中断,基本上有0%的机会,我会知道它,直到一个星期后,当杰夫在市场营销将报告一个错误。我发现有趣的是,一个变量可能会在200-210行使用,然后再次在8544行使用。很久以前,在我的第一份软件工作中,我收到了一份内部产品的错误报告,我甚至不知道它的存在。

2024-05-18 00:06:39 42

原创 Service 层在 MVC 框架中的意义和职责

mvc 框架由 model,view,controller 组成,执行流程一般是: 在 controller 访问 model 获取数据,通过 view 渲染页面。mvc 模式是 web 开发中的基础模式,采用的是分层设计,各层之间职责分明。然而事与愿违,当我们日积月累的基于 mvc 模式开发之后,会逐渐的感受到层与层之间存在粘连和职责模棱两可的地方,这就是 service 层出现的重要原因。

2024-05-13 22:58:58 574

原创 解决 Oracle 表锁

程序更新大量数据的时候, 由于时间太长, 页面刷新又重新提交了一次, 结果后续的任何变动都直接卡住, 一开始以为是代码问题, 使用 jstack 命令导出了当前堆栈, 结果发现有重复的语句卡在 update 上了, 看 sql 语句, 发现就是正常的 update, 那问题大概率就是出在表被锁身上了. 于是搜刮了一下 oracle 的方面的资料, 顺便也记录一下。

2024-04-26 20:29:55 396 1

原创 iText 5

【代码】iText 5。

2024-04-18 14:36:09 386

原创 Spring

Bean 容器注册组件@Primary 主注解@DependsOn 组件之间声明依赖关系@Lazy 第一次使用时才创建@Scope 声明组件的作用范围 (原型/单例)@Configuration 识别为配置类, 替换以前的配置文件@Componenet 组件@Indexed 加速注解, 所有标记了的组件, 会直接启动快速加载@Order 数字越小优先级越高@ComponentScan 包扫描@Conditional 条件注入。

2024-04-16 13:16:19 580

原创 Java 主流的 Inputstream 转 String 的方法

【代码】Java 主流的 Inputstream 转 String 的方法。

2024-04-01 10:24:53 1685

翻译 [Upgrading GitHub.com to MySQL 8.0] GitHub 升级 MySQL 8

GitHub使用MySQL来存储大量的关系数据。这是我们如何无缝升级我们的生产集群到MySQL 8.0的故事。, and15年前,GitHub作为一个Ruby on Rails应用程序开始,只有一个MySQL数据库。从那时起,GitHub已经发展了其MySQL架构,以满足平台的扩展和弹性需求,包括构建高可用性,实现测试自动化和分区数据。今天,MySQL仍然是GitHub基础设施的核心部分,也是我们选择的关系数据库。这是我们如何将1200多台MySQL主机升级到8.0的故事。

2024-03-28 11:35:31 40

转载 支付宝定时任务怎么做?三层分发任务处理框架介绍

以五福定制三层分发任务处理框架为例,虽然日常业务中,因为机器数量不固定,依旧无法做到任务的平滑调用,但我们可以借鉴最大化利用集群机器资源这一点,同时开启A/B组的定时任务,从而实现任务调度真正的负载均衡,提高系统整体的稳定性。在待处理任务变多,或者集群机器扩缩容变化频繁的情况下,任务处理的峰值量级无法保证。由于在Loader层获取要处理的任务数,交由Executor层执行时,并不能限制任务执行的qps,同时待处理任务数变多时,整个集群任务的qps就变得很高,对DB和其他外围系统来说,存在稳定性风险。

2024-03-27 13:54:08 146

原创 algorithm (5/100) day

【代码】algorithm (1/100) day。

2024-03-24 00:11:48 108

原创 java unit test (junit)

【代码】java unit test (junit)

2024-03-11 11:27:14 429

原创 分布式系统架构1

目前比较成熟的分布式架构技术包括: J2EE, CORBA 和 .NET (本书于 2020.05 出版), 书重点讲述 J2EE, 一个由 Sun 公司推出的一项中间件技术 (或平台). 用于和多层分布式应用系统开发和部署。

2024-01-12 18:10:41 567

原创 Win 11 电脑密码忘记, 但还记得 pin 码, 直接设置新密码

【代码】Win 11 电脑密码忘记, 但还记得 pin 码, 直接设置新密码。

2023-12-20 23:53:04 1021

原创 Vim 系列 (一) Using Marks in Vim

Vim 的运动命令非常灵活,适用于一般用途。您可以转到行首、替换单词或更改句子。如果内容与文件相关,例如重要或错误的函数定义、应用程序的入口点或尝试跟踪的堆栈,该怎么办?对于这些,您可以使用标记(读作:“书签”)。这些是文件中的“保存点”,您可以设置、在它们之间跳转,甚至与命令一起使用。

2023-11-22 18:24:33 757

原创 JDK 使用代理

D。

2023-11-21 14:57:41 280

原创 Spring 观察者模式 EventListener

【代码】Spring 观察者模式 EventListener。

2023-11-08 14:23:55 433

原创 Library source does notmatch the bytecode for class XXX

由于使用 Lombok 插件会造成 源码 和 编译后的 .class 存在差别, 而 idea 的自动匹配机制 (匹配仓库的源码和) 会警告不匹配的代码.

2023-10-17 14:37:14 310

原创 用 SQL 找出某只股票连续上涨的最长天数

通过多张中间表, 写出结果SQL 作为查询语言而发明, 名字叫 “结构化查询”(structured query), 数学基础是 “关系模型”, 没有考虑复杂计算 (与之相对的是离散数学, 把 “数据存储 + 数据计算” 做在一起)

2023-10-13 14:18:51 656

原创 中国大陆高速公路详解

放射线(1开头)、纵线(2开头)、横线(3开头)、纵向联络线(4开头)、横向联络线(5开头)、环线(6开头)字母后第一位数字为 1 表示以北京为中心呈放射线的国道,2 表示南北走向,3 表示东西走向。(1: 放射 2: 上下 3: 左右)国道:以大写字母 G 开头,字母后面是。省道:以大写字母 S 开头,字母后面是。县道:以大写字母 X 开头,字母后面是。位数:(1,2,4)

2023-09-10 13:57:50 167

原创 Mysql 主从复制

单表超过 500 万行 或 容量超过 2GB, 才推荐分库分表. 如果预计三年后的数据量根本达不到这个级别, 请不要在创建表时就分库分表。

2023-09-05 10:45:50 201

原创 TeX Live 卸载

和 Tex live 是同一个组织的软件, 分别对应 Mac 和 Win/Unix.相比来说, TeX live 文件较大. MiKTeX 是针对 Windows 设计的。

2023-08-10 18:53:46 1323

原创 滚动删除方案

历史数据冷备方案。

2023-08-08 15:34:34 138

原创 Keyboard Ergonomics and Setup

科学的指位图。

2023-07-21 22:31:44 78

原创 Crontab 表达式

【代码】Crontab 表达式。

2023-07-13 09:42:51 231

原创 预装 Win 11 系统跳过联网激活

随后按下回车,电脑将进入重启. 重启完成后, 再次来到Win11联网界面, 可以看到右下角的 “下一步” 按钮旁多出了一个 “我没有Internet连接” 的选项.点击该选项, 在新的界面中, 继续点击右下角的 “继续执行受限设置”, 到此就完成了跳过联网激活的环节。

2023-07-07 09:59:09 16541 3

原创 Spring 事务异常 UnexpectedRollbackException

Spring 框架的默认事务传播方式是 PROPAGATION_REQUIRED (内层事务加入外层事务中)在内层事务因异常结束时, Spring 会把事务标记为“rollback-only”。这时如果外层事务 catch 捕捉了异常 e, 那么, 直到外层事务结束.Spring 发现事务已经被标记为 “rollback-only”, 外层方法却正常执行成功, 这时 Spring 就会抛出。

2023-06-25 19:03:22 697

原创 Learning tmux

tmux detach (分离) C-b-d。

2023-06-18 01:37:15 276

原创 Explanation of the interface of ifconfg on macOS

gif(4))anpi0:

2023-06-17 22:09:21 127

原创 POI in Action

OLE2 和 OOXML 本质上都是一种文件格式规范或标准,平时看到的 excel 中,有字体、公式、颜色、图片等等,看起来非常复杂,但是在文件结构上都遵循着固定的格式。OLE2 文件一般包括 xls、doc、ppt 等,是二进制格式的文件。相关内容可以参考: 复合文档Ole对象二进制储存格式。OOXML文件一般包括 xlsx、docx、pptx 等。包名描述Excel API,底层解析方式类似 DOM,效率较低,内存占用较大Excel XLS API,采用 SAX API 方式读写。

2023-06-09 10:45:12 1303

原创 18. 4-Sum

【代码】18. 4-Sum。

2023-06-05 00:07:37 67

原创 15. 三数之和

【代码】15. 三数之和。

2023-05-29 23:41:23 77

原创 Vim (NeoVim) 配置 Setup

o 代表的是open a new linei 代表的是inserta 代表的是appendh/j/k/l 移动它,w/e/b/ge 键跳过单词;find next;和,我们可以简单地理解为前一个、后一个。

2023-05-07 20:08:55 1002 1

原创 选择开源许可证

2023-04-07 14:28:20 151

原创 MinIO

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

2023-03-09 09:31:28 270

原创 SpringBoot 项目瘦身(maven/gradle)

Gradle thin jar调用 bootJar 打包运行的时候也不需要指定 -Djava.ext.dirs=./lib 或 -Dloader.path=./lib 了, 将 lib 目录放在 jar 包同级目录下, 直接 -jar运行就可以了loader.path可以使用 --classpath / -cp 指定类加载的路径,但 classpath 的生效是有条件的使用 时 (此时 -cp 无效), 可以使用 loader.path 指定类加载路径加载其他 jar, loader.path

2023-01-05 11:01:36 1955 8

原创 注解无法使用常量 [Attribute value must be constant]

because annotation and its parameters are resolved at compile time.

2022-12-29 16:10:36 4573 3

原创 JDBC Type 4 和 mysql-connector-j

Type-4 driver is also called native protocol driver.

2022-12-28 15:37:48 1425

原创 滑动窗口: 快慢指针在数组上的应用

链表子串数组题, 用双指针别犹豫. 双指针家三兄弟, 各个都是万人迷.快慢指针最神奇, 链表操作无压力. 归并排序找中点, 链表成环搞判定.左右指针最常见, 左右两端相向行. 反转数组要靠它, 二分搜索是弟弟.滑动窗口最困难, 子串问题全靠它. 左右指针滑窗口, 一前一后齐头进.

2022-12-27 23:57:57 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除