- 博客(1635)
- 资源 (8)
- 收藏
- 关注

原创 Java基础学习总结(175)——分布式ID的9种生成方式总结
背景业务量小于500W的时候单独一个mysql即可提供服务,再大点的时候就进行读写分离也可以应付过来。但当主从同步也扛不住的是就需要分表分库了,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。那么这个全局唯一ID就叫分布式ID。分布式ID需满足那些条件:全局唯一:基本要求就是必须保证ID是全局性唯一的。 高性能:高可用低延时,ID生成响应要快。 高可用:无限接近于10
2021-03-16 10:27:08
1279
1

原创 2016年终总结
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程一、技术总结(1)App/JavaWeb后台系统1.1、采用RestFul架构的SSM(Spring SpringMVC MyBatis)框架集成开发的App后台系统,将用户鉴权分离出来单独的模块,将用户鉴权登录状态Token保存到Redis内存数据库中,从而便于上层业务后...
2017-01-10 11:54:34
5852
12

原创 青春路上,岁月如烟
凡人一世,始聚终散。年长当权,寂寞同醉。年少轻狂,知己共饮。世界一如既往,不存在永恒和不灭。我们终为一介凡人,没法脱离世俗,看破红尘。人生亦是悲欢离合,聚如春梦,散如烟。我们这样一群在人生道路上越发迷茫的人,看不清梦想在何处,寻不到温柔乡,太多的美好被掩埋在回忆里。路,虽坎坷,但因为我们的坚持,使我们相遇在这个年华。苦涩的季节遭人唾弃,我们不曾在乎,在这座成长的高墙前,我们选择一起翻越。小的时候,我们纯真,拥有最纯洁的友谊,宛如白雪般,并非净似白纸,而是纯若清泉。同时,流年无情的色彩,轻易地给我们染上世俗的
2014-06-23 18:35:45
4830
9
原创 AI 学习总结(3)—— AI 智能体零基础入门
智能体是能自主感知环境并执行任务的智能实体,具有自主性、反应性、社会性和进化性。其发展经历了从规则驱动(1950s-1980s)、感知交互(1990s-2010s)到认知革命(2020-2023)和自主进化(2024至今)四个阶段。当前主流智能体构建平台包括零代码平台、企业解决方案和开源框架,搭建流程涵盖需求梳理、软件选型、提示工程设计、工作流配置、调试和发布等步骤。智能体已广泛应用于视频文案提取、海报设计、自媒体运营等日常场景,能高效完成重复性任务。随着多模态模型和具身智能的发展,智能体的自主决策能力正快
2025-07-22 14:46:26
217
原创 Spring Boot 学习总结(37)—— SpringBoot 应对复杂业务插件化实战
本文介绍了四种SpringBoot插件化实现方案:1. 基于Spring条件注解的方案:通过@Conditional注解控制插件加载,实现简单但无法运行时动态调整。2. SPI机制方案:利用Java标准SPI支持第三方扩展,但同样不支持运行时动态加载。3. SpringBoot自动配置方案:通过独立starter模块实现插件化,支持配置切换但需重启应用。4. 动态加载JAR方案:实现真正的运行时热插拔,支持插件独立开发和部署,但实现复杂度高。各方案适用于不同场景:前三种适合功能相对稳定的系统,动态加载方案适
2025-07-20 21:03:46
31
原创 AI 学习总结(2)—— Java 开发者必知的大模型应用开发框架 LangChain4j
Java开发者迎来大模型时代:LangChain4j框架解析 随着大语言模型(LLM)的普及,Java开发者迫切需要一个适配企业级应用的大模型集成方案。LangChain4j作为LangChain的Java实现,为Java生态提供了标准化的LLM交互框架。该框架支持主流大模型(如OpenAI、百度文心等)的调用,具备多轮对话管理、函数调用、RAG问答系统构建等核心功能,并能与SpringBoot无缝集成。相比直接调用API,LangChain4j提供了更完善的Prompt管理、上下文维护和模块组合能力,解决
2025-07-20 11:18:52
731
原创 Mysql 学习总结(90)—— Mysql 8.0 25 条性能优化实战指南
本文总结了MySQL数据库性能优化的24个关键配置项,涵盖内存、I/O、CPU、事务日志、缓冲池、锁机制等多个维度。重点包括:innodb_buffer_pool_size设置为物理内存70-80%;SSD环境下I/O参数调优;事务日志配置平衡性能与安全;索引设计遵循最左前缀原则;使用CTE和窗口函数优化复杂查询;建立SSL加密连接和最小权限用户体系。建议采用渐进式优化方法,配合慢查询分析和基准测试,避免常见误区如过度分配内存或生产环境执行OPTIMIZE TABLE。合理实施这些优化可提升查询性能60-8
2025-07-20 11:04:18
185
原创 Spring Boot 学习总结(36)—— SpringBoot 十大王炸 Starter 实战验证
在分布式系统开发中,Java 工程师常被这些问题折磨:多节点定时任务重复执行导致数据错乱、SQL 调试时看不到完整执行语句、接口被高频请求击垮、数据库密码明文暴露等。而 SpringBoot 的 Starter 生态,正是为解决这些痛点而生。
2025-07-18 21:23:02
14
原创 Maven学习总结(62)—— Maven 打包瘦身和提速解决方案
文章摘要:Maven项目随着依赖增加会变得臃肿,导致构建速度慢、部署成本高和维护困难。通过Maven的dependency:tree和dependency:analyze工具可以分析依赖关系,识别未使用的Jar包。清理时需注意"未使用"范围、备份配置和测试验证。建议在新项目初始化和功能重构时及时优化依赖,避免积累问题。IDEA也提供图形化依赖分析工具,帮助开发者更直观地管理项目依赖。合理精简依赖能提升项目构建效率和维护性。
2025-07-18 21:10:40
117
原创 Vue.js 学习总结(18)—— Vue 3.6.0-alpha1:性能“核弹“来袭,你的应用准备好“起飞“了吗?!
Vue 3.6 带来重大性能突破:Vapor Mode 与响应式系统升级Vue 3.6 通过 Vapor Mode 和响应式系统改进实现性能飞跃。Vapor Mode 直接编译为 DOM 操作代码,跳过虚拟 DOM 环节,使包体积缩减 88%(从 50KB 降至 6KB),10 万组件挂载仅需 100ms。新响应式系统 "Alien Signals" 实现细粒度更新,内存使用减少 14%。
2025-07-18 10:02:48
957
原创 Spring Boot 学习总结(35)—— 使用 SpringAI 实现 MCP 服务并与 Qwen 集成使用?
Spring AI MCP,它是模型上下文协议(Model Context Protocol,MCP)的 Java SDK 实现。Spring AI 生态系统的这一新成员为 Java 平台带来了标准化的 AI 模型集成能力。MCP 的核心是客户端-服务器(CS)架构,一个应用可以连接多个服务器。Spring AI MCP 采用模块化架构,包含以下组件:1、Spring AI 应用: 使用 Spring AI 框架构建希望通过 MCP 访问数据的生成式 AI 应用。
2025-04-17 11:57:38
436
原创 Maven学习总结(61)—— Maven 依赖冲突检测及其解决方案
【代码】Maven学习总结(61)—— Maven 依赖冲突检测及其解决方案。
2025-04-07 10:34:56
568
原创 2025年前端框架全景解析:React、Vue、Angular的生态与未来之争
前端框架的竞争本质是工程哲学的分野:React的灵活、Vue的简洁、Angular的严谨,分别对应不同场景需求。
2025-04-07 10:28:06
2358
原创 AI 学习总结(1)—— 大模型简史之从 Transformer(2017)到 DeepSeek-R1(2025)
语言模型」是一种「人工智能系统」,旨在处理、理解和生成类似人类的语言。它们从大型数据集中学习模式和结构,使得能够产生连贯且上下文相关的文本,应用于翻译、摘要、聊天机器人和内容生成等领域。1.1 大型语言模型(LLMs)「语言模型」(LMs)和「大型语言模型」(LLMs)这两个术语虽然经常被互换使用,但实际上它们基于规模、架构、训练数据和能力指代不同的概念。LLMs 是 LMs 的一个子集,其规模显著更大,通常包含数十亿个参数(例如,GPT-3 拥有 1750 亿个参数)。
2025-03-03 15:28:50
1849
原创 Docker 学习总结(85)—— docker cp 使用总结
在现代软件开发中,Docker已成为一种流行的容器化技术。无论是在开发、测试还是生产环境中,管理容器内的文件都是一项常见且重要的任务。本文将详细介绍如何使用 dockercp 命令在Docker容器与宿主机之间拷贝文件和目录,并结合一些实际使用场景,帮助您更高效地管理您的Docker容器。
2025-01-20 14:54:23
490
原创 JavaScript 学习总结(18)—— JavaScript 代码规范与常见技巧总结
高阶函数(Higher-OrderFunction),简单来说,就是满足以下一个或两个条件的函数:1.接受一个或多个函数作为参数:在JavaScript中,函数是一等公民,这意味着函数可以像其他数据类型(如数字、字符串)一样被传递和操作。例如,我们可以将一个函数作为参数传递给另一个函数,让接收函数根据不同的逻辑来调用传入的函数。2.返回一个函数:高阶函数执行完毕后,返回的结果也是一个函数。这使得我们能够根据不同的条件动态生成可执行的函数。
2025-01-20 14:46:58
178
原创 Java 基础学习总结(208)—— Java 常用实用工具类小总结
首先是 java.util 包下的 Collections 类。这个类主要用于操作集合,我个人非常喜欢使用它。
2024-12-08 21:45:30
399
原创 MyBatis学习总结(28)—— MyBatis-Plus 实战技巧总结
原因:使用具体的默认值可以提高代码的可读性和维护性NULL值会使索引失效,导致MySQL无法使用索引进行查询优化NULL值的比较需要特殊的处理逻辑,增加了CPU开销NULL值会占用额外的存储空间,影响数据压缩效率。
2024-12-07 20:26:52
274
原创 Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
要想修改三方组件样式,只能添加到 scoped 之外,弊端是污染了全局样式,后续可能出现样式冲突。
2024-11-24 11:04:16
687
原创 Vue.js 学习总结(15)—— 如何快速删除 node_modules 依赖文件
直接通过图形用户界面删除依赖可能会有上万个文件和文件夹,那么就使得操作系统需要花费非常多的时间来处理每一个文件的删除。:操作系统有可能需要花时间去刷新文件系统的缓存,特别是对于那些频繁访问的文件或目录。:如果某些进程正在使用中的文件,也就是被正在引用,那么这些文件将无法被删除的,会弹出提示直到相关的进程释放。:硬盘或SSD的读写速度也可能成为瓶颈,尤其是在比较老机械硬盘上,随机读写的性能较低就会特别慢。:图形界面的文件管理器在处理大量文件时,可能会因为UI的更新和绘制而变慢。
2024-11-24 10:56:13
1262
原创 Vue.js 学习总结(14)—— Vue3 为什么推荐使用 ref 而不是 reactive
ref在 Vue3 中提供了一种更统一、灵活的响应式解决方案,还能避免了reactive的某些局限性。
2024-11-24 10:50:37
1606
原创 Vue.js 学习总结(13)—— Vue3 version 计数介绍
实际上对Vue3.5在性能方面起到大作用的是双向链表,version计数器属于是锦上添花。但通过分析globalVersion、dep.version如何自增,以及如何快速判断是否需要更新的逻辑,其实对双向链表也了解的八九不离十。双向链表上,横向是订阅者Sub依赖的Dep的链表节点,而纵向上是响应式value对应Dep关联的订阅者的链表节点。
2024-11-24 10:42:55
1020
转载 Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
Nginx 是一个高效的 HTTP 服务器和反向代理,它擅长处理静态资源、负载均衡和网关代理等任务。Nginx 的设置主要通过一个主配置文件 “nginx.conf” 来完成,其中可以定义服务器配置块(server blocks)和位置匹配规则(location blocks)等。尽管 Nginx 的配置语法相当简洁,但在处理复杂的路由规则、反向代理设置或 SSL 配置时,配置文件可能会变得复杂。特别是当涉及到多层嵌套和特定条件判断时,稍有不慎就可能导致配置错误或冲突。
2024-11-24 10:29:01
1598
原创 PostgreSQL学习总结(13)—— PostgreSQL 15.8 如何成就数据库性能王者?
在当今数据驱动的时代,数据库的性能无疑是企业和开发者最为关注的焦点之一。而 PostgreSQL 15.8 的横空出世,犹如一颗璀璨的明星,在数据库性能的苍穹中闪耀着耀眼的光芒,引得无数人为之侧目。今天,就让我们一同揭开 PostgreSQL 15.8 性能卓越的神秘面纱,探寻它究竟为何能荣登数据库性能王者的宝座。PostgreSQL 15.8 在查询优化方面实现了质的飞跃。其全新升级的查询优化引擎,就像是一位拥有超凡智慧的导航员,能够在海量数据的迷宫中迅速为查询语句规划出最优路径。
2024-11-16 08:59:26
1136
原创 Vue.js 学习总结(12)—— 微前端实践思考与总结
微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。“类似Iframe,却没有它的各种问题。”微前端最核心的价值或者特性,就是技术栈无关。通常我们在构建web应用时,会有同一框架、同一大版本的限制。微前端的这个特性就打破了传统web的限制。我们利用这个特性,做到 应用拆分聚合、增量升级。再结合实际的场景,来解决问题。比如,应用拆分可以做到模块化开发、降低项目复杂性、提升部署效率和不同团队之间项目耦合性的问题。
2024-11-11 21:24:40
804
原创 Vue.js 学习总结(11)—— Vue3 Hook 函数实战总结
在 Vue 3 中,Hook 函数是一种特殊的函数,用于封装可重用的逻辑和状态管理。Hook 函数允许你在 Vue 组件中提取和复用逻辑,而不是将所有逻辑都放在组件的选项对象中。它们可以帮助你更好地组织代码,提高代码的可维护性和可测试性。Hook 函数的特点:可重用性:Hook 函数可以在多个组件中重复使用,避免了重复编写相同的逻辑。逻辑封装:将特定的逻辑封装在 Hook 函数中,使组件的代码更加清晰和易于理解。状态管理:Hook 函数可以用于管理组件的状态,包括响应式数据和副作用。
2024-10-27 22:16:19
2032
翻译 信创云规划设计建设方案
通过深度整合并统一管理底层多样化的计算、存储及网络资源,信创云能够有效消除底层资源的差异性,确保企业在向全面信创转型的过程中,IT架构能够平稳过渡。同时,借助容器化、微服务架构等前沿技术,信创云为上层应用的开发、编排及调度提供了强有力的支持,起到了在IT架构全面国产化进程中不可或缺的桥梁作用,进一步加速了信创目标的实现。信创,即信息技术应用创新,是指通过自主研发和创新,实现信息技术底层架构、核心产品、平台软件、应用软件和安全等方面的国产替代,旨在摆脱对国外技术的依赖,构建自主可控的信息技术体系。
2024-10-25 16:18:32
574
原创 Vue.js 学习总结(10)—— Vue 前端项目性能优化常用技巧
在 Vue.js 应用中,路由懒加载可以延迟加载路由组件直到它们被需要时才加载,从而减少应用的初始加载时间。使用构建工具如 Vite 或 Webpack 的代码分割功能,可以将代码拆分成多个块,按需加载。确保在生产环境中使用合适的构建配置,如压缩 JavaScript、CSS 和 HTML。减少组件的响应式数据,可以减少 Vue 的响应式系统需要追踪的变化,从而提升性能。合理配置 HTTP 缓存策略,可以减少服务器的负载和用户的等待时间。可以自动追踪依赖并缓存结果,避免不必要的计算。对于频繁切换的情况,
2024-10-18 10:59:47
592
原创 Vue.js 学习总结(9)—— Vue 3 组件封装技巧
弊端就像之前的,如果该原生提供了许多插槽,当有需要时岂不是频繁去修改自定义组件添加相应的插槽。:这样的情况多了,就有点难顶。每次一有新的需求,我就得改这个组件,导致这个组件代码越来越冗余。有时我们需要进行个性化封装,以满足在项目中大量使用的需求。2.如果父组件传递了style,class,那么这这些值不仅会存在于。官网的这段话简明扼要的说出的插槽的原理,我们所传递的插槽最终都是变成。中的值,有什么插槽我们便动态绑定什么插槽。,后续项目的弹窗全部基于该自定义组件。怎么使用插槽,自定义组件就怎么使用插槽。
2024-10-18 10:50:15
916
转载 信贷系统学习总结(5)—— 信贷金融风控通用建模流程
代表性:样本要可以代表总体。充分性:总共样本数量大于2000,若太小,则置信度太低。时效性:样本与未来上线应用的时间越接近越好。排除性:灰样本需要剔除。比如贷款信用违约/车险理赔风险预测,在构建模型时候,需要剔除掉欺诈样本,以及信用违约里面的Y处于逾期天数在1-90天的(当设置Y为M3+),这样做的目的是为了样本更纯,在业务上没有其他样本进行干扰,在模型上,数据表现不会有太多的异常噪音。
2024-10-11 08:55:31
998
原创 Spring Boot 学习总结(34)—— spring-boot-starter-xxx 和 xxx-spring-boot-starter 区别?
Spring Starter 是 Spring Boot 提供的一种便捷方式,帮助开发者快速集成和配置 Spring 应用中所需的依赖。每个 Starter 都是一个预配置的依赖集,可以自动配置应用的一部分或特定功能。这些 Starter 旨在消除手动编写大量样板代码和配置的需求。
2024-07-16 11:03:51
2390
原创 Vue.js 学习总结(8)—— Vue 3 的 Teleport 特性,让你实现跨组件传输内容
在 Vue 3 中,Teleport 是一个新的内置组件,它允许你将子组件或 DOM 元素渲染到指定的 DOM 节点之外。简而言之,你可以将某个组件“传送”到另一个地方,而不必让它们局限于父组件的 DOM 树结构中。
2024-06-10 08:14:11
1457
原创 Docker 学习总结(83)—— 配置文件daemon.json介绍及优化建议
在bridge:设置默认网桥名称。bip:设置网桥的IP地址和子网掩码。fixed-cidr:设置容器IP地址的范围。docker服务的默认子网为:172.17.0.0/16 , 如果虚拟机或者物理机的IP地址在该范围内,需要用bip做规避,以避免IP地址冲突问题。实时恢复(Live Restore)是Docker的一个特性,它允许在Docker守护进程重启或崩溃后,自动重启运行中的容器。这提高了容器化应用的可用性和弹性,因为它们不需要人工干预即可恢复运行。通过合理配置。
2024-06-07 13:20:11
3507
原创 Docker 学习总结(81)—— 冷门而又实用的 Docker 使用技巧总结
当你 docker run 了之后却发现里面有一些参数并不是你想要的状态比如你设置的 nginx 容器 cpu 或者内存太小,这个时候你就可以使用 docker update 去修改这些参数。这个命令是用来查看一个容器里面的进程信息的,比如你想查看一个 nginx 容器里面有几个 nginx 进程的时候,就可以这么做。当你修改了一个镜像,但是忘记了每一层的修改命令,或者你想查看一个镜像是怎么构建的时候就可以使用这个命令,比如。这个命令可以帮助你在命令行中方便的搜索 dockerhub 中的镜像,比如。
2024-03-29 20:18:50
442
转载 云原生技术在离线交付场景中的实践
由于各级政府部门的 IT 建设脚步不一样,同样一套业务系统,在交付到市级部门时,得到的硬件设施可能是一台物理服务器,而到了省级部门时,则可能得到了私有云提供的数台虚拟机。离线化的交付场景下,对交付环境的前期一次性建设的成本大幅度提高,我们必须事先在离线环境中准备好可靠的 Kubernetes 集群,光这一项工作,就大幅度阻碍了 Kubernetes 技术在交付团队中的推广。这项技术对业务系统的赋能能力是毋庸置疑的,但无论是一个新环境的首次部署,还是后期的运维难度,对交付团队成员技术能力的要求是直线上升的。
2024-03-08 10:10:15
544
转载 Kubernetes 学习总结(46)—— Pod 不停重启问题分析与解决
我们在做性能测试的时候,往往会发现我们的pod服务,频繁重启,通过kubectl get pods 命令,我们来逐步定位问题。将limit的memory数值提高,然后delete -f yaml,再apply -f yaml。发现我们deployment.yaml对服务的内存使用,做了限制。OOM,pod被kill掉,重启了(内存不够用)running的pod,短时间内重启次数太多。
2024-03-03 10:50:06
1384
原创 JavaScript 学习总结(17)—— 前端开发规范之命名规范、html 规范、css 规范、js 规范
一个好的程序员肯定是要能书写可维护的代码,而不是一次性的代码,怎么能让团队当中其他人甚至一段时间时候你再看你某个时候写的代码也能看懂呢,这就需要规范你的代码了。我是有一点强迫症的人,上周我们后端给我了一个CanUsename的接口(该接口的目的是判断输入的目的地是否是4级目的地),我真的是崩溃的。我只是觉得这个名字不够语义化,但是让我自己想一个名字我又想不出来,于是我就在想,如果有一套命名规范的话,那么以后起名字就不用发愁了,直接按照规范来就好了。
2024-03-03 10:45:11
446
容器网页终端(websocket-webshell)
2017-09-23
清华-2018人工智能之自动驾驶研究报告.pdf
2019-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人