自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 【LeetCode-18】四数之和

LeetCode-18】四数之和,本文将详细讲解如何解决经典的“四数之和”问题。我们会从问题的背景出发,逐步分析解题思路,并通过清晰的案例执行过程展示每一步的逻辑推导。同时,我们还会提供完整的Java代码实现,并对代码进行详细的注释说明。

2025-04-04 11:10:27 475

原创 【LeetCode-9】回文数

【LeetCode-9】回文数,本文将深入探讨如何判断一个整数是否为回文数。我们将从题目分析入手,逐步讲解解题思路,并通过代码实现、案例分析以及图示说明帮助读者全面理解。

2025-04-03 22:33:25 619

原创 【LeetCode-34】在排序数组中查找元素的第一个和最后一个位置

【LeetCode-34】在排序数组中查找元素的第一个和最后一个位置,在本篇中,我们将探讨如何利用二分查找算法解决一个经典的数组问题:找出目标值在非递减数组中的起始和结束位置。

2025-04-03 22:22:51 684

原创 【LeetCode-15】三数之和

【LeetCode-15】三数之和,在本篇博客中,我们将深入探讨如何解决经典的“三数之和”问题。通过详细的解题思路、清晰的代码实现以及丰富的案例分析,帮助读者全面理解算法设计的核心逻辑。无论你是初学者还是进阶开发者,本文都将为你提供有价值的参考。

2025-04-03 22:12:03 246

原创 【LeetCode-77】组合

【LeetCode-77】组合,在计算机科学中,组合问题是经典的回溯算法应用之一。本文将深入探讨如何使用回溯法解决 “给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合” 的问题。我们将从解题思路、代码实现到案例执行过程逐步解析,帮助读者理解每一步的设计逻辑,并通过清晰的代码和格式美化使文档更加易读。

2025-04-03 21:49:35 199

原创 【LeetCode-11】盛最多水的容器

【LeetCode-11】盛最多水的容器,本文将详细介绍如何解决经典的“容器盛水”问题,并通过清晰的解题思路、详细的案例执行过程以及代码实现,帮助读者全面理解每一步的逻辑。我们将使用 双指针算法 来高效求解,并结合可视化图示和格式优化,让内容更易于阅读和理解。

2025-04-02 22:57:32 848

原创 【LeetCode-21】合并两个有序链表

【LeetCode-21】合并两个有序链表,本文旨在解决“合并两个升序链表”的问题。我们将从以下几个方面展开:解题思路:分析问题的核心逻辑,选择最优解法。代码实现:使用Java语言编写完整的解决方案,并对每一行代码进行详细注释。案例执行过程:通过具体输入输出案例,逐步演示代码执行过程。图示说明:用直观的图示展示链表合并的过程。优化与总结:总结算法的时间复杂度和空间复杂度,并提出可能的优化方向。

2025-04-02 22:25:04 652

原创 【LeetCode-17】电话号码的字母组合

【LeetCode-17】电话号码的字母组合,今天我们将探讨一个经典的回溯算法问题——电话号码的字母组合。通过详细的解题思路、完整的 Java 代码实现以及案例执行过程分析,我们将一步步揭开这个问题的奥秘。

2025-04-02 21:56:07 468

原创 【LeetCode-6】Z 字形变换

【LeetCode-6】Z 字形变换,在编程的世界里,字符串处理是一个常见且重要的主题。今天,我们将一起探索一个经典而有趣的字符串处理问题——Z 字形变换。解题思路详解。什么是Z字形变换?给定一个字符串 s 和一个整数 numRows,我们需要将字符串按照从上到下、从左到右的规则排列成 Z 字形,然后按行读取生成一个新的字符串。这种变换方式不仅考验了对字符串操作的理解,还涉及到了一些数学上的周期性规律的应用。

2025-04-01 22:20:47 771

原创 【LeetCode-3】无重复字符的最长子串

【LeetCode-3】无重复字符的最长子串,解题思路:本题要求找出字符串中不含有重复字符的最长子串的长度。为了高效解决这个问题,可以使用滑动窗口和哈希表相结合的方法。以下是详细的解题思路:1. 滑动窗口的核心思想。滑动窗口是一种动态调整的区间,用于在数组或字符串中寻找满足某些条件的子区间。在本题中,滑动窗口的左右边界分别用两个指针 i 和 j 表示:● i:窗口的左边界,表示当前无重复子串的起始位置。● j:窗口的右边界,表示当前正在检查的字符的位置。通过移动这两个指针,我们可以动态地调整窗口

2025-04-01 21:10:51 659

原创 【CSS浮动】深入理解CSS浮动

【CSS浮动】深入理解CSS浮动,浮动是一种让元素脱离常规文档流的方式,允许它们向左或向右移动,同时让周围的文本和内联元素环绕它们。浮动最初被设计用于实现文本环绕图片的效果,如今已成为一种广泛应用于页面布局的技术手段。例如,当你想让一张图片旁边环绕着文字时,就可以使用浮动来达到这个目的。

2025-03-31 22:17:57 634

原创 【ThreadPoolExecutor】深入探讨Java线程池:最佳实践、案例分析与代码示例 [特殊字符]

【ThreadPoolExecutor】深入探讨Java线程池:最佳实践、案例分析与代码示例 🌟在构建高效且稳定的并发程序时,Java线程池扮演着至关重要的角色。通过合理配置线程池参数和选择合适的拒绝策略,我们不仅能够提升应用性能,还能有效管理资源消耗。接下来,我们将深入探讨一些最佳实践,并结合实际案例、文档中的内容和代码示例来说明如何更好地利用线程池。

2025-03-26 16:26:21 649

原创 【Java常用类】String类:从基础到高级应用

无论你是编程新手还是经验丰富的开发者,本文都将为你提供深入的理解和实用技巧。Java中的字符串支持Unicode编码,但在处理某些特殊情况(如表情符号)时需要特别注意,确保你的字符串处理逻辑能够正确地识别和处理这些字符。希望这份详尽的指南能帮助你更好地理解和运用Java中的字符串操作!方法时,如果常量池中存在相同内容的字符串,则返回该字符串的引用;否则,将此字符串添加到常量池,并返回其引用。考虑一个简单的登录表单,其中用户名和密码是必需的。假设你正在开发一个文本分析工具,需要计算文档中单词的数量。

2025-03-25 21:18:34 234

原创 【SpringBoot】自定义Starter:个性化访客行为分析

在Web开发中,了解用户的行为模式对于优化网站性能和提升用户体验至关重要。本文将指导您如何创建一个自定义的Spring Boot Starter,用于统计网站访客的独特访问行为(如独立IP访问次数),并通过后台持续输出监控信息。我们将涵盖从项目初始化到自动配置的所有步骤,并提供使用示例。

2025-03-25 17:17:28 483

原创 【Java序列化】掌握核心概念

当程序需要处理外部输入的对象时,该对象已经过序列化处理。在接收后,需进行反序列化操作;如果一个类的方法被重写,那么在反序列化期间将优先调用重写后的方法;若传入的序列化数据中包含了对。方法的重写,则可能执行其中包含的恶意代码,导致安全风险。此类漏洞的影响程度取决于具体的漏洞细节。类),我们需要将其转换为字节数据,因为只有字节数据才能被有效地保存或传送。🔥 我们正在更新更多精彩内容,快来加入我们,一起探索编程的无限可能吧!为了能够存储和传输对象(即。方法将对象转换为字节序列。方法将字节序列还原为对象。

2025-03-25 13:39:56 155

原创 【Java序列化】继承机制全解析

在 Java 中,序列化是将对象的状态保存到存储介质(如文件)或通过网络传输的过程。它在分布式系统和持久化场景中尤为重要。以下是关于 Java 序列化与继承机制的详细解析。

2025-03-25 13:31:39 331

原创 【Java序列化】Jackson注解:优雅处理多态类型的序列化与反序列化

使用 @JsonTypeInfo 和 @JsonSubTypes 注解,来实现多态类型的序列化与反序列化

2025-03-25 13:12:20 229

原创 【Lambda表达式】探索Lambda表达式

Lambda表达式可以被视作一种简洁的匿名函数,它与方法引用一起,主要为Stream API服务。它们提供了一种更清晰、更简练的方式来处理集合数据,无需声明整个函数即可快速定义行为。

2025-03-24 22:46:43 269

原创 【MyBatisPlus】MyBatisPlus

简介特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Po

2022-03-27 19:29:57 960

原创 【设计模式】设计模式

概述设计模式介绍设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通 用解决方案,设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的 一段时间的试验和错误总结出来的。设计模式的本质提高 软件的维护性,通用性和扩展性,并降低软件的复杂度。<<设计模式>> 是经典的书,作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlis

2022-03-27 19:28:01 1955

原创 【JUC】JUC基础

概述JUC 简介在 Java 中,线程部分是一个重点,本篇文章说的 JUC 也是关于线程的。JUC就是 java.util .concurrent 工具包的简称。这是一个处理线程的工具包,JDK 1.5 开始出现的。进程与线程进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。是计算机中的程序关于某数据集合上的一次运

2022-03-27 19:26:25 425

原创 【数据结构】数据结构

概述数据结构包括:线性结构和非线性结构。线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息线性结构常见的有:数组、队列、链表和栈。非线性结构非线性结构包括:二维数组,多维数组,树结构,图结构,堆结构,散列表(即哈希表)数组稀疏数组应用案例编写

2022-03-27 19:24:47 383

原创 【JVM】JVM基础

体系结构字节码我们平时说的java字节码,指的是用java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统称为:jvm字节码。不同的编译器,可以编译出相同的字节码文件,字节码文件也可以在不同的JVM上运行。Java虚拟机与Java语言并没有必然的联系,它只与特定的二进制文件格式—Class文件格式所关联,Class文件中包含了Java虚拟机指令集(或者称为字节码、Bytecodes)和符号表,还有一些其他辅助信息。虚拟机与 Java 虚拟机虚拟机所谓虚拟机

2022-03-27 19:23:01 1817

原创 【Maven】Maven基础

原因为什么要使用 Maven?它能帮助我们解决什么问题?①添加第三方 jar 包在今天的 JavaEE 开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些 jar 包最简单的方法就是复制粘贴到 WEB-INF/lib 目录下。但是这会导致每次创建一个新的工程就需要将 jar 包重复复制到 lib 目录下,从而造成工作区中存在大量重复的文件,让我们的工程显得很臃肿。而使用 Maven 后每个 jar 包本身只在本地仓库中保存一份,需要 jar 包的工程只需要以坐标的方式简单的引用一下就可以了

2022-03-27 19:13:35 199

原创 【Kubernetes】Kubernetes基础

hm老师讲的,比sgg讲的要清晰很多。一、k8s的介绍1.1 简介Kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。它的目的就是实现资源管理的自动化,主要提供了如下的功能:自我修复:一旦某一个容器崩溃,能够在1秒左右迅速启动新的容器。弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整。服务发现:服务可以通过自动发现的形式找到它所依赖的服务。负载均衡:如果一个服务启动了多个容器,能够自动实现请求的负载均衡。版本回退:如果发

2022-03-27 19:12:27 748

原创 【Docker】Docker基础

一、Docker简介1.1 概念Docker镜像的设计,使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。1.2 作用1)虚拟机技术虚拟机(virtual machine)就是带环境安装的一种解决方案。它可以在一种操作系统里面运行另一种操作系统,比如在Windows 系统里面运行Linu

2022-03-27 18:47:09 212

原创 【SpringSecurity】SpringSecurity基础

框架简介概要一般来说,Web应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是Spring Security重要核心功能。(1)用户认证指的是:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。通俗点说就是系统认为用户是否能登录(2)用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说

2022-03-26 16:31:32 5345

原创 【Nginx】Nginx基础

概述Nginx是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强正向代理如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。反向代理反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址

2022-03-26 16:29:49 2774

原创 【RabbitMQ】RabbitMQ基础

相关概念什么是 MQMQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。为什么要用 MQ1.流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是

2022-03-26 16:28:37 585

原创 【ElasticSearch】ElasticSearch基础

概述是什么ES 是一个开源的高扩展的分布式全文搜索引擎,是整个 Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。全文搜索引擎这里说到的全文搜索引擎指的是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似通过字典中的检索字表查

2022-03-26 16:26:45 3486

原创 【MongoDB】MongoDB基础

简介MongoDB是为快速开发互联网Web应用而设计的数据库系统。MongoDB的设计目标是极简、灵活、作为Web应用栈的一部分。MongoDB的数据模型是面向文档的,所谓文档是一种类似于JSON的结构,简单理解MongoDB这个数据库中存的是各种各样的JSON。(BSON)基本概念数据库(database)数据库是一个仓库,在仓库中可以存放集合。集合(collection)集合类似于数组,在集合中可以存放文档。文档(document)文档数据库中的最小单位,我们存储和操作的

2022-03-26 16:25:16 571

原创 【SpringCloud】SpringCloud基础

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ZAJaujE-1648282992252)(https://gitee.com/qingxi5/typora/raw/master/note/20210617153357.png)]微服务架构编码构建父工程1)新建2)字符编码3)注解生效激活4)java编译版本选85)File Type过滤6)DependencyManagement 和 DependenciesMaven使用dependencyM

2022-03-26 16:23:55 917

原创 【SpringBoot】SpringBoot基础

Spring Boot的概述特性能够快速创建基于Spring的应用程序能够直接使用java main方法启动内嵌的Tomcat服务器运行SpringBoot程序,不需要部署war包文件提供约定的starter POM来简化Maven配置,让Maven的配置变得简单自动化配置,根据项目的Maven依赖配置,Springboot自动配置Spring、Springmvc等提供了程序的健康检查等功能基本可以完全不使用XML配置文件,采用注解配置@面:什么是SpringBootSpringB

2022-03-26 12:13:43 1367

原创 【Redis】Redis基础

NoSQL简介NoSQL数据库1、NoSQL数据库概述NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL不依赖业务逻辑方式存储,而以简单的key-value模式存储,因此大大的增加了数据库的扩展能力。不遵循SQL标准。不支持ACID。远超于SQL的性能。2、Memcache很早出现的NoSql数据库数据都在内存中,一般不持久化支持简单的key-value模式,支持类型单一一般是作为缓存数据库辅助持久化的数据库3、Redis

2022-03-26 12:11:52 541

原创 【Git】Git基础

1、版本工具1.1 具备的功能协同修改 多人并行不悖的修改服务器端的同一个文件。数据备份 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。 版本管理 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面SVN采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式。权限控制 对团队中参与开发的人员进行权限控制。对团队外开发者贡献的代码进行审核——Git独有。 历史记录 查看修改人、修改时间、修改内容、日志信息。将.

2022-03-26 12:10:25 921

原创 【Shell】Shell基础

一、Shell概述1.1 概念1.2 Shell解析器1)Linux提供的Shell解析器有:[atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh/bin/bash/sbin/nologin/bin/dash/bin/tcsh/bin/csh2)bash和sh的关系[atguigu@hadoop101 bin]$ ll | grep bash-rwxr-xr-x. 1 root root 941880 5月 11 2016 bashl

2022-03-26 12:08:13 147

原创 【Spring】SSM整合

SSM整合一、搭建整合环境1、整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式2、整合的思路先搭建整合的环境先把Spring的配置搭建完成再使用Spring整合SpringMVC框架最后使用Spring整合MyBatis框架3、创建数据库和表结构create database ssm; use ssm; create table account( id int primary key auto_increment, name varcha

2022-03-25 13:16:17 361

原创 【Linux】Linux基础

一、JavaEE定制篇软件安装:1.1 安装JDK(1)先将软件通过 xftp5 上传到 /opt 下(2)解压缩到 /opt tar -zxvf 文件名(3)配置环境变量的配置文件 vim /etc/profileJAVA_HOME=/opt/jdk1.7.0_79 PATH=/opt/jdk1.7.0_79/bin:$PATHexport JAVA_HOME PATH(4)需要注销用户,环境变量才能生效。1.2 安装 tomcat解压缩到/opt启动 tomcat

2022-03-25 13:12:27 2347

原创 【MyBatis】MyBatis基础

框架概述概念mybatis是一个持久层框架,用java编写的;它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动、创建连接等繁杂过程;它使用了ORM思想实现了结果集的封装。ORM:Object Relational Mappging 对象关系映射就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表。@面:命名空间namespace的作用在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一的标识就变得并不容

2022-03-25 13:11:29 2050

原创 【SpringMVC】SpringMVC基础

SpringMVC三层架构和MVC三层架构在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。1.表现层: 也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web层,web需要接收http请求,完成http响应。 表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。 表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。 表现层的设计一般都使用MVC模型。2.业务层: 也就

2022-03-25 13:09:35 923

LED_Trafic.zip

___结合89C51单片机技术设计一个实用的交通灯,要求应用8255和8254芯片计数码显示和LED灯(该项目中的一些显示问题期待大家评论区改正哦0.0)。

2020-06-26

空空如也

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

TA关注的人

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