疯狂小兵

向往自由,追求卓越! 阅读

Spring AOT示例应用[置顶]

环境准备 操作系统: mac boot pro MacOS Monterey 12.5.1 CPU: 英特尔I7 安装java17 从Oracle下载java17对应版本,并安装在Mac系统中 设置环境变量便于快速切换shell的环境。以当前用户的zsh为例,当前用户home下的.zshrc文件中增加内容 # 指定java17的home目录 export JAVA_17...

OceanBase分布式事务的机制浅析

OceanBase使用两阶段提交(2PC)来解决分布式事务的问题。 标准两阶段提交的示意图 2PC的执行流程 协调者写prepare log,日志持久化成功后,向所有参与者(A和B)发送prepare request的消息。 所有参与者A和B决定是否可以提交,可以提交则写入prepare log,不可以提交则写入prepare no log。 所有参与者A和B响应协调...

分布式关系型数据库的前世今生

关系数据库发展历程 可以通过下图,整体看下关系型数据库发展的历程。 1964年,通用电器的巴赫曼发明了网状数据库系统 IDS(Integrated Data Store),可以灵活的描述事物及其之间的关系,第一个DBMS。 1968年,为了支持阿波罗登月计划,IBM设计了层次数据库系统 IMS,最早商业化的DBMS。解决数据独立存储,统一管理和访问的问题 1970年,IB...

Java web 应用和虚拟线程(译)

介绍 Loom项目的目标是为JRE带来易于使用、高吞吐、轻量级并发。Loom的一个特性是虚拟线程。在本文中,我们将探索在Tomcat上部署的简单wen应用上使用虚拟贤臣更意味着什么。 高吞吐/轻量级 第一个实验是比较使用Tomcat标准线程池的开销和使用虚拟线程的执行器的开销。测试环境在本文最后给出。使用每秒平均请求数检查了不同响应大小和请求并发性的性能。结果如下图所示。 结果表...

Spring AOT介绍

Spring对AOT优化的支持意味着将哪些通常在运行时才发生的事情提前到编译期做,包括在构建时检查ApplicationContext,支持决策和发现执行逻辑。这样做可以构建一个更直接的应用程序启动安排,并主要基于类路径和环境来关注一组固定的特性。 支持这样的优化意味着需要对原Spring应用做如下的限制: classpath是固定的,并在在构建时就已经全部指定了。 bean的定...

Mysql45讲关键知识点

为什么Mysql会抖一下 是因为Mysql更新数据只写到redo的log里,达到阈值后会刷脏页,占用CPU资源。脏页是指内存页数据和磁盘页数据不一致的情况。 发生场景 redolog写满到阈值后,需将对应的内存页数据刷到磁盘上。 需要尽量避免,否则所有更新操作都会被hang主 内存不足,刷脏页到磁盘上。常态,最需要关心的。 资源空闲时,刷页。也会时不时的刷下脏页。资源空闲期刷...

分布式数据库对比分析备忘

OceanBase、HotDB、GoldenDB和TDSql的对比 OceanBase、PolarDB、TDSql对比 分布式事务数据库行业的基础功能比较

go执行命令列表

命令 #执行运行go文件 go run hello.go #编译成二级制文件并执行 go build hello.go & ./hello # go获取包的命令 go get abc.com/dep # go获取包的指定版本 go get abc.com/dep@v0.1.0 #整理依赖 go mod tidy #固化vendor到本地目录,不依赖网络下载 go mod ...

【转】Java线程池实现原理及其在美团业务中的实践

随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。 本文开篇简述线程池概念和用途,接着结合线程池的源码,帮助读者领略线程池的设计思路,最后回归实践,通过案例讲述使...

深入理解RocketMQ Rebalance机制

本文深入的分析了RocketMQ的Rebalance机制,主要包括以下内容: Rebalance必要的元数据信息的维护 Broker协调通知机制; 消费者/启动/运行时/停止时Rebalance触发时机 单个Topic的Rebalance流程 分区分配策略 RocketMQ与Kafka Rebalance机制的区别, Rebalance简介 Rebalanc...

  • 第1页 / 跳第 页 / 共26页
TOP