自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 ICE简单介绍及使用示例

ICE的产生就是源于.NET、CORBA及WEB SERVICE这些中间件的不足,它可以支持不同的系统,如WINDOWS、LINUX等,也可以支持在多种开发语言上使用,如C++、C、JAVA、RUBY、PYTHON、VB等,服务端可以是上面提到的任何一种语言实现的,客户端也可以根据自己的实际情况选择不同的语言实现,如服务端采用C语言实现,而客户端采用JAVA语言实现,底层的通讯逻辑通过ICE的封装实现,我们只需要关注业务逻辑。这是必要的,因为只有服务器情况中的代理实现确切地知道某个对象的类型。

2024-09-02 20:28:54 801

原创 SQL Server中 LOP_FORMAT_PAGE日志记录解释

是SQL Server事务日志中的一种重要记录类型,负责描述页面整理操作。它在页面初始化、事务日志记录和数据库恢复中扮演了关键角色,确保数据库操作的可靠性和一致性。是一种事务日志记录类型,表示SQL Server对数据页(Data Page)进行删除的操作。详细的背景和任务类型有助于深入理解SQL Server的内部机制,尤其是在恢复和日志管理方面。在数据库恢复过程中,SQL Server会读取事务日志并应用其中的记录和数据。是日志记录的一种类型,用于描述页面的格式化操作。在SQL Server中,

2024-07-24 09:39:19 423

原创 Linux 的启动流程

探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关系更密切。

2024-06-28 10:58:27 1454 1

原创 python 中 json.load json.loadd json.dump json.dumps 详解

json.load(), json.loads(), json.dump(), 和 json.dumps() 是这个模块中用于序列化和反序列化JSON数据的主要函数。json.load() 和 json.loads() 用于从JSON数据中读取数据,并将它们转换为Python对象。作用:从一个文件对象(例如使用 open() 函数打开的文件)中读取JSON数据,并将其转换为一个Python对象(如列表或字典)。作用:从一个JSON格式的字符串中读取数据,并将其转换为一个Python对象(如列表或字典)。

2024-06-28 10:51:29 608

原创 QEMU-aarch64与UEFI(EDK2)环境搭建

环境搭建是学习UEFI(EDK2)的重要前提,以下是基于QEMU-aarch64环境搭建UEFI(EDK2)的学习环境的过程

2024-06-26 10:59:04 437

原创 python 使用win32api操作注册表

【代码】python 使用win32api操作注册表。

2024-05-11 16:49:00 304

原创 PRCD-1120 : The resource for database RAC could not be found.

ora.asmora.eonsora.gsdora.onsora.oc4jSpfile:Domain:Services:

2024-04-28 17:37:25 554

原创 PRCD-1120 : The resource for database racpdb could not be found.PRCR-1001 : Resource ora.racpdb.db d

原因:数据库没有在OCR中注册。解决方案:将数据库注册到OCR,包括实例。

2024-04-28 17:24:56 370

原创 oracle 数据库错误信息

描述了您在使用 Oracle 数据库时可能遇到的错误消息。对于每条消息,本手册描述了消息文本、可能的原因和纠正措施。如果该消息是警告或表明发生了错误,则会提供解决方案

2024-04-11 20:49:35 1109

原创 C语言打印当前时间戳

local_time->tm_mon + 1, // 月份是从0开始的,所以需要加1。local_time->tm_year + 1900, // 年份是从1900年开始计算的。local_time->tm_mday, // 日期。local_time->tm_min, // 分钟。local_time->tm_hour, // 小时。local_time->tm_sec, // 秒。// 获取当前的时间。// 打印当前的时间。

2024-03-20 10:34:01 955 1

原创 ASM实例

ASM实例中的SGA与数据库实例中的SGA在内存分配和使用方面有所不同。而后台进程,如LGWR(日志写进程)、SMON(系统监视器进程)、PMON(进程监视器进程)、DBWn(数据库写进程)、CKPT(检查点进程)等,则是两个实例共有的。ASM的DiskGroup概念与LVM卷组管理中的VG概念类似,都是将多块物理磁盘组成一个磁盘组,磁盘组中的数据均匀分布在各个物理磁盘上。总的来说,ASM实例是Oracle数据库存储管理的重要组成部分,它通过优化内存使用和磁盘I/O分布,提高了数据库的性能和可靠性。

2024-03-14 10:03:46 440

原创 启动KVM (Kernel-based Virtual Machine) 的命令行

启动KVM (Kernel-based Virtual Machine) 的命令行。

2024-02-01 15:03:51 465

原创 代码实现操作拥有TrustedInstaller权限的注册表项

前段时间要做一项工作,需要通过代码删除/编辑注册表ROOT主键下的一些CLSID的项。这些项有一个共同特点,就是他们的完全控制权限隶属于TrustedInstaller,一个虚拟出来的用户。对于隶属于TrustedInstaller用户的注册表项来说,即使获取到了system用户权限依然无法操作。REG_OPTION_BACKUP_RESTORE参数可以直接绕开系统的权限检查。

2023-12-20 21:43:09 529

原创 内存映射(Memory Mapping)

需要注意的是,对于内存映射的读写操作需要谨慎处理,确保数据的一致性和完整性,并避免出现竞态条件。此外,内存映射可能会占用较多的虚拟内存空间,因此在使用大文件或大量映射时要特别留意内存使用情况,以避免耗尽可用的内存资源。当访问内存映射的文件时,操作系统会自动将相关的文件数据加载到内存中,在后续的读写操作中可以获得较高的性能。简化访问:通过将文件或设备数据映射到进程的地址空间,可以直接在内存中对其进行访问,而无需进行显式的读写操作。访问数据:通过对内存映射地址进行读写操作,可以直接访问映射的文件或设备数据。

2023-11-29 19:15:02 412

原创 备份方式介绍

由于NAS设备是个封闭的存储系统,一般很难在NAS设备上安装备份软件的Client Agent(只能安装在生产系统上),所以传统的网络备份都是先通过CIFS或者NFS共享协议从NAS设备中将需要备份的数据读出,然后再通过网络将这些数据传送到备份服务器上备份。备份过程中,服务器只需要下发相应的命令给源存储介质即可,不需要再缓存数据,可以明显的降低对资源的占用。这种组网下,对NAS存储的要求降低了,也可以共用磁带库资源,但是由于数据都是通过网络传递给服务器,所以性能会偏低,同时备份服务器的负荷也增加了。

2023-11-09 19:24:00 235

原创 SSL(Secure Sockets Layer)详解

总结来说,SSL协议通过使用公钥密码学、数字证书和消息摘要算法来确保网络通信的机密性、完整性和身份验证。这使得SSL成为保护敏感信息的标准方法,例如在网页浏览器和服务器之间的安全HTTP通信(HTTPS),以及其他应用程序和服务之间的安全通信。服务器拥有自己的数字证书,其中包含有关服务器的信息,以及由可信任的第三方机构(证书颁发机构)签名的证书。客户端可以验证服务器证书的真实性,并确保连接到的是预期的服务器。接收方可以验证数据在传输过程中是否被篡改,通过比较接收到的数据的摘要值与重新计算的摘要值是否匹配。

2023-10-25 10:02:08 208

原创 Oracle数据库 ADG主备切换

Failover一般表示Primary数据库瘫痪或至少无法启动,这种转换已不能在Primary数据库上做任何操作,只要更改Standby数据库的角色为primary。如果此时在主库插入数据,然后手动切换log,会发现archive log会传至备库,但是未被应用。此时因为原来的主库已经切换到的备库,所以这个备库可以切换到主库了,状态为:TO PRIMARY。3)一般情況下,新的primary数据库配置后,要建立新的Standby数据库。主备切换完成,在新的主库做数据变更,在新的备库做数据校验,是否同步。

2023-10-10 11:25:08 1325

原创 Oracle 11g Data Guard (ADG) 原理

主库不断的产生redo log,这些日志被LGWR写进联机日志,当一组联机日志被写满,会发生日志切换,并且ARCH会将其归档,本地归档是LOG_ARCHIVE_DEST_1='LOCATION=/...'这种参数定义,ARCH进程还会通过网络把归档日志传送给备库的一个叫做RFS的进程,备库接受日志并写入到归档日志,然后备库的MRP进程(redo apply)或者LSP进程(SQL apply)在备库上应用这些日志,于是数据就同步了。而在其他模式下,是从归档日志中读取日志然后再进行日志应用。

2023-10-08 17:50:16 1398

原创 std::vector详解

是 C++ 标准库中的一个动态数组容器类,提供了方便的操作函数和方法来处理动态大小的数组。它可以自动调整内存空间,并提供了丰富的成员函数来进行元素的插入、删除、访问和遍历等操作。是 C++ 标准库中的一个容器类,用于动态数组的管理。它提供了方便的操作函数和方法来处理动态大小的数组。定义和初始化: 可以使用以下方式定义和初始化一个。方法来获取当前存储的元素数量,提供了。还提供了许多其他常用的方法,如。插入和删除元素: 可以使用。方法在尾部插入元素,使用。删除指定位置的元素等。在指定位置插入元素,

2023-09-18 10:48:46 1461

原创 Linux-PAM认证模块

当pam_unix验证模块与auth验证类型一起使用时,此模块可以使用的选项有debug、audit、use_first_pass、 try_first_pass、nullok和nodelay,主要功能是验证用户密码的有效性,在缺省情况下(即不带任何参数时),该模块的主要功能是 禁止密码为空的用户提供服务;在/etc/pam.d/下的文件中,与服务名称相对应的文件,为该服务的pam验证文件,例如服务为sshd,则在/etc/pam.d下存在 sshd这个文件,里面包含sshd验证规则。

2023-09-06 20:28:20 487

原创 虚拟化技术简介

KVM(Kernel-based Virtual Machine,基于内核的虚拟机)是一种 TYPE1 Hypervisor(裸金属类型)虚拟化技术,VMM 和 HostOS 一体化,直接运行 Host Hardware 之上,实现硬件和虚拟机完全管控。

2023-08-10 20:52:13 1958

原创 一些笔记......

函数是一个用于等待对象的信号状态的函数。它可以用于等待线程、进程等内核对象的信号状态变化。(0x80): 线程等待的互斥体对象被拥有它的线程释放,而不是通过释放资源。函数时,通常需要检查返回值以确定等待操作的结果,并根据不同的返回值采取相应的处理措施。函数的返回值指示等待操作的结果,具体取决于等待的对象的不同情况。指定的等待时间已经过去,但对象的信号状态仍未变为有信号。): 等待操作失败。可能的原因包括无效的句柄、调用线程没有访问权限或其他系统错误。(0): 指定的对象信号状态变为有信号。

2023-07-27 17:09:25 144

原创 详解URL(Uniform Resource Locator)

在网页中,URL(Uniform Resource Locator)是用于标识和定位网络资源的地址。它是一种字符串格式,以文本的形式表示在网络上的资源位置。

2023-07-18 11:27:38 264 1

原创 如何用WM_COPYDATA跨进程传递窗口句柄

要使用 WM_COPYDATA 跨进程传递窗口句柄, 可以按照以下步骤进行: 在发送方进程中创建一个 COPYDATASTRUCT 结构体,并将要发送的窗口句柄存储在其中。我们首先检查传递的数据大小是否为窗口句柄的大小,以确保正确提取数据。然后我们可以使用传递的窗口句柄来执行任何需要与该窗口交互的操作。

2023-04-01 17:44:14 436

原创 C++ 中 用new申请堆空间失败之后,怎么进行错误处理

在使用 new 运算符时,如果动态分配内存失败,将返回一个空指针。在这种情况下,我们可以通过检查返回的指针是否为空来判定分配内存是否成功。一种处理申请堆空间失败的方法是抛出异常。可以使用 std::bad_alloc 异常类来表示内存分配失败的情况。一种处理申请堆空间失败的方法是抛出异常。可以使用 std::bad_alloc 异常类来表示内存分配失败的情况。

2023-04-01 17:42:36 946

原创 C语言面试--地址内存

​在C语言中,从变量存在的时间生命周期角度上,把变量分为静态存储变量和动态存储变量两类。静态存储变量是指在程序运行期间分配了固定存储空间的变量而动态存储变量是指在程序运行期间根据实际需要进行动态地分配存储空间的变量。在内存中供用户使用的内存空间分为三部分: 程序存储区 静态存储区 动态存储区。​

2022-10-11 23:22:17 164 1

原创 const的详细用法介绍

关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定有它的合理性,与预编译指令相比,const修饰符有以下的优点:1、预编译指令只是对值进行简单的替换,不能进行类型检查2、可以保护被修饰的东西,防止意外修改,增强程序的健壮性3、编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间

2022-10-09 23:23:31 255

原创 C++面试问题总结1

以下是我收集到的一些关于C++面试常见的一些问题,用于各位正在准备面试的好兄弟们参考,有不正确的地方欢迎指正@-@。问题一:继承和多态的区别? 继承:类与类之间可以共用代码,实现代码重用。 多态:子类重写父类的方法,使得子类具有不同的实现。且运行时,根据实际创建的对象动态决定使用哪个方法。 C++中实现多态的前提条件。1.有继承;2.重写父类方法 ;3.该方法要被virtual修饰; 4.父类指针或者引用指向子类对象 1.多态的实现要求必须是共有继承。 2.在继承

2022-10-09 19:57:07 588

原创 你是不是也被“羊了个羊”PUA了?

最近,游戏“羊了个羊”风靡各平台及社交圈,但是恶心的游戏机制让很多朋友叫苦连天,苦不堪言,现在我就从个人的角度出发,浅浅的思考一下。(以下内容仅为个人吐槽)

2022-09-28 16:07:35 1132

原创 进程的状态转换和进程标识符

Linux中的进程有以下几种主要状态。①运行状态( TASK_ RUNNING)​ 进程当前正在运行,或者正在运行队列中等待调度。②可中断的阻塞状态( TASK_ INTERRUPTIBLE)​ 进程处于阻塞(睡眠)状态,正在等待某些事件发生或能够占用某些资源。处在这种状态下的进程可以被信号中断。接收到信号或被显式地唤醒呼叫(如调用wake_ up系列宏: wake_ up、wake_ up_ interruptible 等)唤醒之后,进程将转变为TASK_ RUNNING状态。

2022-09-27 18:32:38 296

原创 C++软件开发工程师笔试题

C++软件开发工程师笔试题

2022-09-24 23:45:21 1656

原创 嵌入式基础知识点

Linux将硬件设备分为3大类,分别是字符设备、块设备和网络设备。字符设备是指那些能一个字节一个字节读取数据的设备,提供连续的数据流,一般不支持随机读取,如键盘鼠标等,常见的SPI/I2C/UART默认也是字符设备。块设备与字符设备类似,一般是像磁盘一样的设备,可以访问任意位置数据,读取位置和大小由程序决定,支持随机读取。网络设备主要负责主机之间的数据交换。与字符设备和块设备完全不同,网络设备主要是面向数据包的接收和发送而设计的

2022-09-20 17:14:49 308 1

原创 static修饰局部变量和全局变量会有什么效果

静态全局变量:具有全局作用域,它与全局变量的区别在于如果程序包含多个文件的话,它作用于定义它的文件里,不能作用到其它文件里,即被 static 关键字修饰过的变量具有文件作用域。 静态局部变量:具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在。

2022-09-20 11:49:53 666

原创 详解:堆和栈 线程与进程 Linux驱动程序

共有5点不同:1.分配与回收机制不同,栈由系统自动分配回收,堆由程序员手动分配与回收。2.空间大小不同,堆的大小由程序员手动开辟,理论上可开辟整个虚拟内存大小,栈的大小较小,有默认上限。3.地址增长方向不同,堆地址由低地址往高地址方向增长,栈的地址由高地址向低地址方向增长。4.存放内容不同:栈存放函数返回地址,局部变量,相关参数,寄存器内容等。堆顶有一个字节的堆的大小,堆中存放的内容由程序员自己填充。5.效率不同:栈由系统自动分配,空间较小,执行效率较高。堆由程序员自己控制,分配复杂,容易产生碎片,还需程序

2022-09-20 11:38:57 1331 1

原创 C++ 详解类与对象

​ 类是用户自定义的一种数据类型1、类和对象的关系​ 类是对象的抽象​ 对象是类的实例化

2022-09-19 20:31:12 437

原创 QT实现一个图片显示器,有登录界面(附图片,源码可直接使用)

​ 功能主界面需要具备显示打开的文件路径和文件名的功能,并且可以选择需要打开的图片并显示到此界面上。 创建一个窗体,设计用户登录的界面(含有用户名、密码),并实现用户登录的功能,要求用户提交的登录按钮时能获取界面中的用户名、密码数据并与数据库中的数据进行匹配,若用户名,密码正确则登录成功,否则登录失败。

2022-09-18 00:28:14 2580 4

原创 QT-登录界面的实现

​ 创建一个窗体,设计用户登录的界面(含有用户名、密码),并实现用户登录的功能,要求用户提交的登录按钮时能获取界面中的用户名、密码数据并与数据库中的数据进行匹配,若用户名,密码正确则登录成功,否则登录失败。

2022-09-15 22:30:19 4261 5

原创 C++多态的详细介绍(附代码)

一个函数接口,多种实现方法 多态就是当要完成某个行为,当不同的对象去完成时会产生不同的效果。或者是说,不同的对象处理某一件事有不同的方法

2022-09-14 23:42:13 691 3

原创 堆排序算法

堆的结构可以分为大根堆和小根堆,是一个完全二叉树,而堆排序是根据堆的这种数据结构设计的一种排序

2022-08-23 16:48:10 105

原创 详解希尔排序——附图片代码

希尔排序是特殊的插入排序,直接插入排序每次插入前的遍历步长为1,而希尔排序是将待排序列分为若干个子序列,对这些子序列分别进行直接插入排序,当每个子序列长度为1时,再进行一次直接插入排序时,结果一定是有序的。

2022-08-18 21:31:03 419

空空如也

空空如也

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

TA关注的人

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