当前位置: 首页 > news >正文

DBMS_RESOURCE_MANAGER

参考文档:

Database Administrator’s Guide

27 Managing Resources with Oracle Database Resource Manager

27.5.5 Creating a Resource Plan

BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'bugdb_plan',COMMENT => 'Resource plan/method for bug users sessions');DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'maildb_plan',COMMENT => 'Resource plan/method for mail users sessions');DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'mydb_plan',COMMENT => 'Resource plan/method for bug and mail users sessions');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Online_group',COMMENT        => 'Resource consumer group/method for online bug users sessions');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Batch_group',COMMENT        => 'Resource consumer group/method for batch job bug users sessions');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Bug_Maint_group',COMMENT        => 'Resource consumer group/method for users sessions for bug db maint');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Users_group',COMMENT        => 'Resource consumer group/method for mail users sessions');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Postman_group',COMMENT        => 'Resource consumer group/method for mail postman');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Mail_Maint_group',COMMENT        => 'Resource consumer group/method for users sessions for mail db maint');DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'bugdb_plan',GROUP_OR_SUBPLAN => 'Online_group',COMMENT          => 'online bug users sessions at level 1',MGMT_P1          => 80,MGMT_P2          => 0);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN                     => 'bugdb_plan',GROUP_OR_SUBPLAN         => 'Batch_group',COMMENT                  => 'batch bug users sessions at level 1',MGMT_P1                  => 20,MGMT_P2                  => 0,PARALLEL_DEGREE_LIMIT_P1 => 8);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'bugdb_plan',GROUP_OR_SUBPLAN => 'Bug_Maint_group',COMMENT          => 'bug maintenance users sessions at level 2',MGMT_P1          => 0,MGMT_P2          => 100);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'bugdb_plan',GROUP_OR_SUBPLAN => 'OTHER_GROUPS',COMMENT          => 'all other users sessions at level 3',MGMT_P1          => 0,MGMT_P2          => 0,MGMT_P3          => 100);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'maildb_plan',GROUP_OR_SUBPLAN => 'Postman_group',COMMENT          => 'mail postman at level 1',MGMT_P1          => 40,MGMT_P2          => 0);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'maildb_plan',GROUP_OR_SUBPLAN => 'Users_group',COMMENT          => 'mail users sessions at level 2',MGMT_P1          => 0,MGMT_P2          => 80);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'maildb_plan',GROUP_OR_SUBPLAN => 'Mail_Maint_group',COMMENT          => 'mail maintenance users sessions at level 2',MGMT_P1          => 0,MGMT_P2          => 20);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'maildb_plan',GROUP_OR_SUBPLAN => 'OTHER_GROUPS',COMMENT          => 'all other users sessions at level 3',MGMT_P1          => 0,MGMT_P2          => 0,MGMT_P3          => 100);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'mydb_plan',GROUP_OR_SUBPLAN => 'maildb_plan',COMMENT          => 'all mail users sessions at level 1',MGMT_P1          => 30);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'mydb_plan',GROUP_OR_SUBPLAN => 'bugdb_plan',COMMENT          => 'all bug users sessions at level 1',MGMT_P1          => 70);DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
/
BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'MAXCAP_PLAN',COMMENT => 'Limit overall database CPU');DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'MAXCAP_PLAN',GROUP_OR_SUBPLAN  => 'OTHER_GROUPS',COMMENT           => 'This group is mandatory',UTILIZATION_LIMIT => 90);DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'START_GROUP',COMMENT        => 'Sessions start here');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'QUARANTINE_GROUP',COMMENT        => 'Sessions switched here to quarantine them');DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'Quarantine_plan',COMMENT => 'Quarantine runaway queries');DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'Quarantine_plan',GROUP_OR_SUBPLAN => 'START_GROUP',COMMENT          => 'Max CPU 10 minutes before switch',MGMT_P1          => 75,switch_group     => 'QUARANTINE_GROUP',switch_time      => 600);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'Quarantine_plan',GROUP_OR_SUBPLAN => 'OTHER_GROUPS',COMMENT          => 'Mandatory',MGMT_P1          => 25);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'Quarantine_plan',GROUP_OR_SUBPLAN  => 'QUARANTINE_GROUP',COMMENT           => 'Limited CPU',MGMT_P2           => 100,UTILIZATION_LIMIT => 20);DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
/
BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP1_GROUP',COMMENT        => 'Apps group 1');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP2_GROUP',COMMENT        => 'Apps group 2');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP3_GROUP',COMMENT        => 'Apps group 3');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP4_GROUP',COMMENT        => 'Apps group 4');DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'apps_plan',COMMENT => 'Application consolidation');DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'apps_plan',GROUP_OR_SUBPLAN  => 'APP1_GROUP',COMMENT           => 'Apps group 1',UTILIZATION_LIMIT => 30);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'apps_plan',GROUP_OR_SUBPLAN  => 'APP2_GROUP',COMMENT           => 'Apps group 2',UTILIZATION_LIMIT => 30);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'apps_plan',GROUP_OR_SUBPLAN  => 'APP3_GROUP',COMMENT           => 'Apps group 3',UTILIZATION_LIMIT => 30);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'apps_plan',GROUP_OR_SUBPLAN  => 'APP4_GROUP',COMMENT           => 'Apps group 4',UTILIZATION_LIMIT => 30);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'apps_plan',GROUP_OR_SUBPLAN  => 'OTHER_GROUPS',COMMENT           => 'Mandatory',UTILIZATION_LIMIT => 20);DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
/
BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP1_GROUP',COMMENT        => 'Group for application #1');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP2_OLTP_GROUP',COMMENT        => 'Group for OLTP activity in application #2');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP2_ADHOC_GROUP',COMMENT        => 'Group for ad-hoc queries in application #2');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'APP2_REPORT_GROUP',COMMENT        => 'Group for reports in application #2');DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'APPS_PLAN',COMMENT => 'Plan for managing 3 applications');DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN     => 'APP2_SUBPLAN',COMMENT  => 'Subplan for managing application #2',SUB_PLAN => TRUE);DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN     => 'APP2_REPORTS_SUBPLAN',COMMENT  => 'Subplan for managing reports in application #2',SUB_PLAN => TRUE);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'APPS_PLAN',GROUP_OR_SUBPLAN  => 'APP1_GROUP',COMMENT           => 'Limit CPU for application #1 to 40%',UTILIZATION_LIMIT => 40);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'APPS_PLAN',GROUP_OR_SUBPLAN  => 'APP2_SUBPLAN',COMMENT           => 'Limit CPU for application #2 to 40%',UTILIZATION_LIMIT => 40);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'APP2_SUBPLAN',GROUP_OR_SUBPLAN  => 'APP2_OLTP_GROUP',COMMENT           => 'Limit CPU for OLTP to 90% of application #2',UTILIZATION_LIMIT => 90);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'APP2_SUBPLAN',GROUP_OR_SUBPLAN => 'APP2_REPORTS_SUBPLAN',COMMENT          => 'Subplan for ad-hoc and normal reports for application #2');DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'APP2_REPORTS_SUBPLAN',GROUP_OR_SUBPLAN  => 'APP2_ADHOC_GROUP',COMMENT           => 'Limit CPU for ad-hoc queries to 50% of application #2 reports',UTILIZATION_LIMIT => 50);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'APP2_REPORTS_SUBPLAN',GROUP_OR_SUBPLAN  => 'APP2_REPORT_GROUP',COMMENT           => 'Limit CPU for reports to 50% of application #2 reports',UTILIZATION_LIMIT => 50);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'APPS_PLAN',GROUP_OR_SUBPLAN => 'OTHER_GROUPS',COMMENT          => 'No directives for default users');DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
/
BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN    => 'erp_plan',COMMENT => 'Resource plan/method for ERP Database');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'oltp',COMMENT        => 'Resource consumer group/method for OLTP jobs');DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'batch',COMMENT        => 'Resource consumer group/method for BATCH jobs');DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN              => 'erp_plan',GROUP_OR_SUBPLAN  => 'oltp',COMMENT           => 'OLTP sessions',MGMT_P1           => 60,SWITCH_GROUP      => 'batch',SWITCH_TIME       => 3,UNDO_POOL         => 200,SWITCH_FOR_CALL   => TRUE,SESSION_PGA_LIMIT => 20);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN                   => 'erp_plan',GROUP_OR_SUBPLAN       => 'batch',COMMENT                => 'BATCH sessions',MGMT_P1                => 30,PARALLEL_SERVER_LIMIT  => 8,PARALLEL_QUEUE_TIMEOUT => 600,MAX_EST_EXEC_TIME      => 3600);DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN             => 'erp_plan',GROUP_OR_SUBPLAN => 'OTHER_GROUPS',COMMENT          => 'mandatory',MGMT_P1          => 10);DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
/

END

相关文章:

DBMS_RESOURCE_MANAGER

参考文档: Database Administrator’s Guide 27 Managing Resources with Oracle Database Resource Manager 27.5.5 Creating a Resource Plan BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN > bugdb_plan,…...

通俗讲解傅里叶变换

参考:六一礼物:给孩子解释什么是傅里叶变换 牛!不看任何数学公式来讲解傅里叶变换 如何直观形象、生动有趣地给文科学生介绍傅里叶变换? - 知乎 从基说起…… 从数学的角度,提供一个形象有趣的解释。理解傅里叶变换的钥匙是理解基♂,它能让你重新认识世界。 1. 什么是…...

数据结构——带头双向循环链表

数据结构——带头双向循环链表 一、带头双向循环链表的定义二、带头双向循环链表的实现2.1初始化创建带头双向循环链表的节点2.2申请新节点2.3节点的初始化2.4带头双向循环链表的尾插2.5带头双向循环链表的头插2.6判空函数2.7带头双向循环链表的打印函数2.8带头双向循环链表的尾…...

MySQL大数据量高速迁移,500GB只需1个小时

在上篇「快、准、稳的实现亿级别MySQL大表迁移」的文章中,介绍了NineData在单张大表场景下的迁移性能和优势。但在大部分场景中,可能遇到的是多张表构成的大数据量场景下的数据搬迁问题。因为搬迁数据量较大,迁移的时长、稳定性及准确性都受到…...

kafka复习:(25)kafka stream

一、java代码: package com.cisdi.dsp.modules.metaAnalysis.rest.kafka2023;import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.KafkaStreams; import org.apache.kafka.streams.StreamsBuilder; import org.apache.kafka.s…...

接口自动化测试总结

一、什么项目适合做自动化测试? 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程&#x…...

【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理

文章目录 背景一、Eval二、EvalSHA三、Redis 对 Lua 脚本的管理3.1 script flush3.2 script exists3.3 script load3.4 script kill 四、Lua在Redis中原子性执行的原理 背景 Lua 本身是一种轻量小巧的脚本语言,在Redis2.6版本开始引入了对Lua脚本的支持。通过在服务…...

汇编--int指令

中断信息可以来自CPU的内部和外部, 当CPU的内部有需要处理的事情发生的时候,将产生需要马上处理的中断信息,引发中断过程。在http://t.csdn.cn/jihpG,我们讲解了中断过程和两种内中断的处理。 这一章中, 我们讲解另一种…...

生成式AI的JavScript技术栈

如果不使用新的软件基础设施技术,就很难理解它们。 至少,a16z 基础设施团队发现了这一点,而且因为我们中的许多人都是以程序员的身份开始职业生涯的,所以我们经常通过实践来学习。 尤其是生成式AI浪潮的情况尤其如此,它…...

从零开始学习软件测试-第39天笔记

接口测试 http消息结构 请求报文 请求行 请求方式 url 协议版本请求头空行请求体响应报文 响应行 协议版本 状态码 状态消息响应头空行响应体 请求参数类型 path参数 写在路径中的 https://xxx.xxx.com/参数值query参数 写在url问号后面,以键值对形式存在 h…...

【多思路附源码】2023高教社杯 国赛数学建模C题思路 - 蔬菜类商品的自动定价与补货决策

赛题介绍 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而变差, 大部分品种如当日未售出,隔日就无法再售。因此, 商超通常会根据各商品的历史销售和需 求情况每天进行补货。 由于商超销售的蔬…...

Vue2+Vue3基础入门到实战项目(六)——课程学习笔记

镇贴!!! day07 vuex的基本认知 使用场景 某个状态 在 很多个组件 来使用 (个人信息) 多个组件 共同维护 一份数据 (购物车) 构建多组件共享的数据环境 1.创建项目 vue create vuex-demo 2.创建三个组件, 目录如下 |-components |--Son1.…...

QT—基于http协议的网络文件下载

1.常用到的类 QNetworkAccessManager类用于协调网络操作,负责发送网络请求,创建网络响应 QNetworkReply类表示网络请求的响应。在QNetworkAccessManager发送一个网络请求后创建一个网络响应。它提供了以下信号: finished():完成…...

SpringBoot-配置优先级

配置 SpringBoot项目支持的三种格式的配置文件 application.properties:这是最常用的配置文件类型,使用键值对的形式来配置应用程序的属性。可以在该文件中配置应用程序的端口号、数据库连接信息、日志级别等。 application.yml:这是一种更…...

科普初步了解大模型

目录 一、大模型的简单认知 (一)官方定义 (二)聚焦到大语言模型 (三)大模型的应用举例 二、如何得到大模型 (一)整体的一般步骤 训练自己的模型 使用预训练模型 选择适当的…...

Nginx 和 网关的关系是什么

分析&回答 Nginx也可以实现网关,可以实现对api接口的拦截,负载均衡、反向代理、请求过滤等。网关功能可以进行扩展,比如:安全控制,统一异常处理,XXS,SQL注入等;权限控制,黑白名…...

解决springboot项目中的groupId、package或路径的混淆问题

对于像我一样喜欢跳跃着学习的聪明人来说,肯定要学springboot,什么sevlet、maven、java基础,都太老土了,用不到就不学。所以古代的聪明人有句话叫“书到用时方恨少”,测试开源项目时,编译总是报错&#xff…...

Vmware 网络恢复断网和连接

如果你的 虚拟机无法联网了,比如: vmware 无法将网络更改为桥接状态: 没有未桥接的主机网络适配器 等各种稀奇古怪的问题; 按照下面操作 还远默认设置 包你解决各种问题!...

学生来看!如何白嫖内网穿透?点进来!

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1 搭建虚拟机1.1 下载文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压虚拟机文件1.4 虚拟机初始化1.5 没有搜索到解决方式:1.6 虚…...

C++中的stack和queue

文章目录 1. stack的介绍和使用1.1 stack的介绍1.2 stack的使用 2. queue的介绍和使用2.1 queue的介绍2.2 queue的使用 3 priority_queue的介绍和使用3.1 priority_queue的介绍3.2 priority_queue的使用 4. 容器适配器4.1 什么是适配器4.2 STL标准库中stack和queue的底层结构4.…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...