- 博客(175)
- 收藏
- 关注
原创 Java研学-Elasticsearch(二)
本文介绍了Elasticsearch索引库和文档的基本操作。索引库部分详细说明了Mapping的核心属性(如类型、分词器、日期格式等),并提供了创建、查看、删除和修改索引库的DSL语法示例。文档操作部分则涵盖了新增、查询、删除和修改文档的基本方法。文章还包含多个可视化示例,展示了实际操作的请求和响应内容,帮助读者快速掌握Elasticsearch的基础数据管理功能。
2025-07-10 12:49:54
679
原创 Linux研学-环境变量
Linux环境变量与文件管理摘要 环境变量是操作系统存储配置信息的键值对,PATH变量尤为重要,它定义了命令搜索路径。Linux中可通过export临时设置或修改.bashrc/.profile永久生效。$运算符用于取值,需注意变量边界问题。自定义环境变量时需配置PATH并设置文件权限。文件传输可通过Xftp可视化操作或rz/sz命令实现。压缩解压常用工具包括tar(支持多种格式如.gz/.bz2)和zip/unzip,需掌握不同选项组合。关键命令如tar -zcvf压缩、tar -zxvf解压、zip -
2025-07-10 12:49:19
466
原创 Linux研学-资源监控
本文介绍了Linux进程基础知识和资源监控工具的使用。主要内容包括:1)进程概念,解释进程是程序的动态执行实例,拥有独立资源;2)常用命令如ps查看进程信息(-ef/aux选项)、kill终止进程(-9强制终止);3)top命令实时监控系统资源,详细解析其输出信息如CPU、内存使用率和进程状态。文章通过具体命令示例和参数说明,帮助读者掌握进程管理和系统监控的基本操作技能。
2025-07-09 10:31:56
982
原创 Linux研学-实用操作
本文总结了Linux常用操作技巧,包括:1)实用快捷键如强制停止程序(Ctrl+C)、退出账户(Ctrl+D)、历史命令搜索(Ctrl+R);2)软件安装方法(yum/apt命令)和服务管理(systemctl);3)时间相关操作(date命令、修改时区、NTP服务);4)域名解析原理及主机名配置;5)IP地址查看(ifconfig)和固定IP的重要性。这些技巧有助于提高Linux系统的使用效率和稳定性,适合运维人员日常参考使用。(149字)
2025-07-09 10:30:55
957
原创 Java研学-Elasticsearch(一)
Elasticsearch是一个基于Lucene的开源分布式搜索分析引擎,核心采用倒排索引结构实现高效全文检索。作为Elastic Stack(ELK)的核心组件,它与Kibana、Logstash、Beats共同构成完整的数据处理解决方案。文档是ES的最小数据单元,以JSON格式存储;索引则是文档的逻辑容器,类似数据库表。安装可通过Docker快速部署,需配置网络、存储等参数。ES适合处理日志分析、实时监控等大规模数据场景,支持近实时搜索和水平扩展,但缺乏严格事务支持。其查询语言DSL与SQL不同,需要单
2025-07-08 11:54:21
1659
原创 Java研学-MongoDB(四)
摘要:本文介绍了在SpringBoot项目中集成MongoDB的完整流程。首先导入MongoDB依赖,创建测试数据集合。配置文件中设置了MongoDB连接参数,实体类使用@Document和@Id等注解映射MongoDB文档结构。通过继承MongoRepository接口实现基础CRUD操作,并在Service层封装业务逻辑。测试类验证了查询所有评论和新增评论功能。项目展示了从环境搭建到数据操作的完整实现过程。
2025-07-08 11:52:58
330
原创 Java研学-MongoDB(三)
MongoDB文档操作与索引管理摘要 本文介绍了MongoDB文档查询统计、分页、排序、正则匹配、比较查询等常用操作语法,以及索引创建与管理方法。主要内容包括: 文档统计的精确与快速两种方法 分页查询的skip()和limit()使用 排序查询的sort()方法及执行顺序注意点 正则表达式查询和比较运算符的使用 包含查询($in/$all)和条件连接查询($and/$or) 索引类型介绍,包括单字段索引和复合索引 索引创建语法和查看方法 文中提供了大量实用示例代码,帮助理解各种查询和索引操作的实际应用。
2025-07-07 10:17:10
768
原创 Java研学-MongoDB(二)
MongoDB 基础操作摘要 数据库操作 show dbs 展示所有数据库 use dbname 创建/切换数据库(需插入数据后才会持久化) db 显示当前数据库 db.dropDatabase() 删除当前数据库 命名规则:禁用空格/$//等特殊字符,建议全小写,最多64字节 集合操作 db.createCollection("name") 显式创建集合 show collections 查看所有集合 db.collection.drop() 删除集合 插入文档可隐式创建集合 文档操作
2025-07-07 10:16:03
351
1
原创 Java研学-MongoDB(一)
MongoDB是一种高性能的NoSQL文档数据库,采用BSON格式存储数据,具备灵活的数据模型和强大的扩展性。与SQL数据库相比,MongoDB在概念上有对应关系(如Database、Collection对应Table),但支持更复杂的文档结构和嵌入式设计,适合应对"三高"需求(高性能、海量存储、高可用性)。典型应用场景包括社交、电商、物流和物联网等领域。部署方式分为Windows和Linux两种:Windows需下载社区版并配置数据/日志目录;Linux需下载tgz包,配置相关目录和防
2025-05-31 12:29:12
1473
原创 Linux研学-用户解析
Linux系统权限管理摘要 Linux系统中,root是最高权限账户(UID=0),可通过su命令切换用户身份,exit退出当前会话。sudo机制允许普通用户临时执行root权限命令,需在/etc/sudoers中配置权限。用户与用户组管理包括:使用useradd/groupadd创建、userdel/groupdel删除,通过usermod修改用户组归属,id和getent查看用户信息。文件权限由10位字符表示,包括类型(rwx)和三类用户权限。chmod命令修改权限,支持-R递归操作和符号/数字模式。关
2025-05-31 12:27:53
1023
原创 Linux研学-入门命令
Linux与Windows目录系统对比摘要(149字) Linux采用树型目录结构,以根目录"/"为核心,路径用"/"分隔,形成逻辑严密的层级体系,便于统一管理。Windows则采用盘符分区(C:、D:等),路径用""分隔,文件分散存储。Linux用户拥有专属/home目录存放个人文件,工作目录默认为当前操作位置。基础命令包括:ls(带-a-l-h选项列出内容)、cd切换目录、pwd显示路径、mkdir(-p创建多级目录)、touch创建文件。通过
2025-05-30 21:44:03
774
原创 Linux研学-环境搭建
本文介绍了Linux与虚拟机的基础概念及环境搭建方法。首先概述Linux系统的核心组件(内核、Shell、文件系统等)和虚拟机的工作原理(通过hypervisor实现硬件虚拟化)。随后详细讲解环境搭建步骤:1)安装VMware虚拟机软件;2)下载CentOS7镜像并创建虚拟机;3)使用Xshell远程连接Linux系统;4)绑定网卡固定IP地址;5)创建虚拟机快照便于系统恢复。文章提供多张操作示意图,涵盖从软件安装到网络配置的完整流程,帮助用户快速构建Linux开发环境,特别强调了快照功能对系统保护和测试的
2025-05-30 21:43:28
1750
原创 Java研学-Restful API开发
本文介绍了两种主要的API类型及其特点:SDK类API和Web应用接口类API。SDK类API通过封装功能模块提供高效复用和深度定制,适用于专业场景;Web应用接口类API基于HTTP协议实现跨系统远程协作,具有无界兼容性和解耦开发优势。文章详细阐述了RESTful API的设计原则与实现方式,包括资源路径设计、HTTP方法约定和响应格式规范,并通过一个Spring Boot的入门Demo展示了员工管理的CRUD操作实现,涵盖列表查询、新增和更新功能。最后通过Postman演示了API的实际调用效果。
2025-05-28 11:11:22
527
原创 Java研学-MybatisPlus(四)
MyBatis Plus分页插件使用指南:介绍了如何配置分页插件,包括不同JDK版本的依赖引入方式、拦截器配置方法。详细演示了分页查询的实现步骤,包括创建分页对象、设置排序参数等。文章还讲解了通用分页实体类的设计,以及如何将查询结果封装到分页DTO中返回。最后通过一个用户分页查询的完整案例,展示了从Controller到Service的实现过程,并附有测试结果截图。
2025-05-28 11:10:35
216
原创 Java研学-MybatisPlus(三)
本文介绍了MyBatisPlus的三大扩展功能:1)代码生成器,通过插件自动生成实体类、Mapper等代码;2)DB静态工具,提供静态CRUD方法避免循环依赖,并展示了多表查询示例;3)逻辑删除功能,通过配置实现软删除而不实际删除数据。文中详细演示了代码生成器的安装配置、多表查询的实现步骤以及逻辑删除的配置方法,配有SQL代码示例和接口测试效果图,全面展示了MyBatisPlus的高级应用场景。
2025-05-27 15:58:00
531
原创 Java研学-MybatisPlus(二)
MyBatis-Plus实现CRUD与Restful接口开发 本文介绍了使用MyBatis-Plus框架实现CRUD操作和Restful风格接口的开发流程。主要内容包括: Service层实现:通过继承IService接口及其实现类快速完成CRUD功能 Restful接口开发:结合Swagger生成API文档 分层设计:采用DTO/PO/VO分层实体设计,使用BeanUtil进行对象属性拷贝 接口实现:包含增删改查等典型Restful接口示例,如批量查询、资源扣减等操作
2025-05-27 15:56:36
270
原创 Java研学-MybatisPlus(一)
利用Wrapper构建where条件后,自定义sql仍需处理的部分,把mp构建好的条件传递给mapper层,在mapper或mapper.xml中实现sql的组装,不在业务层编写sql遵守企业规范,在mapper方法参数中Param声明Wrapper变量名称必须是ew① 基于Wrapper构建where条件// 基于原有基础批量更新@Test// 1.更新数据// 2.构建查询条件// 3.自定义sql,方法参数中Param声明Wrapper变量名称必须是ew。
2025-04-18 14:11:29
728
原创 Java研学-Git(二)
Git 远程仓库是网络上用于存储和共享 Git 版本控制项目代码的服务器。它能实现代码共享与协作,方便团队成员推送和拉取代码;具备代码备份功能,即便本地数据丢失也可从远程恢复;还能配合本地仓库更好地管理项目版本。常见的远程仓库服务提供商包括 GitHub、GitLab和Gitee(国内代码托管平台,速度更快)。
2025-04-18 14:10:50
684
原创 Java研学-Git(一)
分支(Branch) 是Git中的一个指针,指向某个提交(commit)。它是一个独立的开发线,可在不影响主分支(如main或master)的情况下进行开发。可以随时创建、切换、合并或删除分支。分支允许开发者在同一个代码库中并行开发多个功能或修复多个问题,而不会相互干扰。
2025-04-16 09:33:59
1553
原创 Java研学-Activiti7工作流(五)
① 绘制bpmn,将任务处理人设置为变量,可让用户自行选择任务处理人② 可在对应的bpmn文件中查看是否设置成功③ AssigneeUELDemo – 测试类。
2025-04-16 09:33:26
410
原创 Java研学-Activiti7工作流(四)
若公司制度改变,更换人事经理。则旧的人事经理将未审核的信息都审核完毕才能换任,此时挂起流程定义,已经在运行的流程实例可以继续运行,但不能发起新的流程实例。若流程业务为start→A→B→C→end当C的业务逻辑需和第三方接口交互,但接口出问题了,剩下的流程都走到C执行业务逻辑就会报错,此时应挂起流程定义的同时挂起流程实例,等待接口可用后重新激活流程。业务流程发生改变,已经发起的流程实例继续按照旧的流程走,如果新发起的流程就按照新的业务流程走。这时就需要挂起流程定义,但是不挂起流程实例。
2025-04-15 09:44:19
316
原创 Java研学-Activiti7工作流(三)
① 绘图后为该流程赋予Id与Name,流程Id是流程定义的唯一标识符,用于在系统中唯一地识别一个流程。这有助于在数据库、日志、监控工具等中准确地引用和跟踪特定的流程实例。通过流程Id,可以在流程引擎中启动一个新的流程实例。例如,在Activiti或Camunda等BPM(业务流程管理)平台中,可以使用流程Id来触发流程的执行。流程Id还可以用于版本控制,特别是在流程定义发生变更时。通过为不同的版本分配不同的流程Id(或使用版本号与流程Id结合的方式),可以方便地管理和跟踪流程定义的变更历史。
2025-04-15 09:43:23
531
原创 Java研学-Activiti7工作流(一)
Activiti 7是一个开源的、轻量级的工作流和业务流程管理(BPM)平台,基于 Java 开发,支持 BPMN 2.0 标准,专为现代云原生架构设计。它提供了强大的流程引擎、丰富的 RESTful API 和事件驱动架构,能够无缝集成 Spring Boot 和微服务环境。Activiti 7 支持多租户、任务管理、流程监控和历史数据查询,适用于业务流程自动化、审批流程、任务调度等场景,帮助企业实现高效、灵活的流程管理。
2025-04-14 11:15:05
1487
原创 Java-常见面试题收集(二十)
CAP 定理是由加州⼤学伯克利分校 Eric Brewer 教授提出来的,他指出 WEB 服务⽆法同时满⾜⼀下 3 个属性:⼀致性(Consistency) : 客户端知道⼀系列的操作都会同时发⽣(⽣效)可⽤性(Availability) : 每个操作都必须以可预期的响应结束分区容错性(Partition tolerance) : 即使出现单个组件⽆法可⽤,操作依然可以完成在分布式系统中,⼀个 Web 应⽤⾄多只能同时⽀持上⾯的两个属性。因此,设计⼈员必须在⼀致性与可⽤性之间做出选择。
2024-09-27 16:28:55
666
原创 Java研学-POI导入导出
POI简介(Apache POI),是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。本文以Excel为例。
2024-09-26 14:20:39
553
原创 挑选合适的编程工具
选择合适的编程工具是提升开发者工作效率的关键一步。通过明确项目需求、调研试用、制定选型标准以及持续优化等策略,我们可以找到最适合团队和项目的工具组合。随着技术的不断进步和创新,我们相信未来将有更多高效、智能的编程工具涌现出来,为软件开发行业带来更多的变革和机遇。让我们保持学习和探索的热情,不断拥抱新技术和新工具,共同推动软件开发的进步与发展。
2024-09-24 13:38:46
660
原创 Java研学-数据字典(一)
在项目中会有很多的下拉框,这些下拉框的特点,就是以键值对的形式存在,其中 value(如 id:1,2… ),key(展示给用户的内容),数据库中可通过 value 寻找对应的 key,对于固定的内容可使用数据字典形式进行填写,防止出错。 实现方案: 1.直接硬编码写在html代码中(升级复杂,维护困难) 2.为每个下拉框都设计一个表,然后提供CRUD功能(表单中下拉框很多,内容相似,没必要每个都配,只特殊情况下使用) 3.使用数据字典的方式(维护项目中所有的下拉列表) sys_dic
2024-09-23 09:10:31
1837
原创 AI时代保持并提升自身的核心竞争力
另一方面,程序员也需要不断学习和适应新的工具和技术,以充分利用AI带来的便利。此外,随着AI在软件开发流程中的深入应用,程序员还需要具备与AI协同工作的能力,包括理解AI的工作原理、评估AI生成代码的质量以及调整AI的工作参数等。同时,随着AI技术的不断成熟和普及,软件开发行业的竞争也日益激烈,程序员需要不断提升自己的技能水平和综合素质以应对挑战。这包括理解AI的工作原理、评估AI生成代码的质量以及调整AI的工作参数等。程序员需要保持对新技术和新知识的敏感度,不断学习和掌握新的技能和方法。
2024-09-23 09:09:18
656
原创 有于AI想法
专业型 AI 模型由于专注于特定领域,可能在特定的环境下表现出较高的鲁棒性,但在面对其他领域的变化时可能适应性较差。这样,在需要扩展模型的功能时,可以通过添加新的模块来实现,而不会影响到其他模块的性能。同时,还可以考虑使用迁移学习等技术,将在一个领域学到的知识和技能迁移到其他领域,提高模型的可扩展性。在不同场景和应用中进行灵活切换时,可以根据具体的任务需求选择合适的模块组合,提高模型的适应性和推广性。在 AI 模型的开发、使用和推广过程中,必须遵循一定的道德规范和法律限制,以保护用户的隐私和权益。
2024-08-29 14:12:19
387
原创 国产游戏开发一路向好
技术创新与研发投入:游戏体验与玩法创新:全球化竞争与本地化:技术融合与创新:文化融合与国际化:市场扩张与消费升级:提升游戏品质与体验:推动玩法与模式创新:促进产业升级与转型:
2024-08-29 14:07:56
380
原创 Java研学-Shiro安全框架(六)
每当应用程序进行鉴权的时候,都会调用Realm中的doGetAuthorizationInfo来获取用户的角色信息/权限信息,这个方法是需要访问数据库的. 而用户的角色信息/权限信息基本上是不变的, 所以目前我们的程序是每次鉴权都需要访问数据库,而且返回的数据都是一样的.因此可以集成EhCache,将角色信息/权限信息都缓存起来,只有用户第一次鉴权的时候才会查询数据库,后续的鉴权都直接从缓存中获取.
2024-08-28 14:41:27
1111
原创 在数字化时代提升团队应急处理能力
在数字化时代,软件服务的稳定性是企业竞争力的核心。面对突发的技术故障,开发团队需要快速响应、高效解决问题,并从中吸取教训以防患未然。通过建立应急响应团队、制定详细的应急预案、使用先进的监控和报警系统、快速定位与修复以及透明沟通与用户安抚等策略,可以有效提升团队的应急处理能力。同时,从故障中吸取教训、优化系统设计与运维流程、加强团队培训与技能提升以及建立故障报告与激励机制等措施,有助于团队在日常工作中不断积累经验和提升能力。
2024-08-28 10:52:41
1236
原创 编程学习之路:跨越挫折,点亮希望之光
在编程学习的道路上,挫折和困惑是不可避免的。然而,正是这些挫折和困惑塑造了无数编程高手的坚韧和智慧。他们通过不断地学习、实践和思考,找到了突破的方法,成为了编程领域的佼佼者。他们的经验告诉我们,只要保持积极的心态、学会分解问题、善于利用资源、保持学习的热情并注意休息和放松,我们也能够克服挫折,走向成功。因此,让我们在编程学习的道路上相互鼓励、相互支持。当我们遇到挫折和困惑时,不要害怕寻求帮助和支持。相信在我们的共同努力下,我们一定能够点亮希望之光,走向更加美好的未来!
2024-08-27 08:40:25
855
原创 程序员成长的探索
在日常编码工作和自我提升之间找到平衡,是程序员们实现职业发展和个人成长的关键。通过合理的时间管理和学习策略,程序员们可以在高效工作的同时,持续推动自我提升。同时,通过积极参与团队内部的知识分享和交流活动、寻求与同事或同行的合作机会、参与开源项目或技术社区的建设和维护工作等方式,程序员们可以在日常编码工作和自我提升之间架起一座友谊、互利的桥梁。在未来的编程世界中,程序员们将面临更多的挑战和机遇。只有不断学习和适应变化,才能在激烈的竞争中脱颖而出。
2024-08-27 08:38:09
967
原创 Java研学-Shiro安全框架(五)
/ 自定义异常(向让用户看到的)// 异常也分为页面异常和 ajax 请求的异常。// ajax 请求try {} else{// 页面请求// 系统异常(不想让用户看到的)// 异常也分为页面异常和 ajax 请求的异常。// ajax 请求try {response.getWriter().write(new ObjectMapper().writeValueAsString(new JsonResult(false,"系统繁忙,请联系管理员")));
2024-08-26 13:24:15
1694
原创 记笔记方法
总之,高效的笔记记录和整理方法对于编程学习至关重要。通过选择合适的笔记工具、设计清晰的笔记结构以及制定有效的实践与复习策略,我们可以打造一个属于自己的编程学习“知识宝库”,为我们的编程之路提供有力的支持。电子文档(如 Word、Notepad++等)在线笔记工具(如印象笔记、OneNote 等)
2024-08-26 09:41:20
491
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人