- 博客(141)
- 资源 (4)
- 收藏
- 关注
原创 springboot4 项目从零搭建
本文介绍了基于SpringBoot4和JDK25的项目搭建计划。作者作为资深Java/Rust开发者,指出当前80%的Java项目仍停留在SpringBoot2+JDK8,但存在安全漏洞无法修复、依赖生态逐步断粮等问题。文章对比了SpringBoot2和3的安全修复差异,强调升级必要性。选择SpringBoot4而非3的原因是JDK25解决了虚拟线程等关键问题。项目目标包括:满足安全合规(等保2.0)、高性能(低内存占用)、云原生支持(k8s兼容)、采用新特性(虚拟线程、DDD设计)等。后续将重点介绍Spr
2025-12-22 16:39:05
738
1
原创 Cursor MCP Java程序员从零开始实战教程
雨夜,热衷于 AI + Java开发的程序员,之后会逐步开发1.mcp 服务 (实现java程序员 日常开发中 用的所有功能)2 业务服务 智能原生化如果您买了本课程,私聊我,把付款凭证发下,我会给您提供。
2025-10-27 22:07:40
65
原创 Cursor MCP Java程序员从零开始实战教程 第二章 第二节:代码重构与优化建议
代码重构是软件开发过程中的重要环节,它不仅能改善代码质量,还能提升系统的可维护性和性能。传统的重构往往需要开发者手动识别问题、设计解决方案并实施修改,这个过程既耗时又容易出错。而MCP(Model Context Protocol)的出现,为代码重构带来了革命性的改变。MCP能够智能分析代码结构,识别重构机会,并提供自动化的重构建议。它不仅能够进行基础的代码重构(如提取方法、重命名变量),还能进行复杂的架构重构(如设计模式应用、性能优化)。本节将深入探讨MCP在Java项目中的代码重构与优化建议功能。MCP
2025-10-27 21:19:13
54
原创 Cursor MCP Java程序员从零开始实战教程 第二章-第一节-代码补全与智能提示
在传统的Java开发中,我们依赖IDE的基础代码补全功能,但这些功能往往只能提供语法级别的建议。而MCP(Model Context Protocol)的出现,彻底改变了这一现状。通过深度理解项目上下文和业务逻辑,MCP能够提供语义级别的智能补全,让代码编写变得更加高效和智能。本节将深入探讨MCP在Java项目中的代码补全与智能提示功能,包括类名建议、方法补全、变量命名、API调用建议等核心功能,并通过大量实战案例展示如何利用MCP提升开发效率。MCP能够深度分析整个项目的上下文信息,包括:业务逻辑理解
2025-10-27 21:17:58
30
原创 Cursor MCP Java程序员从零开始实战教程 第一章-第四节-MCP服务器安装与配置
MCP服务器安装与配置指南摘要:本节介绍了MCP生态系统的核心组件——MCP服务器的安装与配置方法。内容涵盖服务器架构概览(包括客户端层、协议层、服务器层和服务层),详细分类了官方标准服务器、社区扩展服务器和自定义服务器三种类型。重点讲解了官方MCP服务器的安装步骤,包括Node.js环境准备、全局工具安装,以及Filesystem Server的具体配置方法(基础安装和高级配置)。通过配置文件示例,展示了如何设置文件系统权限、路径限制和监控模式等关键参数,为Java项目开发提供智能辅助基础。
2025-10-27 20:46:56
97
原创 第一章-第三节-Java开发环境配置
在前两节中,我们深入了解了MCP协议的核心概念以及Cursor IDE与MCP的深度集成。现在,让我们将注意力转向实际的环境配置。一个完善的Java开发环境是充分发挥MCP和Cursor IDE强大功能的基础。本节将详细介绍如何从零开始配置一个现代化的Java开发环境,为后续的实战开发奠定坚实基础。环境配置原则1. 版本兼容性JDK版本:推荐使用JDK 17或21(LTS版本)Maven版本:3.8.0以上Gradle版本:7.0以上Spring Boot版本:3.x系列2. 工具链统一
2025-10-25 19:04:02
608
原创 第一章-第二节-Cursor IDE与MCP集成.md
Cursor IDE是一款基于VSCode架构的现代化代码编辑器,其最大的特色是深度集成了AI能力,让开发者能够与AI进行自然语言交互,实现智能化的代码编写、调试和优化。它不仅仅是一个代码编辑器,更是一个智能化的开发伙伴。import {},tools: {},},// 列出可用工具return {tools: [description: '生成Java类',description: '类名'},description: '包名'},fields: {
2025-10-24 18:52:56
823
原创 Cursor MCP 第一章-第一节-MCP协议简介.md
Model Context Protocol,简称MCP,是一种开放标准协议,专门设计用于在AI模型与各种开发工具之间建立高效、标准化的通信桥梁。它不仅仅是一个技术规范,更是一种全新的开发范式,让AI能够深度理解开发者的工作环境,提供更加精准、智能的辅助服务。MCP的核心价值在于上下文感知。传统的AI助手往往只能基于用户提供的有限信息进行响应,而MCP让AI能够实时获取项目的完整上下文信息,包括代码结构、依赖关系、配置文件、历史变更等,从而提供更加智能和精准的建议。
2025-10-23 23:09:45
939
原创 MongoDB 6.0 (六)文档模型设计
这里 $gt 后的值是第第十页的最后一条记录的id(游标),skip 计算公式:page_size * 跳几页(这里每页10跳,从10到13,跳了2页)。这里虽然也有 skip,但是由于限定了 _id 的起始点,同时固定分页组为10页,所以最多 skip 10*10 条记录,速度也是非常快的。这里虽然我们只查询20条数据,但是 MongoDB 还是会扫描 skip 的250W条记录,而这个操作是通过 cursor 迭代器来实现的,对 CPU 消耗比较高,当数据达到千万级以上时,响应也会非常慢。
2023-03-30 14:27:37
654
1
原创 MongoDB 6.0 (四)聚合操作
把CNY的文档去掉。这种查询被称为不相关查询,(不像sql会通过关联查询排除不相关的查询结果)提供更加灵活的查询特性。对查询集合中的文档使用聚合阶段进行处理时,如果需要参考管道文档中的字段,则必须使用let参数对字段进行声明。尽量在聚合管道的开始阶段应用$match,这样可以减少后续阶段需要处理的文档数量,优化聚合操作的性能。可以用来灵活控制输出文档的格式,也可以用来去除不相关的字段,以优化聚合管道操作的性能。from提供的是同一个数据库中的另一个集合的名字,这个集合就是我们要查询的集合。
2023-03-30 10:45:23
421
原创 MongoDB 6.0 入门(二)
用户可以根据程序的数据特征选择不同的存储引擎,在最新版本的 MongoDB 中使用了 WiredTiger 作为默认的存储引擎,WiredTiger 提供了不同粒度的并发控制和压缩机制,能够为不同种类的应用提供了最好的性能和存储率。在一个批量数据复制写入请求之前,为数据库中的数据做一个快照,用来保留数据复制开始前数据的状态。在存储引擎上层的就是 MongoDB 的数据模型和查询语言了,由于 MongoDB 对数据的存储与 RDBMS有较大的差异,所以创建了一套不同的数据模型和查询语言。
2023-03-26 07:22:30
870
原创 【《雨夜》 RocketMQ源码系列(一) NameServer 核心源码解析】
rocketmq 4.9.3 抛弃旧版的贴源码,从实际生产环境 角度带你学习,让你能直接用于生产环境
2022-09-16 09:43:23
602
原创 深入理解Spring的@Order注解和Ordered接口和应用场景
学习本节 能解决什么问题,我们学习 是为了解决具体问题-yuye先说结论:@Order 等注解不会影响类初始化加载顺序,目前还没有什么手段可以改变类初始化加载顺序@Order决定Bean的执行顺序Ordered 接口优先级 大于 @Order 注解优先级数值越小 优先级越高文章目录目标需要测试得到结论的场景测试代码 链接应用场景测试结果A版本B版本C版本D 版本目标需要测试得到结论的场景如果@Order Ordered 都在 哪个生效测试代码 链接https://gitee
2022-03-27 15:36:52
1061
原创 spring 源码解析(一)
spring源码 从0开始 下载到 编译 再到知识点 串起来,知识的积累 需要每天努力,一天都不能少。感谢您看我的博客,有什么建议 可以评论 或者私信我。感谢
2021-12-12 16:54:05
249
原创 User must be authenticated with Spring Security before authorization can be completed
问题提示User must be authenticated with Spring Security before authorization can be completed.背景是什么样子?怎么发生的?我们之前是自己公司内部开发前端,只要用spring security + oauth2 的密码模式就可以了,但是最近 因为一些商务问题,我们需要把其中几个模块给到 第三方开发(这里的第三方 还不是说 他现有系统需要接入我们,而是他们开发完,给我们,和我们系统属于同一个),后台我们可以通过给他们d
2021-06-20 08:15:43
1448
原创 定位java中 导出的问题,和优化
定位java中 导出的问题,和优化 准备工作找到经常使用的导出接口#定位java中 导出的问题,和优化准备工作首先我们既然知道 是导出占用内存的问题,那么我们就要找到 哪个接口是经常用,而且导出数量较多的,这样,我们修改了之后才能立刻看到 效果,方便验证找到经常使用的导出接口这个全靠业务,或者 命名的规范,比如说 导出都有excel登录nginx服务器,查询excel 的出现次数,先有一个大概我们nginx 今天之前的都会是*.gz 文件解压gzip -d *.log-20200728.g
2020-07-29 11:15:26
366
1
原创 springcloud saas平台开发 记录
首先是前后端分离 这里要感谢我的朋友 金在昊 帮助做前端方面的工作,以后每天打卡这里,大家有什么问题 可以直接评论首先目前进度:我这里的saas 就是 在正常的系统 上面加入公司 部门,我本来是希望 我把我做过的项目 都能通过saas 模式保留下来。目前进度:后台公司 部门开发完成网关 整合swagger 实现统一swagger文档 整合oauth2 进行权限控制 (我这里的安全体系 选择的是 cros -》 认证 -》 审计 -》 授权 -》 服务)(不足: 要控制到接口 )..
2020-06-08 18:02:25
769
原创 docker启动nacos 遇到的问题
问题:ERROR: for nacos Cannot start service nacos: driver failed programming external connectivity on endpoint sc-nacos-standalone (36358a2ef7be82e0234b962be541b065d6e303b3d5c4d89590b6ec771393afca): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp
2020-05-28 22:35:26
7522
2
原创 java 为什么int 转String 比较耗时
先看下结果Benchmark (status) Mode Samples Score Score error Unitsc.i.c.c.t.MyBenchmark.testObjectKey 1 thrpt 3 38419.106 9193.927 ops...
2020-01-21 20:18:33
410
原创 程序员日常工作总结2020-01-21
mysql 如果一个表有可能 并发比较高,请尽量拿自增id 作为主键这里就要说到自增作为主键 和 uuid 作为主键的区别: 自增主键 节省内存空间,是连续的,而uuid 是非连续的,内存使用率相差10倍以上 并发比较大的时候无论你程序写的多好,数据库设计的多完美,都有可能1s 进来很多条(这里代指20条),这个时候 除了避免这种情况,也要方便去重 那么怎么去重呢,...
2020-01-21 16:19:35
1136
原创 JMH Java怎么验证代码的性能
https://mp.weixin.qq.com/s?__biz=MzUzNTg5NzU3OQ==&mid=2247483677&idx=1&sn=11924600722516850b68438d4c4621e5&chksm=faff3599cd88bc8f62bd6827ec2135adeaa0eb737e859d860c85ced1d1541e7ec9c8f38...
2020-01-18 18:41:04
309
原创 jenkins 发布到windows 项目,包括同步项目代码 和 启动项目(后台运行)
jenkins 发布到windows 项目,包括同步项目代码 和 启动项目(后台运行)首先我想到的是 能不能像连接linux 一样去生成公钥 让其无密码登录各 服务器这里给一下基础条件1.jenkins 服务器 (linux)2.项目 (windows)连接linux的方法ssh-keygen -t rsassh-copy-id -i ~/.ssh/id_rsa....
2020-01-14 11:30:22
1377
1
原创 jvm哪些情况会导致 年轻代 越过 15年龄的限制 去到老年代
1.是哪些参数控制了 old:young 和 eden : from 和年轻代 到 老年代的年龄限制的2.哪些情况会导致 年轻代 越过 15年龄的限制 去到老年代大家应该知道 jvm 有年轻代 老年代 方法区等等 大概组成部分 如果不清楚,我这里给一张图这里以jdk8 为基准–XX:NewRatio:默认-XX:NewRatio=2 old:YOUNG =...
2020-01-07 09:28:43
1254
原创 linux 获取windows ftp 只能拿到部分 文件
linux 获取windows ftp 只能拿到部分 文件https://mp.weixin.qq.com/s?__biz=MzUzNTg5NzU3OQ==&mid=2247483663&idx=1&sn=e8ae80e7b1c4dc0738ee9b787b8a59b2&chksm=faff358bcd88bc9db36a5c9ebeee9ad8608ec4144...
2020-01-04 18:52:12
631
原创 单纯insert 自增主键 报Duplicate entry
https://mp.weixin.qq.com/s/IIU5J65SejI66CUlQ6lf3w
2020-01-02 18:24:07
771
原创 每日问题总结 2019-11-26
1.如果有一个现在未分库分表的 未来要分库分表 我们应该怎么设计 之后怎么操作才能切换到分库分表问题1 什么叫分库分表 分库分表作用问题2 分库分表常用中间件问题3 设计如何 分库分表的方案(水平拆分 垂直拆分 分表)问题4 怎么从 单库单表的系统 迁移到分库分表...
2019-11-26 14:03:46
208
原创 java 文件输出到浏览器 不要预览
正常 从ftp 拿文件 有可能根据 不同的浏览器 导致 直接预览文件 那么怎么避免呢,走后台 走输出流 response.reset(); response.setHeader("Pragma", "public"); response.setHeader("Cache-Control", "public"); ...
2019-11-26 13:56:37
985
原创 linux 和 windows怎么获取外网ip
linux 需要得到外网ipcurl ifconfig.me得到的就是你对外网的ip如果是windows 可以在百度中查询ip
2019-07-01 11:22:38
519
原创 java -jar 设置日志位置
我在部署项目的时候,java -jar 启动项目的时候,报错,需要看日志,但是没找到啊这里记录一下java -jar xxx.jar> 1.log
2019-05-30 17:25:20
16657
原创 线上一次Log引发的问题
现象:原本好使的代码,单纯查询分页功能 就加了一个aop拦截日志,就报错了原因:我是自定义@Log,然后aop拦截 打印日志,我在controller 方法参数中添加了HttpServletRequest request, HttpServletResponse response解决办法:1.把参数 request 和 response 去掉,因为这两个参数是servlet带的,...
2019-05-29 14:25:02
264
原创 JVM调优:Metaspace 元空间内存溢出问题
没想到我会遇到Metaspace 内存溢出的问题,我之前以为内存溢出都是堆的,这次知道了,记载一下首先 项目上线之一段时间之后,cpu标高表现:OutOfMemoryError:MetaSpace分析工具:VisualVM监控原因分析:Metaspace 是存类 方法的加载信息的1.Metaspace 设置小了2.持续创建类 导致Metaspace 元空间不够用M...
2019-05-28 19:46:54
13027
原创 this is incompatible with sql_mode=only_full_group_by
问题:> 1140 - In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column '****'; this is incompatible with sql_mode=only_full_group_by这个问题一般都是你的sql 没有group by ...
2019-05-28 17:31:40
309
原创 jvm 标记清除算法
jvm标记清除算法是gc回收的一种算法,在此之前有如何定位收集哪些内存?引用计数算法,可达性分析法标记清除算法:首先根据名字,是标记和清除两个步骤,先根据可达性分析法 得到哪些应该回收,然后先标记,之后Gc回收 清除,问题:先自己想想这种会有什么问题,标记,然后清除,速度上可能会有点慢,然后就是如果存对象,都不知道这个是不是标记的,需要加一层if(如果写代码),如果这样的话,是不是...
2019-05-24 16:39:52
1169
1
rocketmq-spring-rocketmq-spring-all-2.2.2.zip
2022-09-16
elasticsearch-7.5.2-linux-x86_64.tar.gz
2020-02-05
2020考生安全考试承诺书
2020-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅