自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Redis实现全局唯一ID】

在订单业务中,我们需要保证id是绝对唯一的。使用数据库自增长的id在分布式的情况下把表做了拆分处理后有可能会出现id重复的情况,这就违背了唯一性。而且数据自增长的id有很强的规律性,可以根据id推断出订单的数量信息,这也是不安全的。

2023-11-28 21:23:35 837

原创 用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true;

2023-11-10 22:21:50 289

原创 二叉树的中序遍历

给定一个二叉树的根节点 root ,返回 它的 中序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]提示:树中节点数目在范围 [0, 100] 内。

2023-11-10 22:19:59 160

原创 使用Redis实现缓存及对应问题解决

在业务场景中,如果有些数据需要极高频的存取,每次都要在mysql中查询的话代价太大,假如有一个存在于客户端和mysql之间的存储空间,每次可以在这空间中进行存取操作,就会减轻mysql的压力,而redis速度快效率高的特点是实现缓存的好选择。加入缓存之后, 在每次查询数据的时候,先在redis中查询,如果有就直接返回,如果没有再去mysql中查询,在mysql中查询到之后先写入到redis中,在返回给客户端。

2023-11-07 21:56:12 830

原创 Redis代替session实现用户验证

在以往使用session当作用户验证的过程中,会有session共享的问题,每次承担请求的tomcat是不一样的,而tomcat之间的数据是不共享的,所以为了解决这个问题,选择redis来存储。下图是session的实现登录需要实现的代码模块,虽然可以实现完整功能,但是仍然存在一些问题。将从session中获取验证码的功能换做从redis中获得。

2023-10-31 20:37:13 130

原创 二分查找java

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1。

2023-10-28 21:32:31 142

原创 相交链表Java

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入):intersectVal - 相交的起始节点的值。如果不存在相交节点,这一值为 0listA - 第一个链表listB - 第二个链表。

2023-10-28 21:30:48 158

原创 Redis的java客户端

这样,在建立连接的时候就只需要调用方法,如下所示而close的底层本身也有对连接池的处理。

2023-10-17 22:10:18 634

原创 Redis命令

redis是一个key-value的数据库,key一般是string,但是value有很多种类型。包括:字符串(String):字符串是 Redis 最基础的数据结构之一,可以存储字符串、整数或浮点数。哈希表(Hash):哈希表是一种键值对集合,其中的键和值都是字符串。它可以存储和获取多个字段的值,也可用于存储对象。列表(List):列表是一个按照插入顺序排序的元素集合,每个元素都可以是字符串、整数或浮点数。集合(Set):集合是一个无序的元素集合,每个元素都唯一且不可重复,可以用于去重。

2023-10-17 20:20:21 104

原创 redis在linux系统的安装与使用

在控制台输入。

2023-10-12 22:13:05 572

原创 IP协议总结

IP全称为Internet Protocol,是TCP/IP协议族中的一员,负责实现数据在网络上的传输。它是一种无连接、不可靠的数据报协议。IP协议常用于Internet网络和局域网中,它通过将数据包进行分组并进行逐跳转发来实现数据在网络中的传输。IP协议定义了网络地址寻址方式(IPv4或IPv6),以及数据包在路由器之间传递时的处理规则。每个运行IP协议的设备都有一个唯一的IP地址,用于标识该设备在网络中的位置。IP协议本身并不提供任何确认机制和重传机制,因此它无法保证数据传输的可靠性。

2023-10-10 22:15:31 258

原创 TCP协议总结

TCP把应用交付的数据仅仅看成一串无结构的字节流,TCP不关心应用程序一次将多大的报文发送到TCP的缓存中,而是根据窗口值和当前网络情况来调整当前一个报文应该包含多少个字节。TCP协议通过TCP报文中的窗口大小的信息,因为所有的报文都有这个信息,不论发送方还是接受方都会接收,就会保证实时获取。

2023-10-07 22:30:22 319

原创 http协议总结

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种在Web中广泛使用的应用层协议,它定义了客户端和服务器之间的通信规则,简化了Web应用程序的开发和交互过程。

2023-10-07 22:14:20 165

原创 网络分层原理总结附演示过程

如图是一个数据的传输过程,在这个途中会有很多的原因导致数据丢失,网络分层就要可以很大程度的避免这个现象。

2023-10-07 22:06:21 477

原创 关于x=x++注意事项

在java中,x=x++会导致x始终为初始值,在写代码的时候要避免。

2023-09-24 15:50:45 172

原创 Linux命令基础

Linux没有windows的盘的概念,是一个树形的结构。唯一的根目录为/,所有的文件都在他下面。描述方式也与windows有所不同。

2023-09-22 22:42:28 153

原创 买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。

2023-09-20 19:28:19 132

原创 环形链表java

给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true。否则,返回 false。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。

2023-09-20 19:23:02 67

原创 赎金信java

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true;否则返回 false。magazine 中的每个字符只能在 ransomNote 中使用一次。

2023-09-12 22:19:25 73

原创 反转单链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]

2023-09-12 22:13:13 68

原创 有效的括号

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false提示:s 仅由括号 ‘()[]{}’ 组成。

2023-09-07 21:23:51 34

原创 合并两个有序数组

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n。

2023-09-07 21:17:36 45

原创 jvm全总结

JVM是Java编程语言的核心组件,它允许Java程序在不同的操作系统和硬件平台上运行,并提供了一系列的功能和工具来支持Java应用程序的开发和管理。简言之,jvm就是Java的运行环境,对于不同的操作系统,jvm都可以使我们所编写的Java代码运行。对于我们所编写的Java代码,我们能看到的和机器可以识别的(二进制)是不一样的,我们所写的.java代码通过javac进行编译后就变成了.class文件,再通过jvm把.class文件转换成二进制。jvm主要分为三大块:类加载器;内存结构;执行引擎。

2023-07-26 19:18:28 121

原创 常用工具类

【代码】常用工具类。

2023-06-13 21:41:25 44

原创 maven私服配置(from黑马案例)

如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)私服配置说明:将上述配置私服信息的 192.168.150.101 改为 localhost。进入目录: apache-maven-nexus\nexus-3.39.0-01\bin。中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用。标签中,配置访问私服的个人凭证(访问的用户名和密码)

2023-06-13 21:32:28 132

原创 黑马程序员javaweb课程项目问题汇总(待续)

​。

2023-06-10 15:40:32 183 1

原创 ngnix双击启动闪退(非端口号占用)

ngnix双击启动闪退,端口号并未被占用,报错信息为[emerg] 12240#7692: CreateDirectory() "D:\item1\nginx-1.22.0-tlias/temp/client_body_temp" failed (3: The system cannot find the path specified)

2023-05-31 20:12:52 266

原创 1439. 有序矩阵中的第 k 个最小数组和

给你一个m * n的矩阵mat,以及一个整数k,矩阵中的每一行都以非递减的顺序排列。你可以从每一行中选出 1 个元素形成一个数组。返回所有可能数组中的第 k 个数组和。7从每一行中选出一个元素,前 k 个和最小的数组分别是:其中第 5 个的和是 7。179从每一行中选出一个元素,前 k 个和最小的数组分别是:其中第 7 个的和是 9。12。

2023-05-29 22:09:20 100

原创 copyOfRange函数用法

该函数返回一个数组,由original中from到to,注意左闭右开。

2023-05-29 22:06:23 116

原创 三数之和java

给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。

2023-05-17 22:40:26 54

原创 四数相加 II

给你四个整数数组nums1nums2nums3和nums4,数组长度都是n,请你计算有多少个元组2两个元组如下:1。

2023-05-17 21:48:26 36

原创 螺旋矩阵Java

返回矩阵中的所有元素。

2023-05-15 22:06:56 297

原创 文本左右对齐(详解版)

给定一个单词数组words和一个长度maxWidth,重新排版单词,使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。你应该使用 “” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格' '填充,使得每行恰好有maxWidth个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。文本的最后一行应为左对齐,且单词之间不插入空格。

2023-05-10 21:30:48 262

原创 两数之和Hashmap

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]

2023-05-10 19:23:19 115

原创 两个数组的交集

给定两个数组nums1和nums2,返回它们的交集。输出结果中的每个元素一定是的。我们可以。[2][9,4][4,9] 也是可通过的。

2023-04-27 20:37:42 88 1

原创 P1002 [NOIP2002 普及组] 过河卒

棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A 点 (0,0)、B 点 (n,m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。

2023-04-22 13:55:04 132

原创 P1719 最大加权矩形

为了更好的备战 NOIP2013,电脑组的几个女孩子 LYQ,ZSC,ZHQ 认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没有马上答应他们,而是先给她们出了一道数学题,并且告诉她们:你们能获得的运动场地的面积就是你们能找到的这个最大的数字。校长先给他们一个n×n 矩阵。要求矩阵中最大加权矩形,即矩阵的每一个元素都有一权值,权值定义在整数集上。从中找一矩形,矩形大小无限制,是其中包含的所有元素的和最大。

2023-04-05 21:36:42 115

原创 P1115 最大子段和

给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。

2023-04-05 21:22:04 85

原创 P4447 [AHOI2018初中组]分组(详解)

小可可的学校信息组总共有 n 个队员,每个人都有一个实力值 ai​。现在,一年一度的编程大赛就要到了,小可可的学校获得了若干个参赛名额,教练决定把学校信息组的 n 个队员分成若干个小组去参加这场比赛。但是每个队员都不会愿意与实力跟自己过于悬殊的队员组队,于是要求分成的每个小组的队员实力值连续,同时,一个队不需要两个实力相同的选手。举个例子:[1,2,3,4,5] 是合法的分组方案,因为实力值连续;[1,2,3,5] 不是合法的分组方案,因为实力值不连续;

2023-04-03 20:14:46 201

原创 P2440 木材加工

要保护环境。

2023-03-27 22:30:03 139

空空如也

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

TA关注的人

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