- 在笔者上一篇文章《驱动开发:内核MDL读写进程内存》简单介绍了如何通过MDL映射的方式实现进程读写操作,本章将通过如上案例实现远程进程反汇编功能,此类功能也是ARK工具中最常见的功能之一,通常此类功能的实现分为两部分,内核部分只负责读写字节集,应用层部分则配合反汇编引擎对字节集进行解码,此处我们将运用capstone引擎实现这个功能。首先是实现驱动部分,驱动程序的实现是一成不变的,仅仅只是做... 在笔者上一篇文章《驱动开发:内核MDL读写进程内存》简单介绍了如何通过MDL映射的方式实现进程读写操作,本章将通过如上案例实现远程进程反汇编功能,此类功能也是ARK工具中最常见的功能之一,通常此类功能的实现分为两部分,内核部分只负责读写字节集,应用层部分则配合反汇编引擎对字节集进行解码,此处我们将运用capstone引擎实现这个功能。首先是实现驱动部分,驱动程序的实现是一成不变的,仅仅只是做...
- Linux系统之top命令的基本使用 Linux系统之top命令的基本使用
- 模式就是解决问题的固定套路,设计模式(Design pattern)就是一套经过前人反复使用,总结出来的程序设计经验。设计模式总共分为三大类: 第一类是创建型模式 ,该模式通常和对象的创建有关,涉及到对象实例化的方式。包括:单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式五种; 第二类是结构型模式,结构型模式描述的是如何组合类和对象来获得更大的结构。包括:代理模式、装饰者模式、适配器模式 模式就是解决问题的固定套路,设计模式(Design pattern)就是一套经过前人反复使用,总结出来的程序设计经验。设计模式总共分为三大类: 第一类是创建型模式 ,该模式通常和对象的创建有关,涉及到对象实例化的方式。包括:单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式五种; 第二类是结构型模式,结构型模式描述的是如何组合类和对象来获得更大的结构。包括:代理模式、装饰者模式、适配器模式
- 文章和代码已经归档至【Github仓库:https://github.com/timerring/java-tutorial 】或者公众号【AIShareLab】回复 java 也可获取。 项目涉及项目框架设计java面向对象编程网络编程多线程IO流Mysql/使用集合充当内存数据库 项目开发流程 需求分析用户登录拉取在线用户列表无异常退出(客户端、服务端)私聊群聊发文件服务器推送新闻 功能... 文章和代码已经归档至【Github仓库:https://github.com/timerring/java-tutorial 】或者公众号【AIShareLab】回复 java 也可获取。 项目涉及项目框架设计java面向对象编程网络编程多线程IO流Mysql/使用集合充当内存数据库 项目开发流程 需求分析用户登录拉取在线用户列表无异常退出(客户端、服务端)私聊群聊发文件服务器推送新闻 功能...
- 学习资源日志参考文档应用开发FAQ日志主要用于记录系统的运行过程及异常信息,帮助快速定位系统运行过程中出现的问题以及开发过程中的程序调试问题。日志分为如下两大类:系统类日志:系统运行产生的日志。主要包括:Control CPU上的系统类日志,包括用户态日志和内核态日志。非Control CPU(例如TSDUMP/LP)上的系统类日志。应用类日志:运行应用程序产生的日志。主要包括:compi... 学习资源日志参考文档应用开发FAQ日志主要用于记录系统的运行过程及异常信息,帮助快速定位系统运行过程中出现的问题以及开发过程中的程序调试问题。日志分为如下两大类:系统类日志:系统运行产生的日志。主要包括:Control CPU上的系统类日志,包括用户态日志和内核态日志。非Control CPU(例如TSDUMP/LP)上的系统类日志。应用类日志:运行应用程序产生的日志。主要包括:compi...
- 学习目标学习目标学习资源1.模型转换模型转换基础 在线课程文档AIPP功能说明 文档应用开发(初级)课程目标: 了解AscendCL的使用场景、基本概念、基本开发流程。 学会使用AscendCL接口开发基础推理应用,应用中包含对图片的基本处理。第1章 AscendCL概述课程目标在这里插入图片描述ACL简介ACL全称Ascend Computing Language,昇腾计算语言。ACL总述... 学习目标学习目标学习资源1.模型转换模型转换基础 在线课程文档AIPP功能说明 文档应用开发(初级)课程目标: 了解AscendCL的使用场景、基本概念、基本开发流程。 学会使用AscendCL接口开发基础推理应用,应用中包含对图片的基本处理。第1章 AscendCL概述课程目标在这里插入图片描述ACL简介ACL全称Ascend Computing Language,昇腾计算语言。ACL总述...
- 当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问 “为什么代码测试环境运行好好的,一上线就不行了?”。 为了解决线程安全的问题,我们的先辈们在编程语言中引入了各种各样新名词,就拿我们熟悉的Java为例,不仅java语言自带了synchronized、volatile、wait、not... 当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问 “为什么代码测试环境运行好好的,一上线就不行了?”。 为了解决线程安全的问题,我们的先辈们在编程语言中引入了各种各样新名词,就拿我们熟悉的Java为例,不仅java语言自带了synchronized、volatile、wait、not...
- Windows defender 介绍Microsoft Defender 防病毒软件在 Windows 10 和 Windows 11 以及 Windows Server 版本中可用。Microsoft Defender 防病毒软件是 Microsoft Defender for Endpoint 中下一代保护的主要组件。这种保护将机器学习、大数据分析、深入的威胁防御研究和 Microso... Windows defender 介绍Microsoft Defender 防病毒软件在 Windows 10 和 Windows 11 以及 Windows Server 版本中可用。Microsoft Defender 防病毒软件是 Microsoft Defender for Endpoint 中下一代保护的主要组件。这种保护将机器学习、大数据分析、深入的威胁防御研究和 Microso...
- 在 Flutter 中,常用的操纵数据库的类库有 sqflite 和 moor。下面我将分别介绍这两个类库的比较以及常用的方法,并附上相应的代码。 sqflitesqflite 是一个 SQLite 数据库的 Flutter 接口,它提供了一组简单的 API,可用于在移动应用程序中存储和检索数据。以下是 sqflite 和 moor 的比较:sqflite 使用原生 SQLite 库,而 m... 在 Flutter 中,常用的操纵数据库的类库有 sqflite 和 moor。下面我将分别介绍这两个类库的比较以及常用的方法,并附上相应的代码。 sqflitesqflite 是一个 SQLite 数据库的 Flutter 接口,它提供了一组简单的 API,可用于在移动应用程序中存储和检索数据。以下是 sqflite 和 moor 的比较:sqflite 使用原生 SQLite 库,而 m...
- Flutter 常用的滚动组件包括:ListView:在一个可滚动的列表中显示一系列的子控件。GridView:在一个网格布局中显示一系列的子控件。SingleChildScrollView:在一个可滚动的视图中显示单个子控件。CustomScrollView:自定义滚动模型的可滚动视图,可以同时包含多种滚动模型,如 ListView、GridView 和 SliverAppBar 等。Li... Flutter 常用的滚动组件包括:ListView:在一个可滚动的列表中显示一系列的子控件。GridView:在一个网格布局中显示一系列的子控件。SingleChildScrollView:在一个可滚动的视图中显示单个子控件。CustomScrollView:自定义滚动模型的可滚动视图,可以同时包含多种滚动模型,如 ListView、GridView 和 SliverAppBar 等。Li...
- 内存泄漏是指对象被分配了内存空间,但在不再需要这些对象时,它们仍然占用着内存空间而没有被垃圾回收。Dart语言使用自动垃圾回收器来管理内存,但如果代码存在一些常见的陷阱,可能会导致内存泄漏问题。以下是一些解决方案:及时释放资源:在使用完资源后,及时将其关闭或释放。例如,在使用文件、网络连接等资源时,应该在使用完后立即关闭。避免循环引用:循环引用是指两个或多个对象之间相互引用,使得它们无法被垃... 内存泄漏是指对象被分配了内存空间,但在不再需要这些对象时,它们仍然占用着内存空间而没有被垃圾回收。Dart语言使用自动垃圾回收器来管理内存,但如果代码存在一些常见的陷阱,可能会导致内存泄漏问题。以下是一些解决方案:及时释放资源:在使用完资源后,及时将其关闭或释放。例如,在使用文件、网络连接等资源时,应该在使用完后立即关闭。避免循环引用:循环引用是指两个或多个对象之间相互引用,使得它们无法被垃...
- 在Android和Flutter的混合工程中,线程的执行涉及到两个方面:Android端的Java线程和Flutter端的Dart Isolate线程。Java线程是在Android原生环境下执行的,通常采用Java多线程方式。可以通过new Thread()创建一个新线程,并调用start()方法来启动它,或者使用ThreadPoolExecutor等线程池管理类来协调线程的创建和执行。这... 在Android和Flutter的混合工程中,线程的执行涉及到两个方面:Android端的Java线程和Flutter端的Dart Isolate线程。Java线程是在Android原生环境下执行的,通常采用Java多线程方式。可以通过new Thread()创建一个新线程,并调用start()方法来启动它,或者使用ThreadPoolExecutor等线程池管理类来协调线程的创建和执行。这...
- 本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果要实现毫秒级别间隔,微秒级别间隔,就需要用到DPC定时器,如果是秒级定时其两者基本上无任何差异,本章将简单介绍IO/DPC这两种定时器的使用技巧。首先来看IO定时器是如何使用的,IO定时器在使用... 本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果要实现毫秒级别间隔,微秒级别间隔,就需要用到DPC定时器,如果是秒级定时其两者基本上无任何差异,本章将简单介绍IO/DPC这两种定时器的使用技巧。首先来看IO定时器是如何使用的,IO定时器在使用...
- 对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。 对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。
- 之前在票圈说写一篇,后面整理完脑图后发现一个问题,一篇文章根本说不清楚啊。除了要写一些书中的精华之外,更多的是要结合冰河实际工作中接触的分布式系统的真实架构案例,写一些冰河个人的总结和体会,希望能够为大家带来一些实质性的帮助。 之前在票圈说写一篇,后面整理完脑图后发现一个问题,一篇文章根本说不清楚啊。除了要写一些书中的精华之外,更多的是要结合冰河实际工作中接触的分布式系统的真实架构案例,写一些冰河个人的总结和体会,希望能够为大家带来一些实质性的帮助。
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签