- 博客(1457)
- 资源 (6)
- 收藏
- 关注

原创 合格程序员每天每周每月每年应该做的事
程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢 4、考虑自
2009-11-18 12:45:00
2176
7
原创 科普文:软件架构之Linux服务器性能【连接数:单台服务器支持多少TCP连接?6.4万?】
单台服务器支持的TCP连接数受多重因素影响,并非固定值(如6.4万)。关键限制包括:操作系统参数(Linux默认约6.4万)、内存(每连接约3-10KB)、文件描述符数量、网络带宽及CPU处理能力。理论最大连接数可达百万级(需内核调优),但实际生产环境建议控制在理论值的30-50%。优化方案包括:调整内核参数(如端口范围、TCP内存池)、使用连接池/长连接、负载均衡及硬件加速(如DPDK)。典型场景中,16核64G服务器实际支持5-20万连接,需结合监控动态调整。
2025-07-15 12:22:51
542
原创 科普文:【支持信创、宣传国产】软件架构Linux系列【国产企业级固态盘SSD梳理】
国产企业级SSD是针对企业级应用场景设计的高性能、高可靠性的固态硬盘。近年来,随着国内存储技术的快速发展,国产企业级SSD在性能、可靠性、耐用性等方面取得了显著进步,并逐渐在市场上占据一席之地。国产企业级SSD正在快速发展,长江存储、长鑫存储提供核心存储芯片,忆联、华澜微、国科微等厂商推出高可靠性、高性能的SSD产品,逐步满足数据中心、金融、政府等领域的需求。未来,随着技术进步和生态完善,国产SSD有望在全球市场占据更重要的地位。
2025-07-14 16:41:18
611
原创 科普文:【支持信创、宣传国产】软件架构Linux系列【企业级固态盘SSD梳理】
本文系统梳理了企业级SSD的核心技术特性与应用选型要点。从硬件角度解析了SSD的三大核心组件(NAND闪存、主控芯片、DRAM缓存)和接口类型(SATA/SAS/NVMe),重点对比了企业级与消费级SSD在性能(IOPS达500K)、耐久性(DWPD≥1)、可靠性(MTBF百万小时级)等方面的显著差异。文章详细介绍了企业级SSD在数据中心、云计算等场景的应用方案,并从性能、耐用性等维度给出选型建议,最后列举Intel、三星等主流厂商产品线及典型故障案例。全文为企业用户选择和维护SSD提供了全面的技术参考。
2025-07-14 16:25:34
329
原创 科普文:【支持信创、宣传国产】国密SM之非对称加密SM9详解
SM9是中国国家密码管理局发布的标识密码算法(IBC),无需证书即可实现身份认证与密钥交换。支持数字签名、密钥交换、加密三大功能,密钥长度128位(实际安全强度约128位)。性质:中国国家密码管理局发布的标识密码算法(IBE,Identity-Based Encryption),基于双线性对(Bilinear Pairing),属于非对称加密体系。核心标准:GB/T 38635-2020核心功能:数字签名密钥交换数据加密关键参数:椭圆曲线:sm9p256v1主密钥:系统级秘密参数(由KG
2025-07-14 14:22:50
725
原创 科普文:【支持信创、宣传国产】国密SM之对称加密算法ZUC祖冲之算法详解
ZUC(祖冲之算法)是中国国家密码管理局发布的流密码算法,2011年被3GPP采纳为4G LTE国际标准(命名为SNOW 3G的替代方案)。性质:中国自主设计的流密码算法,用于4G/5G移动通信(LTE国际标准)和物联网加密,包含:ZUC-128:密钥长度128位,初始向量(IV)128位ZUC-256:增强版(密钥/IV长度256位,GB/T 33133-2016)核心特点:基于非线性反馈移位寄存器(LFSR) + 比特重组(BR) + 非线性函数(F)每时钟周期生成32位密钥流硬件效率极
2025-07-14 14:01:53
404
原创 科普文:【支持信创、宣传国产】国密SM之对称加密算法SM7详解
性质:SM7是中国国家密码管理局批准的对称加密算法,主要用于非接触式IC卡(如交通卡、门禁卡)和低功耗设备的加密通信。核心参数:分组长度:128位(16字节)密钥长度:128位(16字节)轮数:32轮(与SM4类似)特点:设计针对RFID等资源受限设备算法细节未公开(需通过国密认证的硬件模块调用)
2025-07-14 13:33:24
500
原创 科普文:【支持信创、宣传国产】国密SM之对称加密算法SM4详解
SM4是中国国家密码管理局发布的分组对称加密算法,用于替代DES/AES等国际算法。分组长度128位,密钥长度128位,属于Feistel结构变种。性质:中国国家密码管理局发布的对称加密算法(GB/T 32907-2016),原名SMS4,用于替代DES/3DES/AES。核心参数:分组长度:128位(16字节)密钥长度:128位(16字节)轮数:32轮非线性迭代工作模式:支持ECB/CBC/CTR/GCM等(需填充方案如PKCS5Padding)
2025-07-14 12:42:00
453
原创 科普文:【支持信创、宣传国产】国密SM之签名算法SM3详解
SM3算法是一种密码散列函数,由中国国家密码管理局发布,具有256位的输出摘要长度。它采用Merkle-Damgård结构,通过复杂的迭代过程和变换,确保了其抗碰撞性和抗预像性。性质:SM3是中国国家密码管理局发布的密码哈希算法,属于单向散列函数,输出长度为256位(32字节),安全性对标SHA-256。核心用途:数据完整性校验数字签名中的消息摘要密码衍生(KDF)标准依据:GB/T 32905-2016
2025-07-14 11:19:06
582
原创 科普文:【支持信创、宣传国产】国密SM之非对称加密SM2详解
SM2算法全称为椭圆曲线算法,是一种非对称密钥算法,其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。性质:SM2是中国国家密码管理局发布的非对称加密算法,基于椭圆曲线密码学(ECC),属于国密标准(GB/T 32918-2016)。核心功能:数字签名密钥交换公钥加密参数标准:推荐椭圆曲线:sm2p256v1(256位素数域)私钥长度:32字节(256位)公钥长度:64字节(未压缩格式)
2025-07-14 10:15:07
551
原创 科普文:【支持信创、宣传国产】国密SM之对称加密SM1详解
性质:SM1是中国国家密码管理局发布的对称加密算法,属于分组密码,密钥长度固定为128位,分组长度128位。特点:安全性等同于国际AES-128,但算法细节未公开(仅通过硬件加密卡或专用芯片实现)。需通过国家密码管理局认证的硬件设备调用,无公开软件实现(因此Java需依赖厂商提供的库)。基本特性分组长度:128位密钥长度:128位轮数:32轮(Feistel结构)核心操作:非线性变换S盒、线性变换L盒、密钥扩展
2025-07-14 07:45:54
699
原创 科普文:《盐铁论》和《国富论》
《盐铁论》与《国富论》是两部分别代表中国古代与西方近代经济思想的经典著作,尽管时代背景和理论框架迥异,但都对经济政策与国家治理产生了深远影响。两部著作分别代表了东西方经济思想的早期高峰:《盐铁论》反映了古代中国“国家主导型经济”的逻辑,而《国富论》则开启了西方自由经济理论的大门。它们的差异根植于不同的政治文化传统,但共同构成了人类经济思想史的宝贵遗产。
2025-07-14 06:13:52
491
原创 科普文:《盐铁论》概览
《盐铁论》全书结构第一卷:辩论总纲(《本议》《力耕》《通有》等);主题:国家财政政策是否必要,盐铁专营是否合理。第二卷:盐铁专营争议(《禁耕》《复古》《错币》等);贤良文学主张废除垄断,桑弘羊强调国家控制关键产业。第三卷:经济政策辩论(《本议》《轻重》《非鞅》等);讨论均输平准、货币改革等政策利弊。第四卷:社会与伦理争议(《忧边》《国疾》《论儒》等);延伸至战争、儒家治国等议题。
2025-07-14 06:01:38
460
原创 科普文:【支持信创、宣传国产】软件架构Linux系列之【读写速度200MB每秒的机械盘做RAID支持10GB每秒的业务场景:raid0,raid5,raid6,raid10,raid50,raid6】
【摘要】本文系统分析了如何利用200MB/s读写速度的机械硬盘构建10GB/s业务场景的存储方案,详细对比了RAID0、5、6、10、50、60六种方案。RAID0性能最优但无冗余,RAID10提供最佳写性能与高容错,RAID50平衡性能与容量,RAID60具备最高容错能力。关键指标对比显示:性能排序为RAID0>10>50>60>5>6;冗余能力RA60最强;成本随冗余级别递增。建议根据业务需求选择:极高性能选RAID0,性能冗余平衡选RAID5/10,大规模存储选RAID5
2025-07-13 17:59:14
723
原创 科普文:【支持信创、宣传国产】软件架构Linux系列之【读写速度200MB每秒的机械盘如何支持10GB每秒的业务场景?】
摘要:机械硬盘(HDD)单盘读写速度仅200MB/s,无法满足10GB/s的高性能业务需求。解决方案主要采用多盘并行(如RAID0/10)、缓存加速(SSD/NVMe)和分层存储技术。RAID0通过50块HDD并行可实现10GB/s吞吐,适用于大文件顺序读写;SSD缓存可优化随机访问性能;分布式存储(如Ceph)适合海量数据场景。典型应用包括视频流媒体(HDD阵列+NVMe缓存)和数据库(RAID10+SSD日志)。成本约需数十块硬盘和SSD,需权衡性能、可靠性和运维复杂度。
2025-07-13 16:10:58
620
原创 科普文:【支持信创、宣传国产】软件架构Linux系列之【国产企业级机械盘HDD梳理】
目前国内企业级机械硬盘(HDD)市场主要由 国际品牌(希捷、西部数据、东芝) 主导,但国产厂商也在逐步进入该领域,主要面向 自主可控 和 信创 需求。联想(Lenovo):虽然联想以PC和服务器业务著称,但也涉足存储领域,提供企业级解决方案。华为(Huawei):华为在数据中心和云计算领域有深厚积累,也提供企业级存储产品,包括HDD。浪潮(Inspur):浪潮是中国领先的数据中心解决方案提供商,提供包括企业级HDD在内的多种存储产品。紫光华山(H3C):紫光华
2025-07-13 15:42:16
685
原创 科普文:软件架构Linux系列之【如何选择适合的企业级HDD?】
企业级机械硬盘(HDD)选择指南:首先要明确应用场景需求,数据库等高IOPS场景选择10K/15KRPM SAS接口硬盘,冷存储则优先考虑7200RPM大容量SATA硬盘。关键指标包括容量(4TB-20TB)、转速(7200/10K/15KRPM)、接口(SAS/SATA)、缓存(128MB-256MB)和可靠性(MTBF≥150万小时)。主流厂商如希捷、西数、东芝提供不同特性的企业级产品,选购时需考虑RAID支持、振动补偿等企业级特性,并计算TCO成本。最后建议通过厂商工具验证兼容性,预留10%性能冗余。
2025-07-13 15:32:06
447
原创 科普文:软件架构Linux系列之【企业级机械盘HDD梳理】
本文介绍了企业级机械硬盘(HDD)的性能特征和选型要点。主要参数包括:3.5/2.5英寸盘径,SATA/SAS/FC接口,7200-15000RPM转速,4-20TB容量范围,64-512MB缓存。性能指标重点关注IOPS(150-400)、吞吐量(160-280MB/s)和延迟,转速越高性能越好。主流厂商有希捷(Exos系列)、西部数据(WD Gold)和东芝(MG系列),建议根据场景选择:大容量存储选氦气盘(16-18TB),高性能计算选10000/15000RPM型号。企业级HDD具有高可靠性(MTB
2025-07-13 15:16:49
570
原创 科普文:软件架构Linux系列之【机械盘HDD的性能特征:IOPS、吞吐量、延迟】
本文主要探讨了应用程序性能与磁盘I/O的关系,详细介绍了衡量磁盘性能的三个关键指标:IOPS(每秒输入/输出操作数)、吞吐量和延迟。文章分析了Azure中超级磁盘和高级SSDv2的性能特点,包括IOPS与吞吐量的计算公式和配置建议。同时指出需要注意虚拟机I/O上限和磁盘I/O上限导致的性能瓶颈问题,并提供了相应的诊断指标。最后阐述了磁盘缓存(读取缓存和写入缓存)对性能的影响,以及如何通过合理配置主机缓存来优化VM性能,避免成为系统瓶颈。
2025-07-13 14:46:43
543
原创 科普文:【支持信创、宣传国产】国内中小企业使用JDK17开发商业软件的风险
【摘要】2024年9月30日后,Oracle将终止JDK17免费商用授权,中小企业面临严峻合规风险。技术层面存在OpenJDK兼容性差、安全更新滞后等问题;法律层面可能面临追溯性审计及高额赔偿(典型案例200万元)。建议:1)生产环境迁移至开源发行版(如Corretto、Dragonwell);2)建立版本管控机制;3)评估订阅成本(约15万元/50核/年)。信创项目需特别注意国产系统适配,警惕Oracle通过云平台日志追溯侵权的风险。中小企业应尽早制定JDK合规策略,平衡技术需求与法律风险。(149字)
2025-07-13 13:58:24
1152
原创 科普文:【支持信创、宣传国产】从2019年到2025年Oracle针对JDK而发起的审计国内企业案例
根据公开报道及行业记录,2019年至2025年期间Oracle针对国内企业JDK违规使用发起的审计案例已形成明确模式,以下为典型事件汇总及关键特征分析:2019年某电商公司案:使用Oracle JDK 8开发后台系统,未删除版权文件,被审计后支付12万元和解费。2021年金融科技公司案:自研支付平台使用JDK 11,云服务商日志触发Oracle审计,赔偿25万元并迁移至OpenJDK。2023年游戏开发团队案:手游服务器使用JDK 17(Oracle No-Fee Terms过期后),遭索
2025-07-13 12:07:59
1009
原创 科普文:【支持信创、宣传国产】2022年Oracle将Java纳入许可证审计
2019年4月,Oracle宣布对商用JavaSE收取订阅费用,从JDK8u211及后续版本开始商用需付费。此举引发企业合规风险,包括授权混淆(如电商案例)和审计缺失(70%企业未启用细粒度审计)。2022年Oracle将Java纳入许可证审计,企业需注意:1)旧版本使用补丁仍需授权;2)虚拟化环境需全CPU许可。第三方工具如Flexera/Lime虽被Oracle验证,但仅提供数据参考,无法保证合规。许多企业转向OpenJDK等替代方案。专家建议评估迁移至Java17或第三方方案,并完善审计流程。
2025-07-13 11:13:41
667
原创 科普文:【支持信创、宣传国产】中国中小企业使用JDK8、11、17、21等LTS版本开发商业软件的风险分析
【JDK版本选择与风险分析】国内商业软件开发中Java占据主导地位,尤其在金融、IT服务和互联网领域。针对JDK版本选择,中小企业需注意:OracleJDK8/11/17存在高法律风险(需商业订阅),而OpenJDK版本(如17/21)免费且无风险。技术层面,JDK8已老旧且不安全,建议新项目使用OpenJDK21(支持至2031年),旧系统可过渡到OpenJDK17。典型案例显示,未授权使用OracleJDK可能面临高额追责。推荐采用Amazon Corretto、阿里Dragonwell等OpenJDK
2025-07-13 03:42:10
870
原创 科普文:【支持信创、宣传国产】国产处理器/CPU梳理
x86:海光下一代7nm产品(如8380)性能对标AMD EPYC,但需突破EUV光刻机限制。ARM:鲲鹏+昇腾+鸿蒙构建全栈生态,但先进制程(5nm/3nm)依赖国产替代。RISC-V:阿里平头哥主导,2025年或成AIoT主流架构。LoongArch:龙芯3C6000(16核)目标性能接近Intel 10代酷睿,生态依赖二进制翻译。
2025-07-12 14:09:11
1189
原创 科普文:【支持信创、宣传国产】X86 、 ARM 、 RISC-V 、 MIPS 和 LoongArch 等CPU架构梳理
CPU架构发展现状与趋势 当前主流CPU架构可分为CISC(x86)和RISC(ARM/RISC-V/龙芯)两大阵营。x86凭借高性能优势主导PC/服务器市场,但存在功耗高、授权封闭等问题。ARM在移动端占据95%份额,但面临授权费用昂贵、高阶架构受限等挑战。新兴的RISC-V凭借开源特性在物联网领域快速发展,但生态仍不成熟。龙芯LoongArch作为国产自主指令集,通过二进制翻译兼容主流生态,性能已接近13代酷睿,但生态建设仍需时间。现代CPU架构呈现融合趋势:x86内部采用RISC微操作,ARM/RIS
2025-07-12 13:20:13
978
原创 科普文:软件架构数据库系列之【MySQL 主从复制集群架构RC隔离级别下的“脏读”问题】
本文探讨了MySQL主从复制环境下的"脏读"问题本质。在RC隔离级别下,真正的脏读(读取未提交数据)不会发生,但主从异步复制延迟会导致从库读取到旧数据,这种现象被部分人错误地称为"脏读"。文章详细分析了MySQL 5.6至9.0各版本中该问题的表现差异及解决方案:包括半同步复制、并行复制、组复制等技术优化,最终建议关键业务查询走主库、使用MySQL 8.0+版本并配合监控机制。核心结论指出:主从环境下的"脏读"实际上是复制延迟导致的数据不一致问题,
2025-07-11 12:52:20
686
原创 科普文:【民法典】借钱容易还钱难
“借钱是情分,不借是本分”:出借人:坚守“救急抵押+书面协议”铁律,摒弃人情包袱。借款人:珍视信用资产,避免透支人际资本。社会:亟需构建“失信=寸步难行”的惩戒闭环,让老赖无处遁形。
2025-07-11 10:01:21
1182
原创 科普文:【民法典】关于借钱不还的条款
1. 借款合同的成立与生效第六百六十七条:借款合同是借款人向贷款人借款,到期返还借款并支付利息的合同。第六百七十九条:自然人之间的借款合同,自贷款人提供借款时成立。这意味着当贷款人把钱交给借款人时,借款合同才正式生效,双方的权利义务关系开始产生。2. 借款利息第六百八十条:禁止高利放贷,借款的利率不得违反国家有关规定。借款合同对支付利息没有约定的,视为没有利息。借款合同对支付利息约定不明确,当事人不能达成补充协议的,按照当地或者当事人的交易方式、交易习惯、市场利率等因素确定利息;自然人之间借款的
2025-07-11 09:47:43
1878
原创 科普文:软件架构系列之【不用花钱的OSS解决微服务下文件上传在多节点间共享的问题:NFS共享目录】
在微服务架构中,文件上传下载的节点间共享是典型挑战,需结合技术特性、性能需求及运维成本综合选型。轻量级首选:MinIO(自建S3兼容)或FastDFS(纯小文件场景)。云原生推荐:OSS(公有云)或MinIO(私有云),结合分片上传和CDN加速。传统架构过渡:NFS适合已有Linux集群的简单共享,但需规避单点风险。实践案例参考:电商平台:用户上传图片 → MinIO集群 → CDN分发 → 微服务通过预签名URL下载。企业内部网盘:NFS共享目录 + 权限控制(all_squash) + 定
2025-07-06 17:31:17
752
原创 科普文:软件架构系列之【万字详解文件存储MinIO】
MinIO是一款高性能、开源的对象存储系统,专为云原生和大数据场景设计。它完全兼容Amazon S3 API,支持分布式部署,采用纠删码技术确保数据可靠性。MinIO具有轻量易部署、高扩展性等特点,支持Docker/Kubernetes快速部署,提供多语言SDK便于开发集成。其典型应用场景包括数据备份、AI基础设施、静态资源托管等。与HDFS相比,MinIO更适合处理海量小文件和高并发访问,但在与Hadoop生态集成方面存在局限。使用MinIO时需注意安全性配置、小文件性能优化和版本兼容性等问题。
2025-07-06 15:08:14
831
原创 科普文:软件架构Spring系列之【万字详解Spring shell】
本文介绍了SpringShell框架及其在构建交互式命令行应用中的应用。SpringShell是Spring生态中的命令行开发工具,支持注解驱动开发、Tab补全、依赖注入等功能,适用于运维工具、开发工具等场景。文章对比了SpringShell与其他命令行框架的特点,详细说明了其核心类、注解及执行流程,并提供了JDK版本适配建议。此外,还展示了如何通过SpringShell实现服务器资源监控功能,包括JVM、CPU、内存、磁盘I/O和网络I/O的监控命令示例。最后给出了SpringShell的配置方法和界面自
2025-07-03 17:09:49
1100
原创 科普文:软件架构系列之设计模式【策略模式、状态模式、适配器模式、观察者模式】
设计模式是解决软件设计问题的通用方案。本文对比分析了四种常见模式:策略模式用于算法替换(如支付方式),状态模式管理对象行为随状态的变化(如订单流程),适配器模式解决接口不兼容问题(如系统集成),观察者模式实现一对多通知机制(如消息订阅)。这些模式各具特点:策略和状态模式属于行为型,分别强调算法独立性和状态转换;适配器是结构型模式,重在接口转换;观察者实现松耦合的消息通知。合理运用设计模式能提高代码复用性、扩展性和可维护性,如Spring框架就巧妙结合了观察者与策略模式。开发者应根据具体场景选择合适模式,注意
2025-06-30 23:19:30
678
原创 科普文:软件架构Spring系列之【Spring事件机制:Spring事件监听器能处理跨服务的事件吗?】
【摘要】Spring事件监听机制通过发布-订阅模式实现模块解耦,支持异步处理和自定义事件类型,但原生仅适用于单服务场景。跨服务事件需借助消息中间件(如Kafka)或Spring Cloud组件实现,需权衡一致性、性能等需求。典型方案包括:MQ异步解耦(最终一致性)、Spring Cloud Stream集成发布、分布式事务框架(强一致性)。实际应用中需注意消息幂等、事务协调及服务熔断等问题,建议根据业务场景选择合适方案,如高并发优先异步MQ,强事务采用Seata等框架。
2025-06-30 22:50:54
948
原创 科普文:软件架构Spring系列之【Spring事件机制ApplicationEventMulticaster调用所有监听器的处理方法】
Spring事件机制是基于观察者模式的轻量级消息通信方案,通过ApplicationEvent和ApplicationListener实现模块间解耦。事件发布者与监听者无需直接依赖,只需注册到Spring容器即可跨模块通信。文章详细介绍了事件定义、发布和监听流程,并重点讲解如何为异步事件监听器配置专属线程池:1)通过@Bean创建ThreadPoolTaskExecutor;2)使用@Async指定线程池;3)提供订单事件处理的完整示例。该机制适用订单状态变更等场景,关键要注意线程池隔离、拒绝策略和事务协调
2025-06-30 19:51:05
1099
原创 科普文:软件架构Spring系列之【Spring事件机制ApplicationEvent】
Spring框架提供了状态机和事件两种机制来处理业务逻辑。状态机(Spring StateMachine)专注于管理对象生命周期中的状态转换,适用于订单处理等工作流场景;而事件机制基于观察者模式,通过发布-订阅模型实现组件解耦,支持同步/异步处理。事件可通过@Async实现异步监听,并通过@TransactionalEventListener与事务生命周期绑定。两种机制各具特点:状态机适合复杂状态管理,事件机制更适用于轻量级解耦通信。开发者可根据业务需求选择合适方案,或组合使用以实现更灵活的系统架构。
2025-06-30 18:27:23
941
原创 科普文:软件架构Spring系列之【Spring状态机的设计模式:状态模式(State Pattern)】
摘要:本文深入解析Spring Statemachine状态机中运用的设计模式,重点阐述状态模式(State Pattern)的实现原理。通过对比传统分支逻辑方案,说明状态模式在管理复杂状态流转时的优势:代码更清晰、维护性更高。文章详细介绍了Spring Statemachine中状态模式的三个核心角色(Context、State、ConcreteState)及其协作方式,并以红绿灯状态变更案例进行演示。同时指出状态模式与策略模式的区别在于前者关注状态流转,后者关注策略选择。此外,还提及了观察者、策略、模板
2025-06-30 16:39:28
1224
原创 科普文:软件架构Spring系列之【Spring Statemachine状态机示例】
Spring StateMachine是Spring框架提供的状态机模块,采用状态模式实现对象状态管理。它通过定义状态(State)、事件(Event)和转换(Transition)来管理状态变化,核心类包括StateMachine、StateMachineFactory等。主要适用于订单处理、工作流等场景,具有状态管理清晰、可维护性强等优点,但也存在学习曲线陡峭、配置复杂等缺点。在分布式环境下,可通过分布式锁、状态持久化等方式保证状态一致性。文章通过订单处理流程示例,详细展示了状态机的配置和使用方法,并对
2025-06-30 16:22:10
1000
原创 科普文:软件架构Spring系列之【状态机:Spring Statemachine】
Spring State Machine是Spring框架中用于简化有限状态机开发的模块,它通过状态(State)、事件(Event)、转换(Transition)和动作(Action)等核心概念,帮助开发者管理复杂的状态流转逻辑。该框架采用Mealy型状态机模型,支持事件驱动、分层状态和状态持久化等特性,适用于订单处理、工作流引擎等场景。相比传统if-else实现,它提供了更清晰的状态管理方式,但存在学习曲线陡峭和性能开销等缺点。实际应用中需注意线程安全、状态持久化和错误处理等问题。
2025-06-30 13:55:47
1078
原创 实战:JUC系列之基础类Unsafe应用场景【阻塞队列 Unsafe.park/Unsafe.unpark替代方案java.util.concurrent.locks.LockSupport】
本文介绍了Java并发编程中的LockSupport工具类,它是基于Unsafe类实现的底层线程控制原语。LockSupport提供park/unpark方法实现线程精准阻塞与唤醒,相比Object的wait/notify具有免锁依赖、支持中断检查等优势,是构建AQS、Disruptor等并发框架的基础。文章通过一个超时阻塞队列的代码示例,展示了如何使用LockSupport实现生产-消费模型,包含put和take方法的超时控制逻辑。该队列利用LockSupport.parkNanos进行定时阻塞,并通过u
2025-06-29 23:22:53
868
原创 实战:JUC系列之基础类Unsafe应用场景【阻塞队列 Unsafe.park/Unsafe.unpark】
《JUC系列之Unsafe类详解》介绍了Java底层类sun.misc.Unsafe的功能与实现原理。文章通过一个支持超时的阻塞队列案例,展示了Unsafe在并发编程中的典型应用:1)使用CAS原子操作(compareAndSwapInt)实现线程安全;2)通过park/unpark方法控制线程阻塞与唤醒。特别强调Unsafe作为内部API存在风险,建议优先使用java.util.concurrent包的标准工具。该技术博客深入解析了Unsafe的内存操作、线程控制等底层机制,为理解Java并发原理提供了重
2025-06-29 21:52:21
732
El caso de las hojas de ruta seguras para la memoria
2024-11-03
jsp+servlet+javabean.ppt
2010-04-02
Devexpress学习篇(请大家多多指教)
2009-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人