- 博客(56)
- 收藏
- 关注
原创 Elasticsearch入门指南:从安装到实战
如果要让分词器支持一些专有词语,可以自定义词库。iK 分词器自带一个 main.dic 的文件,此文件为词库文件创建自己的扩展词典,然后在文件中配置,再重启ES。
2026-01-31 15:59:07
501
原创 RabbitMQ学习笔记
RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。简单模式,work模式,Publish/Subscribe发布与订阅模式,Routing路由模式,Topics主题模式,RPC远程调用模式(远程调用,不太算MQ;暂不作介绍);安装成功后,在sbin目录下cmd执行启动管理功能默认账号密码 guest1.导入依赖2.编写连接工具类。
2026-01-27 23:42:44
1049
原创 Redis学习笔记
Redis-Cluster的概念 Redis-Cluster采用无中心结构,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意一个节点,就可以获取到其他节点的数据。数据分散存储 Redis 集群并没有使用传统的一致性哈希来分配数据,而是采用另外一种叫做 哈希槽(hash slot) 的方式来分配的。
2026-01-22 18:32:30
863
原创 软件工程笔记2
通常包括:识别变更需求(如新功能、缺陷修复)、分析影响、修改代码、回归测试、版本发布等步骤,并可能伴随重构、架构调整或技术升级。”用户故事强调业务价值、简洁性和可沟通性,是需求分析和迭代计划的基础。场景(Scenario)是描述用户与系统在特定条件下交互的具体步骤和流程,用于说明“怎么用”,例如“用户点击‘忘记密码’,输入邮箱,收到链接,设置新密码并成功登录”。体系结构视图是从不同角度(如逻辑、开发、部署、运行等)描述软件系统结构的简化表示,帮助不同角色(如开发者、运维、用户)理解系统的某一方面。
2026-01-14 14:55:33
758
原创 软件工程笔记
核心概念扩展:软件定义:不仅仅是代码,还包括文档和数据。软件是逻辑产品,具有复杂性、不可见性、不断变化的特点。软件危机:20世纪60年代出现,表现为成本超支、进度延误、质量低劣。软件工程正是为解决这一危机而诞生的。非功能性需求:这是第一章的重点。它定义了系统的“属性”,如性能(响应时间)、安全性、可靠性、可维护性等。虽然不直接提供功能,但决定了系统的质量。职业道德:工程师不仅要对雇主负责,更要对公众安全和社会福祉负责。必须诚实守信,不隐瞒技术风险,尊重知识产权。
2026-01-13 09:50:07
297
原创 SpringCloud:Netflix 组件学习笔记
Spring Cloud 是一套基于 Spring Boot 的微服务开发工具集,用于快速构建分布式系统中的常见模式:服务发现配置管理负载均衡熔断器API 网关分布式追踪等它不是单一框架,而是一个生态整合平台,屏蔽底层中间件细节,让开发者专注业务。# 指定 user-service 使用随机策略ribbon:@FeignClient(name = "user-service") // 服务名需注册到 Nacos/Eureka。
2026-01-09 18:43:35
927
原创 计算机网络
连通性和共享性2.按照作用范围分类:计算机网络可以分为广域网(WAN),城域网(MAN),局域网(LAN),个人区域网(PAN)数据率/比特率,单位bit/s,bps最高数据率,表示网络中某信道传送数据的能力。单位时间内,通过某网络的实际数据量时延: 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延发送时延:又称为传输时延,指将数据从节点“推出”到通信链路上所需的时间,取决于数据包大小和链路传输速率。发送时延链路带宽()数据长度()传播时延:物理介质中从发送端传播到接收端所需的时间。
2026-01-04 19:05:28
726
原创 MyBatis框架入门:ORM持久层实战指南
mybatis是一个半自动化的持久层框架mybatis封装了jdbc的很多细节,开发者只需要关注sql本身,无需关注注册驱动 获取连接等操作mybatis使用ORM思想来对结果集一个封装优点简单易学:基于 SQL 编程,比 Hibernate 更易上手。减少样板代码:自动管理 JDBC 连接,无需手动开关。数据库兼容性强:只要 JDBC 支持(即有对应 Java 驱动),MyBatis 就支持。生态丰富:支持多种第三方插件(如分页、逆向工程)。无缝集成 Spring:与 Spring 框架良好整合。
2025-12-14 17:38:01
740
原创 SpringMVC入门指南
什么是SpringMvc:Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。它可以通过一套注解,让一个简单的Java类成为控制器,而无须实现任何接口。简单一句话:SpringMVC简化Servlet的开发!!请求重定向 return "redirect:/路径/完整资源名"// 请求重定向// or// 页面重定向请求转发 return "forward:/路径/完整资源名"// 请求转发// or// 页面转发特性。
2025-12-10 08:03:42
904
原创 Vue基础
钩子典型用途created发起网络请求、初始化数据mounted操作 DOM、集成第三方库清理资源(定时器、监听器)updated调试 DOM 更新(慎用)
2025-11-25 20:29:17
733
原创 Maven入门指南:构建与管理Java项目
Maven 是一个用于 Java 项目的构建和依赖管理工具。它通过pom.xml文件自动下载所需 jar 包、统一项目结构,并提供标准化命令(如编译、打包、测试)来简化开发流程。
2025-11-24 21:07:00
1641
原创 会话跟踪技术:Cookie与Session
用户打开浏览器访问 Web 服务器资源时建立会话,直到一方断开连接为止。一次会话中可包含。: 一种维护浏览器状态的技术,使服务器能识别多次请求是否来自同一浏览器,从而在。✅ 目的:解决 HTTP 协议无状态的问题,实现用户状态的持续管理(如登录保持、购物车等)。
2025-11-24 17:11:48
780
原创 Filter & Listener
概念: Filter 表示过滤器,是 JavaWeb 三大组件之一(Servlet、Filter、Listener)。作用: 过滤器可以拦截对资源的请求,在请求到达目标资源前或响应返回客户端前执行特定逻辑,从而实现一些特殊功能(如登录校验、字符编码设置、日志记录等)。一般完成一些通用的操作,比如:权限管理,统一编码,敏感字符处理...Listener 表示监听器,是 JavaWeb 三大组件之一(Servlet、Filter、Listener)。监听器用于监听sessionrequest。
2025-11-24 15:58:15
734
原创 Servlet核心技术
目录Servlet快速入门Servlet 执行流程Servlet 的生命周期Servlet 核心方法说明Servlet 体系结构Servlet 的 URL 映射配置XML 配置方式编写 ServletRequestRequest 体系结构Request 获取请求数据Request 请求转发ResponseResponse 体系结构Response 设置响应数据Response 完成重定向路径问题Response 响应字符数据Response 响应字节数据servlet是Java提供的一种开发动态web资源技
2025-11-24 15:04:37
1017
原创 Web请求乱码解决方案
/ 此时是乱码(ISO-8859-1 编码)或过滤器中统一设置 request/response 编码(避免每个 Servlet 重复写)。✅ 配置后,所有 GET 请求参数将自动按 UTF-8 解码,无需代码处理。// 先用 ISO-8859-1 获取原始字节,再用 UTF-8 重新解码。即使请求参数正确,如果响应未设置编码,返回给浏览器的中文仍可能乱码。解码请求体(request body),导致中文乱码。// 方式1:设置字符流编码(推荐用于文本)// 方式2:单独设置字符编码(较少用)
2025-11-24 12:51:49
332
原创 Tomcat
指 Java 企业级开发的技术规范总和,包含 13 项技术规范: JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。Web 服务器是一个应用程序(软件),对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作,让 Web 开发更加便捷。: Tomcat 是 Apache 软件基金会的一个核心项目,是一个开源免费的轻量级 Web 服务器,支持 Servlet/JSP,符合少量 JavaEE 规范。
2025-11-23 20:19:30
1107
1
原创 HTML + CSS
<div>等标签定义内容结构浏览器读取 HTML 文件后,将其渲染成你看到的网页不是编程语言,无需担心“逻辑复杂”一个最简单的 HTML 页面:<html><head><title>我的第一个网页</title></head><body><h1>欢迎来到我的网站!</h1><p>这是一个段落。
2025-11-23 18:03:05
831
原创 远程连接MySQL的5个关键条件
bind-address = 0.0.0.0 # ← 关键!port = 3306 # 默认端口(可省略)ip addr show # 或 hostname -I。🔒 安全建议:可限制只允许物理机 IP 访问。-- 确认存在 remote_user@%-- 授予特定数据库权限(按需调整)要成功远程连接,必须同时满足以下。-- 创建用户(% 表示任意主机),确保与物理机在同一局域网。-- 应显示 0.0.0.0。ping 虚拟机IP。ping 虚拟机IP。
2025-11-21 17:55:50
428
原创 CentOS7安装MySQL8.0完整指南
问题原因解决方案CentOS 7 已 EOL,官方源下线切换为阿里云归档源pkgconfig(openssl) 被 mysql-community-devel 需要缺少 OpenSSL 开发库安装mariadb-libs 被 mysql-community-libs 取代包冲突用自动替换,不要手动卸载权限不足Shell 重定向不受 sudo 控制改用sudo tee或首次登录需改临时密码执行ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
2025-11-21 17:20:55
518
原创 Java数据库连接JDBC
JDBC是Java Database Connectivity的缩写,是一种用于Java程序访问关系型数据库的API接口DriverManager(驱动管理类):注册驱动,加载适当的数据库驱动程序,获取数据库连接Connection(数据库连接对象):获取执行SQL的对象,管理事务管理事务开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。提交事务:commit();回滚事务:rollback();Statement(执行SQL语句)执行DML语句:
2025-11-21 09:09:14
267
原创 MySQL基础
MySQL 支持用户自定义函数(User Defined Function, UDF),但需注意以下几点:需要拥有权限;函数必须有明确的返回值;在定义函数体时,通常需要临时修改语句结束符(使用DELIMITER),以避免与函数内部的;冲突。示例:创建一个计算平方的函数RETURNS INT -- `RETURNS INT`:指定函数返回整数类型;READS SQL DATA -- `READS SQL DATA`:声明该函数会读取数据但不修改数据。
2025-11-20 16:24:33
1676
原创 第四章:进程同步
主要任务:使程序的执行具有可再现性进程间的制约关系间接相互制约关系(互斥关系)直接相互制约关系(同步关系)同步机制应遵循的准则空闲让进:当无进程处于临界区,应允许一个请求进入临界区的进程立即进入自己的临界区忙则等待:已有进程处于其临界区,其它试图进入临界区的进程必须等待;有限等待:等待进入临界区的进程不能"死等";让权等待:不能进入临界区的进程,应释放CPU(如转换到阻塞状态)软件同步机制是用来协调多个进程或线程对共享资源的访问,防止它们同时修改数据导致错误(比如两个人同时改同一个文件,结果乱了)。软件同步
2025-11-10 11:19:31
847
原创 第三章:处理机调度与死锁
高级调度:硬件到内存之间的调度,将外存上处于后备队列中的作业调入内存,也称为作业调度低级调度:内存到CPU之间的调度,决定就绪队列中的哪个进程应获得处理机,也称为进程调度中级调度:根据优先级,外存上的急需运行的进程调入内存运行,也称为内存调度调度程序分为三部分(进程调度的机制)排队器:用于将就绪进程插入相应的就绪队列分派器:用于将选定的进程移出就绪队列上下文切换器:进行新旧进程之间的上下文切换系统可以“打断”正在用CPU的进程,比如来了更紧急的任务,或者它用太久了,就把它暂停,让别人先用。
2025-11-09 16:24:04
581
原创 第一章:操作系统引论
配置了OS,可以使用编译命令将用户采用的高级语言编写的程序翻译成机器代码:提高系统资源的利用率,提高系统的吞吐量:能够方便的添加新的功能和模块,以及对原有功能和模块进行修改:遵循国际标准,凡遵循国际标准而开发的硬件和软件都能彼此兼容。
2025-11-08 16:17:51
425
原创 Spring
Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术。
2024-05-23 20:37:22
1061
1
原创 IO流入门
按照方向进行分类:输入流 输出流(相对于程序而言,从程序写数据到文件中是输出)按照传输类型进行分类:字节流 字符流组合: 字节输入流 字节输出流 字符输入流 字符输出流。
2024-04-09 11:03:30
751
原创 反射基础入门
而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.Student student = (Student) con4.newInstance("张三", 18);// 第一种方式 Class.forName("全类名") Chapter08.Student 最常用。Student S = new Student("zhangsan",23,"男");// 第三种方式 对象.getClass() 当有了这个类的对象时,才能够使用。// 1. 获取Class对象。
2024-04-07 22:50:13
1721
原创 Java多线程
每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位):同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是CPU调度的最小单位):线程开始并不一定立即执行,有CPU调度执行线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。多进程是指操作系统能同时运行多个任务(程序)。多线程是指在同一程序中有多个顺序流在执行。常用方法sleep(): 强迫一个线程睡眠N毫秒。
2024-04-07 20:45:00
871
1
原创 集合入门到进阶
3).如果算出的位置已经有元素,调用equalsf方法比较属性值,如果属性值一样不存入数据,如 果不一样,形成链表(8-之前,新元素存入数组,老元素挂在新元素下,8+之后,老元素存 入数组,新元素挂在老元素下)哈希表组成------------ jdk8- 数组+链表 jdk8+ 数组+链表+红黑树。//3. remove 删除对象 存在?第一个元素的内部会记录第二个元素的地址值,第二个元素的内部会记录第一个元素的地址值。Set系列集合:添加的元素是无序(存数据和取数据的顺序)、不重复、无索引。
2024-03-23 14:57:53
1933
1
原创 Java面向对象(下)
这是因为Lamdba表达式是基于函数式接口实现的,所谓函数式接口是指有且仅有一个抽象方法的接口,Lambda表达式就是Java中函数式编程的体现,只有确保接口中有且仅有一个抽象方法,Lambda表达式才能顺利地推导出所实现的这个接口中的方法。在JDK 8中,专门为函数式接口引入了一个@FunctionalInterface注解,该注解只是显示的标注了接口是一个函数式接口,并强制编辑器进行更严格的检查,确保该接口是函数式接口,如果不是函数式接口,那么编译器就会报错,而对程序运行并没有实质上的影响,
2024-01-01 22:17:14
1639
原创 SpringBoot+MyBatis-Plus实现CRUD
这个错误表示在处理请求时,出现了一个递归调用的无限循环,导致栈溢出。在impl中的方法实现类内,定义方法时,如果方法名和内部使用的方法名相同时,会出现递归调用,修改方法:修改两方法名中的一个。
2023-11-14 15:50:49
543
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅