Coding枫叶_社区达人页

个人头像照片
Coding枫叶
已加入开发者社区936

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布61篇文章
1条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
擅长领域

暂无个人介绍

暂无精选文章
暂无更多信息

2024年05月

  • 05.09 13:52:18
    发表了文章 2024-05-09 13:52:18

    多线程学习笔记(一)

    创建线程有3种方式:继承Thread类、实现Runnable接口或Callable接口。继承Thread类时,重写run()方法并调用start()启动线程。实现Runnable接口时,实现run()方法,通过Thread的target创建线程对象并用start()启动。
  • 05.09 13:51:45
    发表了文章 2024-05-09 13:51:45

    多线程学习笔记(二)

    1. 子线程先执行:启动子线程后立即调用`join()`,主线程会等待子线程完成。 `suspend()`方法。 3. `synchronized` vs `Lock`:前者是关键字,后者是接口;前者可用在代码块和方法,后者在代码中显式;前者自动释放锁,后者需`finally`释放;前者无超时/中断控制,后者可设定;前者非公平,后者可公平/不公平,且支持读写锁。 4. `synchronized`底层实现:基于 Monitor 模型,JVM层面的锁定机制,通过 monitors 和 monitorenter/monitorexit 指令实现。
  • 05.09 13:50:32
    发表了文章 2024-05-09 13:50:32

    集合类学习笔记(一)

    Java集合类主要分为Set、List、Queue和Map四大类,常见的实现如HashSet、TreeSet、ArrayList、LinkedList、ArrayDeque、HashMap、TreeMap等。线程不安全的集合包括HashSet、ArrayList等,可使用Collections的synchronizedXxx()方法包装成线程安全。线程安全的集合有Vector、Hashtable,但性能较低。Java 5后,`java.util.concurrent`包提供了并发友好的Concurrent和CopyOnWrite系列集合,兼顾性能和线程安全。
  • 05.09 13:50:03
    发表了文章 2024-05-09 13:50:03

    集合学习笔记(二)

    TreeMap是红黑树实现的有序映射,操作如containsKey、get、put、remove的时间复杂度为log(N)。它有root、size和comparator成员,Entry节点按Key排序,比较依赖comparator。Map与Set的区别在于Map包含键值对,Set仅存储元素,二者皆无重复。List与Set的区别在于List有序且可重复元素。ArrayList基于数组,适合随机访问,而LinkedList基于链表,插入删除更高效但占用更多内存。
  • 05.09 13:49:24
    发表了文章 2024-05-09 13:49:24

    计算机网络学习笔记(一)

    OSI七层网络模型旨在支持异构网络互联,从下到上分别为物理层(传输比特流)、数据链路层(帧传输,如交换机)、网络层(IP数据包路由,如路由器)、传输层(TCP/UDP,端到端通信)、会话层(管理会话)、表示层(数据格式转换)和应用层(用户接口,如FTP, SMTP)。每一层负责不同的通信功能,并通过协议如PPP, IP, TCP等协同工作。
  • 05.09 13:48:33
    发表了文章 2024-05-09 13:48:33

    计算机学习笔记(二)

    TCP的四次挥手(FIN-WAIT-2、CLOSE-WAIT、FIN-WAIT-1、LAST-ACK、TIME-WAIT状态)确保了双方安全关闭连接。挥手过程包括客户端发送FIN,服务器确认并可能发送剩余数据,最终双方都发送FIN并确认,确保所有数据传输完毕。四次挥手的目的是防止已关闭的一方在最后的确认之前发送的数据丢失。 四次挥手的必要性是因为TCP是全双工的,每个方向都需要单独关闭。最后一次ACK确保服务器收到客户端的关闭请求,防止数据丢失。
  • 05.09 13:46:51
    发表了文章 2024-05-09 13:46:51

    计算机网络学习笔记(三)

    TCP的异常终止使用reset报文,用于强制关闭连接,不等待正常四次挥手。RST标志位设置时,发送方直接丢弃缓存,接收方无需确认。常见情况包括:尝试连接服务器未开放的端口、一方异常崩溃、收到不属于现有连接的报文、超时未收到确认报文或应用开发者优化效率。reset报文帮助释放资源,防止连接挂起。
  • 05.09 13:45:24
    发表了文章 2024-05-09 13:45:24

    计算机网络学习笔记(四)

    HTTPS流程涉及服务器的公钥/私钥和客户端随机密钥。首先,客户端向服务器443端口发起请求,服务器发送公钥给客户端。客户端验证公钥后生成随机密钥(client key),用公钥加密后发送回服务器。服务器用私钥解密获取client key,然后用它加密数据成密文传回客户端。客户端用client key解密完成安全传输。
  • 05.09 13:44:35
    发表了文章 2024-05-09 13:44:35

    操作系统学习笔记(一)

    在Linux中,使用`ps -aux | grep PID`来查看特定进程的状态,或者用`top`指令监控进程和内存。通过`cat 文件名 | grep 关键词`或`grep -i 关键词 文件名`搜索日志文件。`grep`是一个强大的文本搜索工具,支持多种参数,如`-i`忽略大小写,`-c`计数,`-f`从文件读取关键词。要临时更改主机名用`hostname 新主机名`,永久更改则用`hostnamectl set-hostname 新主机名`
  • 05.09 13:41:49
    发表了文章 2024-05-09 13:41:49

    操作系统学习笔记(二)

    进程切换比线程切换更消耗资源,因为进程切换需保存更多上下文,包括地址空间、寄存器、栈和文件描述符等,还要刷新TLB。线程切换仅需切换硬件上下文和内核栈,上下文更小,所以开销低。进程间通信有多种方式,如匿名管道(父子进程间)、命名管道(无亲缘关系进程)、信号、消息队列、共享内存和信号量等。这些通信方法各有特点,适用于不同场景。例如,匿名管道是半双工的,有名管道允许任何进程通过路径通信,信号用于进程间的简单通知,消息队列支持随机查询和按类型读取,共享内存允许多进程共享数据,而信号量则用于同步和控制对共享资源的访问。
  • 05.09 13:36:12
    发表了文章 2024-05-09 13:36:12

    程序员教你用代码制作3d爱心跳动特效,正好拿去送给女神给她个惊喜

    使用HTML、CSS和JavaScript实现了一个三维网格采样器`MeshSurfaceSampler`,适用于任意浏览器,推荐谷歌。代码创建了一个类,从缓冲几何体的三角形网格中进行随机采样。提供了设置权重属性、构建分布和自定义随机数生成器的功能。用户只需将代码复制到文本文档并保存为HTML文件,即可运行。适合编程爱好者尝试,也可分享给他人。
  • 05.09 13:35:16
    发表了文章 2024-05-09 13:35:16

    程序员教你用代码制作飞翔的小鸟--Java小游戏,正好拿去和给女神一起玩

    《飞扬的小鸟》Java实现摘要:使用IntelliJ IDEA和JDK 16开发,包含小鸟类`Bird`,处理小鸟的位置、速度和碰撞检测。代码示例展示小鸟图像的加载、绘制与旋转。同时有`Music`类用于循环播放背景音乐。游戏运行时检查小鸟是否撞到地面、柱子或星星,并实现翅膀煽动效果。简单易懂,可直接复制使用。
  • 05.09 13:34:33
    发表了文章 2024-05-09 13:34:33

    HTML5作业(一)-----电子日历

    该实验旨在通过创建一个电子日历来教授JavaScript按钮事件、DOM操作和CSS浮动排列。日历显示当前月份所有日期,当天以红色高亮。用户可点击“上个月”和“下个月”按钮切换。HTML结构包含日历头部(含按钮)和主体,CSS定义了样式,JavaScript处理日期显示及按钮事件,初始化并动态更新日历。
  • 05.09 13:33:23
    发表了文章 2024-05-09 13:33:23

    HTML5作业(二)-----扑克牌拖放小游戏

    该实验旨在理解元素拖放、CSS定位和DOM操作,任务是创建一个扑克牌拖放游戏。用户需将A框内13张随机扑克牌(背面朝上)按顺序拖至B框,最多存5张。当B框内形成顺子时游戏结束,显示拖动次数。实验提供HTML结构及部分JavaScript代码,包括创建和乱序扑克牌、处理拖放事件等。
  • 05.09 13:32:54
    发表了文章 2024-05-09 13:32:54

    HTML5作业(三)-----问卷调查表设计

    该实验旨在通过设计一个问卷调查表来理解和熟悉表单API及各种组件的使用。要求包括使用不同类型的表单组件(如单选、多选、多行输入),设置输入提示,验证表单内容不为空,以及保持文档格式整洁美观。提供的HTML代码展示了一个包含姓名、年龄、性别选择、多选水果和单选颜色问题的问卷,并在提交前进行必要检查。
  • 05.09 13:32:18
    发表了文章 2024-05-09 13:32:18

    HTML5作业(五)-----视频播放器设计

    该实验旨在熟悉媒体API和响应式按钮事件,任务是构建一个自定义视频播放器。功能包括:播放/暂停、静音、视频缩放、切换上下文件及快进快退。代码提供了一个HTML结构,包含相应按钮和事件处理函数调用。CSS和JavaScript文件用于样式和功能实现。实验鼓励添加更多功能和美化界面。参考链接:[实验详情](https://blog.csdn.net/javayoungcoolboy/article/details/134275425)
  • 05.09 13:31:45
    发表了文章 2024-05-09 13:31:45

    HTML5作业(六)-----响应式放大悬浮菜单

    本实验旨在熟悉CSS3的transition动画和阴影效果,任务是创建一个响应式放大悬浮菜单。当鼠标悬停在菜单上时,菜单会放大并添加立体阴影。代码示例包括设置背景色、字体样式、flex布局以及菜单项的样式和过渡效果。HTML结构包含导航菜单的链接,应用了外部CSS文件中的样式。
  • 05.09 13:31:04
    发表了文章 2024-05-09 13:31:04

    HTML5作业(六)-----贪吃蛇小游戏设计与实现

    这是一个JavaScript实现的贪吃蛇小游戏,目标是训练编程能力和熟悉DOM事件。玩家使用上下左右键控制蛇移动,吃食物得分,每次得分后蛇身体变长,游戏速度可调节。当蛇碰到墙壁或自身时,游戏结束。代码包括HTML结构、CSS样式和JavaScript逻辑,实现了游戏画面、分数显示、蛇的移动和碰撞检测等功能。
  • 05.09 13:30:30
    发表了文章 2024-05-09 13:30:30

    程序员教你用代码制作圣诞树,正好圣诞节拿去送给女神给她个惊喜

    使用HTML、CSS和JavaScript实现了一个圣诞树效果,包括一个闪烁的圣诞树和一个动态的光斑。代码包含一个<div>元素作为遮罩,一个<canvas>元素绘制星星动画,以及一个SVG元素绘制圣诞树。页面还包含一个提示用户先点赞再观看的提示。此效果适用于任何浏览器,推荐使用谷歌浏览器。提供了一段HTML代码,可以直接复制粘贴到文件中并以.html格式打开查看效果。
  • 05.09 13:29:33
    发表了文章 2024-05-09 13:29:33

    Redis缓存雪崩穿透等解决方案

    本文讨论了缓存使用中可能出现的问题及其解决方案。首先,缓存穿透是指查询数据库中不存在的数据,导致请求频繁到达数据库。解决方法包括数据校验、缓存空值和使用BloomFilter。其次,缓存击穿是大量请求同一失效缓存项,可采取监控、限流或加锁策略。再者,缓存雪崩是大量缓存同时失效,引发数据库压力。应对措施是避免同一失效时间,分散缓存过期。接着,文章介绍了Spring Boot中Redis缓存的配置,包括缓存null值以防止穿透,并展示了自定义缓存过期时间的实现,以避免雪崩效应。最后,提供了在`application.yml`中配置不同缓存项的个性化过期时间的方法。
  • 05.09 13:28:37
    发表了文章 2024-05-09 13:28:37

    控制浏览器发送请求采用请求方式的详细介绍

    本文讲述了HTTP请求的GET和POST两种主要方式。GET请求限制参数不超过4K,参数显示在地址栏并缓存资源;POST请求能携带任意数量参数,参数隐藏在请求体,不保存资源。GET常用于超链接和表单默认提交,POST适用于文件上传、登录验证和获取实时数据等场景,因安全考虑,部分网站仅接受GET请求。可通过表单的method属性设置请求方式,默认为GET。
  • 05.09 13:28:01
    发表了文章 2024-05-09 13:28:01

    HTML5基础题及答案——必刷前端题目(背)

    - Internet是全球连接的TCP/IP协议网络,而万维网(Web)是Internet上的重要服务,基于HTTP协议展示资源。 - 用户通过浏览器输入URL访问Web页面,浏览器向服务器请求内容并显示。 - Web前端基础是HTML、CSS和JavaScript。 - HTML5是HTML的最新版本,增加了新标签、API和功能,如注释、新的列表标签、文档结构和格式标签、拖放、画布等。
  • 05.09 13:27:03
    发表了文章 2024-05-09 13:27:03

    HTML5作业(四)-----饼状图和柱状图绘制【附源码】

    该实验旨在熟悉HTML5 Canvas绘制图形和表单交互。用户需输入统计数据,程序将依据数据绘制饼状图和柱状图。要求验证用户输入有效性,点击按钮可切换图表类型,图上需显示数据标注。提供的代码包含一个表单用于输入JSON数据,两个绘制函数(drawPieChart、drawBarChart)用于生成饼状图和柱状图,以及输入验证和颜色生成辅助函数。
  • 05.09 13:26:01
    发表了文章 2024-05-09 13:26:01

    Error: Package awesomeProject contains more than one main function Consider using File kind instead

    Goland编辑器运行时出现“edit configuration”窗口,阻碍代码执行。解决方法:右键点击源文件运行。问题源于Go语言不支持函数重载,同一包内不能有两个同名函数,导致多入口冲突。初学者在main包中使用了多个Go源文件,应改为仅有一个源码文件来避免此问题。
  • 05.09 13:25:13
    发表了文章 2024-05-09 13:25:13

    保姆级教程——将springboot项目部署到阿里云服务器包含环境配置(小白包会)

    本文档详细介绍了将SpringBoot项目部署到阿里云服务器的步骤。首先,通过Xshell连接服务器,使用公网IP地址。接着,下载JDK的Linux版本,使用XFTP上传并解压,配置环境变量。然后,安装MySQL 5.7,包括下载YUM源、安装、启动服务以及修改root密码和开启远程访问。最后,将SpringBoot项目打包成jar,上传至服务器,使用`java -jar`命令运行,通过`nohup`确保服务持续运行。配置安全组以允许远程访问。
  • 05.09 13:23:20
    发表了文章 2024-05-09 13:23:20

    Docker常用命令总结

    这篇文章总结了Docker的基本操作,包括Docker的简介、镜像、容器和仓库的概念。介绍了如何在CentOS上安装和卸载Docker,以及常用Docker命令,如查看和删除镜像、运行和管理容器、文件拷贝和日志查看。还提供了一个curl命令示例来测试本地容器服务。完整内容请参考原文链接:[Docker命令总结](https://blog.csdn.net/javayoungcoolboy/article/details/134975314)。
  • 05.09 13:21:57
    发表了文章 2024-05-09 13:21:57

    docker安装nginx

    `docker search`找镜像,`pull`下载,后台 `-d` 运行容器,命名 `--name`,映射端口 `-p`。本机测试,确保服务器安全组开放端口,公网通过`http://ip:port`访问。用`docker stop id`停止容器。[查看详情](https://blog.csdn.net/javayoungcoolboy/article/details/134976510)
  • 05.09 13:21:11
    发表了文章 2024-05-09 13:21:11

    Docker中报错 Error response from daemon: Conflict. The container name “/nginx01“ is already in use

    在尝试运行 `docker run -d --name nginx01 -p 3344:80 nginx` 时遇到错误。问题源于已有名为 nginx01 的容器未正确终止,造成命名冲突。解决方法:首先使用 `docker ps -a` 查看所有容器,然后删除现有 nginx01 容器,执行 `docker rm <container_id>`(替换 `<container_id>` 为实际容器ID),最后再运行 `docker run` 命令即可。
  • 04.30 22:13:34
    发表了文章 2024-04-30 22:13:34

    Springboot入门篇-springboot需要了解的核心概念

    该内容是关于Spring Boot、Spring MVC和Spring的对比以及Spring Boot的核心特性。Spring Boot不是为了替代Spring和Spring MVC,而是简化其使用,通过自动配置和starters减少冗余配置。Spring Boot Starter是一组预配置的依赖集合,帮助开发者快速搭建应用。Spring Boot Starter Parent提供了统一的依赖管理和版本控制。此外,Spring Boot支持嵌入式web容器,如Tomcat,方便微服务部署。Spring Data提供了简化数据库交互的API,包括对JPA和MongoDB的支持。
  • 04.30 22:12:48
    发表了文章 2024-04-30 22:12:48

    Java 效率编码 必备插件 Lombok 让代码更优雅

    该内容是一个关于Lombok插件的教程摘要:介绍了Lombok用于减少Java开发中的模板代码,提升效率;讲解了如何在IntelliJ IDEA中安装Lombok插件,以及在pom.xml中添加依赖;并提到了@Data注解能自动生成getter/setter、equals、hashCode和toString方法,@Slf4j注解自动处理日志,@Builder用于构建对象,以及@AllArgsConstructor和@NoArgsConstructor注解生成构造函数。还鼓励探索更多Lombok的注解用法。
  • 04.30 22:12:17
    发表了文章 2024-04-30 22:12:17

    IDEA环境下的热加载与热部署

    本文探讨了开发中自动更新代码以提高效率的方法,提到了“热启动”等不同术语,并指出其实现比命名更重要。介绍了两种方式:使用Jrebel插件(需付费,可能与某些Spring Boot版本不兼容)和Spring Boot的devtools热加载。devtools通过两个ClassLoader实现快速更新,只需添加依赖并配置IDEA。此外,建议配合LiveReload浏览器插件自动刷新页面。遇到问题可能与JDK版本不匹配或缓存有关。
  • 04.30 22:11:36
    发表了文章 2024-04-30 22:11:36

    IDEA开发过程中常用插件必备

    本文介绍了提升IntelliJ IDEA开发效率的几个插件:Codota用于强大代码补全;Auto filling Java call arguments自动填充函数参数,节省手动填充时间;GsonFormat能快速将JSON转换为Java实体类;Rainbow Brackets帮助识别括号所属代码块;Maven Helper提供高效查看和分析Maven依赖树功能;Key Promoter X提醒使用快捷键代替鼠标操作;最后还分享了如何设置背景图片以提升编码心情。
  • 04.30 22:11:05
    发表了文章 2024-04-30 22:11:05

    前端axios传参总结

    该文介绍了在前后端分离的开发中,前端使用axios向后端Spring传递参数的两种主要方法。针对@RequestParam注解,推荐使用params传参,将参数格式化为x-www-form-urlencoded,或者使用FormData和qs.stringify。对于@RequestBody,Axios的data传参默认为JSON格式,直接传入对象即可。
  • 04.30 22:10:26
    发表了文章 2024-04-30 22:10:26

    Springboot整合mybatisPlus开发

    MyBatis-Plus是一个MyBatis的增强工具,旨在简化开发和提高效率。它在不修改原有MyBatis的基础上提供额外功能。要将MyBatis-Plus集成到SpringBoot项目中,首先通过Maven添加mybatis-plus-boot-starter和相应数据库驱动依赖,然后配置application.yml中的数据库连接信息,并指定Mapper类的扫描路径。Mapper接口可继承BaseMapper实现基本的CRUD操作。
  • 04.30 22:09:43
    发表了文章 2024-04-30 22:09:43

    Java代码一键生成数据库文档(案例详解)

    Screw是一个自动化数据库文档生成工具,能根据数据库表结构快速生成简洁、多格式(HTML、Word、Markdown)的文档,支持MySQL、MariaDB等多数据库。它使用Freemarker模板,允许用户自定义样式。依赖包括HikariCP数据库连接池和对应JDBC驱动。通过在Java代码或Maven插件中配置,可方便生成文档。示例代码展示了如何在测试用例中使用Screw。文档效果依赖于数据库中的表和字段注释。
  • 04.30 22:08:56
    发表了文章 2024-04-30 22:08:56

    Thymeleaf基础语法讲解【详解版】

    该内容介绍了Thymeleaf模板引擎的一些基本表达式和语法。主要包括: 1. 变量表达式 `${}` 和 `*{}`,用于获取对象属性,`*{}` 需先通过 `th:object` 指定对象。 2. 链接表达式 `@{}`,用于构建应用路径并引入静态资源,但可能暴露版本号带来安全问题。 3. 迭代循环使用 `th:each`,可获取状态变量如索引、序号、奇偶性等。 4. 条件判断用 `th:if` 和 `th:unless`,基于不同类型的值进行逻辑判断。 示例代码包括了遍历集合、设置表单输入值、条件渲染等场景。
  • 04.30 22:08:05
    发表了文章 2024-04-30 22:08:05

    Thymeleaf内置对象与工具类【详解版】

    Thymeleaf 3.0 提供了七大内置对象,包括${#ctx}(上下文对象)、${#param}(参数变量)、${#locale}(区域语言设置)、${#request}(HttpServletRequest)、${#response}(HttpServletResponse)、${#session}(HttpSession)和${#servletContext}(ServletContext)。示例代码展示了如何在后端传递不同对象容器中的参数到Thymeleaf模板。
  • 04.30 22:06:59
    发表了文章 2024-04-30 22:06:59

    Springboot项目打war包部署到外置tomcat容器【详解版】

    该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
  • 04.30 22:06:13
    发表了文章 2024-04-30 22:06:13

    Springboot整合与使用log4j2日志框架【详解版】

    该文介绍了如何在Spring Boot中切换默认的LogBack日志系统至Log4j2。首先,需要在Maven依赖中排除`spring-boot-starter-logging`并引入`spring-boot-starter-log4j2`。其次,创建`log4j2-spring.xml`配置文件放在`src/main/resources`下,配置包括控制台和文件的日志输出、日志格式和文件切分策略。此外,可通过在不同环境的`application.yml`中指定不同的log4j2配置文件。最后,文章提到通过示例代码解释了日志格式中的各种占位符含义。
  • 04.30 22:05:35
    发表了文章 2024-04-30 22:05:35

    Springboot实战篇--Springboot框架通过@Scheduled实现定时任务

    Spring Boot的Scheduled定时任务无需额外Maven依赖,通过`@EnableScheduling`开启。任务调度有两种方式:fixedRate和fixedDelay,前者任务结束后立即按设定间隔执行,后者在任务完成后等待设定时间再执行。更灵活的是cron表达式,例如`0 0 3 * * ?`表示每天3点执行。实现定时任务时,需注意默认单线程执行可能导致的任务交错,可通过自定义线程池解决。
  • 04.30 22:04:53
    发表了文章 2024-04-30 22:04:53

    使用docker安装redis

    该文档介绍了如何使用Docker快速搭建Redis数据库,以便于Spring Boot学习。主要内容包括获取Redis镜像、创建容器、配置持久化存储目录和修改默认配置文件,以及检查和访问Redis容器服务。此外,还提到若需外部访问,需开启宿主机防火墙相应端口。注意,本教程不深入讲解Docker,若想深入学习Docker,建议另寻专门课程。
  • 04.30 22:04:09
    发表了文章 2024-04-30 22:04:09

    redis数据结构与应用场景

    Redis 是一款开源、免费的内存数据库,常用于处理高并发和大数据场景下的热点数据访问,以提升性能。它支持 key-value 存储及多种数据结构,如字符串、列表、集合和哈希表。数据可持久化到磁盘,与 MySQL 等传统数据库相比,Redis 作为缓存能提供更快的读写速度。Redis 应用场景包括:使用字符串进行计数(如商品库存、点赞数)、利用列表实现消息队列或展示最新商品、使用集合去重和计算交集等,以及通过有序集合进行自动排序(如商品热度榜)。
  • 04.30 22:02:40
    发表了文章 2024-04-30 22:02:40

    springboot业务开发--springboot集成redis解决缓存雪崩穿透问题

    该文介绍了缓存使用中可能出现的三个问题及解决方案:缓存穿透、缓存击穿和缓存雪崩。为防止缓存穿透,可校验请求数据并缓存空值;缓存击穿可采用限流、热点数据预加载或加锁策略;缓存雪崩则需避免同一时间大量缓存失效,可设置随机过期时间。文章还提及了Spring Boot中Redis缓存的配置,包括缓存null值、使用前缀和自定义过期时间,并提供了改造代码以实现缓存到期时间的个性化设置。
  • 04.30 22:01:47
    发表了文章 2024-04-30 22:01:47

    介绍redis分布式锁

    分布式锁是解决多进程在分布式环境中争夺资源的问题,与本地锁相似但适用于不同进程。以Redis为例,通过`setIfAbsent`实现占锁,加锁同时设置过期时间避免死锁。然而,获取锁与设置过期时间非原子性可能导致并发问题,解决方案是使用`setIfAbsent`的超时参数。此外,释放锁前需验证归属,防止误删他人锁,可借助Lua脚本确保原子性。实际应用中还有锁续期、重试机制等复杂问题,现成解决方案如RedisLockRegistry和Redisson。
  • 04.30 22:01:00
    发表了文章 2024-04-30 22:01:00

    Springboot框架使用redisson实现分布式锁

    Redisson是官方推荐的Java Redis客户端,提供丰富的功能,包括默认的分布式锁支持。它可以无缝替代Spring Boot 2.x的Letture客户端,不影响原有RedisTemplate和Redis Repository的使用。集成包括spring-boot-starter-data-redis和redisson-spring-boot-starter,后者需排除默认的redisson-spring-data-23以匹配Spring Data Redis v.2.2.x。
  • 04.30 22:00:17
    发表了文章 2024-04-30 22:00:17

    centos7安装docker图文详解

    该文档提供了在CentOS上安装Docker的步骤:检查系统内核版本(需大于3.10),更新yum,卸载旧版Docker,安装yum-utils和依赖包,设置Docker仓库,列出并选择Docker版本,安装Docker,最后启动并设置Docker开机启动,通过`docker version`验证安装是否成功。
  • 04.30 21:59:39
    发表了文章 2024-04-30 21:59:39

    windows下如何安装git以及IDEA如何配置git

    该文指导安装Git 2.15.0版本。首先从Git官网下载最新安装包,双击安装,依次选择Next,同意默认配置,确保勾选添加到环境变量。在配置选项中,选择在cmd中使用Git(第2项),行结束转换选Windows(第1项),终端模拟器选MinTTY(第1项)。安装完成后,通过右键菜单或直接打开Git Bash验证安装成功。最后,配置全局用户名和邮箱,并在IDEA中设置Git路径以完成集成。
  • 04.30 21:58:47
    发表了文章 2024-04-30 21:58:47

    SpringBoot解决跨域访问的问题

    本文介绍了跨域访问的概念及其解决方案。同源策略规定浏览器限制不符合协议、Host和端口的请求,导致跨域访问被禁止。为解决此问题,文中提出了三种策略:1) 前端利用HTML标签的特性(如script、iframe)和JSONP、postMessage规避同源策略;2) 通过代理,如nginx或nodejs中间件,使得所有请求看似来自同一源;3) CORS(跨域资源共享),通过设置HTTP响应头允许特定跨域请求。在SpringBoot中,实现CORS有四种方式,包括使用CorsFilter、重写WebMvcConfigurer、CrossOrigin注解以及直接设置响应头。
  • 04.30 21:57:29
    发表了文章 2024-04-30 21:57:29

    SpringBoot中如何使用Cookies

    本文介绍了如何在Spring Boot中操作HTTP Cookie。包括读取Cookie使用`@CookieValue`注解,设置Cookie通过`HttpServletResponse`的`addCookie()`方法,获取所有Cookie用`HttpServletRequest`的`getCookies()`,设置Cookie过期时间用`setMaxAge()`,理解HTTPS与Cookie的安全性,启用HttpOnly Cookie以防止XSS攻击,以及如何删除Cookie。
  • 04.30 21:56:32
    发表了文章 2024-04-30 21:56:32

    docker安装mongodb(单点)图文详解

    该文档提供了一个快速搭建MongoDB环境的指南,适用于开发和学习,但不适用于生产。主要步骤包括:1) 使用Docker创建数据卷`mongo_data_db`和`mongo_data_configdb`。2) 拉取`mongo`镜像并运行名为`mymongo`的容器,映射端口并挂载数据卷。3) 初始化管理员账号,创建具有`root`权限的用户`admin`,密码为`adminpwd`。4) 防火墙开放端口27017。最后,提到了使用第三方客户端进行连接。
  • 发表了文章 2024-05-15

    计算机网络学习笔记(一)

  • 发表了文章 2024-05-15

    操作系统学习笔记(一)

  • 发表了文章 2024-05-15

    程序员教你用代码制作飞翔的小鸟--Java小游戏,正好拿去和给女神一起玩

  • 发表了文章 2024-05-15

    HTML5作业(二)-----扑克牌拖放小游戏

  • 发表了文章 2024-05-15

    Error: Package awesomeProject contains more than one main function Consider using File kind instead

  • 发表了文章 2024-05-15

    保姆级教程——将springboot项目部署到阿里云服务器包含环境配置(小白包会)

  • 发表了文章 2024-05-15

    Docker中报错 Error response from daemon: Conflict. The container name “/nginx01“ is already in use

  • 发表了文章 2024-05-15

    集合学习笔记(二)

  • 发表了文章 2024-05-15

    多线程学习笔记(二)

  • 发表了文章 2024-05-15

    Redis缓存雪崩穿透等解决方案

  • 发表了文章 2024-05-15

    HTML5作业(四)-----饼状图和柱状图绘制【附源码】

  • 发表了文章 2024-05-15

    计算机学习笔记(二)

  • 发表了文章 2024-05-15

    HTML5作业(一)-----电子日历

  • 发表了文章 2024-05-15

    计算机网络学习笔记(四)

  • 发表了文章 2024-05-15

    程序员教你用代码制作圣诞树,正好圣诞节拿去送给女神给她个惊喜

  • 发表了文章 2024-05-15

    Java代码一键生成数据库文档(案例详解)

  • 发表了文章 2024-05-15

    Springboot框架整合Spring Data JPA操作数据

  • 发表了文章 2024-05-15

    centos7安装docker图文详解

  • 发表了文章 2024-05-15

    Thymeleaf内置对象与工具类【详解版】

  • 发表了文章 2024-05-15

    IDEA开发过程中常用插件必备

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息