自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jakelihua

极客李华的博客

  • 博客(1447)
  • 收藏
  • 关注

原创 红黑树与平衡二叉树的比较及HashMap中红黑树的应用

定义与平衡条件平衡二叉树(AVL树)是一种特殊的二叉搜索树,其中任何节点的两个子树的高度差不超过1。这种严格的平衡条件使得AVL树的高度保持在较低水平,从而保证了所有操作的效率。红黑树则是一种更为宽松的自平衡二叉搜索树。它通过五种性质来保持平衡:每个节点要么是红色要么是黑色,根节点是黑色,所有叶子节点(NIL节点)是黑色的,红色节点的两个子节点都是黑色的,以及从任一节点到其每个叶子的所有路径包含相同数目的黑色节点。

2024-05-19 23:26:32 125

原创 常见索引失效的情况

【代码】常见索引失效的情况。

2024-05-19 23:20:40 120

原创 Introduction to Cloud Computing

云计算是指通过互联网交付各种服务,包括存储、计算能力和应用程序。这些服务通常由大型数据中心提供,管理公司如亚马逊网络服务(AWS)、微软Azure和谷歌云平台(GCP)。

2024-05-15 13:34:16 871

原创 库充管理系统库存查询,库存增减功能设计

在库存管理系统中,最核心且复杂、通常需要用到索引优化的功能是库存的实时更新和查询。

2024-04-26 00:48:44 150 2

原创 redis中的锁SETNX

Redis 提供了多种方式来实现锁操作,这些操作可以帮助开发者在多线程或分布式环境中同步访问共享资源。

2024-04-26 00:18:49 596 1

原创 数据库的事务

原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个环节。一致性(Consistency):事务必须使数据库从一个一致的状态转移到另一个一致的状态。隔离性(Isolation):并发执行的事务之间不会互相影响。持久性(Durability):一旦事务提交,它对数据库的改变就是永久性的,即使系统发生故障也不会丢失。

2024-04-26 00:13:52 242 1

原创 mysql索引类型表

mysql索引类型表索引类型描述MySQL中的适用性B树/B+树应用主键索引确保列的唯一性,一个表只能有一个主键索引自动创建,除非指定非聚簇索引B+树唯一索引确保列的值唯一,可以有多列,表中可以有多个强制值的唯一性,适用于需要保证数据唯一性的列B树/B+树非唯一索引允许列的值重复,适用于不强制数据唯一的查询优化常用于辅助查询,提高检索效率B树/B+树组合索引在多个列上创建的索引,提高复合查询条件的检索效率适用于经常一起使用的列组合B树/B+

2024-04-25 23:31:54 121

原创 基于Java的Queue容器做一个简单的的消息队列

是一个泛型类,它允许你创建一个可以存储任何类型对象的队列。这里的T是泛型参数,代表队列中存储的消息类型。

2024-04-25 22:05:51 223

原创 redis持久化RDB与AOF的对比

Redis提供了两种主要的持久化机制:RDB(Redis Database)和AOF(Append Only File)。

2024-04-25 21:20:44 658

原创 在Redis中缓存用户Token的推荐方法

字符串数据结构在Redis中用于存储简单的键值对,是最基本的数据类型。由于Token本质上是键(用户ID或会话ID)和值(Token字符串)的映射,字符串类型非常适合这一用途。使用string类型与使用Hash类型的对比表格。

2024-04-25 21:05:21 300 1

原创 商品信息在redis中使用Hash结构进行缓存

简介:在商城里面,推荐使用redis的Hash结构缓存商品信息。下面代码演示怎么使用redis中的Hash结构,缓存商品的信息。类,它使用Jedis客户端与Redis服务器进行交互。方法将商品信息存储到Redis的Hash中,而。方法则从Redis的Hash中检索商品信息。在这个示例中,定义了一个。

2024-04-25 20:45:46 154 1

原创 redis中的数据结构与对应的设置命令

在Redis中,每种数据类型都有其特定的命令来设置(声明)和获取键值对。

2024-04-25 19:28:49 847

原创 redis5种基本类型与Java中的Map之间的类比

在Java中,Map是一种键值对的集合,可以用来存储具有映射关系的数据。Redis同样提供了多种数据类型,每种类型都可以存储键值对数据,但它们在功能和使用场景上有所不同。以下是这些数据类型与Java。

2024-04-25 19:24:38 227

原创 什么是CMS系统

CMS,即内容管理系统(Content Management System),是一种用于创建、发布和管理大量内容的软件应用。CMS系统广泛应用于媒体公司、新闻网站、企业网站等,它帮助内容创作者和管理者高效地处理网站内容的更新和维护。

2024-04-25 15:57:58 324

原创 使用java简单模拟Jmeter的压测操作

简介:本文演示怎么用java模拟Jmeter的压测操作。

2024-04-25 15:53:53 808 2

原创 为什么性别字段不需要索引

在数据库设计中,索引通常用于提高查询效率,但并非所有字段都适合建立索引,尤其是具有低基数特性的字段,如性别字段。

2024-04-25 01:20:33 318

原创 越权攻击入门讲解

越权攻击(Authorization Bypass)是一种安全漏洞,它允许攻击者访问或操作他们本不应该有权限的资源或数据。这种攻击通常发生在应用程序的身份验证和访问控制机制未能正确实施时。

2024-04-24 23:00:58 154

原创 跨站脚本攻击(XSS)的演示与防范

使用提供XSS防护的框架,如React的JSX、Spring Security。:在显示用户输入的数据时,对特殊字符进行编码,如HTML实体。:对所有用户输入进行严格的验证,拒绝不合法的输入。会自动转义内容,防止XSS攻击。,限制可以执行脚本的来源。:通过设置HTTP头。或安全的DOM操作。Thymeleaf的。

2024-04-24 22:22:55 272 1

原创 状态码在后端开发中常常遇到的场景

Nginx:当Nginx作为Web服务器正在处理请求,但客户端在响应发送前断开了连接,Nginx可能会记录499状态码。这种情况可能由网络问题、客户端程序错误或客户端机器故障引起。场景:在服务器还在处理请求时,客户端已经关闭了连接。

2024-04-24 22:12:01 891 3

原创 TCP与UDP协议:区别、应用场景

在网络通信中,TCP(传输控制协议)和UDP(用户数据报协议)是两种核心的传输层协议,它们在数据传输的可靠性、速度以及使用场景上有着显著的区别。

2024-04-24 22:00:25 247 1

原创 当用户在浏览器搜索一个内容的时候,这个网络的具体过程

浏览器中搜索某个内容时,整个过程涉及多个步骤,包括用户界面交互、网络协议处理、服务器端处理和最终的搜索结果返回。

2024-04-24 21:52:41 434 2

原创 扑克牌中的“顺子”检测

在扑克牌游戏中,玩家们经常会寻找手中的牌是否能组成一个“顺子”,即连续的五张牌。例如,在一副去掉大小王的扑克牌中,黑桃3、4、5、6、7可以组成一个顺子。为了增加游戏的趣味性,有时会引入“赖子”或称为“百搭牌”,它可以代表任何一张牌。在这种情况下,如果玩家手中的牌包含0(代表赖子),则判断顺子的规则会有所变化。编写一个程序,用于检测玩家输入的一组扑克牌数字(不包含大小王)中是否包含一个“顺子”。在这个例子中,0可以代表任何一张牌,使得10、J(11)、赖子(0)、Q(12)、K(13)成为顺子。

2024-04-24 21:04:37 172 1

原创 Android HAL与Android Framwork层的开发与优化概述

HAL层是Android系统中至关重要的一部分,它使得Framework层能够以一种抽象的方式与硬件设备进行交互。HAL层的开发涉及到硬件特性的抽象和标准化,以便Android系统能够与各种硬件设备兼容。HAL模块的架构通常包括以下几个关键部分:下面是一个简化的示例,展示了如何为一个假设的LED硬件设备实现一个HAL模块。1. 定义硬件接口 ():2. 实现HAL模块 ():3. 编译HAL库:在Android系统的构建系统中,HAL模块会被编译成库文件。在设备的BoardConfig.mk文件中,可以

2024-04-24 01:49:11 1159 5

原创 RTOS实时操作系统简介

RTOS在需要严格时间保证的应用中至关重要,如工业自动化、医疗设备、汽车系统等。通过上述案例,可以看到RTOS如何帮助实现实时监控和响应。实际应用中,RTOS的选择和使用需要根据具体的硬件平台和性能需求来决定。假设需要开发一个温度监控系统,该系统需要实时监测环境温度,并在超过设定阈值时发出警报。这里使用FreeRTOS(一种流行的开源RTOS)进行示例。

2024-04-24 01:34:59 290

原创 安卓体系结构

提供标准接口以允许应用框架与各种硬件设备进行交互,包括:音频 (Audio)蓝牙 (Bluetooth)相机 (Camera)传感器 (Sensors)

2024-04-24 01:10:49 562

原创 快手笔试题:字符串与二叉树之间的互相转换

在项目开发中,我们经常需要存储和检索二叉树结构。然后我快手一面的笔试题就是这个,我的答案如下,供大家参考。

2024-04-15 22:16:12 220

原创 大厂多线程笔试题-两个线程轮流打印

线程 A 打印字符 ‘A’ 的条件是 count 为偶数,线程 B 打印字符 ‘B’ 的条件是 count 为奇数。打印完字符后,递增 count 变量,并调用 lock.notify() 方法通知其他等待的线程。然后,定义了内部静态类 PrintA 和 PrintB,分别实现了打印字符 ‘A’ 和 ‘B’ 的逻辑。这两个类都实现了 Runnable 接口,在 run 方法中执行线程的主要逻辑。首先,在 main 方法中创建了两个线程对象 threadA 和 threadB,分别启动了这两个线程。

2024-04-13 00:14:11 233

原创 Java Spring Boot中的AOP、DI和IOC

AOP是一种编程范式,它允许开发人员将横切关注点(cross-cutting concerns)从业务逻辑中分离出来,例如日志记录、性能监控、事务管理等。在Spring Boot中,AOP通过切面(Aspect)和通知(Advice)实现。在上面的示例中,创建了一个切面LoggingAspect,它包含了两个通知方法:logBefore和logAfterReturning。logBefore方法在目标方法执行前被调用,logAfterReturning方法在目标方法执行后被调用。

2024-04-12 19:59:31 356

原创 JVM中的新生代和老年代垃圾回收

大部分的对象都是在Eden空间中创建的,经过一次Minor GC(新生代垃圾回收),仍然存活的对象会被移到Survivor空间,经过多次回收后,仍然存活的对象会被晋升到老年代。该算法首先标记出所有存活的对象,然后清除所有未标记的对象,并将存活的对象压缩到一端,以确保内存空间的连续性。在JVM中,堆内存(Heap)是用来存放对象实例的区域,它被划分为多个部分,其中包括新生代(Young Generation)和老年代(Old Generation)两个主要区域。:老年代是存放长时间存活的对象实例的区域。

2024-04-12 19:53:11 295

原创 三次握手,四次挥手简洁回答

三次握手(TCP连接建立):第一次握手:客户端发送 SYN(同步)报文段到服务器,并进入 SYN_SENT 状态。第二次握手:服务器收到 SYN 报文段,回应一个 SYN+ACK(同步+确认)报文段,表示收到了客户端的请求,并进入 SYN_RECV 状态。第三次握手:客户端收到服务器的 SYN+ACK 报文段后,发送一个 ACK(确认)报文段给服务器,表示确认连接请求,完成连接建立。四次挥手(TCP连接断开):第一次挥手:客户端发送一个 FIN(结束)报文段到服务器,表示不再发送数据,进入 FIN_WA

2024-04-11 09:30:18 720

原创 快手校招一面讲解

jre是java的运行环境,他包含了java程序运行所需要的库,jdk是java的开发环境,如果要运行java应用只需要安装jre就可以了,jdk在jre基础上还包含了java编译器javac,java调试器jdb.

2024-04-10 20:22:57 913

原创 Java有几种数据类型,不同回答与正确率之间的关系

java中有整型,浮点型,布尔类型,字符串类型,他们分别包括…,但是我们一般开发过程中会更多的使用Integer这样的类进行存储。java中有int,double,bool,char这几种类型。java中有整型,浮点型,布尔类型,字符串类型,他们分别包括…

2024-04-10 12:51:27 496

原创 渗透测试学习概述

Metasploit:Metasploit是一款广泛使用的渗透测试工具,它提供了一个全面的框架和工具集,用于开发、测试和执行针对计算机系统的安全漏洞的攻击。XXS攻击:跨站脚本(XSS)攻击是一种常见的网络安全漏洞,攻击者通过在Web应用程序中注入恶意脚本代码,利用用户的浏览器执行这些恶意代码,从而窃取用户信息、会话Cookie,甚至控制用户会话。weblogic框架:是Oracle公司开发的一个企业级Java应用服务器,用于构建和部署Javaee应用,相比开源的Tomcat是一个重量级的商业的服务器。

2024-04-10 12:49:53 960

原创 Java中的volatile关键字

在Java中,volatile关键字是一种非常重要的修饰符,它用于修饰变量,提供了一种轻量级的同步机制,主要用于保证变量在多线程环境下的可见性。

2024-04-09 18:13:06 546

原创 面试题:JDK与JRE区别

JDK是Java开发人员使用的工具包,包含了开发和运行Java程序所需的全部内容,包括编译器、调试器、JVM、API文档等;而JRE则是普通用户用来运行Java程序的环境,只包含了运行Java程序所需的核心组件。JRE是Java运行环境,它包含了运行Java程序所需的核心类库、Java虚拟机和其他支持文件,但不包含任何开发工具。JDK不仅包含了JRE的所有内容,还包含了用于Java程序的编译、调试、打包等工具,是Java开发人员进行编码、测试和部署Java应用程序的必备工具。

2024-04-09 18:00:45 251

原创 Java中循环创建String对象的内存管理分析

在这个例子中,在循环中动态地创建字符串对象,每次迭代都会创建一个新的字符串对象。由于每次创建的字符串内容都不相同,Java虚拟机会为每个字符串对象分配新的内存空间。随着循环的进行,旧的字符串对象将被标记为可回收,并在垃圾回收机制运行时被释放。指向相同的常量字符串。由于这些字符串对象内容相同,Java的字符串常量池可能会对它们进行缓存以节省内存。因此,尽管在循环中创建了多个引用,实际上只创建了一个字符串对象。是一个常量字符串,它位于Java中的字符串常量池中。在循环中,每次都将一个新的引用。

2024-04-08 21:44:42 240

原创 RabbitMQ的四种消息传递模式与演示代码

例如,用户在网站上提交了一个长时间处理的任务(如生成报表、发送邮件等),为了提高用户体验,可以将任务提交到RabbitMQ的任务队列中,然后由后台的消费者进行异步处理。通过使用Fanout模式,可以将日志消息广播到所有相关的队列中,每个消费者只需要关注自己负责处理的日志级别,从而实现了日志的分发和处理。交换机会将收到的消息广播到与其绑定的所有队列中。Fanout模式是RabbitMQ中的一种消息传递模式,它将消息广播到所有绑定到Exchange的队列中,即使在消息发布之后才创建的队列,也能接收到消息。

2024-04-07 22:21:18 874

原创 ConcurrentHashMap:使用方法和底层原理详解

ConcurrentHashMap是Java集合框架中的一个线程安全的哈希表实现,它提供了比Hashtable和同步的HashMap更高的并发性能。ConcurrentHashMap在JDK 1.5中引入,通过采用分段锁的方式实现了高效的并发访问。它可以在保证线程安全的同时,提供较高的并发性能,因此是多线程环境下使用频率较高的数据结构之一。

2024-04-07 16:29:10 1295

原创 接口的幂等性

接口的幂等性是指无论调用多少次,接口的执行结果都是一致的。简而言之,对于同一个请求,无论执行一次还是多次,都不会产生不同的结果。这对于系统的可靠性和稳定性至关重要。

2024-04-07 16:14:37 911

原创 SQL索引失效原因分析与解决方案

原因:该查询中使用了列,但如果没有为该列建立索引,数据库可能会选择进行全表扫描,而不是利用索引进行快速查询。解决办法:为。

2024-04-07 16:00:40 416

python画樱花树,python画图案例

python画樱花树,python画图案例

2024-01-13

python五子棋,含有AI智能对战

python五子棋

2024-01-13

typora老版+word插件

typora老版+word插件,我整合出来方便大家下载。

2023-12-04

Java课程设计,常见的扫雷游戏

这是一个java的课程设计。

2023-02-20

动物换位源代码,Java课程设计

Java课程设计,动物换位源代码。

2023-02-19

空空如也

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

TA关注的人

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