OpenGL-ES 学习(14) ----顶点指定和基本图元的绘制
目录
- 本节概述
- 顶点的指定
- 常量顶点属性和顶点数组
- 顶点数组
- 顶点属性的定义
- Shader 中声明顶点属性变量
- 顶点属性的绑定
- 基本图元绘制
- 基本图元
- 三角形
- 直线
- 绘制图元的API
本节概述
绘制图形的第一步就是指定顶点坐标,可以每个顶点指定,也可以是用于所有顶点的常量,或者直接用顶点数组指定,OpenGL-ES
标准实现必须支持最少 16
个顶点属性;
顶点着色器处理图元顶点之后进入图元装配阶段,在这个阶段执行裁剪,透视分割和视口变换,往后会进入光栅化阶段;
光栅化是指将图元转换为一组二维片段的过程,这些片段最后会由FragmentShader 处理
顶点的指定
常量顶点属性和顶点数组
常量顶点属性对一个图元的所有顶点都相同,所以对图元的所有顶点都只需要指定一个值,可以用下面的函数指定:
顶点指定函数 | 说明 |
---|---|
glVertexAttrib1f | 加载顶点 (x,0.0,0.0,1.0) |
glVertexAttrib2f | 加载顶点 (x,y,0.0,1.0) |
glVertexAttrib3f | 加载顶点 (x,y,z,1.0) |
glVertexAttrib4f | 加载顶点 (x,y,z,w) |
glVertexAttrib1fv | 加载顶点 (x,0.0,0.0,1.0) |
glVertexAttrib2fv | 加载顶点 (x,y,0.0,1.0) |
glVertexAttrib3fv | 加载顶点 (x,y,z,1.0) |
glVertexAttrib4fv | 加载顶点 (x,y,z,w) |
常量顶点属性提供标量/向量等价的功能
顶点数组
顶点数组指定每个顶点的属性,是保存在应用程序地址空间的缓冲区,使用下面的函数指定
函数 | 说明 |
---|---|
glVertexAttribPointer | 指定顶点数组 |
glVertexAttribIPointer | 指定顶点数组 |
glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsize stride, const void *pointer)
- GLuint index 指定通用顶点属性索引,从0到 最大支持索引数 -1
- GLint size 所指定的分类数量 有效值 1~4
- GLenum type 数据格式
- GLboolean normalized 表示非浮点类型在转换为浮点数时是否应该规范化
- GLsize stride 表示两个顶点之间的位移,如果stride 为 0,表示按照顺序存储
- const void *pointer 顶点数据缓冲区的指针
重点关注的是
- GLuint index : 和Shader 中的指定的 layout 一致
- void *pointer : 指向顶点的指针
顶点属性的定义
定义顶点属性的坐标并且关联到一个属性索引上,
对应的代码:
GLfloat color[4] = { 1.0f, 0.0f, 0.0f, 1.0f };
// 3 vertices, with (x,y,z) per-vertex
GLfloat vertexPos[3 * 3] = {0.0f, 0.5f, 0.0f, // v0-0.5f, -0.5f, 0.0f, // v10.5f, -0.5f, 0.0f // v2
};
glViewport ( 0, 0, esContext->width, esContext->height );
glClear ( GL_COLOR_BUFFER_BIT );
glUseProgram ( userData->programObject );//注意下面的顶点定义方式
glVertexAttribPointer ( 0, 3, GL_FLOAT, GL_FALSE, 0, vertexPos );
glEnableVertexAttribArray ( 0 );
//常量的顶点属性,表示每个顶点的 color 都是上面定义的
glVertexAttrib4fv ( 1, color );glDrawArrays ( GL_TRIANGLES, 0, 3 );
glDisableVertexAttribArray ( 0 );
Shader 中声明顶点属性变量
在 VertexShader
中,使用 in
限定符声明为顶点属性,顶点属性变量也可以包含一个布局限定符,提供属性索引,示例如下:
layout(location = 0) in vec4 a_position
layout(location = 1) in vec2 a_texcoord
layout(location = 2) in vec3 a_normal
属性变量不能声明为数组或者结构,在 Vertex Shader
中定义的顶点属性是只读变量,不能修改
OpenGL-ES3.0
实现支持 GL_MAX_VERTEX_ATTRIBS
四分量向量顶点属性,声明为标量,二分量,三分量, 的顶点属性都会被当做一个四分量向量属性计算;
与编译器进行自动打包的统一变量和 Vertex Shader Input/outout
不同,属性不进行打包
查询当前活动顶点的数量的函数:
glGetActiveAttrib
顶点属性的绑定
通过通用属性索引的方法映射到 Vertex Shader 中声明的对应属性变量;这种映射使对应的顶点数据可以读入Vertex Shader
中正确的属性变量;
可以使用下面三种方法将通用顶点属性映射到Vertex Shader 中:
- 索引在
Vertex Shader
源码中用layout
指定 OpenGL-ES 3.0
将通用顶点属性索引绑定到属性名称- 应用程序可以将顶点属性索引绑定到属性名称
第一种方法最简单,但是某些时候,第二,三种方法更合适,使用下面的函数实现:
glBindAttribLocation (GLuint program, GLuint index, const GLchar 、*name);
直接将索引绑定到 Vertex Shader
的属性变量上
基本图元绘制
基本图元
OpenGL-ES
可以绘制三角形、直线、点这个三种基本图元
三角形
三角形的主要类型有 GL_TRIANGLES
、GL_TRIANGLES_STRIP
、GL_TRIANGLE_FAN
GL_TRIANGLES
绘制一系列单独三角形,总共绘制 n/3 个三角形
GL_TRIANGLES_STRIP
绘制一系列相互连接的三角形,总共绘制 n-2 个三角形
GL_TRIANGLES_FAN
总共绘制 n-2
个三角形
直线
直线图元类型有 GL_LINES
、GL_LINES_STRIP
、GL_LINES_LOOP
GL_LINES
:绘制一系列类不相连的线段,总共绘制n/2条线段
GL_LINES_STRIP
:绘制一系列相连的线段,总共绘制n-1条线段
GL_LINES_LOOP
:和GL_LINES_STRIP类型总共绘制n条线段
绘制图元的API
OpenGL ES 中绘制基本图元共有5个API
OpenGL-ES API | 说明 |
---|---|
glDrawArrays | 常用 |
glDrawElements | 常用 |
glDrawRangeElements | 常用 |
glDrawArraysInstanced | NA |
glDrawElementsInstanced | NA |
void glDrawArrays( GLenum mode, GLint first, GLsizei count);
mode
: 要绘制的图元类型
first
:顶点数组中的顶点数组索引(顶点位置数组的偏移量)
count:
指定要绘制的顶点数量,如果选择 GL_TRIANGLES
,那么顺次每三个顶点构成一个三角形
注意第二个值 fist
,表示在顶点数组中的位置
void glDrawElements( GLenum mode, GLsizei count, GLenum type,const void * indices);
void glDrawRangeElements(GLenum mode,GLuint start,GLuint end,GLsizei count,GLenum type, const void * indices)
mode: 要绘制的图元类型
start:顶点数组中的最小数组索引(仅glDrawRangeElements)
end:顶点数组中的最大数组索引(仅glDrawRangeElements)
count: 要绘制的顶点数量,如果如果选择GL_TRIANGLES,那么顺次每三个顶点构成一个三角形
type: 指定 indices(下面一个参数)中保存的元素索引类型,有效值为:
GL_UNSIGNED_BYTE
GL_UNSIGNED_SHORT
GL_UNSIGNED_INT
indices
: 指向一段存储区,缓存在顶点数组中顶点的偏移
比如下面
GLfloat vVertices[] = { -0.5f, 0.5f, 0.0f, // Position 00.0f, 0.0f, // TexCoord 0 -0.5f, -0.5f, 0.0f, // Position 10.0f, 1.0f, // TexCoord 10.5f, -0.5f, 0.0f, // Position 21.0f, 1.0f, // TexCoord 20.5f, 0.5f, 0.0f, // Position 31.0f, 0.0f // TexCoord 3
};
GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_SHORT, indices);
这里的 indices
就分辨表示上面 vVertices
顶点,顶点0,1,2
构成一个三角形,顶点0,2,3
构成一个三角形
static void Draw(ESContext *esContext)
{UserData *userData = esContext->userData;//R G B AGLfloat color[4] = { 1.0f, 1.0f, 0.0f, 1.0f };// 3 vertices, with (x,y,z) per-vertex//绘制一个六边形 共六个顶点GLfloat vertexPos[6*3*3] ={1.0f, 0.0f, 0.0f, 0.5f, 1.0f, 0.0f,0.0f, 0.0f, 0.0f,-0.5f, 1.0f, 0.0f,0.5f, 1.0f, 0.0f,0.0f, 0.0f, 0.0f,-0.5f, 1.0f, 0.0f,-1.0f, 0.0f, 0.0f,0.0f, 0.0f, 0.0f,-1.0f, 0.0f, 0.0f,-0.5f, -1.0f, 0.0f,0.0f, 0.0f, 0.0f,-0.5f, -1.0f, 0.0f,0.5f, -1.0f, 0.0f,0.0f, 0.0f, 0.0f,0.5f, -1.0f, 0.0f,1.0f, 0.0f, 0.0f,0.0f, 0.0f, 0.0f,};glViewport(0, 0, esContext->width, esContext->height);glClear(GL_COLOR_BUFFER_BIT);glUseProgram(userData->programObject);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, vertexPos);glEnableVertexAttribArray(0);glVertexAttrib4fv(1, color);for (int i = 0; i < 3 * 2; i++) {glDrawArrays(GL_TRIANGLES, i*3, 3);}//作用和上面的循环是一致的/*glDrawArrays(GL_TRIANGLES, 0, 3*6);*/glDisableVertexAttribArray(0);
}
相关文章:
OpenGL-ES 学习(14) ----顶点指定和基本图元的绘制
目录 本节概述顶点的指定常量顶点属性和顶点数组顶点数组顶点属性的定义Shader 中声明顶点属性变量顶点属性的绑定 基本图元绘制基本图元三角形直线绘制图元的API 本节概述 绘制图形的第一步就是指定顶点坐标,可以每个顶点指定,也可以是用于所有顶点的常…...
spring-cloud-alibaba最新版本聚合项目创建
1. 创建聚合项目 修改 pom.xml spring-boot 当前最新版本是 3.4.5 但是 spring-cloud-alibaba 的最新版本是 2023.0.3.2,只适配到 spring-boot 3.2.4 还没有适配到 spring-boot 的 3.4.5 版本。 pom.xml 文件内容如下(可以直接复制): <?xml vers…...
网络分析/
三、网络分析(Network Analysis) 网络分析用于解决路径规划、资源分配等问题,广泛应用于交通规划、物流配送、紧急救援等领域。ArcPy 提供了强大的网络分析工具,如 MakeNetworkDataset、Solve 等。 (一)使用…...
Flutter PIP 插件 ---- 新增PipActivity,Android 11以下支持自动进入PIP Mode
接上文 Flutter PIP 插件 ---- Android 项目地址 PIP, pub.dev也已经同步发布 pip 0.0.3,你的加星和点赞,将是我继续改进最大的动力 开发文档 Add videos using picture-in-picture (PiP)介绍PIP功能从 Android 8.0 (API level 26) 引入&…...
权限提升—Linux提权内核溢出漏洞辅助项目
前言 今天开启Linux提权的篇章,主要是讲一下Linux的内核漏洞提权,利用方式和Windows系统漏洞提权差不多,也是网上的项目扫一下,然后根据漏洞编号去找exp即可。 信息收集 首先要说一下Linux用户的权限划分。 系统用户ÿ…...
超稳定性理论
为了更好的理解后面如何利用超稳定性理论来设计MRACS,本篇先对超稳定性理论做一个介绍。 1、理论介绍 在超稳定性理论中,核心的系统结构如下: 其包含一个线性的前向回路 G ( s ) G(s) G(s)和一个非线性的反馈回路 φ ( v ) \varphi (v) φ…...
治理和管理的区别
治理(Governance)与管理(Management)是两个在组织和社会运行中经常被提及的概念,它们虽然在某些方面有相似之处,但在内涵、范围、主体和目标等方面存在显著的区别。以下是它们的主要区别: 一、…...
业务流程BPM能力框架体系及华为中兴流程变革案例P83(83页PPT)(文末有下载方式)
资料解读:《业务流程 BPM 能力框架体系及华为中兴流程变革案例》 详细资料请看本解读文章的最后内容。 该文档围绕业务流程管理(BPM)能力框架体系展开,先阐述其定义、驱动因素与能力框架,再详细介绍战略规划、流程治理…...
如何通过日志在本地调试LangChain编写的程序?
LangSmith可以记录LangChain程序对LLM的调用,但它需要登陆LangSmith网站才能看到。有什么办法在本地就能看到详细的信息,以方便调试LangChain编写的程序吗? 使用LangChain提供的set_debug(True) 在Python代码中只需要导入set_debug这个方法…...
UE实用地编插件Physical Layout Tool
免费插件 https://www.fab.com/zh-cn/listings/a7fb6fcf-596f-48e9-83cc-f584aea316b1 可以通过物理模拟批量放置物体 不用再一个个摆放了 装饰环境从未如此简单,您不必再考虑对齐物体。 物理地放置物体,移动它们,在移动或在地图上放置物体…...
传感器的精度,灵敏度等概念介绍
文章目录 🏔️ 海拔高度传感器的四个核心指标1. 🎯 **精度(Accuracy)——“测得的高度准不准”**2. ⚡ **灵敏度(Sensitivity)——“高度微小变化有没有反应”**3. 🔍 **分辨率(Reso…...
前端八股 CSS 1
盒子模型 进行布局时将所有元素表示为一个个盒子box padding margin border content content:盒子内容 待显示的文本和图像 padding:内边距,内容和border之间的空间,不能为负数,受bkc影响 border:边框,…...
Transformer架构的解耦重组现象
技术演进图谱与技术成熟度曲线 (一)架构创新范式迭代 1.1 Transformer架构的解耦重组现象 以2025年Opt模型为例,其通过引入强化学习微调模块实现了传统单层堆叠架构向"感知-推理分离"模式的转型。实验数据显示,该架构…...
【Android】四大组件
目录 1. Activity 2. Service 3. BroadcastReceiver 4. ContentProvider 四大组件各自承担着不同的职责,彼此之间协同工作,共同为用户提供一个流畅的APP体验。 1. Activity 负责展示用户界面,就像App的一个个“页面”,用户通…...
贪心算法精解(Java实现):从理论到实战
一、贪心算法概述 贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前状态下最优决策的算法策略。它通过局部最优选择来达到全局最优解,具有高效、简洁的特点。 核心特点: 局部最优选择:每一步都做出当前看…...
基于BERT类的MRPC语义相似度检测(从0到-1系列)
基于BERT类的MRPC语义相似度检测(从0到-1系列) 介绍 BERT(Bidirectional Encoder Representations from Transformers)是由Google开发的一种预训练模型,它是一种基于Transformer机制的深度双向模型,可以对…...
mysql-窗口函数一
目录 一、感受一下分组与窗口函数的区别 二、滑动窗口(子窗口)大小的确认 2.1 分组函数下order by使用 2.2 窗口子句 2.3 执行流程 三、函数使用 窗口函数需要mysql的版本大于等于8才行,可以先检查一下自己的mysql版本是多少 select ve…...
HashMap,高效 哈希
java HashMap 有独特的设计。 哈希表数组的每个位置是一个哈希桶,里面由链表或红黑树实现。(> 8 或 < 6 的变化时,避免频繁切换) 容量(capacity): 哈希表中桶(bucket…...
PyTorch入门------训练图像分类器
前言 1. 操作步骤 2. 数据集 一、公共部分 1.加载并归一化 CIFAR10 2.定义卷积神经网络 二、训练、保存模型参数部分 train_and_save.py 3.定义损失函数和优化器 4.训练网络(使用 CPU 或者 GPU) 5.保存训练好的模型参数 三、加载模型参数、模型推理部分 load_and_infer.py 6…...
DeepSeek V3 架构创新:大规模MoE与辅助损失移除
DeepSeek 团队推出的全新 DeepSeek V3 模型版本,相比之前的 V2 版本,V3 的参数量从两千多亿一跃攀升到 6710 亿,近乎实现了参数规模的三倍增长。如此宏大的模型规模并不只是简单地堆砌参数,而是建立在稀疏混合专家(Mixture-of-Experts,MoE)结构之上。得益于 MoE 的稀疏激…...
MCP 多工具协作链路设计:打造真正的智能工作流
目录 [TOC] 🚀 MCP 多工具协作链路设计:打造真正的智能工作流 🌟 多工具协作链核心思想 🛠️ 设计示例:智能文档分析系统 📑 1. MCP Server 定义多工具 list_txt_files.py read_file_content.py su…...
某修改版软件,已突破限制!
聊一聊 现在很多输入法都带有广告。 用着用着,不是提示升级就是弹出资讯。 特别是忙的时候,很影响心情。 今天给大家分享一款干净的输入法软件。 希望能你喜欢。 软件介绍 Q拼音输入法 工具我们下载后,进行安装。 双击打开,…...
透视Linux内核:深度剖析Socket机制的本质
在Linux操作系统构建的网络世界里,Socket 宛如纵横交错的交通枢纽,承担着不同应用程序间数据往来的重任。无论是日常浏览网页时,浏览器与 Web 服务器间信息的快速交互;还是畅玩网络游戏过程中,玩家操作指令与游戏服务器…...
PostgreSQL数据表操作SQL
数据表操作 创建表 CREATE TABLE t_test(id SERIAL PRIMARY KEY,name varchar(30),birthday date);修改表名 ALTER TABLE t_test RENAME TO t_test1;添加列 ALTER TABLE t_test1 ADD COLUMN score numeric(5,2);删除列 ALTER TABLE t_test1 DROP COLUMN score;修改数据类型 AL…...
OpenAI最新发布的GPT-4.1系列模型,性能体验如何?
简单来说,这次GPT-4.1的核心思路就是:更实用、更懂开发者、更便宜!OpenAI这次没搞太多花里胡哨的概念,而是实实在在地提升了大家最关心的几个点:写代码、听指令、处理超长文本,而且知识库也更新到了2024年6月。 写代码。要说这次GPT-4.1最亮眼的地方,可能就是写代码这块…...
2025五一数学建模C题完整分析论文(共36页)(含模型、可运行代码、数据)
2025年五一数学建模C题完整分析论文 摘要 一、问题分析 二、问题重述 三、模型假设 四、符号定义 五、 模型建立与求解 5.1问题1 5.1.1问题1思路分析 5.1.2问题1模型建立 5.1.3问题1代码 5.1.4问题1求解结果 5.2问题2 5.2.1问题2思路分析 5.2.2问题…...
Vue2基础速成
一、准备工作 首先下载vue2的JavaScript库,并且命名为vue.min.js 下载链接:https://cdn.jsdelivr.net/npm/vue2(若链接失效可去vue官网寻找) CTRLS即可下载保存 文件目录结构 二、使用操作原生DOM与使用VUE操作DOM的便捷性比较…...
Java大厂硬核面试:Flink流处理容错、Pomelo JVM调优、MyBatis二级缓存穿透防护与Kubernetes服务网格实战解析
第二幕:系统架构设计 面试官:设计一个处理10万QPS的秒杀系统需要的技术方案和技术选型 xbhog:采用基础架构: 存储层:Redis限流分布式锁服务层:Sentinel流量控制消息层:RocketMQ事务消息保证最…...
Python实现简易博客系统
下面我将介绍如何使用Python实现一个简易的博客系统,包含前后端完整功能。这个系统将使用Flask作为Web框架,SQLite作为数据库,并包含用户认证、文章发布、评论等基本功能。 1. 系统架构设计 技术栈选择 后端:Flask (Python Web框架)数据库:SQLite (轻量…...
【T型三电平仿真】SPWM调制
自然采样法和规则采样法的特点和计算 https://blog.csdn.net/u010632165/article/details/110889621 单极性和双极性的单双体现在什么地方 单极性和双极性的单双是指载波三角波的极性 为什么simulink进行电路仿真时,都需要放置一个powergui模块 任何使用SimPow…...
Astral Ascent 星界战士(星座上升) [DLC 解锁] [Steam] [Windows SteamOS macOS]
Astral Ascent 星界战士(星座上升) [DLC 解锁] [Steam] [Windows & SteamOS & macOS] 需要有游戏正版基础本体,安装路径不能带有中文,或其它非常规拉丁字符; DLC 版本 至最新全部 DLC 后续可能无法及时更新文章…...
Ubuntu20.04如何优雅的安装ROS 1(胎教级教程)
1、USTC的源: sudo sh -c . /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main" > /etc/apt/sources.list.d/ros-latest.list2、设置的ROS源添加密钥: sudo apt-key adv --keyserver …...
terraform生成随机密码
在 Terraform 中生成安全随机密码可以通过 random_password 资源实现,以下是完整实现方案及安全实践: 基础实现 (生成随机密码) terraform {required_providers {random {source "hashicorp/random"version "~> 3.5.1" # 使…...
一个linux系统电脑,一个windows电脑,怎么实现某一个文件夹共享
下载Samba linux主机名字不能超过15个字符 sudo dnf install samba samba-client -y 创建共享文件夹 sudo mkdir /shared 配置文件 vim /etc/samba/smb.conf [shared] path /shared available yes valid users linux电脑用户 read only no browsable yes p…...
等保系列(一):网络安全等级保护介绍
一、基本概念 网络安全等级保护(以下简称:等保)是根据《中华人民共和国网络安全法》及配套规定(如《信息安全技术 网络安全等级保护基本要求》等)建立的系统性安全防护机制,要求网络运营者根据信息系统的重…...
【专题五】位运算(2)
📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;ÿ…...
【2025五一数学建模竞赛A题】 支路车流量推测问题|建模过程+完整代码论文全解全析
你是否在寻找数学建模比赛的突破点?数学建模进阶思路! 作为经验丰富的美赛O奖、国赛国一的数学建模团队,我们将为你带来本次数学建模竞赛的全面解析。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过程和解析,…...
案例:自动化获取Web页面小说(没钱修什么仙)——selenium
目录 前言一、目标即结果1. 目标:2. 提前了解网页信息3. 结果 二、逐步分析1 . selenium启动2. 获取所有章节3.打开对应章节链接,获取小说文本4. 内容写入本地文件 三、完整代码四、声名 前言 提示:通过案例掌握selenium语法 涉及技术&#…...
硬件工程师面试常见问题(11)
第五十一问:器件手册的翻译题目 要学英语啊,孩子。 第五十二问:二极管三极管常识题 1.二极管的导通电压一般是 0.7V 2.MOS管根据掺杂类型可以分为 NMOS和PMOS 3.晶体三极管在工作时,发射结和集电结均处于正向偏置,该晶体管工作在一饱和态。…...
TTL、LRU、LFU英文全称及释义
以下是 TTL、LRU 和 LFU 的英文全称及其简要解释: 1. TTL 全称:Time To Live(存活时间)含义: 表示数据在缓存或存储中的有效存活时间,过期后自动删除。 Redis 示例:SET key value EX 60&#x…...
本地部署 n8n 中文版
本地部署 n8n 中文版 0. n8n的核心价值1. 本地部署 n8n 中文版2. 访问 n8n 在技术团队寻求高效自动化解决方案的今天,n8n 作为一款安全的工作流自动化平台脱颖而出!它将代码的灵活性与低代码的便捷性深度融合,为开发者提供了独特的工具选择。…...
蓝桥杯比赛
蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心主办,国信蓝桥教育科技(北京)股份有限公司承办的计算机类学科竞赛。以下是其相关信息: 参赛对象 具有正式全日制学籍且符合相关科目报名要求的研究生、本科生…...
【Linux】Makefile
Makefile常用用法介绍。 部分图片和经验来源于网络,还有正点原子的Linux驱动开发教程,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。 专栏目录:记录自己的嵌入式学习之路-CSDN博客 1…...
【工具】Windows批量文件复制教程:用BAT脚本自动化文件管理
一、引言 在日常开发与部署过程中,文件的自动化复制是一个非常常见的需求。无论是在构建过程、自动部署,还是备份任务中,开发者经常需要将某个目录中的 DLL、配置文件、资源文件批量复制到目标位置。相比使用图形界面的复制粘贴操作…...
字节一面:后端开发
前言 这是我字节一面的回忆录,可能有些不全。 由于博主是Java面试Go岗,操作系统和计网问的还是比较多。 个人感觉字节很喜欢追问,博主被追问拷打的找不到北了,总结还是学的太浅了。 面试官给我的建议:再更深挖一些…...
西式烹饪实训室建设路径
在餐饮行业持续变革与教育信息化快速发展的当下,西式烹饪实训室的智能化建设成为提升教学质量、培养适应新时代需求烹饪人才的关键举措。通过引入先进技术,创新教学与管理模式,为学生打造更高效、更具沉浸感的学习环境。凯禾瑞华——实训室建…...
[更新完毕]2025五一杯A题五一杯数学建模思路代码文章教学:支路车流量推测问题
完整内容请看文章最下面的推广群 支路车流量推测问题 摘要 本文针对支路车流量推测问题展开研究,通过建立数学模型解决不同场景下的车流量分析需求。 针对问题一(Y型道路场景),研究两支路汇入主路的车流量推测。通过建立线性增长…...
2025年五一杯C题详细思路分析
C题 社交媒体平台用户分析问题 问题背景 近年来,社交媒体平台打造了多元化的线上交流空间和文化圈,深刻影响着人们社交互动与信息获取。博主基于专业知识或兴趣爱好等创作出高质量内容,吸引并获得用户的关注。用户可以随时通过观看、点赞、…...
攻防世界 dice_game
dice_game dice_game (1) motalymotaly-VMware-Virtual-Platform:~/桌面$ file game game: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]254…...
如何进行 JVM 性能调优?
进行 JVM 性能调优是一个系统性的过程,旨在提高 Java 应用程序的响应速度、吞吐量、降低资源消耗(如 CPU 和内存)以及提高稳定性。 以下是一个通用的 JVM 性能调优步骤和常用方法: 第一步:明确目标与建立基线 (Defin…...