- 博客(1064)
- 资源 (3)
- 收藏
- 关注
原创 干货 | MySQL数据库安全之审计
摘要:本文探讨了MySQL数据库审计的多种实现方案。对于自建MySQL数据库,介绍了三种方法:1)开启GeneralLog记录所有SQL操作;2)利用BinLog结合init_connect功能追踪用户操作;3)安装第三方审计插件如MariaDB Audit Plugin。在公有云RDS场景下,以京东云为例展示了通过管理控制台快速启用审计功能的过程。文章比较了不同方法的优缺点,指出云数据库审计更加便捷高效,而自建数据库需要更多技术配置。无论采用哪种方式,数据库审计都是保障企业数据安全的重要环节。
2026-06-30 08:04:00
57
原创 读懂微服务架构的重构策略
你很有可能正在处理大型复杂的单体应用程序,每天开发和部署应用程序的经历都很缓慢而且很痛苦。微服务看起来非常适合你的应用程序,但它也更像是一项遥不可及的必杀技。如何才能走上微服务架构的道路?下面将介绍一些策略,帮你摆脱单体地狱,而无须从头开始重写你的应用程序。通过开发所谓的绞杀者应用程序(strangler application),可以逐步将单体架构转换为微服务架构。绞杀者应用程序的想法来自绞杀式藤蔓,这些藤蔓在雨林中生长,它们包围绕树木生成,甚至有时会杀死树木。
2026-06-30 08:03:38
52
原创 Istio流量治理原理之负载均衡
摘要:Istio通过基础设施提供非侵入式流量治理能力,无需修改应用代码即可实现负载均衡、流量切换、服务保护等功能。其流程包括:管理员创建规则→Pilot转换并下发→Envoy执行治理。在负载均衡方面,Istio结合服务发现,支持轮询、随机等算法,由Pilot维护服务数据并通过Envoy实现流量转发。相比传统微服务SDK方式,Istio以透明方式支持多语言开发,使开发者只需专注业务逻辑。该机制类似Kubernetes的Service模型,但提供了更丰富的治理功能。
2026-06-30 08:03:14
44
原创 LVS虚拟服务器简介
Linux虚拟服务器(LVS)是一种高扩展、高可用的服务器集群解决方案,通过负载均衡技术将多台真实服务器构建为单一虚拟服务。LVS支持三种工作模式:NAT、IP隧道和直接路由(DR),各有优缺点,其中DR模式性能最佳。系统采用三层架构:负载均衡器、服务器集群和共享存储,可实现线性扩展。通过心跳检测和服务监控实现高可用性,当主均衡器故障时备份节点可接管服务。相比单服务器升级方案,LVS集群能更经济高效地应对流量增长,适用于Web等高并发场景。
2026-06-30 08:02:56
170
原创 亿级数据库毫秒级查询Clickhouse
摘要:ClickHouse作为一款高性能列式OLAP数据库,凭借其卓越的大数据处理能力(十亿级数据秒级响应)获得CloudFlare、阿里、京东等企业青睐。京东智联云基于K8s实现ClickHouse的弹性部署,通过Operator管理有状态服务,结合云硬盘实现计算存储分离,提供秒级故障恢复、热扩容和多维度监控告警能力。其核心优势在于MergeTree引擎的列式存储设计,通过数据分区、主键索引和标记文件实现高效查询。京东的实践表明,充分发挥ClickHouse潜力需突破传统数据库思维,重构数据流转体系。(1
2026-06-30 08:02:42
85
原创 浅谈JVM内存结构
本文简要介绍了JVM内存结构及其运行机制。主要内容包括:1)类装载系统的加载过程;2)运行时数据区的五大组成部分(方法区、堆区、栈区、程序计数器、本地方法栈);3)Java执行引擎的编译执行和解释执行两种方式;4)JNI实现Java与系统底层的交互。文章通过图表直观展示了JVM整体架构,帮助开发者理解Java内存管理机制,为解决内存异常问题提供基础知识。
2026-06-30 08:02:23
159
原创 解密协议层的攻击——HTTP请求走私
本文探讨了HTTP请求走私攻击的原理、历史演变及实际利用场景。文章首先回顾了该技术从2004年雏形到2020年最新变种的发展历程,重点分析了四种典型攻击场景(CL-CL、CL-TE、TE-CL、TE-TE)的数据包构造方式。通过PortSwigger实验环境,作者演示了如何利用该漏洞绕过访问控制、窃取用户请求、实施XSS攻击和缓存投毒。文章指出防御难点在于前后端服务器对HTTP协议实现标准的不一致,建议采用统一云服务解决方案。最后提供了相关技术文档的参考链接。全文系统性地剖析了HTTP请求走私这一复杂网络环
2026-06-30 08:02:03
3
原创 电商库存系统的防超卖和高并发扣减方案
本文提出了一种电商库存系统的高并发防超卖方案,采用Redis和数据库结合的方式实现库存扣减。方案核心是将超卖校验(Redis单线程原子操作)与数据持久化(数据库任务引擎)分离,通过分库分表消除热点。具体实现包括:1)Redis利用hincrby命令进行原子扣减和防超卖;2)JVM级限流保护Redis;3)任务引擎保证数据最终一致性;4)Pipeline提升Redis操作可靠性。该方案在保证不超卖的前提下,通过异步处理和数据分片解决高并发瓶颈,适用于需要强一致性的并发场景。
2026-06-30 08:01:38
132
原创 从系统架构分析安全问题及应对措施
本文从技术架构角度梳理了互联网领域常见安全问题的解决方案。数据存储方面建议对敏感数据加密存储,区分可逆加密(如AES)和不可逆加密(如带盐MD5);微服务接口需进行请求鉴权和容量限制;数据传输采用SSL/HTTPS协议保障传输安全;APP层通过短信、语音等多种验证码实现人机识别。文章强调安全防护需贯穿系统各个环节,建议将安全问题消灭在系统发布前。
2026-06-30 08:01:24
38
原创 记录一次数据库CPU被打满的排查过程
摘要:本文记录了排查MySQL数据库CPU使用率100%问题的过程。通过分析发现,当SQL查询包含"order by id asc limit n"时,即使where条件有覆盖索引,优化器仍错误选择主键索引导致全表扫描。文章详细介绍了多种解决方案:强制指定索引、修改order by字段、调整limit范围等,并通过optimizer_trace分析了优化器的选择逻辑。最终指出这是MySQL已知问题,建议5.7.33+版本可关闭prefer_ordering_index参数解决。文章提供了
2026-06-30 08:00:55
268
原创 ClickHouse与Elasticsearch压测实践
摘要: 本文针对双十一大促前的系统性能优化需求,对ClickHouse和Elasticsearch在复杂业务场景下的抗压能力进行压测分析。通过选择高复杂度的接口queryOBBacklogData(涉及5次表查询,数据量达百万级),在模拟线上环境中进行测试。测试发现:1)ClickHouse通过调整max_thread参数可提升并发能力(如max_thread=1时TPS达86,TP99为206ms);2)Elasticsearch并发支持更优(TPS 192)但响应延迟显著更高(TP99 3050ms)。
2026-06-29 10:23:33
79
原创 Mysql和Redis数据如何保持一致
MySQL与Redis的数据一致性问题是分布式系统设计的经典难题。文章分析了四种缓存更新策略的优劣:1)先删缓存再更新数据库,容易产生脏数据;2)先更新数据库再失效缓存(推荐),可能出现短暂不一致但概率低;3)同步写穿透模式,一致性较好但需改造缓存;4)异步写回模式,性能最佳但有数据丢失风险。作者强调没有完美方案,应根据业务场景选择最适合的策略,在性能与一致性之间取得平衡。其中第二种策略(Cache-Aside模式)被推荐为相对可靠的选择。
2026-06-29 10:23:12
73
原创 幂等设计详解
本文从研发视角探讨了系统设计中幂等性的重要性及实现方法。文章首先通过电商下单、银行转账等业务场景说明幂等问题产生的背景,指出重复请求可能导致严重后果。随后分析系统架构各层职责,指出幂等处理应集中在DAO层实现。针对数据库CRUD操作,详细阐述了如何确保每种操作的幂等性:查询天然幂等,插入需业务防重,更新应使用绝对值,删除要避免范围操作。最后列举了页面token、乐观锁、悲观锁、去重表等常见幂等实现方案。文章强调,保证接口幂等性是基本技术要求,开发者应深入理解其本质以避免业务陷阱。
2026-06-29 10:22:56
224
原创 搜索中常见数据结构与算法探究(一)
本文系统性地介绍了数据结构与算法的核心知识,重点分析了常见数据结构的实现原理和应用场景。首先阐述了算法复杂度分析的基本理论,包括时间复杂度、空间复杂度等概念。然后详细讲解了线性数据结构(HashMap、布隆过滤器、跳表)和非线性数据结构(AVL树、红黑树、B+树、HashTree)的特点与实现机制,比较了各自的时间/空间复杂度及适用场景。文章特别强调了数据结构选择对程序性能的影响,指出在大数据量场景下算法效率的重要性,并通过具体案例展示了不同数据结构在解决实际问题时的表现差异。最后提到图论、自动机等高级主题
2026-06-29 10:22:43
135
原创 ElasticSearch深度分页详解
本文探讨了ElasticSearch中的三种分页方式及其适用场景。from+size方式适合小数据量查询,但深度分页时性能损耗大;scroll方式适合后台批量任务,通过快照机制降低性能损耗但不支持实时数据;search_after方式通过游标实现实时分页查询,适合高并发场景。文章通过示例代码展示了各方式的实现方法,建议根据数据量和实时性需求选择合适方案,并避免深度分页问题。在业务设计中可限定1万条数据范围,超出部分建议导出处理,以平衡功能需求与系统性能。
2026-06-29 10:22:26
136
原创 mysql基于binlake同步ES积压解决方案
本文分析了国际财务系统中binlake同步ES数据时出现的JMQ积压问题。研究发现主要原因是ES写入速度慢导致消费延迟,具体表现为MQ入队数大于出队数。文章提出了两种解决方案:一是开启并行消费策略并优化批量处理,通过增加并发处理能力提升消费速率;二是采用主题分发策略,将数据拆分到多个子主题提高吞吐量。两种方案各有优劣,方案一更适合长期扩展需求,方案二则适用于主题较少的情况。实践表明,并行消费策略能有效解决积压问题,提高数据处理效率,确保数据一致性。
2026-06-29 10:22:11
58
原创 观察者模式在spring中的应用
本文系统介绍了观察者模式及其在Spring框架中的应用。观察者模式是一种对象行为型模式,通过定义主题(Subject)和观察者(Observer)的一对多依赖关系,实现状态变更的自动通知机制。Spring通过ApplicationEvent、ApplicationListener和ApplicationEventPublisher实现了该模式,形成完整的事件监听机制。文章详细剖析了Spring事件机制的实现原理,包括事件发布流程、监听器注册过程,并重点介绍了如何通过配置TaskExecutor实现异步事件处
2026-06-29 10:21:29
139
原创 Java对象拷贝原理剖析及最佳实践
本文对比分析了Java中常用的对象拷贝工具(Apache BeanUtils、Spring BeanUtils、Cglib BeanCopier和MapStruct)的实现原理与性能表现。文章首先区分了深拷贝和浅拷贝的概念及实现方式,随后详细剖析了各工具的核心原理:Apache BeanUtils通过循环反射获取属性,性能较差;Spring BeanUtils通过缓存优化;Cglib BeanCopier利用字节码增强动态生成实现类;MapStruct在编译时生成类型安全的映射类。性能测试显示,Apache
2026-06-29 10:20:57
642
原创 SpringBoot内置tomcat启动过程及原理
SpringBoot内置Tomcat实现原理分析 摘要: 本文深入分析了SpringBoot内置Tomcat的实现原理。首先介绍了SpringBoot简化了传统Tomcat部署流程,通过Maven命令即可直接运行jar包。核心实现过程包括:1)SpringApplication启动时创建应用上下文;2)通过ServletWebServerFactory创建WebServer;3)TomcatServletWebServerFactory负责实例化Tomcat并配置连接器;4)初始化Tomcat工作目录和引擎
2026-06-29 10:20:39
182
原创 事务相关知识集锦
本文系统总结了数据库事务的核心知识体系,涵盖事务理论、技术实现和实践规范。首先介绍了事务的ACID特性(原子性、一致性、隔离性、持久性)及隔离级别,详细分析了MySQL通过WAL机制、MVCC、redo/undo日志实现事务特性的技术原理。随后深入剖析了JDBC、MyBatis和Spring框架的事务实现机制,包括编程式和声明式事务模型。在实践层面,针对数据一致性、长事务等问题提出了优化建议,如避免事务中包含RPC调用、合理设置事务层级等。文章还探讨了事务在传统架构和领域驱动设计中的最佳实践位置,强调需要根
2026-06-29 10:20:24
465
原创 基于Seata探寻分布式事务的实现方案
本文系统介绍了分布式事务的解决方案,重点分析了Seata框架中的五种实现模式。首先阐述了分布式事务的理论基础ACID、CAP和BASE原则,随后详细解析了二段提交、XA、AT、TCC和Saga五种模式的工作原理及适用场景。其中,XA模式依赖数据库原生支持,AT模式通过自动生成回滚日志实现无侵入方案,TCC需要业务层实现Try-Confirm-Cancel三阶段,Saga适用于长流程异步场景。文章比较了各模式在SQL支持、隔离性、入侵性等方面的优劣,指出XA模式具有最小侵入性和最佳隔离性,而AT模式更适合微服
2026-06-27 11:51:24
64
原创 ThreadLocal源码解析及实战应用
ThreadLocal是Java中用于创建线程局部变量的类,它实现了线程隔离,确保每个线程只能访问和修改自己的变量副本。主要作用包括:1)实现"setonce,geteverywhere"模式,如在拦截器中存储用户信息供全局获取;2)解决线程安全问题,如Spring中通过ThreadLocal管理数据库连接。使用时需注意内存泄漏风险,建议每次使用后调用remove()方法清理数据。此外,线程池场景下父子线程传递需谨慎,可考虑使用TransmittableThreadLocal等解决方案。
2026-06-27 11:49:19
65
原创 ElasticSearch 必知必会 - 进阶篇
本文摘要: Elasticsearch跨集群功能与索引管理实战指南,涵盖跨集群检索(CCR)和复制(CCS)的配置演练,详解索引模板、生命周期管理(LIM)和DataStream的核心应用。重点包括:1)双集群互联检索的实现步骤与验证;2)付费版CCR的主从同步配置;3)组件模板与动态模板的灵活组合;4)索引生命周期四阶段(Hot/Warm/Cold/Delete)策略配置;5)时序数据专用DataStream的创建流程,结合ILM实现自动滚动迁移。通过完整案例演示从集群搭建到策略实施的完整链路,提供Ela
2026-06-27 11:48:34
80
原创 支付对接常用的加密方式介绍以及java代码实现
本文系统介绍了加密算法的分类及应用场景。对称算法(如DES、AES)使用相同密钥加密解密,适合内网环境;非对称算法(如RSA、SM2)采用公钥加密私钥解密,安全性更高。国密算法包括SM2(非对称)、SM3(哈希)、SM4(对称)等,是国家推行的商用密码标准。文章详细对比了各类算法特性,提供了Java实现代码示例,并介绍了支付系统中两种典型加密组合方案:RSA加密+盐值签名方案和SM4一次一密+SM2签名方案,后者通过动态生成对称密钥提升安全性。最后给出了国密算法实现所需的Maven依赖配置。
2026-06-27 11:48:14
12
原创 Redis分布式锁正确打开方式
本文探讨了分布式锁的必要性及基于Redis的实现方案。分布式锁用于解决多JVM进程间的资源互斥问题,需满足互斥性、避免死锁、解铃系铃人、可重入性和容错性五大特性。文章详细分析了Redis分布式锁的实现要点:1) 使用SET命令保证原子性上锁并设置超时时间;2) 通过线程ID+应用ID作为唯一value确保只有锁持有者能释放;3) 采用Lua脚本保证操作的原子性;4) 实现可重入机制时需考虑跨节点线程ID冲突问题;5) 通过看门狗机制动态续期解决业务执行时间不确定性问题;6) 使用Redis哈希结构管理锁的属
2026-06-27 11:47:53
145
原创 Java 集合中的排序算法浅析
本文探讨了Java中两种核心排序算法的实现原理及性能对比。首先分析了TimSort算法,作为Java集合工具类默认的排序算法,它融合了归并排序和二分插入排序的优点,通过自适应地划分有序子序列(run)并采用特定合并策略,实现了O(nlogn)的时间复杂度。文章详细讲解了run的划分、minrun的动态计算以及合并过程的栈操作规则。其次介绍了双轴快排(DivalQuickSort)在基本类型排序中的应用,其通过选择两个pivot值将数据分为三个区间进行递归处理。测试数据显示,在1亿规模数据集下双轴快排表现最优
2026-06-27 11:47:38
143
原创 全局视角看技术-Java多线程演进史
本文系统梳理了Java多线程技术的演进历程,从JDK1.0的Thread/Runnable基础模型开始,历经手动档时代(原生线程操作)、自动档时代(J.U.C并发包引入)到JDK19的虚拟线程时代。重点解析了各版本核心创新:JDK5.0的JSR-166并发包和内存模型、JDK6.0的synchronized优化、JDK8.0的CompletableFuture任务编排和Stream并行处理,以及JDK19突破性的虚拟线程技术。文章通过汽车变速器比喻形象说明技术演进:手动档(直接操作线程)→自动档(并发工具简
2026-06-27 11:47:10
272
原创 高并发场景下常见的限流算法及方案介绍
本文介绍了高并发场景下的限流技术,重点讲解了三种核心限流算法:计数器算法、漏桶算法和令牌桶算法,并分析了它们的适用场景和优缺点。同时详细阐述了多种限流实现方案,包括容器层面的Tomcat和Nginx限流,服务端的Semaphore、RateLimiter、Hystrix和Sentinel等组件,以及分布式环境下的Tair和Redis实现方案。文章还特别强调了在系统设计时如何根据业务特性选择合适的限流策略,以平衡系统吞吐量和稳定性,确保系统在高并发场景下能够可靠运行。
2026-06-27 11:46:55
145
原创 @Transaction注解的失效场景
摘要:文章分析了Spring事务失效的常见原因,重点探讨了@Transactional注解的默认行为。默认情况下,Spring事务仅对RuntimeException和Error进行回滚,若抛出其他异常或捕获异常都会导致事务失效。此外,还介绍了事务传播机制设置不当、方法内部调用(未被代理对象调用)等情况也会使事务失效。文章通过源码分析解释了事务回滚机制,并总结了包括数据库引擎不支持、多线程调用等在内的多种事务失效场景,为开发者提供了排查事务问题的系统性思路。(149字)
2026-06-27 10:50:41
217
原创 ElasticSearch必知必会-Reindex重建索引
Elasticsearch索引重建方法与注意事项 摘要:Elasticsearch索引重建常见于版本升级、集群迁移、分片调整或文档结构变更等场景。核心方法包括Reindex API,支持参数化控制刷新策略、分片响应及并行任务切片。高级技巧涵盖速率限制(建议500-1000条/秒)、人工/自动数据切片、字段筛选及跨集群操作。需特别注意:1)目标索引需预先定义Mapping;2)大索引重建需控制速度避免集群过载;3)通过query/max_docs限制数据范围;4)多索引合并时存在ID覆盖风险。实践建议结合业务
2026-06-27 10:50:24
173
原创 如何规避MyBatis使用过程中带来的全表更新风险
本文介绍了MyBatis全表更新风险及解决方案。首先通过对话场景指出业务数据校验不当可能导致全表更新或删除的风险。随后分析MyBatis执行流程和四大扩展点(Executor、StatementHandler、ParameterHandler、ResultSetHandler),并基于StatementHandler拦截器设计了一款防止全表更新的插件。该插件能够拦截无where条件、逻辑删除字段等6类危险SQL语句,提供白名单配置和性能优化(update/delete操作仅增加约0.02毫秒延迟)。最后详细
2026-06-26 08:20:53
75
原创 Spring源码核心剖析
SpringAOP作为Spring最核心的能力之一,其重要性不言而喻。然后需要知道的是AOP并不只是Spring特有的功能,而是一种思想,一种通用的功能。而SpringAOP只是在AOP的基础上将能力集成到SpringIOC中,使其作为bean的一种,从而我们能够很方便的进行使用。
2026-06-26 08:20:33
15
原创 架构师日记-为什么数据一致性那么难
在现代大型分布式软件系统中,有一个绕不过去的课题,那就是如何保证系统的数据一致性。著名的Paxos算法(Megastore、Spanner),Raft协议(ETCD、TiKV、Consul ),ZAB协议(ZooKeeper)等分布式一致性解决方案,都是在此背景下而诞生的。数据一致性保障为什么难呢?先来看一下我们熟知的本地数据库事务是如何实现数据一致性的。
2026-06-26 08:20:17
127
原创 如何在微服务下保证事务的一致性
微服务架构下的事务一致性解决方案 本文系统探讨了微服务架构中保证事务一致性的解决方案。传统单体应用的事务管理无法满足微服务场景需求,文章从本地事务的局限性出发,详细分析了分布式事务面临的挑战。 核心解决方案分为两类: 强一致性方案:包括二阶段提交协议(2PC)和三阶段提交协议(3PC),通过协调者机制确保所有节点操作结果一致,但存在性能瓶颈和单点故障风险。 最终一致性方案: TCC模式:通过Try、Confirm、Cancel三阶段实现 补偿模式:采用重试机制和定时校对 可靠事件模式:基于消息队列实现异步处
2026-06-26 08:19:37
65
原创 电商通用型商品中心设计
本文探讨了电商通用型商品中心的设计方案,重点阐述了扩展性设计思想。核心内容包括:1)商品基础概念(SKU/SPU/类目/属性)及分层架构(前后台类目分离);2)关键表结构设计(商品表、属性表、价格表等)及数据关联逻辑;3)三大扩展性设计亮点:动态属性管理(支持无限扩展)、类目关联表单(动态渲染)、多价格体系(支持多种货币)。通过模块化设计和JSON字段应用,系统实现了高度灵活性,可满足实物/虚拟/服务等多类型商品的管理需求,为订单、促销等下游系统提供稳定基础数据支持。设计方案特别强调在不修改表结构的前提下实
2026-06-26 08:19:12
177
原创 Nginx常用配置及和基本功能讲解
本文介绍了Nginx的核心配置和基础功能,适合入门学习。主要内容包括:1)配置文件结构,分为全局块、events块、http块等部分;2)location路径映射规则及其优先级;3)反向代理的实现方式;4)6种负载均衡策略(轮询、热备、权重等);5)动静分离的实现方法;6)常用指令如return、rewrite、error_page等。文章还列举了Nginx内置变量,帮助开发者更好地配置和使用Nginx。作为高性能反向代理服务器,Nginx的反向代理、负载均衡和动静分离功能是其核心优势。
2026-06-26 08:18:41
154
原创 Jmeter 性能测试利器-1(入门指南)
本文介绍了JMeter性能测试工具的基本使用方法,包括安装、界面设置和测试计划的创建。重点讲解了如何配置线程组、HTTP请求、JSON提取器以及监听器来模拟接口测试场景。同时详细说明了BeanShell处理器的功能,包括线程变量(vars)和全局变量(props)的使用区别,并提供了MD5加密的脚本示例。文章还涉及了JMeter中文界面的设置方法,适合初学者快速上手使用JMeter进行SpringBoot后端接口的性能测试。
2026-06-26 08:18:16
179
原创 一文搞懂Redis
本文详细介绍了Redis的核心特性、数据结构、持久化机制及常见问题解决方案。Redis作为高性能内存数据库,其快速响应得益于内存操作、单线程模型和高效数据结构。文章深入解析了String、Hash、List、Set、Zset等数据类型的底层实现,包括SDS、压缩列表、快速列表等结构。在持久化方面,对比了RDB和AOF的优劣及适用场景,并介绍了重写机制。针对数据丢失问题,提出了主从同步和持久化策略建议。最后分析了缓存雪崩、穿透、击穿问题的成因及解决方案,如布隆过滤器、互斥锁等。全文通过源码分析揭示了Redis
2026-06-26 08:17:52
177
原创 Jmeter 压测保姆级入门教程
Jmeter安装与使用指南摘要 安装部分 下载安装:从清华镜像站获取Jmeter压缩包,解压后运行bin目录下的启动文件 语言设置:通过选项菜单切换为简体中文 插件安装:需先下载插件管理器jar包放入lib/ext目录,重启后通过插件管理器安装推荐插件(如jpgc梯度增压插件) 内存调整:修改bin目录下jmeter文件中的HEAP参数优化性能(如-Xms1g -Xmx8g) 核心功能 测试计划:包含所有压测配置,支持变量定义(如${host}) 配置元件: HTTP请求默认值:设置公共请求参数 HTTP信
2026-06-26 08:17:08
202
原创 【开发宝典】Java并发系列教程
Java对象内存布局分为对象头、实例数据和对齐填充三部分。对象头包含MarkWord(存储hashcode、GC年龄、锁状态等)和KlassWord(类型指针)。synchronized的实现依赖于Monitor机制,通过对象头的MarkWord指向Monitor对象来实现同步。锁优化包括偏向锁(单线程无竞争)、轻量级锁(多线程无竞争)和重量级锁(多线程竞争),以及自旋优化。偏向锁在Java15后被废弃,撤销场景包括hashcode调用、多线程竞争等。批量重偏向和批量撤销机制分别针对20次和40次撤销阈值进
2026-06-26 08:16:21
160
【Java技术面试】蚂蚁金服面试题汇总
2026-05-06
【Java设计模式】23种设计模式详解:JDK与Spring框架中的应用场景及实现原理
2026-04-18
sqlserver jar驱动jar包
2026-04-02
【Linux运维】基础命令与权限管理:Java面试必备核心知识点整理
2026-03-01
【数据库技术】MySQL基础面试题核心知识点解析:涵盖事务、索引、锁机制及高并发优化策略
2026-02-25
springJava开发基于Spring框架的核心技术解析:IoC与AOP原理及事务管理在企业级应用中的实践设计
2026-02-23
【Java后端开发】基于Redis的缓存机制与分布式锁实现:高频面试知识点梳理与应用解析
2026-02-22
Java编程面向面试的基础知识体系:核心概念、集合框架与多线程机制详解
2026-02-22
window2clear 是一款窗口辅助工具,可以更改任意窗口透明化程度 软件运行之后,可以使用快捷键快速调整窗口的透明度 alt+方向键上:快速切换为透明/非透明 alt+方向键左:透明度
2025-12-22
新一代 Oracle RAC (PDF)【数据库技术】基于Oracle RAC 19c的高可用可扩展架构:面向下一代混合负载的企业级应用支撑系统设计
2025-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅