自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MVCC 多版本并发控制 详解

MVCC(多版本并发控制)是数据库实现高并发访问的核心机制,通过版本链、undolog和ReadView三个组件协同工作。隐藏字段记录事务ID和回滚指针,undolog保存历史版本形成版本链,ReadView根据事务隔离级别决定数据可见性。MVCC实现读写不冲突:读操作访问历史版本无需加锁,写操作仅修改当前版本,大幅提升并发性能。不同隔离级别通过调整ReadView生成时机实现不同效果,RC级别每次查询生成新视图,RR级别复用首次视图保证可重复读。MVCC需配合行锁解决写冲突,并定期清理无用历史版本。

2025-07-21 21:51:33 726

原创 AQS 抽象队列同步器 资源竞争-排队等待

AQS(AbstractQueuedSynchronizer)是Java并发包的核心框架,为同步工具提供基础实现。它通过volatile int state表示资源状态,结合CLH等待队列实现线程排队机制。AQS支持两种工作模式:独占模式(如ReentrantLock)和共享模式(如Semaphore)。采用模板方法模式,由子类实现tryAcquire/tryRelease等钩子方法定义具体同步逻辑,而AQS负责排队、阻塞、唤醒等通用流程。基于AQS实现了ReentrantLock、CountDownLat

2025-07-21 21:49:45 843

原创 事务的传播行为,分别在spring和mysql中讲解

本文对比分析了Spring框架与MySQL数据库中的事务传播机制。Spring在应用层定义了7种传播行为(如REQUIRED、REQUIRES_NEW等),通过AOP代理控制事务交互;MySQL则通过存储引擎(如InnoDB)提供底层事务支持,包括保存点机制和自动提交特性。两者协作实现复杂事务场景:Spring的传播行为规则依赖MySQL的基础事务能力,如NESTED对应保存点机制,REQUIRES_NEW依赖事务独立性。这种分层设计使开发者能在应用层灵活控制事务边界,同时确保数据库层的原子性和隔离性。

2025-07-20 17:07:49 875 1

原创 电商领域企业级应用后端开发 (Java) 就业前景深度分析报告 (2025-2030)

电商行业作为数字经济的核心组成部分,正经历从增量扩张向存量深耕的战略转型。2025 年中国网络零售额已突破 18 万亿元,同比增长 9.3%,标志着电商行业进入精细化运营阶段。精耕细作新周期:电商行业已全面进入 "争存量 + 夺增量" 的新阶段,消费新趋势、技术及商业模式创新,以及全球化扩张成为行业增长的主要驱动力。技术驱动变革:人工智能、区块链等技术的应用正推动电商行业向价格透明化和物流智能化方向发展。预计到 2027 年,具备动态定价分析能力的企业占比将提升至 65%。跨境电商持续扩张。

2025-06-24 12:19:28 2357

原创 实战 使用分布式锁注解来确保用户注册邀请时的原子性、可见性、有序性

摘要:本文介绍了基于Redisson实现的分布式锁解决方案,采用注解方式定义锁场景。通过AOP切面拦截被@DistributeLock标记的方法,支持从注解或SpEL表达式获取锁key,并提供灵活的超时与等待配置。应用场景包括注册防重(锁手机号)和邀请积分防错(锁邀请人ID),其中注册通过注解实现,邀请积分则需手动加锁。系统采用双保险机制,注册锁与邀请锁分别控制不同资源,确保并发场景下的数据一致性。

2025-06-23 15:32:08 181

原创 微服务架构中用aop和facade注解实现对rpc结果的统一封装和日志打印

FacadeAspect是一个基于SpringAOP的切面处理类,主要用于增强标注@Facade注解的方法。它通过环绕通知实现三大核心功能:1) 参数校验机制,对所有方法参数进行JSR-303规范校验;2) 统一的日志记录系统,完整记录方法执行过程包括耗时、结果和异常;3) 异常处理流程,将业务/系统异常转换为标准响应格式。该切面还实现了响应结果自动补全功能,确保返回BaseResponse类型的统一性。关键技术包括AOP切面、反射技术和性能监控,适用于RPC服务和API接口,有效提升了代码健壮性、可维护性

2025-06-23 15:04:17 795

原创 计算机网络期末 物理层

本文摘要梳理了数据通信基础的关键知识点,重点包括:传输介质(有线/无线)、基带传输的数字编码原理(曼彻斯特编码特性)、频带传输的调制技术,以及多路复用和物理层设备。内容涵盖介质类型(同轴电缆、光纤、微波等)、编码方法(电平变化规则)、调制解调概念及典型例题解析,适合快速掌握通信技术核心内容。全文层次清晰,突出基础概念与实际应用(约120字)

2025-06-22 17:50:31 300

原创 计算机网络期末 网络基础概述

《计算机网络基础概念》摘要: 计算机网络是通过通信设备和线路连接多台计算机实现资源共享的技术系统,经历了面向终端、分组交换、标准化和互联网四个发展阶段。网络按范围分为PAN/LAN/MAN/WAN,拓扑结构包括星型、环型等。OSI七层模型(物理层至应用层)与TCP/IP四层模型(网络接口至应用层)是核心参考架构。关键性能指标包含带宽、时延等,其中时延由传输、传播、处理及排队时延组成。理解这些基础概念是掌握网络技术的首要前提。

2025-06-22 12:30:51 191

原创 redis分布式锁 Redisson在电商平台开发中的实际应用

摘要:本文系统介绍了Redis分布式锁的实现方式与应用场景,包括SETNX命令、SET参数、Lua脚本和RedLock算法等基础实现,重点分析了Redisson的可重入锁特性及内部机制。针对电商典型场景,详细阐述了库存超卖控制、订单防重复提交和促销活动限流三个案例的解决方案,包含锁粒度控制、原子性保证等关键实现细节。最后总结了分布式锁的最佳实践,强调合理设置超时时间、异常处理机制和性能监控的重要性。全文提供了从基础原理到实战落地的完整技术方案。

2025-06-21 21:07:39 432

原创 分布式锁 不同的拒绝策略 应用场景 业务上的思考

文章摘要:分布式锁场景下未获取锁的用户处理策略包括自旋等待(适合短事务)、阻塞等待(适合长事务)、立即失败(适合高并发)和异步处理(适合削峰)。替代Redis锁的方案有数据库乐观锁、ZooKeeper锁、本地锁和分布式事务。面试应答应结合项目场景说明选择逻辑,强调技术权衡,如游戏账号查询采用自旋等待+超时策略,秒杀场景用立即失败保护系统。(149字)

2025-06-21 19:11:46 1199

原创 2025年6月19日泛微软件北京 26届校园招聘 一面

摘要:本文记录了参加泛微软件北方大区校园招聘会的经历。虽然已有暑期实习,但仍参加线下宣讲会。招聘会现场人气火爆,面试环节涉及多个技术问题:MySQL事务与Spring事务区别、事务隔离级别、数据库调优、Elasticsearch实现原理(倒排索引)及与MySQL数据一致性方案(消息队列异步双写/Canal监听binlog)。最后了解到该公司主要从事全栈客制化开发,技术栈与学校所学相近。整个流程展现了企业招聘的技术考察重点和实际开发需求。

2025-06-19 12:45:09 594

原创 电商实战:秒杀场景方案2 :基于hint实现库存热点扣减

本文介绍了基于InventoryHint的库存扣减方案。通过SQL语句中的hint关键字(如COMMIT_ON_SUCCESS、ROLLBACK_ON_FAIL等),可以优化MySQL对热点数据的更新处理。该方案将update操作分组执行,通过减少行锁等待、B+树索引遍历和事务提交次数,提升库存扣减、退还和占用的操作效率。相比Redis+RocketMQ的削峰方案,该方案直接利用MySQL内核优化机制,简化了系统架构。

2025-06-16 21:52:33 169

原创 电商实战:秒杀下单场景方案1 :Redis+MQ实现

本文介绍了一种基于Redis和RocketMQ的秒杀系统设计方案。系统通过Redis的Lua脚本保证库存有序扣减,利用其高并发特性过滤部分请求。剩余请求通过RocketMQ事务消息进行削峰处理,确保消息可靠投递。方案采用事务消息反查机制防止消息丢失,并详细阐述了消费失败时的重试策略,包括设置最大重试次数、死信队列处理、幂等性设计以及告警监控机制。整个方案有效解决了秒杀场景下的高并发库存扣减和系统稳定性问题。

2025-06-16 21:50:16 1204

原创 mysql 字段的Null和‘‘有什么区别

MySQL不建议使用NULL作为默认值的原因主要有四方面:1)存储效率上,NULL需要额外的标志位且对动态类型造成冗余;2)查询性能上,影响索引效率并增加过滤复杂度;3)逻辑处理上,NULL比较存在陷阱且影响聚合函数结果;4)数据完整性上,可能导致业务歧义和外键问题。适合使用NULL的场景包括未知数据、三值逻辑需求等;而空字符串更适合字符串类型、需参与运算等场景。最佳实践建议优先设置NOT NULL加默认值,仅在必要时允许NULL,同时应在应用层统一处理空值逻辑。合理选择空值表示方式能提升存储效率、查询性能

2025-06-16 18:30:22 742

原创 蓝桥杯国赛训练 day4

本文包含四个Java编程问题的解决方案:1)统计数组元素超过当前最大值的次数;2)优化两种分配方案的总收益;3)寻找排序数组中最小窗口差值;4)计算字符串中各字符频次的最大差值。所有问题都采用高效算法实现,包括遍历统计、排序优化和滑动窗口等技巧。通过标准输入处理数据,时间复杂度控制在合理范围内,适合编程竞赛场景。代码结构清晰,展示了Java集合框架和数学工具类的典型应用。

2025-06-12 19:16:20 283

原创 蓝桥杯国赛训练 day3

本文介绍了多个Java编程问题的解法,包括: 01串计数:通过多层循环生成所有可能的24位01串,并筛选满足连续5位不超过3个1的字符串。 互质数查找:遍历数字查找与2024互质的第2024个数,使用最大公约数判断互质关系。 阶乘求值:计算大数阶乘并取模,使用BigInteger处理大数运算。 密文搜索:通过滑动窗口统计字符串中8位子串与给定密文的匹配次数。 蓝桥字符统计:统计字符串中"l"、"a"、"n"的组合情况,计算特定模式的出现次数。 穿越

2025-06-10 18:40:09 333

原创 电商实践 基于rocketmq实现订单取消后的分布式事务回滚 代码实现

​目录前言图流程自己的思考Java支持简单的示例电商订单支付后消息发送实现 秒杀场景 redis扣减后持久化到数据库前言在微服务架构中,我们的服务是独立部署,一些复杂的业务操作往往涉及很多服务,而这时我们就遇到了分布式事务的问题,我们要保证这些独立部署的服务中的操作要么全部成功要么全部失败所以我采用的RocketMQ实现了分布式事务,也是进行了学习图流程我们生产者控制着本地事务首先会发送一个半事务消息给mq然后mq接收成功后返回一个ac

2025-06-09 21:29:17 983

原创 滴滴 服务端 面经

一、缓存与数据库的使用场景及性能差异1. 缓存的适用场景高频读、低频写场景:如商品详情页、用户信息等读多写少的数据,减少数据库压力。实时性要求不高的数据:如首页推荐列表、统计数据(非实时更新),允许短时间内数据不一致。高并发场景下的性能优化:通过缓存抗住流量峰值,避免数据库直接被击穿(如秒杀活动中的库存查询)。2. 数据库的适用场景数据持久化与强一致性场景:如用户交易记录、订单状态变更,需保证数据不丢失且事务完整。复杂查询与业务逻辑:涉及多表关联、聚合统计(如SQL的JOIN、GROUP BY

2025-06-07 17:00:59 1203

原创 企业级开发 如何设计数据库和缓存来实现微信朋友圈好友可见

本文分析了微信朋友圈"好友可见"功能的实现流程,提出了基于Redis的高效存储方案。核心设计包括:1) 使用Redis Set存储好友关系;2) 朋友圈内容用Hash存储并设置可见性字段;3) SortedSet按时间索引朋友圈ID。发布流程涉及内容存储和可见性标记,查询流程通过好友遍历和权限校验实现。方案采用Java实现,包含用户模型、Redis工具类、好友关系服务和朋友圈服务等模块,支持发布、分页查询和可见性控制功能。文中还提出了批量操作、本地缓存等优化建议。该设计充分利用Redis

2025-06-07 16:06:03 472

原创 DDD架构实战 领域层 事件驱动

摘要:本文展示了DDD领域驱动设计中事件驱动的实现方案,通过领域事件实现业务逻辑解耦。核心方案包括:1)定义DomainEvent接口和具体事件类;2)DomainEventBus单例事件总线负责事件分发;3)聚合根管理事件发布;4)业务服务通过订阅模式处理事件。示例演示了订单支付触发库存扣减的场景,体现了松耦合优势。该方案具有解耦业务、增强扩展性、保障最终一致性等特点,实际应用中可结合事件持久化、重试机制和消息队列等进一步优化。

2025-06-06 18:54:21 661

原创 DDD架构实战 充血模型 电商订单

充血模型是一种领域驱动设计(DDD)的核心模式,强调领域对象既包含数据属性又包含业务逻辑方法。它将业务规则集中封装在领域层,使模型更贴近真实业务场景。充血模型具有强封装性、支持复杂业务逻辑、便于领域知识传递等特点,相比贫血模型在逻辑一致性、可维护性、健壮性等方面更具优势。实现要点包括明确实体与值对象划分、合理使用领域服务和事件、采用仓储模式等。尽管存在建模门槛高、初期成本高等挑战,但在金融、电商等复杂业务系统中具有显著价值。该模型通过"数据与行为绑定"的设计,将业务逻辑回归到领域本身,是

2025-06-06 18:53:08 1236

原创 蓝桥杯国赛训练 day2 Java大学B组

本文展示了四个Java算法竞赛题的解决方案:1)"抓猪拿国"计算1到16的累加;2)"社区服务"处理二进制字符串,计算每个0到最近1的距离;3)"分考场"用回溯法分配不冲突的学生到最少考场;4)"拉马车"模拟双人卡牌对战游戏。代码均采用模块化设计,包含输入处理和核心算法逻辑,展现了典型竞赛编程技巧和数据结构应用。所有方案通过GitHub开源共享,体现了算法竞赛的解题思路和实现方法。

2025-06-06 12:57:34 204

原创 LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

摘要:该文档描述了基于Lua脚本和Redis实现的库存预扣减方案,通过原子性操作确保秒杀场景的高效性。Lua脚本包含库存检查、扣减和流水记录功能,其中流水记录采用Redis哈希结构存储操作日志,包含操作前后库存值、时间戳等信息。流水记录主要用于实现幂等操作和后续对账,确保Redis与数据库的一致性。流水记录会在完成对账或商品下架24小时后删除。整个方案通过原子性扣减和异步持久化机制,有效解决了高并发场景下的库存管理问题。

2025-06-06 00:07:24 683

原创 自定义注解facade 实现切面 进行日志记录和参数校验

该摘要描述了基于AOP的日志拦截方案。通过在方法上添加@Facade注解,FacadeAspect切面会自动拦截标记方法,提供以下功能:1) 统一参数校验;2) 异常捕获处理;3) 详细日志记录(包括方法名、参数、耗时和执行结果);4) 自动封装响应结果。该方案增强了代码健壮性,简化了日志管理,只需添加注解即可实现方法级监控,支持业务异常和系统异常的统一处理。

2025-06-06 00:06:42 287

原创 基于rpc框架Dubbo实现的微服务转发实战

本文介绍了基于Dubbo和Nacos的RPC微服务实现方案。主要内容包括:1)引入Dubbo和Nacos注册中心相关依赖;2)配置Dubbo参数,包括消费者超时时间、协议类型、注册中心地址及命名空间隔离;3)通过@EnableDubbo注解启动Dubbo功能;4)服务提供方使用@DubboService注册服务,消费方通过@DubboReference引用服务;5)特别说明为了单元测试Mock方便,采用配置类方式间接注入Dubbo服务。整体方案采用Nacos作为注册中心,实现服务注册与发现,并通过命名空间实

2025-06-06 00:06:07 999

原创 基于责任链模式进行订单参数的校验

我们接口中有三个方法设置下一个校验器返回下一个校验器校验逻辑接口/*** 订单校验* 责任链模式*//*** 设置下一个校验器*//*** 返回下一个校验器* @return*//*** 校验* @throws OrderException 订单异常*/这边使用了模版方法的设计模式进行了二次封装/*** 订单校验*/@Override@Override/*** 校验*/@Override= null) {/**

2025-06-06 00:05:29 376

原创 电商实践 基于token防止订单重复创建

文章摘要:本文介绍了基于Filter实现的秒杀场景下单防重复提交方案。通过TokenController生成唯一token并存入Redis,在用户点击下单时校验token有效性。TokenFilter过滤器统一处理token校验逻辑,使用LUA脚本保证原子性操作,并通过ThreadLocal存储校验结果。方案通过SpringMVC配置过滤器拦截路径,实现了权限校验与防重复提交的分离,避免了业务代码重复校验。这种集中式处理方式提升了代码复用性,同时Redis+Filter的架构保证了高并发场景下的系统可靠性。

2025-06-06 00:04:46 542

原创 微服务网关SpringCloudGateway+SaToken鉴权

本文介绍了基于Sa-Token框架的权限认证系统实现方案。系统定义了两种角色(管理员和普通用户)和四种权限级别(基础、认证、冻结和无权限)。通过自定义StpInterface接口实现类,根据用户会话信息动态获取权限和角色列表。使用SaReactorFilter进行全局路由拦截和权限校验,对不同模块请求进行特定权限检查,并统一处理各类认证异常情况。方案实现了细粒度的权限控制,包括登录状态验证、角色验证和权限验证,为系统提供了完善的安全保障机制。

2025-06-06 00:04:04 682

原创 2025 阿里巴巴旗下部门饿了吗 面经 八股盛宴

​1. 如何自学Java,学习路径自学Java可以按照以下路径进行:基础语法:首先学习Java的基本语法,包括变量、数据类型、控制结构、面向对象编程(类、对象、继承、多态等)。核心类库:掌握Java核心类库,如字符串处理、集合框架(List、Set、Map等)、输入输出流、多线程编程等。开发工具:学习使用开发工具,如Eclipse、IntelliJ IDEA等,以及版本控制工具Git。数据库:了解数据库基础知识,学习SQL语句,掌握一种关系型数据库如MySQL。Web开发:学习Servlet

2025-06-05 12:38:25 962

原创 蓝桥杯国赛训练 day1 Java大学B组

摘要:本文包含三个算法题的Java实现方案:1) "k倍区间"通过前缀和取模与组合数计算解决;2) "舞狮"采用贪心策略排序后分组处理;3) "交换瓶子"使用直接交换策略统计最小交换次数。各解法均注重效率,其中组合数计算使用优化公式,交换瓶子问题采用循环修正方法。代码简洁高效,体现了良好的算法设计和实现能力。(149字)

2025-06-03 18:06:13 1050 2

原创 boss登录微信的全过程,背后发生怎样的请求、数据交互

Boss直聘微信登录流程解析:基于OAuth2.0协议实现的安全授权方案。核心流程包括:1)用户点击触发微信授权,2)微信展示授权页面并返回授权码code,3)服务器用code换取access_token,4)可选获取用户基础信息。技术要点:HTTPS加密传输、state参数防CSRF、code单次有效、access_token有效期控制。安全机制涵盖数据加密、权限管控和防重放攻击,确保用户隐私保护。整个流程需严格遵循微信开放平台规范,包括域名备案、参数校验等。

2025-06-03 14:58:05 1135 1

原创 ThreadLocal ,底层原理,强引用,弱引用,内存泄漏

摘要:ThreadLocal是Java中实现线程局部变量的工具类,通过ThreadLocalMap存储每个线程的独立变量副本。其底层利用弱引用(WeakReference)作为Entry键,但值仍为强引用,可能导致内存泄漏(如线程池中线程未关闭时)。解决方案包括:1)使用后调用remove()方法清理;2)将ThreadLocal声明为static延长生命周期。示例代码展示了数据库连接的线程隔离及正确的资源释放方式,强调在finally块中调用remove()避免内存泄漏。

2025-06-02 19:07:03 785

原创 中间件redis 功能篇 过期淘汰策略和内存淘汰策略 力扣例题实现LRU

文章摘要: Redis采用过期删除策略和内存淘汰策略管理数据。过期策略包括定时删除、惰性删除和定期删除,Redis结合后两种方式。内存淘汰策略在内存达到上限时触发,分为不淘汰和淘汰策略,后者又分为在过期数据中淘汰(random,ttl,lru,lfu)或在所有数据中淘汰(random,lru,lfu)。Redis改进了传统LRU算法,使用近似LRU和LFU算法解决内存污染问题。文章还提供了Java实现LRU缓存的代码示例,并对比了Redis中两种策略的区别。

2025-05-28 21:50:32 1062

原创 力扣 秋招 打卡第一天 2025年5月28日 Java

本文摘要包含三个编程题解:1)使用双指针法求两个有序数组的中位数,通过指针遍历处理奇偶长度情况;2)两种最长公共前缀解法,初始暴力法通过子串比较,优化后逐个字符比较;3)合并有序数组的暴力解法,直接将B数组合并后排序。每个解法都展示了从基础到优化的过程,涉及双指针、字符串处理和数组合并排序等算法技巧。

2025-05-28 14:54:27 413

原创 2025年5月6日 飞猪Java一面

本文系统探讨了数据库与Redis缓存一致性问题,提出延迟双删和异步更新两种核心方案,并分析了各场景下的适用性。针对缓存穿透/雪崩/击穿问题,给出参数校验、布隆过滤器、互斥锁等解决方案。详细对比Spring与SpringBoot差异,阐述自动配置原理。深入解析Bean生命周期、注入方式及单例模式实现。最后探讨了Session/Cookie/Token安全方案,并提供了200MB内存处理1GB文件的BitSet分治策略。全文涵盖分布式系统核心问题,兼具理论深度与实践指导价值。

2025-05-27 20:49:50 1457 1

原创 写两个hascode和equals的例子

本文通过四个示例演示了Java中hashCode和equals方法的关系:1)默认不重写时比较对象引用;2)仅重写equals会导致内容相同但哈希值不同;3)同时正确重写两个方法确保对象相等时哈希值相同;4)在HashSet中的正确应用。关键规则是:相等的对象必须有相同的哈希值,必须同时重写这两个方法。最佳实践包括使用Objects.hash()辅助计算,并确保equals方法满足自反性、对称性等约定。这些方法对集合操作至关重要。

2025-05-27 13:17:59 413

原创 单例模式,饿汉式,懒汉式,在java和spring中的体现

单例模式确保一个类仅有一个实例,并提供全局访问点。主要分为饿汉式和懒汉式:饿汉式在类加载时创建实例,线程安全但可能浪费资源;懒汉式延迟实例化,需同步机制保证线程安全。Spring框架默认采用单例模式管理bean。饿汉式适合创建成本低且必用的对象,懒汉式适合高成本或不常用的对象。两种模式在Java中广泛应用于日志记录器、连接池等场景。

2025-05-26 21:01:15 683

原创 2022CCPC吉林省赛长春邀请赛 Java 做题记录

该代码库包含多个Java程序,主要用于解决算法竞赛中的问题。每个程序都使用了自定义的IoScanner类来高效处理输入输出。主要程序包括: K.BracketSequence:计算卡特兰数,并结合快速幂取模和逆元计算,解决括号序列问题。 L.SuzuranLovesString:处理字符串问题,计算特定条件下的字符串长度。 B.ArithmeticExercise:进行大数除法运算,输出精确到指定小数位的结果。 E.GreatDetectiveTJC:检查数组中是否存在特定条件的元素对。 A.RandomN

2025-05-20 18:47:11 298

原创 算法竞赛 Java 高精度 大数 小数 模版

在Java中,BigInteger和BigDecimal类用于处理超出基本数据类型范围的大数和高精度小数运算。BigInteger适用于大整数运算,支持加、减、乘、除、取余等操作,并提供了幂运算、绝对值和最大公约数等方法。BigDecimal则用于高精度小数运算,支持加、减、乘、除等操作,除法运算需指定精度和舍入模式。这两个类都是不可变的,每次运算都会返回新对象。典型应用场景包括金融计算、密码学和科学计算。尽管它们提供了高精度计算能力,但性能开销较大,运算速度较慢。

2025-05-19 18:49:38 297

原创 2024CCPC吉林省赛长春邀请赛 Java 做题记录

本文介绍了四个编程问题的解决方案,分别涉及签到题、平台游戏模拟、贪心算法和单调栈数据结构。第一个问题“The Easiest Problem”是一个简单的签到题,直接输出21即可。第二个问题“Platform Game”是一个模拟题,通过自定义比较器对平台进行排序,并根据初始位置和高度计算最终位置。第三个问题“Recharge”是一个贪心算法问题,通过计算小房间和大房间的充能次数来求解最优解。最后一个问题“Connected Components”使用单调栈数据结构来处理区间问题,计算连通分量的数量。每个问

2025-05-19 15:36:28 599

navicat v16+v17

navicat v16+v17

2025-03-04

空空如也

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

TA关注的人

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