- 2024-11-14实习冲刺第二十一天
14.最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例1:输入:strs=["flower","flow","flight"]输出:"fl"示例2:输入:strs=["dog","racecar","car"]输出:""解释:输入不存在公共前缀
- 2024-11-12同步异步,阻塞非阻塞
同步异步,阻塞非阻塞区别: 同步:调用者发出请求后,一直等待被调用者返回结果或通知,才进行下一步操作。 异步:调用者发出请求后,不等待被调用者返回结果或通知,就进行下一步操作。阻塞:调用者发出请求后,被调用者不返回结果或通知,调用者就一直等待,不能进行其他操作。 非阻塞:调用者发出请
- 2024-11-12lec 02 arm汇编语言基础
Lecture02:ARM汇编基础Contents为什么学习ARM/ISA汇编从C到汇编理解arm汇编理解机器执行1为什么学习汇编和指令集架构?1.令人困惑的应用表现2.指令集架构ISA(InstructionSetArchitecture)CPU向软件(应用程序和操作系统)提供的接口。理解软件在CPU上的运行(OS设
- 2024-10-27Python 函数的返回值定义语法
什么是函数返回值?函数在执行完成后,返回给调用者的结果返回值的应用语法:使用关键字:return来返回结果def函数(参数...):函数体return返回值变量=函数(参数)注意:函数体在遇到return后就结束了,所以写在return后的代码不会执行练习:#定义一个函数,完成两
- 2024-10-16前端开发设计模式——命令模式
目录一、命令模式的定义和特点1.定义: 2. 特点:二、命令模式的结构与原理1.结构:2.原理:三、命令模式的实现方式1.定义接口命令:2.创建具体的命令类:3.定义接收者:4.创建调用者:四、命令模式的使用场景1.界面按钮的点击操作: 1.1
- 2024-10-11Nacos服务相关
nacos是阿里开源的一款用于微服务的多服务管理工具,通过服务注册进入内部服务器可以看到注册的服务;服务注册原理:在微服务远程调用的过程中,包括两个角色:服务调用者,调用其他服务的接口,服务提供者,提供接口给其他服务调用在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服
- 2024-10-11设计模式详解(命令模式)
命令模式(CommandPattern)是一种行为型设计模式,它将请求封装为一个对象,从而使得请求的发送者和接收者解耦。一、命令模式的核心思想命令模式的核心思想是将“请求”封装成为一个对象,从而使得我们可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的
- 2024-10-07一起学RISC-V汇编第9讲之RISC-V ABI之寄存器使用约定
目录1RISC-V寄存器使用约定2Caller-saved与Callee-saved2.1对比几种不同的寄存器保存方式2.2为什么要分caller-saved与callee-saved?2.3caller-saved与callee-saved寄存器的灵活使用寄存器使用约定告诉我们函数调用时通过哪些寄存器传递参数、通过哪些寄存器保存返回值、
- 2024-10-07Java中的外观模式
Java中的外观模式综述本文总结外观模式的定义,特点,使用场景并给出了具体的示例.外观模式的定义外观模式(门面模式)是一种结构型设计模式.其主要目的是为复杂系统提供一个简化的接口.帮助客户端代码与系统的子系统进行交互,同时还可以省略大量的细节.这种设计模式可以称得
- 2024-09-27c# async await详解
asyncawait传染性async/await具有传染性其实指的是你需要把异步函数的结果包装在Task类型当中。之所以c#要加async的主要原因是之前的await不是关键字,老代码可能会把await作为变量名,为了兼容性才加了async明确标识函数是continuation。await不能省略,在语义上有违直觉,为什么T
- 2024-09-09【编程底层思考】理解控制反转Inverse of Control,IOC 和 依赖注入Dependency Injection,DI,一体两面
RodJohnson是第一个高度重视以配置文件来管理Java实例的协作关系的人,他给这种方式起了一个名字:控制反转(InverseofControl,IOC)。后来MartineFowler为这种方式起了另一个名称:依赖注入(DependencyInjection),因此不管是依赖注入,还是控制反转,其含义完全相同。当某个Java对象(
- 2024-08-03方法的作用
方法的作用Java中方法(Method)的作用非常广泛,它们是面向对象编程的核心概念之一方法在Java中的一些主要作用:封装行为:方法允许将特定的行为封装在代码块中,这有助于组织和模块化程序。提高代码重用性:通过定义通用的方法,可以在不同的上下文中重复使用相同的代码,避免重复
- 2024-07-31方法的作用
封装性:方法允许将功能封装在代码块中,使得代码更加模块化和易于管理。复用性:通过定义方法,可以避免代码重复,提高代码的复用性。抽象性:方法提供了一种抽象机制,允许开发者在不关心实现细节的情况下使用功能。参数化操作:方法可以接受参数,使得相同的代码可以处理不同的数据。返回值
- 2024-07-14按值传递
值传递:当一个参数按照值的方式在两个方法之间传递时,调用者和被调用者其实是用的两个不同的变量——被调用者中的变量(原始值)是调用者中变量的一份拷贝,对它们当中的任何一个变量修改都不会影响到另外一个变量引用传递:当一个参数按照引用传递的方式在两个方法之间传递时,调用者
- 2024-07-13关于面向对象的方法并行执行的问题
LabVIEW的从同一个类实例化的多个对象如何执行各自的方法呢?这几天跟同事讨论到LabVIEW的面向对象编程中,如果我设计的一个类有一个方法比较耗时,那么当我实例化多个对象时,那么这个耗时的方法是怎么执行的呢?是各自并行执行还是,必须等某一个对象的方法调用完,接下来调用第二个对象的该
- 2024-07-0909 为内核支持函数调用
在[[08内核第一条指令|上一节]]我们使用了编写entry.asm函数中编写了内核的第一条指令,但是我们使用的汇编.这里注意我们仍然是嵌入了这段asm代码到我们的rust代码之中,然后进行编译.但是即使连使用fnmain都不被允许,因此我们如果希望使用rust来编写内核代码,因此我们最好为内核
- 2024-06-21Java基础:throw和throws的详解
总结来说,throw是用来抛出一个具体的异常实例,而throws是用来声明方法可能会抛出哪些类型的异常,是对调用者的一种通知和要求。1.throw作用:throw关键字用于在方法体内实际抛出一个异常实例。当程序运行到throw语句时,指定的异常会被创建并抛出,立即终止当前方法的执行,并将控制权
- 2024-06-20第五章 函数
一、函数1.理解:执行一段特定功能的代码,并且可以通过名字进行反复的调用2.函数的使用流程: break:终止、结束本层循环continue:中止、结束本层本次循环 外层循环和内层循环 3.函数的定义位置:定义类以内,其他函数以外的位置(与main函数并列)二、函数的基本使
- 2024-06-17第五章:函数
一、函数1.理解:执行一段特定功能的代码,并且可以通过名字进行反复的调用2.函数的使用流程:(1)函数的定义:确定函数的功能和函数名 a.函数的声明:确定函数的名字 b.函数的实现:确定函数的功能 (2)函数的调用:通过名字进行反复的使用3
- 2024-05-30深入浅出CPU眼中的函数调用&栈溢出攻击
深入浅出CPU眼中的函数调用——栈溢出攻击原理解读函数调用,大家再耳熟能详了,我们先看一个最简单的函数:#include<stdio.h>#include<stdlib.h>intfunc1(inta,intb){ intc=a+b;returnc;}intmain(){intres=func1();printf("%d",res);}函
- 2024-05-04函数调用过程分析
参考:轩辕之风——从0开始学逆向第7天函数调用约定定义在计算机科学中,调用约定是一种定义子过程从调用处接受参数以及返回结果的方法的约定。不同调用约定的区别在于:参数和返回值放置的位置、参数传递的顺序、调用前设置和调用后清理的工作,在调用者和被调用者之间如何分配,被
- 2024-04-12汇编语言简易教程(11):函数与栈帧
汇编语言简易教程(11):函数与栈帧需要注意.这里的函数指的是汇编语言(yasm)的函数,但对理解其他高级语言的函数在汇编中的实现会有很大的帮助.函数和过程(即空函数)有助于将程序分解为更小的部分,从而更容易编码、调试和维护。函数调用涉及两个主要操作:函数链接由于可以
- 2024-03-30函数调用约定——__cdecl与__stdcall
1.定义函数调用约定,也称函数调用协议,是指在函数调用时,确定函数参数如何传递给被调用的函数,以及如何返回结果值给调用者的一系列规则。也就是函数的调用者与被调用者之间如何传参以及如何恢复栈平衡。2.职责规定了函数参数的压栈顺序,即有多个参数时,按照什么顺序进行压栈;规定了
- 2024-03-285.File的listFile方法
listFiles方法注意事项:当调用者不存在时,返回null当调用者是一个文件时,返回null当调用者是一个空文件夹时,返回一个长度为0的数组当调用者是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的
- 2024-03-27x64dbg破解EnableMenu.exe
最近在学re,正好记录一下解题思路和x64dbg的使用。目录运行程序搜索API寻找调用者位置打上补丁方法一方法二运行程序首先运行exe文件,发现菜单中的Menue功能被禁用了,无法点击。所以,现在的目标就是修改程序,使菜单有效。搜索API由于该文件是32位的exe文件,所以应该