自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄小黄的博客

奇迹皆有始,当下即行动

  • 博客(132)
  • 资源 (3)
  • 收藏
  • 关注

原创 【K8S】K8S架构及相关组件

K8S,全称Kubernetes,是一个开源的容器部署和管理平台,由Google开发,后捐献给云原生计算基金会(CNCF)。K8S提供了容器编排、容器运行时、以容器为中心的基础设施编排、负载平衡、自我修复机制和服务发现等功能。K8S的架构采用主从设备模型(Master-Slave架构),即由Master节点负责集群的调度、管理和运维,Slave节点作为集群中的运算工作负载节点。

2024-08-09 13:17:45 3082

原创 【K8S】为什么需要Kubernetes?

Kubernetes是 一个开源的,用于管理云平台中多个主机上的容器化应用,Kubernetes提供了应用部署,规划,更新,维护的一种机制,其目标是为了让部署容器化的应用简单、高效~那么,为啥需要Kubern这还需要从应用的部署方式说起~

2024-08-04 19:50:06 1630

原创 基于SSM实现个人随笔分享平台:创作心灵,分享自我

本文将对项目的功能及部分细节的实现进行介绍。个人随笔分享平台基于 SpringBoot + SpringMVC + MyBatis 实现。实现了用户的注册与登录、随笔主页、文章查询、个人随笔展示、个人随笔查询、写随笔、草稿箱、随笔修改、随笔删除、访问量及阅读量统计等功能。该项目登录模块对明文密码进行了加盐处理,并且将session使用Redis进行了持久化存储,为分布式的支持奠定了基础,同时,使用了统一功能处理与拦截器。

2023-07-28 22:45:28 1019 8

原创 【小黄碎碎念】如何解析和替换字符串中的 Markdown 文本?正则表达式与 flexmark-java 库

本周,小黄基于 SSM 对博客系统进行了迭代升级,然而,在博客的摘要信息中,形如 # 这样的 Markdown 标签也一并展示在了博客摘要信息中,该如何解决呢?(1)使用正则表达式对博客正文中的所有 markdown 标签进行匹配,然后使用空字符进行替换;(2)使用 flexmark-java库来解析和转换 Markdown 文本。

2023-07-24 00:38:24 2401 6

原创 【Spring Boot】事务的隔离级别与事务的传播特性详解:如何在 Spring 中使用事务?不同隔离级别的区别?

事务这个词在学习 MySQL 和多线程并发编程的时候,想必大家或多或少接触过。那么什么是事务呢?事务是指一组操作作为一个不可分割的执行单元,要么全部成功执行,要么全部失败回滚。在数据库中,事务可以保证数据的一致性、完整性和稳定性,同时避免了数据的异常和不一致情况。常见的事务包括插入、更新、删除等数据库操作。事务的核心要素是ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。本文从事务及隔离级别以及事务传播机制分别讲解。

2023-07-22 13:54:18 5077 12

原创 【Spring Boot】拦截器与统一功能处理:统一登录验证、统一异常处理与统一数据返回格式

Spring AOP是一个基于面向切面编程的框架,用于将横切性关注点(如日志记录、事务管理)与业务逻辑分离,通过代理对象将这些关注点织入到目标对象的方法执行前后、抛出异常或返回结果时等特定位置执行,从而提高程序的可复用性、可维护性和灵活性。但使用原生Spring AOP实现统一的拦截是非常繁琐、困难的。而在本节,我们将使用一种简单的方式进行统一功能处理,这也是AOP的一次实战,具体如下:统一用户登录权限验证、统一数据格式返回、统一异常处理。

2023-07-19 19:31:14 2411 20

原创 【Spring】Spring AOP入门及实现原理剖析

AOP (Aspect-Oriented Programming) 是一种编程范式,它提供一种将程序中的横切关注点模块化的方式。本文就AOP的组成与使用场景、如何通过Spring AOP实现相应的功能以及Spring AOP动态代理机制的实现原理进行了讲解。

2023-07-18 18:21:17 2205 5

原创 【Spring MVC】Spring MVC程序开发教程:常见的注解及使用方式详情

Spring MVC是一种常用的Web框架,它可以帮助开发人员快速构建可扩展的Web应用程序。为了提供更好的开发体验和更高的代码效率,Spring MVC提供了各种注解。这些注解可以用于控制器、请求参数、响应类型、表单数据验证、异常处理等方面。在本文中,我们将介绍Spring MVC中常用的注解及使用方式。了解这些注解的作用,可以帮助我们更好地理解Spring MVC框架的工作原理,进而提高我们的开发效率。

2023-07-07 07:30:00 298 5

原创 【Spring Boot】Spring Boot日志详情:基于lombok的日志输出

获取日志对象使用日志对象的相关方法输出要打印的内容获取日志对象// 1. 得到日志对象 private final Logger logger = LoggerFactory . getLogger(UserController . class);其中,getLogger方法需要传入当前类,用于说明日志归属类,便于我们更加直观的定位到问题类。同时,需要注意的是,Logger 对象属于org.slf4j包下。使用日志对象打印日志。

2023-07-06 00:05:16 4562 14

原创 【Spring Boot】Spring Boot配置文件详情

Spring Boot是一个开源的Java框架,用于快速构建应用程序和微服务。它基于Spring Framework,通过自动化配置和约定优于配置的方式,使开发人员可以更快地启动和运行应用程序。Spring Boot提供了许多开箱即用的功能和插件,包括嵌入式Web服务器、安全性、数据访问、缓存、测试和监控等,极大地简化了开发人员的工作。本文就 SpringBoot 项目中配置文件的作用以及两种不同形式的配置文件的使用分别进行阐述。

2023-07-04 12:38:35 3904 11

原创 【Spring】Bean的作用域与生命周期详情:请简述Spring的执行流程并分析Bean的生命周期?

我们都知道,Spring框架为开发人员提供了很多便捷,这使得开发人员能够更加专注于应用程序的核心业务逻辑,而不需要花费大量时间和精力在技术细节上。作为一个包含众多工具方法的IoC容器,存取JavaBean是其极为重要的一个环节。本文就对Spring中的Bean的作用域和生命周期详细展开,希望对读者有所帮助~

2023-07-02 13:21:05 1775 13

原创 【Spring】基于注解方式存取JavaBean:Spring有几种注入方式?有什么区别?

众所周知,Spring是一个开源的Java应用程序框架,其中包括许多通过注解实现依赖注入的功能。Spring提供了多种注入方式,可以满足不同的需求和场景。常见的注入方式包括构造函数注入、Setter方法注入和属性注入。不同的注入方式有不同的适用场景和优缺点。选择正确的注入方式可以提高应用程序的可维护性和性能。 本文以Spring的常见注解以及不同注入方式的优缺点为切入点进行深入讨论。

2023-06-29 14:31:01 3016 15

原创 【Spring】Spring有什么用?Spring核心与设计思想之IOC与DI

什么是容器,不能一概而论。在软件开发领域中,容器是一种运行环境,它提供了一种便捷的方式来运行和管理应用程序。容器可以将应用程序及其依赖包装在一起,形成一个可移植的运行时环境,并提供一组服务以简化应用程序的开发、部署和管理。通过容器,开发人员可以隔离和管理应用程序的依赖,从而使应用程序更加可靠和易于维护。在Java开发中,容器通常是指Web容器或IOC容器。Web容器是一种用于运行Web应用程序的容器,例如Tomcat、Jetty等。

2023-06-23 11:13:28 2036 19

原创 【JavaEE】从收发消息的角度理解 TCP/IP 五层网络模型的封装与分用

本文以一次收发消息的过程为例,围绕网络协议为什么需要分层、TCP/IP 五层网络模型的封装与分用过程、真实网络环境下传输数据的封装与分用几个问题进行了展开讲解。

2023-04-26 00:59:23 680 13

原创 【JavaEE】常见的锁策略与CAS的ABA问题

即字面意思:”比较并交换“,相当于通过一个原子的操作, 同时完成 “读取内存, 比较是否相等, 修改内存” 这三个步骤。本质上需要 CPU 指令的支撑。一个 CAS 涉及到以下操作:我们假设内存中的原数据V,旧的预期值A,需要修改的新值B。比较 A 与 V 是否相等。(比较)如果比较相等,将 B 写入 V。(交换)返回操作是否成功。一句话概括,就是将寄存器A的值和内存V的值进行比对,如果值相同,就把寄存器B的值和V的值进行交换。

2023-04-22 00:26:04 497 9

原创 【JavaEE】如何将JavaWeb项目部署到Linux云服务器?

大家好,我是黄小黄。不久前,我们基于 servlet 和 jdbc 完善了博客系统。本文将以该系统为例,演示如何将博客系统部署到 Linux 云服务器。包括JDK安装、Tomcat安装与配置、mysql的安装与配置、war包的部署等。

2023-03-19 14:01:11 1531 15

原创 【JavaEE】前后端分离实现博客系统(后端实现)

在上一篇中,我们已经实现了对于博客系统的页面构建任务。本次主要解决的问题就是针对这四个界面,实现后端的 servlet 程序,规范前后端交互的接口,编写客户端和服务端代码,处理请求并反馈。博客系统的完整代码已上传至 gitee,见文末链接。

2023-03-16 17:58:10 1133 9

原创 【JavaEE】前后端分离实现博客系统(页面构建)

采用前后端分离的方式实现了博客系统。将使用到的技术有 html、css、javascript、JDBC、mysql数据库、servlet编程、jackson解析json数据等,适合javaee初学者练习使用,本文内容相关代码已开源,详情请见文末。

2023-03-08 23:31:06 1298 9

原创 【JavaEE】基于mysql与servlet自制简易的表白墙程序

本文实现了一个简单的表白墙程序。使用到了 JDBC、线程安全的单例模式、Servlet核心编程、前端代码的编写以及使用 jackson 解析 json 信息。文章全部代码已上传到 gitee,文末自取

2023-03-06 16:45:35 1418 26

原创 【CSDN的2022与2023】普普通通的三年,从懵懂、焦虑到坚定、奋进,破除焦虑努力成为更好的自己

双非本科的我该何去何从?大学为何会迷茫?csdn给我带来了什么?落魄?失意?又该如何重整旗鼓?前途很远,也很暗。然而不要怕,不怕的人前面才有路。唯有尽力自持,方不致癫狂。那些看似不起波澜的日复一日,会在某一天让人看到坚持的意义,总有一天,我们会阳光万里。原诸位:兔年新运走鸿运,满面春风得意行;策兔扬鞭腾万里,快意回首乐一生。

2023-01-26 15:27:05 3538 92

原创 【JavaEE】单例模式如何保证在多线程环境下线程安全高可用?

对于饿汉式单例模式,由于只存在对同一变量的读操作,不会导致线程安全问题。而对于懒汉式单例模式,由于其读和写操作不是原子的,在多线程环境下会导致线程安全问题。本文就如何实现线程安全的单例模式进行深入探讨,并对为何会引发线程安全问题做出了总结,希望对读者有所帮助。

2023-01-15 22:47:19 1637 24

原创 Java数据结构:堆与PriorityQueue优先级队列的使用

堆实质上就是对完全二叉树进行了一些调整。而在 Java 的 PriorityQueue 优先级队列中,底层就是堆这样的结构。所以,我们尝试通过模拟堆的实现,来更好的理解优先级队列。知识补充:何为完全二叉树?答:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。

2023-01-12 19:22:16 723 10

原创 图解数据结构:盘点链表与栈和队列的那些血缘(单双链表模拟实现栈和队列)

很久不见,重新回顾一下,之前所讲到的数据结构(栈、队列、单双链表),并尝试使用一种新的存储形式来组织数据(链式存储栈和队列)。本文阐述了如何分别采用单双链表实现栈与队列。

2023-01-05 21:08:35 798 18

原创 【JavaSE】Cloneable?关于深拷贝与浅拷贝那些事儿咱们一次聊明白

什么是深拷贝,什么是浅拷贝?Java中又该如何实现对象的拷贝呢?这篇文章,深浅拷贝区别与实现一次给你聊明白!

2022-12-28 17:26:17 586 4

原创 计算机操作系统笔记总结:Part2 进程与线程

它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU上执行的时间、进程等待I/0操作完成的时间。最短的作业/进程优先得到服务(所谓 “最短” 指要求的服务时间最短),但是,作业/进程的运行时间是由用户提供的,并不一定真实,也就并不一定能够实现真正的短作业优先!在进程的切换时一般现在PCB中保存这个进程的运行环境(保存一些必要的寄存器信息),当原来的进程再次投入运行时,可以通过PCB恢复它的运行环境。每个作业只调入一次,调出一次。

2022-12-19 16:30:17 634 2

原创 排序算法图解(六):归并排序

归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是稳定排序,它也是一种十分高效的排序,能利用完全二叉树特性的排序一般性能都不会太差。java中Arrays.sort()采用了一种名为TimSort的排序算法,就是归并排序的优化版本。以序列8、4、5、7、1、3、6、2为例分而治之。

2022-11-22 23:05:23 714 7

原创 【Spring5】使用JdbcTemplate操作mysql数据库

Spring框架对JDBC进行封装,使用JdbcTemplate方便对数据库的操作。1.导入相关依赖,文末附下载链接。2.创建数据库,便于使用。以在mysql数据库中创建user_db为例。3.配置xml文件,添加数据库连接相关信息,如密码用户名等。(连接池的配置)4.配置JdbcTemplate对象,注入DataSource。5.创建一个Service类,创建Dao类,在Dao类中注入jdbcTemplate对象。

2022-11-19 18:42:50 2409 16

原创 【Spring5】AOP面向切面?程序不可多得的Buff

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

2022-11-15 16:18:26 762 34

原创 第十四届蓝桥杯模拟赛第一期试题与题解Java

二进制位数、晨跑、调和级数、山谷、最小矩阵、核酸日期、英文转换、充电器题目及题解

2022-11-12 17:35:58 2979 6

原创 排序算法图解(五):快速排序分步刨析

快速排序是对冒泡排序的一种改进。基本思想为:通过一趟排序将要排序的数据分割为独立的两个部分,其中一部分的所有数据比另外一部分的所有数据要小,然后按照此方法对这两部分分别进行快速排序,整个过程可以递归进行,以此达到整个数据变成有序序列。

2022-11-09 07:21:18 1031 6

原创 【Spring5】基于注解的Bean管理简直是Spring中的Spring

注解名称(属性名称=属性值,属性名称=属性值......)注解可以作用在类、方法、属性上,在上一节中,我们对IOC与解耦合有了深刻的理解,并对基于xml配置的方式操作Bean也有了一定认识。可以体会到,当bean足够多时,配置xml就会变得很麻烦!而使用注解的目的就是为了能够简化xml配置。

2022-11-06 18:55:39 1495 37

原创 排序算法图解(四):希尔排序

希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法,其也是一种特殊的插入排序,即将简单的插入排序进行改进后的一个更加高效的版本,也称缩小增量排序。希尔排序是非稳定排序算法。把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止。

2022-11-05 13:09:08 5797 4

原创 排序算法图解(三):插入排序

插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。

2022-11-05 10:57:14 464 4

原创 摸鱼时,我用几百张字符画做了个动画......

摸鱼时,我用几百张字符画做出了个动画... ...

2022-11-04 14:13:40 1045 19

原创 排序算法图解(二):选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。本文被Java数据结构专栏收录, 持续更新中。

2022-11-04 10:24:10 1416 8

原创 排序算法图解(一):冒泡排序与冒泡排序的优化

冒泡排序(Bubble Sorting)即:通过对待排序的序列从前往后,依次比较相邻元素的值,若发现逆序则交换位置,使较大的元素逐渐移动到后部,就像水底的气泡一样逐渐从水面冒出来,这就是冒泡名称的由来。

2022-11-03 15:38:28 804 6

原创 【Spring5】IOC容器与解耦合

控制反转(Inversion of Control),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。控制反转,把对象的创建和对象之间调用的过程交给Spring进行管理;为了降低耦合度。本文对IOC容器的原理、工厂模式以及基于xml解析形式操作Bean管理进行了讲解。

2022-11-02 12:48:39 981 37

原创 【JavaWeb】会话跟踪技术Cookie与Session原始真解

会话是什么?Cookie与Session技术的作用是什么,又该如何理解?为什么说Session是基于Cookie实现的?本文由会话入手,层层刨析Cookie与Session的用途,并就基本使用进行了讲解,其中,Cookie与Session的生命周期理解上有些不同,需要特别注意。

2022-10-31 14:48:29 1612 44

原创 Java数据结构:前缀、中缀、后缀表达式与逆波兰计算器的实现

本文对前缀、中缀、后缀表达式进行了讲解,实现了中缀表达式转后缀表达式,并利用栈实现了逆波兰表达式计算器求值。

2022-10-29 11:19:13 2537 14

原创 Java数据结构:栈与综合计算器的实现(图解+完整代码)

栈(stack)是具有先进后出特性的有序列表。即限制线性表中的元素的插入和删除只能在同一端。栈顶:允许插入和删除的一端栈底:固定的一端因此,最先放入栈的元素在栈底,最后放入的元素在栈顶。当删除(出栈)的时候,正好相反,栈顶元素先删除,即最后放入的元素。Top初始指向最底端,在数组模拟时,初始一般为-1。进行入栈操作时,每进一个元素,Top都会自增,指向栈顶元素。出栈则是入栈的逆过程。简单计算器的实现旨模拟计算机计算表达式。

2022-10-26 23:46:20 1183 21

druid-1.1.9.jar+mysql-connector-java-8.0.29.jar等JdbcTempate操作资源

Spring5.2.6相关环境资源,以及JdbcTemplate学习过程中需要的jar包,解压后将需要的jar包导入项目即可使用。包括:mysql-connector-java-8.0.29.jar、com.springsource.net.sf.cglib-2.2.0.jar、com.springsource.org.aopalliance-1.0.0.jar、com.springsource.org.aspectj.weaver-1.6.4.RELEASE.jar、commons-logging-1.1.1.jar、spring-aop-5.2.6.RELEASE.jar、spring-aspects-5.2.6.RELEASE.jar、spring-beans-5.2.6.RELEASE.jar、spring-context-5.2.6.RELEASE.jar、spring-core-5.2.6.RELEASE.jar、spring-expression-5.2.6.RELEASE.jar

2022-11-19

com.springsource.org.aspectj.weaver-1.6.4.RELEASE等AOP操作相关jar包

Spring5.2.6相关环境资源,以及AOP学习过程中需要的jar包,解压后将需要的jar包导入项目即可使用。包括:com.springsource.net.sf.cglib-2.2.0.jar、com.springsource.org.aopalliance-1.0.0.jar、com.springsource.org.aspectj.weaver-1.6.4.RELEASE.jar、commons-logging-1.1.1.jar、spring-aop-5.2.6.RELEASE.jar、spring-aspects-5.2.6.RELEASE.jar、spring-beans-5.2.6.RELEASE.jar、spring-context-5.2.6.RELEASE.jar、spring-core-5.2.6.RELEASE.jar、spring-expression-5.2.6.RELEASE.jar

2022-11-15

spring-5.2.6.RELEASE-dist+commons-logging-1.1.1.jar

Spring5.2.6相关环境资源,以及学习过程中需要的logging jar包,解压后将需要的jar包导入项目即可使用。

2022-11-06

Java+Swing+IO流-贪吃蛇大作战完整资源

本资源为基于Java+Swing+IO流实现的贪吃蛇大作战小游戏。实现了界面可视化、基本的吃食物功能、死亡功能、移动功能、积分功能,并额外实现了主动加速和鼓励机制。项目教程已更新博客,可在个人主页查看。资源中包含完整的项目源码以及游戏所有组件的图像资源,供大家下载交流学习! 适用人群:Java初学者,课程设计,大作业,平时练习

2022-07-08

Java-扫雷小游戏团子限定版完整资源

压缩包包含扫雷程序完整代码及所有游戏需要使用的图片素材,代码中包含详细注释,适合Java学习与巩固,也是课程设计的绝佳学习素材。扫雷程序使用Java语言实现,界面部分使用Java中的GUI技术,得分以及游戏逻辑则通过顺序表、二维数组实现,并通过IO流进行分数的保存。相应的教程已经更新为博客,可以在博主的博客中查看,资源仅供下载交流学习使用!

2022-07-02

约瑟夫生者死者游戏-Python数据结构与算法实战项目完整源码与界面资源

约瑟夫生者死者问题是数据结构与算法中的经典问题,本项目基于单向循环链表这一数据结构实现,并使用 tkinter技术 实现约瑟夫问题的可视化。项目使用了图形用户界面GUI技术,使用的开发工具为PyCharm 2021.3。实现了约瑟夫游戏的可视化模拟,并对用户输入汉字的情况进行处理,例如用户在输入框中输入总人数为三十三,算法则会将三十三处理为33接收,并进行计算。是学习完Python与数据结构与算法后练手的好项目,也可以用于课程设计的学习参考。算法部分有详细注释,并且该资源已经更新了博客教程,文中对算法进行了图解并对项目结果进行了展示,欢迎下载学习!

2022-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除