从云计算到物联网:虚拟化技术的演变与嵌入式系统的融合
文章目录
- 一、硬件性能提升:摩尔定律与嵌入式虚拟化
- 二、CPU多核技术:为嵌入式虚拟化提供支持
- 三、业务负载整合:嵌入式虚拟化的核心需求
- 四、降低硬件成本:虚拟化技术的经济效益
- 五、软件重用与移植:虚拟化技术的优势
- 六、异构操作系统的整合:虚拟化的独特价值
- 七、嵌入式虚拟化的应用场景
- 八、挑战与展望:嵌入式虚拟化的未来发展
- 《嵌入式虚拟化技术与应用》
- 编辑推荐
- 内容简介
- 目 录
随着物联网设备的爆炸式增长和万物互联应用的快速发展,嵌入式系统正面临着一系列的挑战与机遇。为了适应这一变革,虚拟化技术逐渐成为了业界关注的焦点,并在嵌入式系统中得到了广泛的应用。本文将深入探讨嵌入式系统为何需要虚拟化技术,以及这一跨界创新组合的应用场景。
一、硬件性能提升:摩尔定律与嵌入式虚拟化
随着半导体技术的飞速发展,摩尔定律在推动硬件性能提升的同时,也使得成本逐渐降低。这使得今天的嵌入式系统中的SoC(System on a Chip)性能得到了极大的提升,甚至在某些方面超越了传统的服务器。这种性能的提升为嵌入式系统引入虚拟化技术提供了可能。通过虚拟化技术,我们可以将多个操作系统或应用程序运行在单一的硬件平台上,进一步提升硬件资源的利用率。
二、CPU多核技术:为嵌入式虚拟化提供支持
随着CPU多核技术的发展,一个物理处理器能够同时执行多个线程或任务,这为嵌入式系统支持虚拟化技术提供了强大的基础。通过多核技术,我们可以轻松地在单个硬件平台上运行多个操作系统或应用程序,从而实现真正的并行处理。
三、业务负载整合:嵌入式虚拟化的核心需求
随着物联网的普及,不同业务之间的负载整合成为了关键需求。通过虚拟化技术,我们可以将各种业务负载整合到一个统一的平台上,从而实现资源的集中管理和优化。这种整合不仅有助于提升系统的整体性能,还能降低运营成本和维护难度。
四、降低硬件成本:虚拟化技术的经济效益
在嵌入式系统的应用中,节约硬件成本是一个重要的考虑因素。通过引入虚拟化技术,我们可以减少硬件系统的互连,降低整体硬件系统的复杂度。这不仅能够降低硬件成本,还能提升系统的可靠性和稳定性。
五、软件重用与移植:虚拟化技术的优势
在嵌入式系统中,软件重用和移植是一个重要的需求。通过虚拟化技术,我们可以将已有的软件系统进行封装和隔离,使其在不同的硬件平台上得到重用。此外,虚拟化技术还可以简化软件的移植过程,降低开发难度和维护成本。
六、异构操作系统的整合:虚拟化的独特价值
在许多应用场景中,我们需要将不同类型的操作系统(如实时系统和非实时系统、安全系统和非安全系统)整合到一个系统中。通过虚拟化技术,我们可以轻松地实现这种异构操作系统的整合,从而满足各种复杂的应用需求。这种整合不仅有助于提升系统的灵活性和可扩展性,还能降低开发和维护成本。
七、嵌入式虚拟化的应用场景
嵌入式虚拟化技术的应用场景十分广泛,包括但不限于以下几个方面:软件定义汽车驾驶舱、工业领域的工作负载整合、智能家居设备的集中管理、医疗设备的远程监控和维护等。在这些场景中,虚拟化技术能够有效地提升系统的性能、可靠性和可维护性。
八、挑战与展望:嵌入式虚拟化的未来发展
尽管嵌入式虚拟化技术已经得到了广泛的应用和认可,但仍面临着一些挑战。例如,如何进一步提升虚拟化技术的性能和效率、如何实现更精细的资源管理和调度等。未来,随着技术的不断进步和应用需求的不断增长,我们相信嵌入式虚拟化技术将会得到更广泛的应用和更深入的研究。
《嵌入式虚拟化技术与应用》

编辑推荐
适读人群 :本书定位的读者是从事嵌入式虚拟化领域开发的技术人员,或者任何想了解如何在嵌入式系统上实现虚拟机管理程序的专业人员。
1.英特尔开源软件技术中心虚拟化项目组专家力作,本书围绕嵌入式虚拟化技术的核心内容,详细解读Linux基金会开源嵌入式虚拟机ACRN技术的架构、原理和应用实现。本书还特别披露和总结了虚拟化系统的实时性能调优方法和功能安全认证实践。读者可以从第一行代码实现一个x86平台上的“小身材、大能耐”的嵌入式虚拟机。ACRN开源项目的地址:https://projectacrn.org/。
2.读者通过该书学习,在需要高算力的嵌入式应用场景中,基于x86平台和ACRN虚拟化技术可以实现工业领域的工作负载整合或软件定义汽车智能驾驶舱等应用产品。
3.本书适合从事嵌入式虚拟化领域开发的技术人员,或者任何想了解如何在嵌入式系统上实现虚拟机管理程序的专业人员。
内容简介
伴随着物联网设备的指数级增长,在需要高算力的场景,例如软件定义汽车驾驶舱、工业领域的工作负载整合,开源虚拟化技术在嵌入式系统上受到了越来越多的关注和应用。本书首先介绍虚拟化技术的基本原理,包括CPU虚拟化、内存虚拟化、中断虚拟化和设备虚拟化,对比KVM在云服务器上参考实现,重点介绍了开源嵌入式虚拟机ACRN的架构设计、原理和实现。还特别总结了虚拟化系统的实时性能调优方法和功能安全认证实践,以及嵌入式虚拟化技术的典型应用场景案例分析。本书作为嵌入式虚拟化技术入门参考书,通过对ACRN开源软件的介绍,帮助读者从代码开始了解、学习、开发虚拟机软件,掌握嵌入式虚拟化技术并应用于工程实践。
目 录
推荐序一推荐序二前言第1章 虚拟化技术概述 / 11.1 虚拟化技术的发展历史 / 11.2 VMM模型的分类 / 31.3 虚拟化技术的分类 / 41.4 云虚拟化与嵌入式虚拟化 / 51.4.1 嵌入式虚拟化的背景与原因 / 51.4.2 云虚拟化和嵌入式虚拟化的区别 / 51.5 嵌入式虚拟化技术的挑战 / 61.6 本章小结 / 7第2章 虚拟化技术原理 / 82.1 通用虚拟化架构 / 82.1.1 虚拟化的基本概念 / 82.1.2 虚拟化技术的基本原理 / 92.1.3 虚拟化的主要方式 / 182.1.4 VMM的分类 / 192.2 云虚拟化和嵌入式虚拟化对比 / 222.3 嵌入式虚拟化的场景 / 232.4 嵌入式虚拟化技术的特征 / 232.5 本章小结 / 25第3章 开源虚拟化技术—KVM / 263.1 KVM的历史 / 263.2 KVM的原理 / 273.2.1 KVM的架构 / 273.2.2 KVM API及示例 / 283.3 KVM虚拟化实现 / 323.3.1 KVM的初始化 / 333.3.2 KVM虚拟机的创建 / 353.3.3 CPU虚拟化 / 363.3.4 内存虚拟化 / 433.3.5 中断虚拟化 / 563.4 设备虚拟化 / 613.4.1 仿真设备 / 613.4.2 半虚拟化设备 / 623.4.3 直通设备 / 633.4.4 KVM设备虚拟化实现 / 643.5 本章小结 / 68第4章 嵌入式虚拟化技术—ACRN实现 / 694.1 ACRN简介 / 694.1.1 ACRN的由来 / 694.1.2 ACRN的关键技术特点 / 704.1.3 许可证和社区 / 714.2 ACRN应用场景 / 714.3 ACRN架构设计 / 734.3.1 ACRN 1.0整体架构 / 734.3.2 ACRN 2.0/3.0 整体架构 / 744.3.3 ACRN的关键组成 / 754.3.4 ACRN Hypervisor的架构 / 764.4 CPU虚拟化与实现 / 774.4.1 处理器管理 / 794.4.2 vCPU 生命周期 / 804.4.3 vCPU调度 / 804.4.4 VMX 初始化 / 854.4.5 CPUID 虚拟化 / 854.4.6 MSR虚拟化 / 864.4.7 CR虚拟化 / 864.4.8 IO/MMIO模拟 / 864.4.9 指令模拟 / 874.4.10 TSC 模拟 / 884.4.11 ART虚拟化 / 884.4.12 XSAVE虚拟化 / 894.5 内存虚拟化及实现 / 904.5.1 概述 / 904.5.2 Hypervisor物理内存管理 / 914.5.3 Hypervisor内存虚拟化 / 934.5.4 与EPT相关的VM Exit / 964.5.5 服务虚拟机内存管理 / 964.5.6 可信 / 974.6 中断虚拟化及实现 / 984.6.1 概述 / 984.6.2 物理中断 / 1004.6.3 虚拟中断 / 1054.6.4 中断重映射 / 1074.7 I/O虚拟化及实现 / 1104.7.1 I/O访问捕获路径 / 1114.7.2 Hypervisor中的I/O模拟 / 1124.7.3 I/O请求 / 1124.8 本章小结 / 115第5章 嵌入式虚拟化技术—ACRN设备虚拟化 / 1165.1 ACRN设备模型介绍 / 1165.2 ACRN全虚拟化设备 / 1195.2.1 PS/2控制器 / 1195.2.2 UART串口 / 1215.2.3 USB设备 / 1225.2.4 AHCI控制器 / 1255.2.5 系统时钟 / 1265.2.6 看门狗设备 / 1315.2.7 Ivshmem / 1325.2.8 显卡设备 / 1345.3 ACRN的virtio设备 / 1355.3.1 ACRN的virtio框架实现 / 1355.3.2 virtio-net / 1395.3.3 virtio-blk / 1415.3.4 virtio-input / 1435.3.5 virtio-console / 1445.3.6 virtio-i2c / 1465.3.7 virtio-gpio / 1485.3.8 virtio-rnd / 1505.3.9 virtio-gpu / 1515.4 本章小结 / 152第6章 嵌入式虚拟化技术—ACRN安装使用 / 1536.1 系统环境硬件配置 / 1536.1.1 开发环境搭建 / 1536.1.2 目标机硬件配置要求 / 1546.2 ACRN支持三种模式的场景 / 1546.2.1 共享模式的场景 / 1556.2.2 分区模式的场景 / 1566.2.3 混合模式的场景 / 1566.3 安装部署流程 / 1576.4 安装部署入门指南 / 1596.4.1 选择硬件和场景 / 1606.4.2 准备开发机环境 / 1606.4.3 准备目标机并生成目标平台配置文件 / 1626.4.4 编译ACRN / 1696.4.5 在目标机上安装ACRN / 1706.4.6 启动ACRN和服务虚拟机 / 1716.4.7 启动用户虚拟机 / 1716.5 本章小结 / 172第7章 嵌入式虚拟化技术——实时性能优化 / 1737.1 整体架构设计 / 1737.1.1 实时性的分类 / 1757.1.2 实时性的优化准则 / 1757.2 ACRN虚拟机优化 / 1777.3 CPU优化 / 1797.4 中断优化 / 1807.5 内存优化 / 1817.5.1 缓存分配技术 / 1827.5.2 软件SRAM / 1857.6 I/O虚拟化 / 1867.6.1 GPU直通 / 1877.6.2 其他设备虚拟化 / 1887.7 客户机优化—实时操作系统 / 1887.8 工具辅助优化 / 1897.8.1 ACRNTrace介绍 / 1897.8.2 vmexit命令 / 1917.8.3 PMU的数据分析 / 1927.8.4 RTOS的实时性基准测试工具 / 1927.8.5 Intel TCC的介绍 / 1947.9 虚拟机间通信 / 1977.10 本章小结 / 198第8章 嵌入式实时操作系统 / 1998.1 RTOS介绍 / 1998.1.1 常见的RTOS / 1998.1.2 从GPOS到RTOS的转换 / 2008.1.3 RTOS运行在虚拟机上的注意事项 / 2008.2 Xenomai / 2018.2.1 Xenomai的起源 / 2018.2.2 Xenomai的特性 / 2028.2.3 Xenomai 3.1系统架构 / 2048.3 PREEMPT_RT Linux / 2058.3.1 PREEMPT_RT Linux的起源 / 2068.3.2 PREEMPT_RT Linux的发展 / 2068.3.3 PREEMPT_RT的特性 / 2078.4 Zephyr / 2138.4.1 Zephyr的起源 / 2138.4.2 Zephyr的特点 / 2138.4.3 Zephyr的系统架构 / 2148.4.4 Zephyr的实现 / 2198.5 本章小结 / 224第9章 嵌入式虚拟化技术赋能功能安全 / 2269.1 功能安全背景 / 2269.2 功能安全概述 / 2279.2.1 风险概念 / 2299.2.2 功能安全标准的基本术语与定义 / 2309.2.3 风险和安全完整性 / 2329.2.4 系统功能安全 / 2349.2.5 软件功能安全 / 2369.3 典型软件安全设计 / 2369.4 混合关键性系统 / 2399.4.1 混合关键性系统典型应用场景 / 2399.4.2 QNX Hypervisor / 2419.5 ACRN赋能混合关键性系统 / 2439.5.1 安全目标 / 2459.5.2 系统级安全措施 / 2469.5.3 独立性相关安全措施 / 2479.5.4 安全分析 / 2489.5.5 系统化开发流程 / 2499.5.6 安全状态设计 / 2539.5.7 安全架构设计 / 2549.5.8 安全需求概述 / 2569.5.9 使用限制 / 2619.6 嵌入式虚拟化技术的功能安全价值 / 2659.7 本章小结 / 265第10章 应用案例—智能数控系统和数字孪生 / 26610.1 行业概述 / 26610.2 行业挑战与需求 / 26610.3 解决方案 / 26710.4 具体实现 / 26810.4.1 架构设计 / 26810.4.2 虚拟机与云端应用的协同机制 / 27010.4.3 编译及安装 / 27110.5 方案优势 / 27210.6 本章小结 / 273第11章 应用案例—基于机器视觉和机器控制的工作负载整合 / 27411.1 行业概述 / 27411.1.1 迈向工业4.0 / 27411.1.2 物联网中的工作负载整合 / 27511.1.3 现代工业物联网模型 / 27511.2 行业挑战与需求 / 27611.2.1 工业自动化需要数字化转型 / 27611.2.2 软件定义的基础设施帮助工业数字化转型 / 27711.2.3 将软件定义的基础设施应用于工业自动化 / 27711.2.4 在工业领域进行工作负载整合的需求 / 27911.2.5 工业控制领域的工作负载整合案例—机器视觉和机器控制 / 28011.3 解决方案 / 28111.3.1 负载整合技术方案—虚拟化和容器化 / 28111.3.2 通过虚拟化技术实现工作负载整合 / 28211.4 具体实现 / 28411.4.1 机器视觉—运行在人机交互虚拟机里 / 28411.4.2 机器控制—运行在实时虚拟机里 / 28511.4.3 服务虚拟机—为整机系统提供后台服务 / 28511.4.4 嵌入式虚拟机管理程序—ACRN Hypervisor / 28611.4.5 硬件资源和I/O设备的分配 / 28611.4.6 虚拟机间通信 / 28711.4.7 物理硬件平台—基于x86的工控机 / 28711.4.8 性能调优 / 28711.4.9 安装步骤示例 / 28811.5 方案优势 / 28811.6 本章小结 / 289第12章 应用案例—自主移动机器人 / 29012.1 行业概述 / 29012.2 行业挑战与需求 / 29012.3 解决方案 / 29112.4 具体实现 / 29212.5 安装步骤示例 / 29512.6 方案优势 / 29512.7 本章小结 / 296第13章 应用案例—软件定义汽车驾驶舱 / 29713.1 行业概述 / 29713.1.1 多个独立ECU的实现 / 29813.1.2 软件定义驾驶舱 / 29913.2 行业挑战与需求 / 30013.3 解决方案 / 30213.4 具体实现 / 30313.4.1 基于x86架构的SoC / 30413.4.2 ACRN Hypervisor / 30413.4.3 仪表盘系统—服务虚拟机 / 30413.4.4 中控娱乐系统—用户虚拟机 / 30413.4.5 Intel GVT-g图形显卡共享 / 30513.5 编译及安装 / 30613.6 方案优势 / 30713.7 软件定义驾驶舱的未来展望 / 30713.8 本章小结 / 308附录 / 309附录A Xenomai及其应用程序的编译和安装 / 309附录B PREEMPT_RT Linux的编译和安装 / 316附录C Zephyr的编译和安装 / 319附录D 在ACRN上安装运行两个虚拟机 / 323附录E ROS 2安装与使用示例 / 331技术术语表 / 335参考文献 / 342
相关文章:
从云计算到物联网:虚拟化技术的演变与嵌入式系统的融合
文章目录 一、硬件性能提升:摩尔定律与嵌入式虚拟化二、CPU多核技术:为嵌入式虚拟化提供支持三、业务负载整合:嵌入式虚拟化的核心需求四、降低硬件成本:虚拟化技术的经济效益五、软件重用与移植:虚拟化技术的优势六、…...
linux 文件查看 head 、 cat 、 less 、tail 、grep
查看文件详细信息 stat 文件 cat 》》适合显示小文件【行数比较少】,如果行数较多,屏幕显示不完整(如果虚拟操作,是无法上下键的,或者滚动鼠标的,第三方 xsheel,crt 可以方向键查看…...
13.2 Web与Servlet进阶(❤❤)
13.2 Web与Servlet进阶 1. 请求与响应1.1 URL与URI1.2 HTTP请求的结构1. 结构2.后端获取访问工具类型:getHeader().toLowerCase方法1.3 响应的结构1. 结构2. 响应常见状态码3. 后端设置响应参数4. 响应的ContentType作用1.4 请求转发与响应重定向应用1. 请求转发:getRequestDis…...
记录解决报错--vue前后端分离,接口401(Unauthorized)
1.场景 前端访问不了后端接口。报错401。 2.解决步骤 ①在页面console.log(111)查看走到代码的位置没有。(走到了,没问题) ②查看vue.config.js配置。这段配置就是vue访问api的url。(没问题) devServer: {port: 80…...
【笔记】Android 常用编译模块和输出产物路径
模块&产物路径 具体编译到软件的路径要看编译规则的分区,代码中模块编译输出的产物基本对应。 Android 代码模块 编译产物路径设备adb路径Comment 模块device/mediatek/system/common/ 资源overlay/telephony/frameworks/base/core 文件举例res/res/values-m…...
部署私有知识库项目FastGPT
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景。 项目文档: [快速了解 FastGpt | FastGptFastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即…...
【2024-02-02】华为秋招笔试三道编程题解
恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。 作者TechGuide【全网同名】 订阅专栏: 【专享版】2024最新大厂笔试真题解析,错过必后悔的宝藏资源! 第一题:找…...
银行数据仓库体系实践(8)--主数据模型设计
主数据区域中保留了数据仓库的所有基础数据及历史数据,是数据仓库中最重要的数据区域之一,那主数据区域中主要分为近源模型区和整合(主题)模型区。上一节讲到了模型的设计流程如下图所示。那近源模型层的设计在第2.3和3这两个步骤…...
vue在main.js中引入三方插件不生效的原因
有的时候需要比较复杂的功能,但是自己实现比较复杂的话,可以引入第三方插件.如果这个第三方插件需要全局都使用的话,可以在main.js中进行引入. 比如router elementplus之类的. import { createApp } from vue import ElementPlus from element-plus import element-plus/dist/…...
chatgpt搭建
chatgpt两步搭建大法 部署docker环境 下载docker curl -fsSL https://get.docker.com -o get-docker.sh安装docker sh get-docker.sh运行docker服务 systemctl start docker查看运行状态 systemctl status docker设置docker开机自启 systemctl enable docker部署chatgpt…...
vue基本理解
1、js闭包,作用?? 闭包是指在一个函数内部,可以访问外部函数的变量,即使外部函数已经执行完毕。闭包的作用有: 保护变量:闭包可以保护函数内部的变量,使其不受外部环境的影响。实现…...
NLP入门系列—Attention 机制
NLP入门系列—Attention 机制 Attention 正在被越来越广泛的得到应用。尤其是 [BERT]火爆了之后。 Attention 到底有什么特别之处?他的原理和本质是什么?Attention都有哪些类型?本文将详细讲解Attention的方方面面。 Attention 的本质是什…...
实习记录——第十天
今天啥也不想说了,ctf里面还有道题目还没做,这里就不写了,把日报奉上,懂得都懂: 2.2日总结: 早上对xx银行的招聘网站做了渗透测试,对招聘网点赞处做重放看是否会多次点赞,对收藏处考…...
Java实现学生信息管理系统:从Excel中提取数据的实用方法
在Java中实现学生信息管理系统并从Excel中读取数据,通常适用于以下场景: 数据迁移和集成:如果你有一个现存的学生信息管理系统,该系统可能使用数据库或其他存储方式,但你想将这些数据迁移到新的系统。Excel文件可能提…...
幻兽帕鲁服务器怎么一键删除游戏存档?(阿里云服务器)
目前通过阿里云一键部署的幻兽帕鲁服务器,已经支持一键清除游戏存档了,已经不需要你再去手动找到游戏存档文件夹,去手动删除了。首先打开阿里云的“计算巢服务器”控制台 进入之后,选择你的幻兽帕鲁服务实例,点击进入详…...
Cambalache in Ubuntu
文章目录 前言apt install flatpak这很ok后记 前言 gtkmm4相比gtkmm3有很多改革, 代码也干净了许多, 但在windows上开发 有ui设计器那自然方便很多, 但glade又不支持gtkmm4, windows上装Cambalache很是困难. 各种问题都找不到答案.于是 我用VMware虚拟机Ubuntu20.xx安装Cambal…...
洛谷P1540 机器翻译
参考代码 #include<iostream> #include<queue> using namespace std; int nums[1010]; int main(){queue<int> q;int M,N;cin>>M>>N;int res0;while(N--){int tmp;cin>>tmp;if(nums[tmp]1)continue;if(q.size()<M){q.push(tmp);res;nu…...
python-自动化篇-运维-可视化-绘图库-matplotlib
文章目录 Matplotlibmatplotlib开发环境搭建绘制基础绘制直线绘制折线设置标签文字和线条粗细绘制一元二次方程的曲线yx^2绘制正弦曲线和余弦曲线散点图绘制柱状图绘制饼状图绘制直方图等高线图绘制三维图 Matplotlib Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib&am…...
【译】在 Mac 上加速 PyTorch 训练
写在前面 为什么突然深度介入大模型领域了 因为最近在评估大模型用于行业应用,通过 OpenCompass 排行榜了解到了很多大模型,像文心一言是自己深度试用过的,趁着这次评估,也体验或者通过其他团队的介绍了解了通义千问、清华智谱、…...
如何在Windows部署GoLand并通过SSH远程连接Linux服务器
文章目录 1. 安装配置GoLand2. 服务器开启SSH服务3. GoLand本地服务器远程连接测试4. 安装cpolar内网穿透远程访问服务器端4.1 服务器端安装cpolar4.2 创建远程连接公网地址 5. 使用固定TCP地址远程开发 本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
