自定义博客皮肤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

极客李华的博客

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

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

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

2024-04-25 01:20:33 150

原创 越权攻击入门讲解

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

2024-04-24 23:00:58 99

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

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

2024-04-24 22:22:55 142

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

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

2024-04-24 22:12:01 595

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

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

2024-04-24 22:00:25 97

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

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

2024-04-24 21:52:41 277

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

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

2024-04-24 21:04:37 106

原创 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 747

原创 RTOS实时操作系统简介

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

2024-04-24 01:34:59 185

原创 安卓体系结构

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

2024-04-24 01:10:49 538

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

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

2024-04-15 22:16:12 211

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

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

2024-04-13 00:14:11 220

原创 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 341

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

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

2024-04-12 19:53:11 245

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

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

2024-04-11 09:30:18 714

原创 快手校招一面讲解

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

2024-04-10 20:22:57 901

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

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

2024-04-10 12:51:27 491

原创 渗透测试学习概述

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

2024-04-10 12:49:53 957

原创 Java中的volatile关键字

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

2024-04-09 18:13:06 538

原创 面试题: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 247

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

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

2024-04-08 21:44:42 233

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

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

2024-04-07 22:21:18 794

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

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

2024-04-07 16:29:10 1019

原创 接口的幂等性

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

2024-04-07 16:14:37 907

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

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

2024-04-07 16:00:40 368

原创 什么是CAS锁

在并发编程中,CAS(Compare And Swap)锁是一种乐观锁机制,用于实现多线程之间的同步。CAS操作包括三个步骤:读取内存值、比较内存值与预期值、如果相等则更新内存值。CAS锁可以有效地解决传统锁机制中的性能问题和死锁问题,是并发编程中常用的同步手段之一。

2024-03-19 23:43:00 913 1

原创 如何解决cmd命令窗口无法运行mysql命令的问题

简介:如何解决cmd命令窗口无法运行mysql命令的问题。,这个方法可以让系统重新读一遍环境变量,让其生效。找到mysql server的安装地址。如果不想重启可以在cmd窗口输入。

2024-03-19 15:18:14 361

原创 机器学习练手项目-猫狗分类器

猫狗分类器是一个深度学习项目,旨在识别图像中的猫和狗。通过训练神经网络模型,该项目可以从输入的图像中准确地识别出是猫还是狗。这个项目可以应用于许多实际场景,如图像分类、动物识别等。

2024-03-15 17:27:59 1196 1

原创 git如何创建新分支,GitHub默认分支是main怎么连上

在github里面默认的分支不是master,是main,所以如果想要上传代码到github,首先要在本地创建一个main分支。重命名其他分支:首先切换到其他分支,然后执行 git branch -m 强制删除分支(如果分支未合并):git branch -D 重命名当前分支:git branch -m 删除本地分支:git branch -d

2024-03-15 16:35:40 458

原创 npm install安装太慢或者失败,可以尝试一下以下方法

在 Windows 上使用 PowerShell,rm -rf 命令并不可用,想要。简介:npm install安装太慢或者失败,可以尝试一下以下方法。然后就可以很快安装好,运行成功了。分别在终端中运行下面的命令。然后查看自己的npm版本。,就可以使用并行安装。

2024-03-15 15:33:08 789

原创 如何在vue项目中快速导入marked

这是marked.js的官网:https://github.com/markedjs/marked。简介:本文讲解在vue项目中如何快速导入marked.js。然后对于vue项目,我们需要修改。然后模仿下面的写法就可以实现了。在里面加上这样的一大段话。

2024-03-14 19:39:42 508

原创 vue中router页面之间参数传递,params失效,建议使用query

在vue中有一个router功能,他可以用来页面之间的参数传递,他有两种方式一种是params方式,一种是query方式,但是params方式特别容易导致参数的丢失问题,所以一般建议使用query的方式。简介:本文讲解vue中router页面之间参数传递,params失效,建议使用query。

2024-03-14 15:30:47 559

原创 如何实现缓存与LRU算法以及惰性过期

在计算机科学中,缓存是一种临时存储数据的技术,用于加速数据访问速度。通过将常用数据存储在高速缓存中,可以减少对慢速存储器(如磁盘或数据库)的访问次数,从而提高系统的性能和响应速度。缓存通常位于计算机内存或更快速的存储介质上。用户实现缓存是指开发人员根据应用程序的需求,手动实现缓存机制,以提高系统的性能和响应速度。相比于由系统自动管理的缓存机制,用户实现缓存可以更灵活地控制缓存的存储策略、过期策略和淘汰策略,从而更好地满足特定场景下的需求。

2024-03-13 22:24:41 1024

原创 如何在Django中正确解析POST请求参数

在实际开发中,可能会遇到一些问题,例如无法正确获取参数值或解析失败。然而,有时前端发送的POST请求参数可能是以JSON格式发送的,而不是标准的表单形式。可能无法正确解析参数。在这种情况下,我们需要手动解析请求体中的JSON数据。方法将其解析成Python对象。然后可以从解析后的数据中获取参数值。在Django中,当接收到POST请求时,可以使用。字典来访问请求中的参数。是POST请求中的参数名,是当参数不存在时的默认值。是请求体的原始数据,使用。

2024-03-13 22:08:44 473

原创 Django如何配置解决CORS问题

要在 Django 中配置跨域资源共享(CORS),你需要使用 Django 的第三方库。替换为你 Vue 开发服务器的地址,以允许跨域访问。简介:本文演示Django如何配置解决CORS问题。安装完成后,在你的 Django 项目的设置文件(

2024-03-13 22:05:04 600

原创 C++中拷贝构造会出现的情况

简介:本文讲解在c++中拷贝构造会出现的情况有哪些。

2024-03-12 22:59:51 408

原创 Django项目怎么关闭CFRS

如果Django项目的CFRS没有关闭的话运行项目,使用Postman进行调试,就会出现下面这样的错误。这个时候我们想要解决这个问题,也很简单,进入setting.py注释掉图中代码就可以了。简介:本文讲解Django项目怎么关闭CFRS。

2024-03-12 22:33:13 351

原创 Django项目如何通过修改manage.py指定运行的地址和端口号

简介:本文讲解Django项目如何通过修改manage.py指定运行的地址和端口号。

2024-03-12 16:26:45 352

原创 对于github不同的分支main或者master,git拉取代码的时候怎么拉取不同分支的代码

简介:对于github不同的分支main或者master,git拉取代码的时候怎么拉取不同分支的代码。在GitHub里面默认有两个分支,一个是main,一个是master。我们通过git拉代码的时候,默认拉的就是。

2024-03-11 22:35:26 587

原创 配置SSH时候,Permission denied问题解决方法

简介:本文讲解配置SSH时候,Permission denied问题解决方法。我们只需要在管理员的情况下,打开。的时候遇到这个问题。

2024-03-11 20:10:13 452

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关注的人

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