java学习
文章平均质量分 76
kill bert
在深度学习的小菜鸡
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第30周Java分布式入门 消息队列 RabbitMQ
主要步骤: 启用管理后台插件、访问管理后台、查看概览信息、配置用户权限。Fan Out: 广播模式,所有绑定的队列都会收到相同的消息。Direct: 直接模式,根据路由键选择性地转发消息。Topic: 主题模式,支持模糊匹配路由键。Headers: 根据消息头属性匹配,较少使用。整合步骤: 创建Spring Boot项目,配置RabbitMQ,编写生产者和消费者代码。发送消息: 使用的方法发送消息。接收消息: 使用注解监听队列,并处理接收到的消息。Topic模式。原创 2025-04-01 10:57:34 · 1240 阅读 · 0 评论 -
第30周Java分布式入门 docker
Docker定义:Docker是一个容器技术,官网更新快,有新版公告、合作企业、应用广泛程度介绍。Docker与容器的关系:Docker是一种容器技术,性能更好,特性更丰富,应用更广泛。主要工作:生成并运行 Docker 容器。命令使用:help:查看 Docker 命令帮助。pull:拉取 Ubuntu 镜像。run:运行容器并进入交互模式。换源技巧:解决国内网络访问 Docker 中央仓库的问题。搜索镜像:使用search命令查找相关镜像。原创 2025-03-28 11:21:17 · 1183 阅读 · 0 评论 -
第30周Java分布式入门 分布式基础
*一致性(Consistency)**🌟所有节点同时看到相同数据。如:节点1写入X=100后,节点2读取必须也是100。**可用性(Availability)**🌟每次请求都能获得有效响应。如:购物网站必须即时显示商品库存(即使数据可能不是最新)。**分区容错性(Partition Tolerance)**🌟网络故障时系统仍可运行。如:跨国服务器集群能容忍中美海底光缆中断。维度集群分布式部署内容同一项目的多个副本不同项目/模块部署核心目的分散压力、负载均衡多节点协同工作协作方式无需业务协作。原创 2025-03-28 10:35:39 · 1032 阅读 · 0 评论 -
第30周Java分布式入门 ThreadLocal
通过以上代码示例,我们逐步展示了如何使用ThreadLocal解决多线程环境下工具类实例的线程安全问题。最终方案不仅保证了线程安全,还避免了synchronized带来的性能损耗,实现了高效的内存利用。每个线程都有自己的独享对象,不同线程之间互不干扰,完美契合了ThreadLocal的设计初衷。在这个示例中,我们通过 ThreadLocal 在不同的方法之间共享了 User 对象,而无需通过参数传递。每个线程都有自己的 User 对象副本,避免了线程安全问题,同时提高了代码的可读性和维护性。原创 2025-03-25 21:09:04 · 1187 阅读 · 0 评论 -
第30周Java分布式入门 线程池
线程池是处理线程时非常有用的工具,学好线程池能够让我们对线程的掌控能力大幅提升。线程池的出现是为了解决任务执行时频繁创建和销毁线程带来的性能开销问题,它能够复用已有的线程,提高程序的执行效率。原创 2025-03-25 18:36:14 · 424 阅读 · 0 评论 -
第29周 面试题精讲(5)
TCP 三次握手过程是怎样的?原创 2025-03-19 11:01:55 · 760 阅读 · 0 评论 -
第29周 面试题精讲(4)
问题:什么是观察者模式,它的应用场景有哪些?答案定义:定义对象间一对多依赖关系,当一个对象状态改变时,所有依赖对象自动更新。角色目标(Subject):被观察对象,维护观察者列表,提供注册、移除、通知方法。观察者(Observer):抽象角色,定义更新接口。具体目标:实现目标类,维护自身状态,状态变化时通知观察者。具体观察者:实现观察者接口,维护指向目标的引用,实现更新逻辑。使用场景界面交互(如按钮点击事件)。数据变化联动(如在线拍卖新出价通知其他出价者)。原创 2025-03-18 23:01:56 · 738 阅读 · 0 评论 -
第29周 面试题精讲(3)
问题:MyBatis 中支持的缓存淘汰策略有哪些?答案FIFO(先进先出):先进入的缓存数据优先被淘汰。LRU(最近最少使用):常用策略,最近频繁访问的数据保留,长时间未访问的数据优先淘汰。SOFT(软引用):基于 JVM 的垃圾回收机制,内存不足时清理软引用数据。WEAK(弱引用):比软引用更积极,垃圾回收时会清理弱引用数据。问题:MyBatis 如何获取新记录的自增主键?答案对于支持自增主键的数据库(如 MySQL、SQL Server)在<insert>标签中设置,并指定和。原创 2025-03-18 22:32:27 · 430 阅读 · 0 评论 -
第29周 面试题精讲(2)
问题:在Spring中使用了哪些设计模式?答案工厂模式:IOC容器作为对象工厂,根据配置信息动态创建对象,如和。单例模式:Spring容器默认以单例模式管理Bean,确保每个Bean在容器中只有一个实例。代理模式:AOP功能的底层实现,通过代理对象为原始对象增加额外功能,如JDK动态代理和CGLIB代理。适配器模式:AOP中的通知机制使用适配器模式将不同类型的通知适配到统一的拦截器链中。观察者模式:Spring事件驱动模型中,应用上下文发布事件,监听器监听并响应事件。模板方法模式。原创 2025-03-18 22:22:57 · 991 阅读 · 0 评论 -
第29周 面试题精讲(1)
【代码】第29周 面试题精讲(1)原创 2025-03-18 22:07:57 · 652 阅读 · 0 评论 -
第27周JavaSpringboot git初识
命令描述git init创建新的 Git 项目git clone克隆远程项目git add将文件添加到暂存区git commit提交变更git status查看当前状态git log查看提交历史git branch查看或创建分支切换分支git merge合并分支git push将本地代码推送到远程仓库git pull拉取远程代码git reset回退版本git stash暂时存储未提交的变更git diff查看差异在单人开发中,主要关注基本工作流程和实际开发场景中的问题解决。原创 2025-03-17 22:09:01 · 2254 阅读 · 0 评论 -
第27周JavaSpringboot 前后端联调
dist 文件夹:项目部署上线后生成的文件夹,包含压缩后的 CSS、图片、JS 文件等,用于服务器部署。node_modules 文件夹:存放项目依赖,通过 Yarn 安装。public 文件夹:存放公共静态资源文件。src 文件夹:主要编写内容,包含 assets(图片等资源)、components(组件)、pages(页面)、router(路由)等。:定义项目依赖、版本等信息,用于依赖下载。readme:提供项目操作说明,如安装、启动、打包命令。yarn.lock。原创 2025-03-13 22:58:27 · 838 阅读 · 0 评论 -
第27周JavaSpringboot Nginx
功能与用途Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。它被广泛用于构建高性能、高可用性的 Web 应用。优点高性能,支持高并发。资源消耗少,运行稳定。功能丰富,配置灵活。社区活跃,文档丰富,问题易于解决。流行原因优秀的性能表现,能够处理高并发请求。低资源消耗,适合各种规模的应用。稳定性强,适合长时间运行的服务。丰富的功能和灵活的配置满足多种需求。活跃的社区支持,便于解决问题和获取资源。原创 2025-03-12 23:09:12 · 840 阅读 · 0 评论 -
第27周JavaSpringboot电商进阶开发 3.常见问题解答
String:最基本的数据结构,以键值对的形式存储,常用于缓存、共享Session等场景。Hash:类似于Java中的HashMap,适合存储对象,例如班级学生家庭住址统计。List:类似于Java中的LinkedList,适用于需要频繁插入和删除操作的场景,如商品列表或用户列表。Set:类似于Java中的HashSet,存储无序且不重复的元素,可用于存储中奖用户ID等。ZSet(有序集合):在Set的基础上增加了排序功能,适用于排行榜等需要排序的场景。原创 2025-03-12 22:26:53 · 561 阅读 · 0 评论 -
第27周JavaSpringboot电商进阶开发 2.常用功能进阶
Apache POIApache POI特点:用于处理Microsoft文档的Java API,包括Excel、Word、PPT等。从4.0版本开始,需要Java 8或更高版本。支持处理Excel(.xls和.xlsx)、Word(.doc和.docx)、PPT(.ppt和.pptx)等格式。Maven依赖可直接引入,无需手动下载。阿里EasyExcel阿里EasyExcel特点:阿里巴巴出品,基于语雀展示。主要解决内存溢出问题,适合处理超大Excel文件。原创 2025-03-12 19:21:19 · 898 阅读 · 0 评论 -
第27周JavaSpringboot电商进阶开发 1.企业级用户验证
通过校验邮件地址合法性、检查是否已注册、限制重复发送以及使用 Redis 缓存验证码,完善了邮件发送接口的功能,提高了系统的安全性和稳定性。调整入参增加(邮箱地址)和(验证码)两个参数。增加校验非空校验:对邮箱和验证码进行非空校验,新建异常类26email不能为空和27验证码不能为空。邮箱是否已注册校验:调用方法,判断邮箱是否已被注册。邮箱和验证码匹配校验:在中新增方法,通过 Redis 获取存储的验证码并与用户传入的验证码进行比对。数据存储注册成功时,将邮箱地址存入数据库用户表中。原创 2025-03-11 22:40:27 · 1461 阅读 · 0 评论 -
第25周JavaSpringboot实战-电商项目 4.商品分类管理
【代码】第25周JavaSpringboot实战-电商项目 4.商品分类管理。原创 2025-02-25 23:22:31 · 973 阅读 · 0 评论 -
第25周JavaSpringboot实战-电商项目 3.用户模块
定义注册方法参数:添加注解:在exception包下创建类。该类负责统一拦截异常,并返回标准化 API 响应。// 处理系统异常(Exception)// 处理业务异常(IMockMoreException)业务异常和系统异常进行区分,便于前端解析。SYSTEM_ERROR(20000, "系统异常"),USERNAME_DUPLICATE(10001, "用户名已存在"),USERNAME_EMPTY(10002, "用户名不能为空");原创 2025-02-24 19:07:39 · 1240 阅读 · 0 评论 -
第25周JavaSpringboot实战-电商项目 2.数据库准备和项目初始化
本模块主要包含以下三个部分:用户表(imook_user)目录表(imook_category)商品表(imook_product)购物车表(imook_cart)订单表(imook_order)订单项目表(imook_order_item)在本项目中,我们选择了以下主要的软件和版本:Spring Boot 2.2.1 Release:此版本是稳定版,我们在前面Spring Boot入门时已经详细介绍过,因此这里不再重复。我们选择了稳定版来确保系统的稳定性。MyBatis:我们选择了 MyBatis 而不是原创 2025-02-18 16:13:13 · 817 阅读 · 0 评论 -
第25周JavaSpringboot实战-电商项目 2.开发工具准备
IDEA 插件可以极大地提升开发效率。作用:用于 Maven 项目的依赖管理和问题排查。安装方法打开 IDEA 设置(Preferences)。进入 Plugins 选项卡。搜索 Maven Helper 并安装。如果未启用,点击 Enable 激活。注意:Maven Helper 是 Maven 项目中非常重要的插件,建议始终安装并启用。作用:帮助跳转到 MyBatis 的映射文件,并识别其中的语法错误。安装方法在 Plugins 选项卡中搜索 Free MyBatis tool。原创 2025-02-15 16:05:39 · 622 阅读 · 0 评论 -
第25周JavaSpringboot实战-电商项目 1.项目介绍
课程介绍为什么选择电商系统电商系统的技术和模块优势项目亮点与功能模块学完课程后的收获掌握的 Spring Boot 知识点项目亮点在面试和晋升中的价值回顾项目中的难点和重点便于面试前快速复习用户模块注册、登录、更新签名、身份认证、登出商品分类模块多级目录展示(递归查询)使用缓存(Redis)提升效率商品模块搜索功能(按关键字、排序)商品列表展示、按目录筛选、商品详情购物车模块添加商品、显示列表、更改数量、删除商品勾选、反选、全选功能订单模块。原创 2025-02-15 15:55:26 · 398 阅读 · 0 评论 -
第25周Java主流框架实战-springboot入门 4.配置详解
以上是本课程的笔记内容,希望对你有所帮助!原创 2025-02-15 15:06:59 · 283 阅读 · 0 评论 -
第23周Java主流框架入门-SpringMVC 3.拦截器
通过在中配置不同的Appender,可以将日志输出到多个地方,例如控制台和文件。日志文件按天滚动:每一天生成一个新的日志文件,便于管理和分析。灵活性:可以根据日志级别和具体的拦截器配置不同的日志输出方式。用户流量拦截器:通过 Spring MVC 的拦截器机制可以方便地收集用户请求数据。Logback 日志组件:提供了强大的日志管理功能,可以将用户访问日志按天记录到文件中,方便后期分析。应用场景:日志信息的收集有助于电商网站的用户行为分析,有助于制定更加精准的营销策略。用户流量拦截器。原创 2024-10-23 22:52:50 · 1405 阅读 · 0 评论 -
第23周Java主流框架入门-SpringMVC 2.RESTful开发风格
REST:代表 “表现层状态转换(Representational State Transfer)”,是一种理念,强调通过 URL 访问资源。RESTful:基于 REST 理念发展出的一种开发风格,用于指导如何设计 Web 服务。RESTful 开发风格是一种现代化的 Web 服务设计方式,适合多样化客户端需求。通过标准化的资源访问、明确的请求方法和专注数据的理念,提供了前后端分离开发的有效解决方案。原创 2024-10-22 21:55:39 · 798 阅读 · 0 评论 -
第23周Java主流框架入门-SpringMVC 1.SpringMVC入门与数据绑定
MVC 架构模式Model(模型):代表业务逻辑和数据,与 Java 代码中的业务部分对应。View(视图):界面部分,用于与用户交互,如显示查询结果、接收表单输入。Controller(控制器):中介,接收视图传入的数据,调用业务逻辑,并将结果返回视图。为什么使用 Spring MVC传统的 Servlet 使用较为复杂,Spring MVC 提供了更简便的方式,简化 Web 应用程序的开发。原创 2024-10-22 20:34:38 · 1050 阅读 · 0 评论 -
第21~22周Java主流框架入门-Spring 2.SpringAOP面向切面编程
本节课程将通过实际项目配置,带领大家一步一步理解Spring AOP(面向切面编程)的功能。我们将基于 XML 配置的形式来实现 AOP,并通过演示了解 AOP 如何对现有系统进行功能扩展,而无需修改源代码。本次演示基于s01工程,其中包含了两个主要部分:DAO 层:包括和UserDao,分别用于对员工表和用户表的数据增删改查。Service 层:包括和,分别提供了员工相关的业务逻辑和用户管理的业务逻辑。:提供entry方法,模拟员工入职操作。:提供createUser方法(创建用户)和。原创 2024-10-17 23:13:19 · 1210 阅读 · 0 评论 -
第21~22周Java主流框架入门-Spring 1SpringIoc容器与Bean管理
本节课介绍了 Spring 框架中的核心概念——IOC(控制反转)和 DI(依赖注入)。Spring 是 Java 生态中最重要的框架之一,几乎所有的 Java 项目开发都会使用它。理解 Spring 的 IOC 和 DI 是进入实际开发的关键。2.Spring IOC 容器中的依赖注入2. 1. 依赖注入的概念依赖注入是将对象之间的依赖关系通过Spring IOC容器动态注入,而不是通过代码中的 来创建依赖对象。使用 标签进行属性的静态值注入。 标签的两个属性:例如,为 对象的 属性赋值为原创 2024-10-15 22:59:20 · 860 阅读 · 0 评论 -
第19周JavaWeb编程实战-MyBatis实现OA系统 3.Redis入门
NoSQL 数据库不局限于 SQL 的关系型数据结构,通常采用键值对(Key-Value)形式存储数据。与关系型数据库的区别关系型数据库的典型特征是表结构、主键、外键以及复杂的表关系(如一对一、一对多、多对多)。关系型数据库在处理大规模数据或分布式数据扩展时效率较低,而 NoSQL 数据库可以有效应对这些挑战。NoSQL 数据库适合处理非结构化数据,具有高可扩展性和灵活性。原创 2024-10-13 22:22:29 · 984 阅读 · 0 评论 -
第19周JavaWeb编程实战-MyBatis实现OA系统 2.Linux基础和Java环境搭建
Linux:开源、基于X86架构的类Unix多用户操作系统。开源:程序员可以自由修改和封装。类Unix:类似于Unix,具有多任务、多用户和高效率特点。X86架构:兼容市面上大多数计算机硬件。Linux内核:Linux的核心部分,管理硬件和基础功能。发行版本:第三方厂商基于Linux内核进行扩展和封装,形成不同的操作系统版本,添加了额外功能和用户界面。CentOS基于Red Hat Enterprise Linux (RHEL) 的开源产品。原创 2024-10-12 22:08:43 · 783 阅读 · 0 评论 -
第19周JavaWeb编程实战-MyBatis实现OA系统 面试题解析
底层的数据持久层通过MyBatis的Mapper完成数据库的增删改查,向上推进是Service业务逻辑层,负责处理业务逻辑并完成业务功能,再往上是Controller控制层,负责接收来自前端的数据,调用不同的业务逻辑实现功能,最终返回处理结果到视图层。本次项目基于MVC模式进行开发,底层数据库采用的是MySQL,数据库交互使用的是MyBatis框架,数据源使用了阿里巴巴的Druid,控制层使用Servlet 3.1,前端表示层的开发基于Vue 3与Element Plus实现的。这三点是项目中的主要亮点。原创 2024-10-11 21:26:50 · 730 阅读 · 0 评论 -
第19周JavaWeb编程实战-MyBatis实现OA系统 1-OA系统
*OA系统(Office Automation)**旨在用软件技术替代传统的纸质办公流程,将办公数据数字化,提高办公效率和执行效率。主要职责是构建单位内部办公平台,辅助办公,如请假申请、审批流程、工作汇报等。原创 2024-09-28 21:52:46 · 358 阅读 · 0 评论 -
第18周 3-过滤器
本节课探讨了过滤器的配置形式与注解形式各自的优劣,并提供了一些使用建议。原创 2024-09-26 22:15:20 · 1100 阅读 · 0 评论 -
第18周 2-正则表达式
元字符是指在正则表达式中用于匹配特定字符类型的特殊字符。它们通过特定的符号表示一类字符,而不是单个字符,具有特殊的含义。\d: 匹配任意一个数字字符(0-9\D: 匹配任意一个非数字字符,与\d相反。\w: 匹配任意一个字母、数字或下划线字符(a-zA-Z0-9\W: 匹配任意一个非字母、非数字、非下划线的字符,与\w相反。\s: 匹配任意一个空白字符(空格、制表符、换行符等)。\S: 匹配任意一个非空白字符,与\s相反。: 匹配任意一个字符(不包括换行符)。\.: 匹配一个普通的点号(原创 2024-09-26 20:36:49 · 1135 阅读 · 0 评论 -
第18周 第2章JSON入门
二级联动菜单是一种数据联动的应用场景,在选择一级菜单项时动态加载并展示与之对应的二级菜单项。它通常用于前端通过 AJAX 与后端交互,实现数据的动态展示。原创 2024-09-26 19:52:58 · 989 阅读 · 0 评论 -
第18周 第1章Ajax基础知识
/1. 创建XMLHttpRequest对象。//2. 发送Ajax请求。//3. 处理服务器响应。原创 2024-09-25 21:49:30 · 885 阅读 · 0 评论 -
第17周 第3章Servlet开发应用实践 ---JavaWeb应用打包与发布
这节课的内容主要聚焦在如何将开发好的 Java Web 应用程序打包为 WAR 文件并部署到 Tomcat 上,解释了相关的 Maven 配置、WAR 文件结构及 Tomcat 部署细节。原创 2024-09-25 20:00:24 · 482 阅读 · 0 评论 -
第17周 第3章Servlet开发应用实践 ---Servlet启动时加载与错误页面设置
在web.xml 中加入这些数据,启动时加载,是参数,是优先级。原创 2024-09-24 20:38:10 · 352 阅读 · 0 评论 -
第17周 第3章Servlet开发应用实践 --- 配置默认首页与通配符映射
默认访问index.html ,如果没有则访问default.html。web.xml首页设置。原创 2024-09-24 20:25:51 · 252 阅读 · 0 评论 -
第17周 第3章Servlet开发应用实践 --- 解决中文乱码问题
【代码】第17周 第3章Servlet开发应用实践 --- 解决中文乱码问题。原创 2024-09-24 20:10:30 · 376 阅读 · 0 评论 -
第17周 第2章Session与ServletContext原理 ---ServletContext与三大作用域对象
【代码】第17周 第2章Session与ServletContext原理 ---ServletContext与三大作用域对象。原创 2024-09-24 20:00:45 · 295 阅读 · 0 评论
分享