自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。

科技探索之窗,聚焦多元技术领域。深入解析大数据架构,探秘云计算核心,剖析编程语言精髓。凭借专业视角、深度见解,将晦涩技术概念转化为清晰易懂的知识宝藏,伴您在技术海洋中破浪前行,精准锚定进阶方向,开启无限创新可能。

  • 博客(558)
  • 资源 (107)
  • 问答 (9)
  • 收藏
  • 关注

原创 HTTP协议演进之路:从1.0到3.0的技术革命

本文系统梳理了HTTP协议从1.0到3.0的技术演进历程。HTTP/1.0奠定基础但性能低下,1.1引入持久连接仍存在队头阻塞问题,2.0通过二进制分帧和多路复用实现重大突破。HTTP/3则通过QUIC协议彻底重构传输层,基于UDP实现可靠传输,解决了TCP层队头阻塞,显著降低延迟并提升移动网络适应性。文章详细分析了各版本特性、优缺点及适用场景,指出HTTP/3在性能优化上的革命性突破,并探讨了其部署现状与未来发展方向,为开发者提供了协议选择策略建议。

2026-01-12 11:59:02 2065 93

原创 Spring Boot 核心接口与扩展点详细指南

本文详细介绍了Spring Boot的核心接口与扩展点,涵盖容器启动、环境配置和Bean定义等关键阶段。主要内容包括: 容器启动阶段:ApplicationContextInitializer用于早期配置,SpringApplicationRunListener监听启动事件,ApplicationRunner和CommandLineRunner在启动后执行逻辑。 环境配置:EnvironmentPostProcessor动态修改环境变量,PropertySourceLoader支持自定义配置文件加载。

2025-12-31 18:10:17 2535 124

原创 JDBC时间类型映射全解析:从Date到LocalDateTime的演进

本文深入探讨JDBC时间类型映射的最佳实践,从历史演进到现代解决方案。早期使用java.util.Date存在设计缺陷,JDBC引入java.sql包的三剑客(Date、Time、Timestamp)作为过渡。Java 8的java.time包彻底解决了时间处理问题,JDBC 4.2原生支持这些新类型,推荐使用setObject/getObject方法实现类型安全和精度保持。文章提供了数据库与Java类型的详细映射表,并针对时区敏感场景给出解决方案。最后通过实体类设计和数据访问层实现示例,展示了实际应用中的

2025-12-30 21:05:41 727 116

原创 Spring Boot 4.0 + JDK 25 + GraalVM:下一代云原生Java应用架构

摘要 本文探讨了Spring Boot 4.0、JDK 25与GraalVM Native Image的融合应用,旨在解决传统Java架构在云原生环境中的性能瓶颈。通过构建时AOT编译、虚拟线程优化和原生镜像技术,实现启动时间低于50ms、内存占用小于50MB的高效云原生应用。文章详细解析了三者的协同工作原理,包括Spring Boot 4.0的构建时处理、JDK 25虚拟线程特性与GraalVM的高级优化技术,并提供了实战配置示例,为开发者构建下一代高性能Java云原生应用提供了完整解决方案。

2025-12-30 14:58:24 1681 64

原创 Springboot 4.0十字路口:虚拟线程时代,WebFlux与WebMVC的终极选择

摘要: Java 21虚拟线程的正式推出对Spring技术栈产生深远影响,重新定义了WebFlux与WebMVC的技术选型逻辑。虚拟线程通过“同步代码,异步性能”的特性简化了高并发开发,而WebFlux凭借背压机制仍是实时数据流处理的理想选择。本文从编程范式、资源利用、调试难度等维度对比两者差异,并给出选型决策矩阵:WebFlux适用于实时流、高连接数场景,虚拟线程+MVC更适合传统业务系统与快速迭代项目。最后提出渐进式迁移策略,展望两种技术将长期共存互补,开发者应根据具体场景选择最适方案。

2025-12-16 10:04:55 4001 157

原创 基于AWS SDK S3EndpointProvider实现MinIO集群智能负载均衡

本文探讨了基于AWS SDK S3EndpointProvider实现MinIO集群智能负载均衡的方案。通过分析传统单一端点配置的局限性,提出了利用S3EndpointProvider接口动态选择节点、智能构建路径的解决方案。文章详细介绍了核心实现原理,包括项目结构、配置类设计以及智能负载均衡器的关键代码实现,重点解决了桶路径构建和端点选择问题。该方案支持多种负载均衡策略,能够自动分配请求至不同MinIO节点,有效提升系统可用性和性能。

2025-12-15 00:15:00 1240 91

原创 Nacos-3.1.1 PostgreSQL数据库适配插件: (2025年12月08日) 最新版

本文介绍了Nacos 3.1.1版本适配PostgreSQL数据库的方法。该版本新增了MCP和A2A功能增强,优化了安全配置与系统稳定性。核心方案是通过引入nacos-postgresql-datasource-plugin-ext依赖包(已上传至Maven中央仓库),将其放入Nacos的plugins目录并配置数据源即可快速集成。文章提供了Docker部署脚本、插件源码地址(GitHub)及手动打包指南,并强调目前仅PostgreSQL插件经过充分适配测试。操作步骤简洁明了,帮助开发者快速实现Nacos与

2025-12-08 13:09:57 3867 101

原创 数据库CAS实战:如何实现永不超卖的库存系统?

本文探讨数据库CAS技术在库存系统中的应用,通过单条UPDATE语句实现原子性库存操作。文章对比MySQL与PostgreSQL的实现差异,分析事务的必要性场景,并指出FOR UPDATE锁的使用条件。作者推荐:简单库存扣减使用纯CAS方案;秒杀场景采用CAS+重试;复杂业务需结合事务。MySQL通过ROW_COUNT()检查结果,PostgreSQL利用RETURNING子句获取更新数据。典型代码示例展示了无事务的简单扣减和有事务的完整订单处理流程,为高并发库存系统提供了简洁可靠的技术方案。

2025-12-05 13:03:13 2458 116

原创 现代 JavaScript 加密技术详解:Web Crypto API 与常见算法实践

本文详细介绍了现代JavaScript中的加密技术,重点解析了Web Crypto API和常见算法(如MD5、SHA系列、AES)的实践应用。文章首先概述了JavaScript支持的加密算法类型及用途,随后深入讲解哈希算法(MD5/SHA-256)的实现方式,包括浏览器端Web Crypto API、CryptoJS库和Node.js原生模块三种方案。针对对称加密,文章提供了AES-CBC模式的完整代码示例,并强调密钥管理的重要性。最后给出了安全最佳实践建议,包括加盐处理、避免前端暴露密钥以及高安全场景的

2025-11-28 14:28:28 1720 107

原创 从 XMLHttpRequest 到 Fetch API:现代前端网络请求的演进与迁移指南

本文深入探讨了从XMLHttpRequest(XHR)到Fetch API的技术演进。XHR作为传统网络请求方案存在回调地狱、错误处理模糊等设计缺陷,而基于Promise的Fetch API提供了更现代化的解决方案。文章通过代码示例对比了两者在响应处理、状态码处理和请求控制等方面的差异,重点分析了XHR状态0错误的根本原因及Fetch的改进方案。Fetch API通过链式调用、统一错误处理和原生支持现代Web特性等优势,为前端开发提供了更强大、更直观的网络请求方式。迁移指南帮助开发者理解这一重要技术演进,掌

2025-11-25 09:24:21 3821 114

原创 Spring WebFlux 核心操作符详解:map、flatMap 与 Mono 常用方法

本文介绍了Spring WebFlux中响应式编程的核心操作符map与flatMap的区别及Mono常用方法。map用于同步数据转换,直接返回结果;flatMap则处理异步转换,返回Publisher对象。文章通过代码示例对比两者特性,并详细讲解Mono的创建、转换过滤及错误处理操作符,包括延迟创建、类型转换、异步处理以及重试机制等实用技巧,帮助开发者编写高效可靠的响应式代码。适用于需要处理异步数据流的WebFlux应用场景。

2025-11-12 12:51:20 3952 180

原创 分布式事务原理深度解析

本文深入解析分布式事务原理,涵盖基础概念、CAP/BASE理论,以及两种主流解决方案。2PC通过协调者分两阶段控制事务提交/回滚,保证强一致性但存在同步阻塞和单点故障问题;TCC模式将事务分解为Try-Confirm-Cancel三个阶段,通过业务改造实现最终一致性,需关注幂等性和防悬挂控制。文章通过流程图和时序图详细展示各方案工作机制,为分布式系统设计提供理论指导和实践参考。

2025-10-20 19:00:08 3312 273

原创 面试官问:什么是Java内存模型?

本文介绍了Java内存模型(JMM)的核心概念及其在多线程编程中的重要性。JMM通过定义主内存与工作内存的交互规则,确保多线程环境下数据的可见性、原子性和有序性。文章详细解析了JMM的8种原子操作,并阐述了synchronized和volatile关键字如何实现内存一致性。最后区分了JMM与JVM内存结构的不同,强调JMM是规范而非具体实现。掌握JMM有助于理解Java并发机制,提升线程安全编程能力。

2025-10-14 09:50:22 2694 166

原创 Apache James-postgres-3.9.0 专属域名邮箱部署详情:从配置到安全防护

Apache James邮件服务器配置与安全防护指南 本文详细介绍了Apache James-postgres-3.9.0邮件服务器的部署与安全配置。主要内容包括:版本选型建议(推荐postgres生产版本)、域名系统配置、用户管理API、以及关键的SMTP多端口设置(25/465/587端口功能差异)。重点强调了SMTP认证机制的正确配置,避免服务器成为垃圾邮件中转站,同时提供了TLS加密、IP白名单等安全防护方案。通过本文的实践指导,读者可以搭建一个既满足业务需求又具备安全性的企业级邮件服务器。

2025-10-10 12:16:02 3455 136

原创 Let’s Encrypt SSL通配符证书永久免费获取与部署详解

本文详细介绍了如何通过Let's Encrypt免费获取通配符SSL证书,解决传统商业证书费用高、流程复杂的问题。文章从准备工作开始,指导读者获取Certbot Docker镜像,并详细讲解了内网环境下的证书生成流程,包括DNS解析记录的配置与验证。在成功获取证书后,还提供了Nginx部署和Spring Cloud Gateway证书格式转换的实用技巧。虽然Let's Encrypt证书有效期为3个月,但通过定期手动更新或自动化脚本,可以实现永久免费使用。这套方案特别适合拥有多个子域名的个人开发者和小型企业

2025-10-03 00:15:00 3243 100

原创 Nacos-3.1.0 适配PostgreSQL数据库

Nacos 3.1.0适配PostgreSQL数据库摘要:本文介绍了如何通过引入依赖nacos-postgresql-datasource-plugin-ext(已上传至Maven中央仓库),快速将Nacos 3.1.0适配PostgreSQL数据库。用户只需下载该插件并配置数据源信息即可使用。文章还提供了Docker部署脚本、源码地址及构建方法,同时概述了Nacos 3.1.0的新特性(如A2A注册中心和MCP协议增强),并展示了插件集成后的启动效果。该方案为需要PostgreSQL支持的用户提供了便捷的

2025-09-30 12:44:48 2709 89

原创 Nacos 3.1.0 正式发布,支持A2A注册中心与MCP注册协议增强

Nacos 3.1.0正式发布,带来两大核心功能升级:A2A注册中心和增强的MCP注册协议。新版本支持AI代理服务注册发现,完善了MCP生态兼容性,并修复多项历史问题。同时配套发布了SpringAIAlibaba开发框架,可快速构建分布式AI代理应用。样例工程已开源,支持开发者基于Nacos问答助手等场景进行实践。该版本还升级了SpringBoot、gRPC等关键依赖,提升系统稳定性。Nacos作为云原生AI应用的服务基础设施,持续推动微服务与AI技术的融合创新。

2025-09-29 13:59:25 1604 88

原创 无界智能客服:多轮对话管理在复杂业务场景下的应用

本文介绍了"无界"智能客服系统的创新应用,该系统通过多轮对话管理技术实现全行业通用智能服务。系统涵盖六大核心领域:产品服务(商品咨询)、机构组织(架构查询)、场所空间(智能导览)、事件活动(全周期管理)、知识内容(结构化解析)以及角色主体(个性交互)。采用了知识图谱、时序推理引擎等核心技术,显著提升了服务准确率和用户满意度(如某电商咨询满意度提升45%)。该系统突破了传统客服的行业限制,支持复杂业务场景下的智能交互,提供在线体验咨询(https://wujie.sinhy.com)。

2025-09-29 00:15:00 2363 83

原创 无界智能客服:新一代「智能体+人工」客服系统整体解决方案

无界智能客服系统创新性地融合了五种服务模式(智能、系统、人工、留言、临时对话),通过智能路由实现服务模式的无缝切换。系统采用微服务架构,基于NLP技术和深度学习模型提供精准应答,同时保留人工服务处理复杂场景。特色功能包括:动态服务模式分配、频道式人工服务、异步留言处理和主动联系的临时对话模式。该系统解决了传统客服响应慢、效率低的问题,实现了7×24小时不间断服务,支持海量并发,显著提升用户体验和服务效率。

2025-09-26 00:15:00 3045 97

原创 虚拟线程的隐形陷阱:Redisson订阅锁超时异常深度剖析

虚拟线程与Redisson订阅锁超时的隐形陷阱 摘要:本文剖析Java 21+虚拟线程环境下Redisson订阅锁频繁超时的根本原因。现象表现为低并发时出现RedisTimeoutException,而传统参数调优无效。核心问题在于虚拟线程的轻量级特性与Redisson的同步订阅机制冲突:虚拟线程的频繁挂起/恢复导致Netty事件循环线程资源耗尽。解决方案包括:1) 使用固定线程池执行Redisson操作;2) 调整Netty配置适配虚拟线程;3) 升级Redisson版本。本文通过源码分析、流程图解和实战

2025-09-24 11:56:02 1289 90

原创 JDK 24里程碑:虚拟线程重大升级,要用虚拟线程请务必用JDK24

摘要 本文解析了JDK 24对虚拟线程(Virtual Threads)的重大升级,重点解决了与synchronized关键字相关的线程固定(Pinning)问题。通过JEP 491提案,JDK 24重构了synchronized的底层实现,使虚拟线程能够在不绑定平台线程的情况下安全使用内置锁,从而释放其全部性能潜力。文中通过时序图、流程图和代码示例,详细对比了优化前后的执行流程,展示了JDK 24如何将锁所有权从平台线程转移到虚拟线程,实现无阻塞的高效并发。这一改进无需开发者修改代码即可获得显著的吞吐量提

2025-09-24 10:25:08 1919 82

原创 无界智能客服:一个主动问候的智能体正重塑客服体验

无界智能客服突破了传统被动应答模式,通过主动问候和情感感知技术重塑客服体验。该平台采用多模态情感识别和动态内容生成技术,能实时分析用户行为并作出个性化响应。其核心创新包括:主动问候机制、用户状态感知与情感计算、模块化技术架构等。应用场景涵盖电商、金融、教育等领域,数据显示可提升转化率300%,客户满意度25%,人工效率60%。平台通过"配置取代编码"理念降低技术门槛,使中小企业也能构建专业AI客服系统。无界智能客服代表了客服行业从工具到伙伴的转变,为人机交互设定了新标准。

2025-09-22 00:15:00 2249 94

原创 Java LLM开发框架全面解析:从Spring AI到Agents-Flex

Java LLM开发框架全面解析 本文深入探讨Java生态中的主流LLM开发框架,帮助开发者在不脱离Java技术栈的情况下集成AI能力。重点介绍了三个框架: Spring AI:Spring官方出品,提供统一API访问多种LLM,支持提示词管理、RAG和工具调用,适合Spring Boot项目快速集成AI功能。 LangChain4j:功能全面的AI工具箱,支持提示词模板、聊天记忆、智能体和函数调用,适合复杂AI工作流,但学习曲线较陡。 Agents-Flex:轻量灵活的框架,兼容JDK8+,支持多模型、记

2025-09-17 18:54:08 3074 93

原创 无界智能客服:基于大模型的自助式AI对话系统构建与应用

本文介绍了无界智能客服平台,这是一个基于大模型的自助式AI对话系统构建方案。针对中小企业AI应用面临的开发成本高、技术门槛大等问题,平台通过模块化设计实现低代码配置,提供项目分类管理、知识库构建、安全通信等核心功能。企业用户可通过简单操作快速部署AI客服系统,解决传统开发中的API集成、数据预处理、多轮对话管理等难题。平台采用微服务架构,支持多种大模型接入,并内置多层次安全防护机制,为中小企业AI转型提供了一站式解决方案。

2025-09-17 13:19:58 4510 107

原创 Java编程中常见的死锁场景及其应对策略

本文系统梳理了Java开发中常见的死锁场景及解决方案。主要内容包括:1)顺序死锁,由锁获取顺序不一致导致;2)动态锁顺序死锁,如转账操作中的循环等待;3)协作对象间的死锁;4)资源死锁;5)线程饥饿死锁;6)锁重入死锁。针对每种场景,作者提供了具体解决方案,如统一锁获取顺序、使用定时锁、减少同步范围、合理配置线程池等。文章强调理解这些死锁场景对编写健壮并发代码的重要性,并建议遵循Java并发最佳实践,避免潜在的多线程陷阱。

2025-09-17 12:48:41 1424 78

原创 从架构师到技术总监的转变

在技术的世界里,最迷人的跃迁之一,莫过于从一名深耕技术的架构师,逐渐成长为一名引领方向的技术总监。这绝非一次简单的职位晋升,而是一场彻头彻尾的思维革命与角色重塑。优秀的架构师,是解决复杂问题的“艺术家”;而卓越的技术总监,则是创造价值的“战略家”。他们需要将技术的深度、管理的广度与商业的高度熔于一炉,完成从“如何建造”到“为何建造”、从“对代码负责”到“对人与业务负责”的根本性转变。这条道路充满挑战,但也正是技术人突破天花板,实现更大影响力的必经之路。本文将为你剖析这场蜕变的核心,探寻从技术专家到全能领

2025-09-11 09:02:15 2798 124

原创 Nacos-3.0.3 适配PostgreSQL数据库:补丁版本3.0.3_patch_01

本文重点介绍基于Nacos-3.0.3最新版本如何用PostgreSQL数据库来存储后,修复的一个问题“3.0.2版本和3.0.3版本的pg数据库适配后,mcp服务列表查询功能有问题”,该问题是一个网友发现的,很感谢该网友:

2025-09-04 16:03:25 2420 153

原创 无界智能客服:一场正在上演的失业潮与技术伦理沉思录

无界AI客服等平台接入DeepSeek等LLM后,实现了质的飞跃。它们不仅能精准回答 “什么时候发货”,还能在用户抱怨“你们发货太慢了,我都要急死了!”时,回复道:“非常理解您焦急的心情,我已经为您加急处理了,预计明天就能发出,并附上物流单号,请您再耐心等待一下哦。”——这种带有人类共情和复杂决策的回应,已无限接近甚至超越初级人工客服。

2025-09-01 16:24:56 1874 118

原创 Nacos-3.0.3 适配PostgreSQL数据库

本文重点介绍基于Nacos-3.0.3最新版本如何用PostgreSQL数据库来存储,也就是如何打造或直接获取能适配Nacos-3.0.3的PostgreSQL数据库插件。Nacos-3.0.3版本最直接最快集成PostgreSQL数据源的方法就是引入依赖,这也是本文重点,也就是核心部分,我把它放这里:

2025-08-30 15:30:41 2164 91

原创 GitHub HTTPS 提交代码与个人访问令牌配置指南

除了 SSH 方式,GitHub 确实支持通过 个人访问令牌(Personal Access Token,简称 PAT) 来配合 HTTPS 协议进行身份验证和提交代码。从 2021 年 8 月起,GitHub 不再支持仅用账户密码来通过 HTTPS 操作仓库,个人访问令牌(PAT)就成为了更安全的替代方式。🔍 HTTPS 与 SSH 提交代码的区别在开始具体步骤之前,我们先通过一个表格快速了解 HTTPS 和 SSH 两种方式提交代码的主要区别,这能帮助你更好地理解为什么选择 PAT(个人访问令牌

2025-08-30 13:13:11 2384 76

原创 Java霸主未逝:不可撼动的生态与新特性的革命潜力

本文探讨了Java在当前编程语言竞争中的稳固地位与未来发展潜力。文章首先通过市场数据展示了Java在企业级应用中的持续主导地位,尤其在金融、电信等行业的关键系统中仍占据90%以上份额。随后分析了Java生态系统的核心优势,包括JVM的跨平台能力、成熟的框架体系以及强大的企业支持。最后重点介绍了Java新特性的革新潜力,如Project Loom的虚拟线程可支持百万级并发,GraalVM原生镜像技术显著提升启动性能。文章指出,尽管新兴语言不断涌现,但Java通过持续创新和生态扩展,依然保持着不可替代的地位,特

2025-08-24 12:38:43 3442 123

原创 微服务远程调用完全透传实现:响应式与非响应式解决方案

一、核心挑战:为何需要完全透传?在微服务架构中,服务间通信常面临以下痛点: 错误信息丢失:客户端库(如WebClient/RestClient)默认将4xx/5xx响应转换为异常 响应不一致:网关层无法获取下游服务的原始错误详情 调试困难:生产环境难以定位根因问题透传的核心要求: 保留原始HTTP状态码(如404、503等) 透传所有响应头(Content-Type、X-Request-ID等) 完整传递响应体(JSON/XML/二进制等)

2025-08-18 00:15:00 2519 109

原创 Nginx蜘蛛请求智能分流:精准识别爬虫并转发SEO渲染服务

Nginx蜘蛛请求智能分流:精准识别爬虫并转发SEO渲染服务一、背景与需求现代网站需要同时满足两类用户的需求: 真实用户:通过浏览器访问,需快速加载静态资源 搜索引擎蜘蛛:需要专门渲染的SEO优化内容传统方案中,蜘蛛请求常被错误处理: 无法识别新版蜘蛛UA(如百度渲染爬虫) 静态资源无法满足SEO需求 伪造爬虫消耗服务器资源本文将提供完整的Nginx配置解决方案,实现:

2025-08-15 23:00:50 4226 113

原创 Caffeine 三种过期策略详解

本文详细解析Caffeine缓存的三种过期策略: 固定写入过期(expireAfterWrite):基于数据写入时间设置统一过期时长,适用于数据变更频率低的场景,如配置信息缓存。 固定访问过期(expireAfterAccess):基于最后访问时间重置过期计时,适合热点数据保留,如用户会话管理。 可变过期(expireVariably):支持为每个条目单独设置和动态调整过期时间,适用于需要精细化控制的场景,如促销活动数据。 文章通过对比表格展示核心差异,建议优先选择固定策略满足大部分场景,并提供了动态策略的

2025-08-07 23:42:19 2827 124

原创 使用公众号的消息模板给关注用户发消息

在Java中对接微信公众号并向指定关注用户发送消息,主要依赖微信公众号的消息模板功能。以下是关键步骤和代码实现:⚙️ 一、核心前提条件 公众号类型:需服务号或认证后的订阅号(个人可用测试号)。 用户关注:目标用户必须已关注公众号。 获取用户OpenID:每个用户有唯一OpenID(通过网页授权或后台接口获取)。 消息模板:在公众号后台申请模板消息,获取template_id。

2025-08-05 18:15:01 2203 95

原创 Redisson高并发实战:Netty IO线程免遭阻塞的守护指南

Redisson高并发实战:Netty IO线程免遭阻塞的守护指南引言:Netty IO线程的珍贵性在分布式系统架构中,Netty的IO线程如同人体的心血管系统——一旦阻塞,整个系统将陷入瘫痪。Redisson作为Redis的Java客户端,其卓越性能正是建立在Netty的非阻塞IO模型之上。本文将深入剖析如何避免阻塞Netty IO线程,防止死锁灾难,并最大化Redisson的并发能力。

2025-08-02 14:11:17 2555 81

原创 Caffeine 缓存库的常用功能使用介绍

Caffeine作为新一代高性能Java缓存库,在并发场景下展现出卓越表现。它通过创新的W-TinyLFU淘汰算法实现高达99%的命中率,并采用无锁设计使吞吐量较传统方案提升5-10倍。该库提供灵活的缓存管理能力:支持基于时间(写入/访问过期)、数量或权重的淘汰策略;允许为单个Key设置专属过期时间;独创的异步刷新机制能在不阻塞请求的情况下更新数据。开发者可通过简洁的链式API配置内存控制、加载逻辑和事件监听,轻松构建高并发低延迟的智能缓存系统。其与Guava Cache兼容的接口设计,更使迁移

2025-07-26 19:33:01 2267 72

原创 一致性哈希环完整实现:从算法到生产级代码

在分布式系统的星辰大海中,数据分布与节点路由是永恒的挑战。传统哈希取模算法在节点变动时引发的数据海啸式迁移,曾让无数工程师彻夜难眠。直到一致性哈希算法如曙光般降临,它通过巧妙的环形拓扑和虚拟节点技术,实现了节点增减时仅需迁移少量数据的革命性突破。以下是完整的生产级一致性哈希实现,包含哈希环构建、虚拟节点管理、高效路由算法和平滑扩缩容能力:

2025-07-24 00:13:08 1962 91

原创 Netty实现单通道并发读写,即多路复用

在传统网络编程中,TCP连接常被视为单线程独占资源,这种设计在高并发场景下面临着严峻的性能瓶颈:每个连接只能串行处理请求,导致资源利用率低下,连接数量激增带来巨大开销。Netty共享通道连接池应运而生,它颠覆性地实现了**单TCP连接的多线程并行读写**,将连接复用提升到全新维度。下面我们将实现一个高性能的连接池,支持多个线程共享同一个通道(每个通道最大共享线程数可配置),并确保高并发获取和释放连接的效率。

2025-07-21 21:58:34 1666 68

原创 Redisson RLocalCachedMap 核心参数详解

RLocalCachedMap 是 Redisson 框架中的核心分布式数据结构,专为高性能分布式系统设计。它在传统分布式缓存的基础上实现了革命性的突破——将 本地内存的速度优势 与 Redis 分布式存储的一致性保障 完美融合。在分布式集群环境中,频繁访问 Redis 会导致网络延迟成为瓶颈。RLocalCachedMap 通过在每个 JVM 实例本地维护热数据副本,使读取操作直接命中本地内存(微秒级响应),相比远程 Redis 访问(毫秒级)性能提升 1-2 个数量级。同时,它通过智能的 Pub/S

2025-07-20 00:02:15 3013 94

软件工程常用文档模板及示例收集整理

软件工程常用文档模板及示例:项目计划、需求分析、概要设计、详细设计、用户操作手册、测试计划、测试分析报告、开发进度报告、项目开发总结报告、软件维护手册等。 01 计划阶段 00 可行性分析 01 项目信息表 02 项目实施方案-PPT版 03 项目实施方案-Word版 04 项目实施进度计划 05 项目实施进度简表 02 需求阶段 需求规格说明书 03 设计阶段 功能设计说明书 数据库设计说明书 04 开发阶段 系统提测申请单 05 测试阶段 01 测试用例 02 测试报告 03 测试计划 06 验收阶段 01 系统竣工报告 02 安装维护手册 03 培训文档 04 使用手册 999 其他文档 工时统计表 会议纪要 项目进度简报 项目进度确认单 项目月报 项目周报

2024-09-03

人工智能-机器学习-面向自然语言处理的深度学习基础

让机器具有人类的智能: 机器感知(计算机视觉、语音信息处理) 学习(模式识别、机器学习、强化学习) 语言(自然语言处理) 记忆(知识表示) 决策(规划、数据挖掘) 1950年 \textbf{图灵测试}:“一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答。如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的”。 图灵测试是促使人工智能从哲学探讨到科学研究的一个重要因素,引导了人工智能的很多研究方向。因为要使得计算机能通过图灵测试,计算机必须具备理解语言、学习、记忆、推理、决策等能力。 1956年的达特茅斯(Dartmouth)会议。在这次会议上,“人工智能”被提出并作为本研究领域的名称。同时,人工智能研究的使命也得以确定。John McCarthy提出了人工智能的定义:人工智能就是要让机器的行为看起来就象是人所表现出的智能行为一样。

2024-08-30

一些简单的51单片机示例程序

单片机C语言程序设计实训100例 >> ---基于8051+Proteus仿真 1.所有案例硬件仿真时需要Proteus7.1或以上版本. 2.C程序开发集成环境Keil uVision要求3.0或以上版本. 所有案例C源代码由配套书籍提供,压缩包中不提供C源代码, 仅提供由C程序编译生成的HEX文件. 3.如果有相关技术资料在压缩包中未找到, 读者可从www.icpdf.com免费下载. (下载之前需要先注册) 相关案例需要的软件:超级编辑器UltraEdit, 虚拟串口驱动vspd,串口助手, 字模软件Zimo,文件拆分软件FileSplit, 联合调试程序vdmagdi.exe等,请读者自行下载. 4.案例压缩包文件建议放在D盘或E盘根下解压, 放在桌面或其他位置解压时, 可能会因目录路径过长而使Proteus文件无法打开. 如果某些案例在Proteus7.1或以上版本中无法运行, 可将电路中某些元件的中文名称改为英文名称.

2024-09-01

面试高频算法题总结-剑指Offer题解

面试高频算法题总结-剑指Offer题解,主要包含: 数据结构 数组 字符串 链表 栈和队列 二叉树 图 堆 线段树 字典树 单调栈 算法 二分查找 排序 递归 动态规划 分治 记忆化搜索 贪心 回溯 位运算 数学 设计 其他 共66题 面试题3:数组中重复的数字 面试题4:二维数组的查找 面试题5:替换空格 面试题6:从尾到头打印链表 面试题7:重建二叉树 面试题8:二叉树的下一个节点 面试题9:用两个栈实现队列 面试题10:裴波那契数列 面试题11:旋转数组的最小数字 面试题12:矩阵中的路径 面试题13:机器人的运动范围 面试题14:剪绳子 面试题15:二进制中1的个数 面试题16:数值的整数次方 面试题17:打印从1到最大的n位数 面试题18:删除链表的节点 面试题19:正则表达式匹配 面试题20:表示数值的字符串 面试题21:调整数组顺序使奇数位于偶数前面 面试题22:链表中倒数第k个节点 面试题23:链表中环的入口节点 面试题24:反转链表 面试题25:合并两个排序的链表 面试题26:树的子结构 面试题27:二叉树的镜像 面试题28:对称的二叉树 面试题29:顺时针打印矩阵

2024-09-01

高质量的 Git 中文教程

本篇完全面向入门者。假设你从零开始创建一个项目并且想用 Git 来进行版本控制,我们会讨论如何在你的个人项目中使用 Git,比如如何初始化你的项目,如何管理新的或者已有的文件,如何在远端仓库中储存你的代码。 到目前为止,Git 是世界上使用最为广泛的现代化版本控制系统。Git 最初由 Linux 系统内核的作者 Linus Torvalds 在 2005 年开始开发,目前已经是一个持续维护的成熟开源项目。如今,大量软件项目依赖 Git 进行版本管理,其中既有开源软件,也有商业软件。Git 在很多操作系统和集成开发环境(IDE)上都表现良好。绝大多数软件开发者或多或少都使用过 Git。 Git 是分布式版本管理(DVCS)的一种。CVS 和 Subversion(SVN)等集中式的版本管理软件将完整的版本历史存放在同一个地方。而在 Git 中,每个开发者的代码仓库都包含了所有变更历史。 性能 Git 的底层性能相较于其他版本管理软件有强大的优势。提交修改、创建分支、合并分支和比较版本都针对性能进行了优化。Git 中实现的算法利用了现实中代码树的特点以及它们被修改和访问的常见模式。

2024-08-31

人工智能-深度学习-前馈神经网络

前馈神经网络(全连接神经网络、多层感知器) 各神经元分别属于不同的层,层内无连接。 相邻两层之间的神经元全部两两连接。 整个网络中无反馈,信号从输入层向输出层单向传播,可用一个有向无环图表示。 矩阵微积分(Matrix Calculus)是多元微积分的一种表达方式,即使用矩阵和向量来表示因变量每个成分关于自变量每个成分的偏导数。 前向模式和反向模式 反向模式和反向传播的计算梯度的方式相同 如果函数和参数之间有多条路径,可以将这多条路径上的导数再进行相加,得到最终的梯度。 静态计算图在构建时可以进行优化,并行能力强,但灵活性比较差低。动态计算图则不容易优化,当不同输入的网络结构不一致时,难以并行计算,但是灵活性比较高。 动态计算图是在程序运行时动态构建。两种构建方式各有优缺点。 DyNet,Chainer和PyTorch

2024-08-31

人工智能-神经网络与深度学习-概率图模型

概率图模型是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。 有向图模型(Directed Graphical model),也称为贝叶斯网络(Bayesian Network),或信念网络(Belief Network,BN)。 贝叶斯网络的局部马尔可夫性质:每个随机变量在给定父节点的情况下,条件独立于它的非后代节点. 利用局部马尔可夫性,可以对多元变量的联合概率进行简化,从而降低建模的复杂度。 高斯混合模型(Gaussian Mixture Model,GMM)是由多个高斯分布组成的模型,其密度函数为多个高斯密度函数的加权组合。 马尔可夫随机场,也称无向图模型,是一类用无向图来表示一组具有马尔可夫性质的随机变量X的联合概率分布模型。

2024-08-30

银行系统专用-分布式微服务-大型平台级-真实生产环境部署实战文档

本文的共46页,详细整理了某银行系统里面,真实的微服务基础环境,各类中间件的集群安装部署及其核心的性能调优配置。对于初次接触微服务的中小公司起到绝好的参照。 本文的涵盖如下中间件的集群部署: 1. Redis集群部署 2. ELK集群部署,包含elasticsearch集群等部署 3. GreenPlum集群部署 4. Mysql-MHA集群部署 5. Nacos集群 6. Kafka集群 7. RocketMQ集群 8. Zabbix部署 9. Prometheus安装 10. Nginx +Keepalived高可用 说明:全文涉及到yum安装的大部分需要联网,由于单独下载其安装包进行安装,会涉及到很多依赖包,安装较麻烦,yum安装会自动解决依赖关系,将依赖包安装。本次安装环境是centos7,对于所有虚机自行安装JDK。

2024-08-29

ESXI-8.0从官方下载-到安装-到网络配置-到虚拟机创建核心参数详细实战讲解

本文的详细整理了ESXI实战性使用总结,文档内容不多,但绝对全是干货,上手快,且一定能让你玩转ESXI,成为一名云原生大牛,不需要花更大的精力各种找资料,视频学习! 文档详细整理了以下内容: 1. ESXI的官方正确下载流程 2. ESXI的正确安装 3. ESXI的网络讲解,包括VLAN的设计 4. 虚拟机创建,CPU关键参数讲解 5. 虚拟机创建,内存关键参数讲解 6. 虚拟机创建,硬盘关键参数讲解 文档概要内容预览: 虚拟机内存 可以超过esxi宿主机内存的,比如宿主机只有64G内存,也可以创建一个128G内存的虚拟机。 分配内存第一时间分配的是esxi宿主机的硬盘空间,而非真实内存。比如一台128G内存的虚拟机,esxi就会为它生成一个等量大小的硬盘交换文件。

2024-08-29

Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本

学习 Linux 的第一步:当然是从 Linux 命令 入手: 查看 Linux 命令帮助信息 - 关键词:help, whatis, info, which, whereis, man Linux 文件目录管理 - 关键词:cd, ls, pwd, mkdir, rmdir, tree, touch, ln, rename, stat, file, chmod, chown, locate, find, cp, mv, rm Linux 文件内容查看命令 - 关键词:cat, head, tail, more, less, sed, vi, grep Linux 文件压缩和解压 - 关键词:tar, gzip, zip, unzip Linux 用户管理 - 关键词:groupadd, groupdel, groupmod, useradd, userdel, passwd, su, sudo Linux 系统管理 - 关键词:reboot, exit, shutdown, date, mount, umount, ps, kill, systemctl, service

2024-08-28

Python 算法与数据结构基础源码教程,一看必会

数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛。目前关于 Python 算法和数据结构的系统中文资料比较欠缺, 笔者尝试录制视频教程帮助 Python 开发者掌握常用算法和数据结构,提升开发技能。 本教程是付费教程(文字内容和代码免费),因为笔者录制的过程中除了购买软件、手写板等硬件之外,业余需要花费很多时间和精力来录制视频、查资料、编写课件和代码,养家糊口不容易,希望大家体谅。 痛点 讲 Python 数据结构和算法的资料很少,中文资料更少 很多自学 Python 的工程师对基础不够重视,面试也发现很多数据结构和算法不过关,很多人挂在了基础的数据结构和算法上 缺少工程应用场景下的讲解,很多讲算法的资料太『教科书化』。本书实现的代码工程上可用 网上很多视频教程不够循序渐进,不成系统 对于每个算法和用到的数据结构我们需要知道: - 原理 - Python 实现方式 - 时间、空间复杂度 - 使用场景,什么时候用

2024-08-28

人工智能+机器学习+机器学习概述+深入理解机器学习原理

机器学习‌是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构,使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径。人工智能和机器学习密不可分,机器学习是实现人工智能的一种有效途径。人工智能提供了实现智能行为的目标,而机器学习则提供了实现这一目标的工具和方法。随着技术的发展和创新,机器学习技术正在推动人工智能在各个领域取得突破性进展‌。 机器学习可以分为几种主要类型,包括监督学习、无监督学习、半监督学习和强化学习。每种类型都有其特定的应用场景和方法。例如,监督学习是机器学习的一种方法,其中算法从标记数据中学习模式和关系,以便对新数据进行预测。监督学习的目标是建立一个函数模型,该模型可以将输入映射到期望的输出。这个过程包括数据准备、模型选择、训练、评估和测试等步骤‌。

2024-08-25

深度学习+神经网络+卷积神经网络+学习使用

‌‌卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,特别适用于处理具有网格结构的数据,如‌图像,它通过使用卷积层来提取图像数据的局部特征,然后通过‌池化层来降低特征的空间维度,最后通过‌全连接层进行分类或回归任务。‌ 卷积神经网络的设计灵感来源于生物学中的‌感受野机制,它具有局部连接和权值共享的特性,这些特性使得卷积神经网络在处理图像等高维输入时,能够有效地减少模型的复杂度和计算量,同时降低过拟合的风险。卷积神经网络的核心操作包括卷积、激活和池化,这些操作在网络的各个层次中重复进行,使得网络能够从原始输入中逐层提取更高级别的特征表示。 具体来说: ‌卷积层‌:负责提取输入数据的局部特征。每个卷积核(或称为滤波器)在输入数据上滑动,并计算与输入数据局部区域的点积,从而生成特征图。多个卷积核可以提取多种不同的特征。 ‌激活函数‌:应用在卷积操作的输出上,增加网络的非线性,使得网络能够学习复杂的模式。 ‌池化层‌:负责降低特征的维度,减少计算量,同时增强特征的平移不变性。常见的池化操作有最大池化和平均池化。

2024-08-25

Nacos最新版本2.4.0,docker镜像

Nacos-2.4.0最新版本docker镜像,兼容postgresql最新版本17和16,同时支持深色主题切换,本人亲自制作,部署十分方便。 内存,挂载路径自行根据修改配置,运行起来了,别忘了回来点个赞啊,祝工作开心 JDK需要你自己挂载到一个目录下*(1.8及以上,建议17及以上,因为2.4.0是基于springboor2.7.8及以上版本开发)*,对应docker里面的jdk目录:/data/env/jdk。 集群部署,只需要把application.properties和cluster.conf配置文件挂载出来即可,如果单机部署,只挂载application.properties映射到宿主机指定目录下。 如果要用postgresql数据库做存储,需要按如下图所示进行配置。。。。

2024-08-09

淘宝/拼多多4级商品类目中英文整理共12700多条,最新版本sql语句

最新版本淘宝和拼多多4级商品类目整理,支持中英文,sql语句插入,采用postgresql类型设计,共12000多条

2023-02-21

尚硅谷完整的关于rocketmq的学习视频整理笔记

尚硅谷完整的关于rocketmq的学习视频整理笔记,适合初学rocketmq的人

2022-09-12

FreeSWITCH简要使用教程V1.1

FreeSWITCH简要使用教程V1.1,可以通过此文档深入学习freeswitch的使用

2022-09-12

世界地名和人名大辞典-中英文对照-机器学习专用

世界地名和人名大辞典-中英文对照-机器学习专用,人名大概38万个,地名大概17万个,机器学习语料,值得收藏

2020-09-14

【全网世界区划最全整理输出】全世界所有国家的行政区划整理,省市信息,已按照国家,省,市排好序,可直接复制使用,总条数:21088

算得上【全网世界区划最全整理输出分】全世界所有国家的行政区划整理,省市信息,已按照国家,省,市排好序,可直接复制使用,总条数:21088

2020-09-09

【全网最新2020-09-27】世界各国地区IP库:IP2LOCATION-LITE-DB11-2020-09-27.CSV(290万条记录)

更新时间截止到【2020-09-27】一个包含全球80000多个省市的ip库,能够根据ip精确定位到每个城市的经纬度,邮编等信息。总记录数290多万,解压后300多兆,非常适合做ip识别精准定位的一个库。特此分享给大家。

2020-09-27

Fortran 详细的中文教程

欢迎来到 Fortran 语言中文教程!本教程致力于为初学者和进阶者提供全面、系统且易于理解的 Fortran 编程学习资源。无论你是计算机科学专业的学生、科研工作者,还是对高性能计算感兴趣的开发者,本教程都将是你掌握 Fortran 语言的理想选择。 本教程主要的内容大纲如下: Fortran 基础 一. 编译器 二. Hello World 三. 标准输入和输出 (io) 四. 基本数据类型 浮点数精度 五. 运算符 六. 数组和字符串 数组 字符串 字符串数组 七. 流程控制 逻辑运算 条件语句 循环语句 序数循环 条件循环 循环控制 八. 函数与代码结构 子例程和函数 代码结构 九. 面向对象 -- 类或结构体 十. 格式 十一. 文件读写 十二. 指针 十三. 并行计算 MPI Coarray 十四. 内置函数 数值 数学 数组 十五. Makefile管理项目

2024-09-13

一个涵盖诸多数据库类型(含SQL)的综合性教程

本教程是一个涵盖诸多数据库类型的综合性教程: 1. 关系型数据库综合: 关系型数据库面试总结 SQL 语法基础特性 SQL 语法高级特性 扩展 SQL SQL Cheat Sheet 2. 分布式关键技术 流量调度 流量控制 负载均衡 服务路由 分布式会话基本原理 数据调度 缓存基本原理 读写分离基本原理 分库分表基本原理 分布式 ID 基本原理 分布式事务基本原理 分布式锁基本原理 3. 文档数据库 MongoDB MongoDB 是一个基于文档的分布式数据库,由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品。它是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。 MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2024-09-12

ECMAScript 6 入门教程-全面介绍 ECMAScript 6 新引入的语法特性

本教程大纲: 0. 前言 1. ECMAScript 6简介 2. let 和 const 命令 3. 变量的解构赋值 4. 字符串的扩展 5. 正则的扩展 6. 数值的扩展 7. 函数的扩展 8. 数组的扩展 9. 对象的扩展 10. Symbol 11. Set 和 Map 数据结构 12. Proxy 13. Reflect 14. Promise 对象 15. Iterator 和 for...of 循环 16. Generator 函数的语法 17. Generator 函数的异步应用 18. async 函数 19. Class 的基本语法 20. Class 的继承 21. Decorator 22. Module 的语法 23. Module 的加载实现 24. 编程风格 25. 读懂规格 26. ArrayBuffer 27. 最新提案 28. 参考链接 ECMAScript 和 JavaScript 的关系 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清楚这个问题,需要回顾历史。1996 年 11 月

2024-09-12

安卓所有动画详尽教程集合

Android 动画在开发中是不可或缺的功能,或者说是界面灵动的添加剂。那你是否总结过 Android 中总共为开发者提供了多少种方式的动画呢?今天就为大家总结归纳一下。 Android 动画可以归纳为以下几种: 视图动画(View 动画) 帧动画(Frame 动画、Drawable 动画) 属性动画 触摸反馈动画(Ripple Effect) 揭露动画(Reveal Effect) 转场动画 & 共享元素(Activity 切换动画) 视图状态动画(Animate View State Changes) 矢量图动画(Vector 动画) 约束布局实现的关键帧动画(ConstraintSet 动画)

2024-09-11

鸿蒙原生应用-源码+教程

一款针对前端程序员的刷题应用,提供前端常见问题、项目业务面试题、面试经验等内容服务。 HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言。带来简洁,流畅,连续,安全可靠的全场景交互体验。 时间 事件 2019 HarmonyOS 1.0,华为在东莞举行华为开发者大会,正式发布操作系统鸿蒙 OS,主要用于物联网 2020 HarmonyOS 2.0,基于开源项目 OpenHarmony 开发的面向多种全场景智能设备的商用版本 2021 HarmonyOS 3.0,先后优化游戏流畅度、地图三维体验、系统安全,另外系统的稳定性也得到了增强 2023.2 HarmonyOS 3.1,系统纯净能力进一步提升,对后台弹窗、 隐藏应用、后台跳转等情况 2023.7 华为 Mate 50 系列手机获推 HarmonyOS 4.0 2024 HarmonyOS Next 即将发布,将不在兼容安卓应用

2024-09-11

能让你成为一个优秀的 Java 全栈程序员的系统化系列教程

Java 基础系列: Java 基础核心总结 Java 代理 Java 反射 Java 集合 String、StringBuffer 和 StringBuilder Java 中的语法糖 深入理解 static 关键字 深入理解 Java 变量 深入理解 final、finally、finalize 浅拷贝和深拷贝 关于四种引用类型 Java 开发最容易忽视的 10 个 Bug Java 浅拷贝和深拷贝 Java 创建对象的五种方式 Exception 和 Error 的区别 for 、foreach 、iterator 三种遍历方式的比较 理解静态绑定与动态绑定 @SuppressWarnings 用法 Arrays.asList 解析 Comparable 和 Comparator的理解 并发系列: JSR-133 都解决了哪些问题 简单认识并发 看完你就明白的锁系列之锁的状态 看完你就明白的锁系列之乐观锁和悲观锁 看完你就明白的锁系列之自旋锁 锁系列汇总 并发编程超强入门汇总 JVM 系列 Linux 系列

2024-09-10

一个走心的 Java Web 入门开发教程

国内的大部分资料对于 Java Web,JavaEE,J2EE 以及 Spring 和 SpringMVC 等概念的使用,是完全混乱的。这对于新手来说可以说是非常不友好,容易让新手迷失在诸多概念当中不知从何处入手。下面笔者会试着用人话介绍一下 Java Web 开发当中的一些名词和概念,力争清楚明白。 JavaEE J2EE, JavaEE 以及 JEE 现在可以认为指的都是同一个东西,只不过由于历史原因出现了若干名称。为了大家理解方便,我们统一用拼写和理解比较方便的 JavaEE 这个名称。 JavaEE 全称 Java Platform, Enterprise Edition,它是对 JavaSE(Java Platform, Standard Edition) 的扩展,加入了面向企业开发(实际上就是网络和 Web 有关开发)的支持,包括 Servlet,WebSocket,EL,EJB 等。简单理解,JavaEE 就是 JavaSE + 更多的 jar 包,这些 jar 包命名以 javax 开头,例如 javax.servlet, javax.websocket 等。

2024-09-10

少儿 Scratch 趣味编程教学实践

思:这里是我关于教学的思考 酷: 这里是课件 趣:这里是孩子们的设计作品 在课前,我写了《我期待孩子们从 Scratch 课程里收获些什么》 的文章,准备了一份详尽到分钟的课件。虽然也有心理准备,觉得孩子们可能会吵闹无法顺利完成,但无论如何分成两堂课来教,这节课 motion 相关的内容总能教完吧。 哪晓得,剧本完全不按我设计的上演。 意外一:这是第一次课,小朋友们对教室都还不熟悉,是陆陆续续到教室的。先来的直接打开电脑玩起来,把我准备好的 playground 项目改得面目全非。找不到教室的孩子足足迟到了半节课,需要单独指导。 意外二:有些孩子对电脑操作不熟悉,偶尔电脑还来出个意外冒个蓝屏弹出个xx软件强制升级的提示框,孩子们就各种搞不定需要帮助。 意外三:有的孩子以前已经接触过 Scratch 编程,不屑于最基础的操作,开始玩起高阶玩法。别的孩子看着眼红,纷纷提问高阶的是怎么玩的。 意外四,果然还是有特别不听话的孩子,一开电脑就自己上网下载游戏玩,批评了两次都不管用。 意外五,我高估孩子们的英语了,即便是二年级的同学,面对全英文的软件也无可奈何,我的让两年级孩子教一年级孩子的计

2024-09-09

北京航天航空大学计算机研究生复试上机题目(06年-14年)

北京航天航空大学计算机研究生复试上机题目(06年-14年),题目来自网络,代码自己写。 总体来水上机题目整体不难,主要涉及的问题有: C语言基础语法和标准库使用 数值排序 字符处理 有些题目我为了输入简单,使用freopen函数从文件读取测试例子。 Debug 环境: Win7 + VC6.0 (标准C语言) 复试上机指导 1. 本真题只是提供辅助作用,关键还是研友平时动手能力练习和对算法、数据结构的理解,参加过ACM的有一定优势 没参加过的也不用紧张,北航的上机题相对于清华和北大,难度上小很多,多练习的话,问题不大; 2. 上机时,可以快速阅读所有的题目,按照从易到难的次序做题,保证会的一定得分; 3. 熟悉编程环境,熟悉c的常用函数; 4. 为了快速测试代码的正确性,尤其是矩阵输入的情况,可以利用标准输入重定向,freopen(“c:\\input.txt”,”r”,stdin);加快测试过程;

2024-09-09

Swift 基础入门教程

Swift 教程主要涵盖如下部分: 基础部分 基本运算符 字符串和字符 集合类型 控制流 函数 闭包 枚举 类和结构体 属性 方法 下标 继承 构造过程 析构过程 可选链 错误处理 并发 类型转换 嵌套类型 扩展 协议 泛型 不透明类型 自动引用计数 内存安全 访问控制 高级运算符 ------------------ Swift 是一门开发 iOS, macOS, watchOS 和 tvOS 应用的新语言。然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的。 Swift 包含了 C 和 Objective-C 上所有基础数据类型,Int 表示整型值; Double 和 Float 表示浮点型值; Bool 是布尔型值;String 是文本型数据。 Swift 还提供了三个基本的集合类型,Array、Set 和 Dictionary ,详见 集合类型。 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值。在 Swift 中,广泛的使用着值不可变的变量,它们就是常量,而且比 C 语言的常量更强大。在。。

2024-09-08

Delphi最新教程.ppt

Delphi是著名的Borland公司开发的可视化软件开发环境,自1995年问世以来,带来了程序设计中的一场重大变化。Delphi作为第四代编程语言,具有简单、高效和功能强大等特点,这些特点使得它为广大程序开发者所青睐。 Delphi作为一种可视化的编程环境,经历了7代产品的发展历程: ◆ Borland公司在1995年推出了基于Windows平台的Delphi 1。 ◆ Delphi 2新增加的主要功能是对32位编程的支持。还增加了如数据模块等多种高效的数据重用功能。 Delphi 3对其组件库进行增强 ,完全支持ActiveX组件及其创建 。 ◆Delphi 4提供了Object Pascal语言的扩展 ,但系统稳定性较差 。 ◆1999年推出Delphi 5增强了数据库的功能 ◆2001年6月推出Delphi 6 ,增加了大量的新组件,使组件数目达350多个,以满足网络开发的需要。 ◆2002年8月推出 Delphi 7 ,在集成开发环境IDE、Web、数据库、编译器、模型生成支持及组件库等很多方面进行了改进

2024-09-08

Ruby元编程初学教程

元编程的定义看似是明确的,但却又模棱两可。维基百科上对元编程的定义如下:   元编程是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作效率, 或者给与程序更大的灵活度去处理新的情形而无需重新编译。   而我也在网上找到了Free Mind对元编程的简介:   回到元编程,程序处理程序可以分为“处理其他程序”和“处理自己”,对于前者,有我们熟悉的lex和yacc作为例子。而对于后者,如果再细分,可以分为“宏扩展”、“源代码生成”以及“运行时动态修改”等几种。   宏扩展从最简单的C语言的宏到复杂的Lisp的宏系统,甚至C++的“模板元编程”也可以包含在这一类里面,我在这里对它们进行了一些介绍。   源代码生成则主要是利用编程语言的eval功能,对生成出来的源代码(除了在Lisp这样的语言里面以外,通常是以字符串的方式)进行求值。有一类有趣的程序quine,它们运行的结果就是把自己的源代码原封不动地打印出来,通常要证明你精通某一门语言,为它

2024-09-07

Rust语言圣经涵盖从入门到精通所需的 Rust 知识

Rust语言圣经涵盖从入门到精通所需的 Rust 知识,目录及内容都经过深思熟虑的设计,同时语言生动幽默,行文流畅自如,摆脱技术书籍常有的机器味和晦涩感。 深入度,在基础教学的同时,提供了深入剖析。浅尝辄止并不能让我们站上紫禁之巅 专题内容,将 Rust 高级内容通过专题的形式一一呈现,内容内聚性极强,例如性能优化、手把手实现链表、Cargo 和 Tokio 使用指南、async 异步编程、标准库解析、WASM 等等 内容索引,作为一本工具书,优秀的索引能力非常重要,遗忘不可怕,找不到才可怕 规避陷阱和对抗编译器,只有真的上手写过一长段时间 Rust 项目,才知道该如何规避常见的陷阱以及解决一些难搞的编译器错误,而本书将帮助你大大缩短这个过程,提前规避这些问题

2024-09-07

语音信号处理实验教程(MATLAB源代码)-含所做笔记

语音信号处理实验教程(MATLAB源代码)-含所做笔记 第01章 MATLAB基础教程 第02章 语音信号处理基础 第03章 语音信号分析 第04章 语音信号特征提取 第05章 语音降噪 第06章 语音编码 第07章 语音合成 第08章 语音隐藏 第09章 声源定位 第10章 语音识别 第11章 说话人识别 第12章 情感识别 按照元素个数和排列方式分类 没有元素的空数组 只有一个元素的标量,实际上是一行一列的数组 只有一行或者一列的向量,分别叫做行向量或者列向量,统称为一维数组 普通的二维数组 多维数组 size()函数 如果按照只有一个返回值的形式调用,如sz=size(A),将会返回一个n维向量,其中每一个数表示A的每一维的大小 如果按照只有多个返回值的形式调用,如[row,col]=size(A),每一个数表示A的每一维的大小。为避免出错,给的个数应当和A的维数相同。 length()函数 length()返回数组的最大维值。

2024-09-06

LeetCode和剑指offer中的算法题的题目和解法 和 常见算法汇总

1. Math Implementation Questions(数学实现题) 1.1 Fibonacci Implementation(斐波那契数列实现) 1.2 Binary Search(二分查找) 1.3 Is Prime(是否是质数) 1.4 Is Ugly Number(是否是丑数) 1.5 Is Power Of Two(是否是2的幂) 1.6 Is Power Of Three(是否是3的幂) 1.7 Count Primes(质数的个数) 2. Algorithm Implementation Questions (算法实现题) 3. Linked List Questions(链表相关问题) 4. Array Questions(数组相关问题) 5. Binary Tree Questions(二叉树相关问题) 5.1 Maximum Depth of Binary Tree(二叉树的深度) 5.2 Invert Binary Tree(反转二叉树) 5.3... 5.4... 5.5... 6. String Questions(字符串相关问题)

2024-09-06

人工智能-神经网络-循环神经网络

循环神经网络通过使用带自反馈的神经元,能够处理任意长度的时序数据。 循环神经网络比前馈神经网络更加符合生物神经网络的结构。 循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上 图灵完备(Turing Completeness)是指一种数据操作规则,比如一种计算机编程语言,可以实现图灵机的所有功能,解决所有的可计算问题。 一个完全连接的循环神经网络可以近似解决所有的可计算问题。 循环神经网络在时间维度上非常深! 梯度消失或梯度爆炸 如何改进? 梯度爆炸问题 权重衰减 梯度截断 梯度消失问题 改进模型 在实际应用中,很多数据是图结构的,比如知识图谱、社交网络、分子网络等。而前馈网络和循环网络很难处理图结构的数据。

2024-09-03

GoLang-从入门到实战-经典教程

第1章 介绍和安装 1 - 介绍和安装 2 - Hello World 第2章 变量、类型和常量 第3章 函数和包 第4章 条件和循环语句 第5章 数组、切片和变参函数 第6章 更多的类型 第7章 指针、结构体和方法 第8章 接口 第9章 并发 第10章 面向对象编程 第11章 延迟和错误处理 --------实战------ Golang并发模型:轻松入门流水线模型 Golang并发模型:轻松入门流水线FAN模式 Golang并发模型:合理退出并发协程 Golang并发模型:轻松入门select Golang并发模型:select进阶 Golang并发模型:轻松入门协程池 Golang并发模型:一招掌握无阻塞通道读写 Golang并发的次优选择:sync包 Golang并发:再也不愁选channel还是选锁 总结了才知道,原来channel有这么多用法! 深入理解channel:设计+源码 Go高级实践:反射3定律 Go调度器系列(1)起源 Go调度器系列(2)宏观看调度器 Go调度器系列(3)图解调度原理 Go调度器系列(4)源码阅读与探索 实战Go内存泄露

2024-09-05

Kotlin-从零到一教程-入门教程

本教程是Kotlin语言从零到一详细整理教程: Kotlin语言基础 package 声明变量和值 变量类型推断 字符串与其模板表达式 流程控制语句 代码注释、语法与标识符 修饰符 函数扩展和属性扩展 空指针安全 Kotlin入门和使用 面向对象 Kotlin 的类特性_上 Kotlin 的类特性_下 面向对象 继承 Kotlin如何优雅的实现多继承 类成员的可见性 接口和抽象类 属性代理 对象表达式和对象声明 伴生对象和静态成员 单例 object单例 密封类 data class 为什么不直接使用 Array_Int_ 而是 IntArray? Kotlin 遇到 MyBatis:到底是 Int 的错,还是 data class 的错? 函数式编程 一篇文章彻底搞懂 Kotlin 函数 函数 inline函数 闭包 函数与闭包 细说 Lambda 表达式 高阶函数_1 高阶函数_2 像写文章一样使用 Kotlin 函数复合 函数式编程概述 在Kotlin中使用函数式编程 集合框架 Iterator 集合框架 集合类是什么 Kotlin 集合类简介 List List元素操作函数

2024-09-05

中国大学MOOC上浙大的《数据结构》编程作业和上课内容整理

struct HeapStruct{ // 存放哈夫曼树的堆 HuffmanTree *data; // 存值的数组 int size; // 堆的当前大小 int capacity; // 最大容量 }; struct TreeNode{ // 哈夫曼树 int weight; //权值 HuffmanTree Left; // 左子树 HuffmanTree right; // 右子树 }; struct TreeNode{ int Data; // 存值 BinTree Left; // 左儿子结点 BinTree Right; // 右儿子结点 }; BinTree CreatBinTree(); // 创建一个二叉树 bool IsEmpty(BinTree BT); // 判断树 BT 是否为空 void PreOrderTraversal(BinTree BT); // 先序遍历,根左右 void InOrderTraversal(BinTree BT); // 中序遍历,左根右

2024-09-04

Screw数据库文档生成,DataWay接口自动配置,JApiDocs接口文档生成,Swagger在线接口文档生成

1. 我们可以通过SCREM两种方式生成文档 一种是通过在pom文件里面进行一系列配置就可以实现 还有一种是编写一个方法,通过代码生成 SCREM支持多种数据库,如mysql,sqlserver,oracle,MariaDB等 SCREM支持word,md,html三种格式的文档生成 SCREM可以自定义配置生成和不生成数据库文档的表 2. 集成Dataway接口配置工具 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具,使得使用者无需开发任何代码就配置一个满足需求的接口。整个接口配置、测试、冒烟、发布,一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共享同一个 http 端口,应用无需单独为 Dataway 开辟新的管理端口。 Dataway 是 Hasor 生态中的一员,因此在 Spring 中使用 Dataway 首先要做的就是打通两个生态。根据官方文档中推荐的方式我们将 Hasor 和 Spring Boot 整合起来。这里是原文: 3. 集成JApiDocs生成接口文档

2024-09-04

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

TA关注的人

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