动态

虚拟机开机状态动态增加内存和CPU

我的梦境 提交于 2019-12-18 23:44:19
实验环境:一台虚拟机 1、右击虚拟机,点击“编辑设置”, 2、在“选项”中,找到“内存/cpu热插拔”这一项,把“为此虚拟机启动内存热添加”和“仅为此虚拟机启动CPU热添加”打钩,点击 “确定”。 注意:在开机的状态下,只能升级内存或者CPU,不能降级内存或者CPU,建议在创建虚拟机的时候就开启这个功能。 希望能帮到你。 来源: 51CTO 作者: 奋斗者励志 链接: https://blog.51cto.com/chentongsan/2459614

动态路由协议

偶尔善良 提交于 2019-12-18 15:19:40
动态路由协议分类 ——按工作区域分为 内部网关协议IDP(RIP、IS-IS、OSPF) 在同一个自治系统(AS)内交换路由信息 IGP主要目的是发现和计算自治域内的路由信息 外部网关协议EGP 自治系统(AS): 一组共享相似路由策略并在单一理域中运行的路由器 的集合 每个自治系统都有一个唯一的自治系统编号,由IANA分配 自治系统编号范围1-65535,1-65411是注册的lnternet编号,其余是专用网络编号。 ——按路由算法划分 距离-矢量路由协议(RIP、BGP) 定期广播整个路由信息,传闻式路由算法 易形成路由环路 配置简单,收敛慢,扩展性较差 链路状态路由协议(OSPF、IS-IS) 收集网络拓扑信息,通告LSA,运行协议算法计算最佳路由 根本解决路由环路问题 收敛快,扩展性较好,算法耗费更多的路由器内存和处理器能力 来源: https://www.cnblogs.com/d-15cici/p/10885095.html

报表工具中动态参数的使用方法和场景

白昼怎懂夜的黑 提交于 2019-12-17 14:25:00
报表开发过程中,有的时候我们会觉得普通参数很难满足一些业务需求,比如第二个数据集要引用第一个数据集的结果进行计算,动态控制 SQL 的过滤条件,动态列等,如果您遇到了这种情况,可以尝试使用动态参数即 ${参数名} 的方式来达到我们想要的效果。 那么,什么是动态参数呢? 动态参数一般是依赖于普通参数的具有计算能力的参数,在报表中动态参数我们可以看做是一个占位符,在报表运算之前,系统会全面搜索整张报表定义,将所有 ${参数名} 中的参数名替换成参数值即 动态参数表达式的结果。 下面我们举几个例子,看一下 首次展现参数值为空,查询全部数据 实现方法: a. 将数据集中原有的 where 子句部分,用动态参数替换 如下图 更改前 SQL: SELECT 订单. 订单 ID, 订单. 客户 ID, 订单. 订购日期, 订单. 货主地区, 订单. 运货商, 订单. 运货费 FROM 订单 where 订单. 订单 ID >=10254 更改后 SQL: b. 菜单栏中 选择【报表】à 【参数】,新增动态参数, 表达式为:if(bid==null,"",“where 订单. 订单 ID >=”+@bid) 意为:根据参数模板 bid 的参数值是否为空,确定 sql 部分被替换的内容,如下图 注:bid 为参数模板传递的参数名称 c. 其他,设置按照报表常规操作进行开发设计。 2.

如何制作动态层分组报表

你离开我真会死。 提交于 2019-12-17 09:46:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 润乾报表提供了单元格同值合并的功能,可以实现动态层次的分组报表。这里通过一个例子来说明使用过程。 目标报表: 需要根据参数动态传递分组字段,按不同维度汇总订单运货费。如参数输入“货主地区, 货主城市”,显示的报表效果如下: 当参数输入“货主地区, 运货商, 货主城市”时,报表显示如下: 以下为具体实现步骤: 1、连接数据源 连接润乾报表设计器自带 DEMO 数据源: 2、设置报表参数 新建报表,并设置报表参数如下: 其中,gnum 为分组字段数;gname 为分组字段名,多个字段使用逗号分隔 3、设置数据集 报表数据集使用 SQL 检索,数据集设置如下: 这里使用了参数的 ${参数名} 的用法。利用 ${参数名} 引用方式可以在报表中动态进行表达式的替换,在报表运算之前,系统会全面搜索整张报表定义,将所有 ${参数名} 中的参数名替换成参数值,然后再进行报表计算。 4、设置报表单元格表达式 报表表达式设置如下: 上面使用了动态列表达式,其中 ds.fname()获得字段名,ds.field() 进行取数。此时如果不设置同值合并,得到的结果是: 而我们希望当分组字段值相同时,可以纵向合并成一个单元格,也就是“同值合并”。 5、设置同值合并 选中 A3 和 B3 单元格,选择右侧属性面板中的同值合并选项为“纵向合并

填报之动态扩展列

落花浮王杯 提交于 2019-12-17 06:46:23
在填报开发中,常见的填报表样式有很多,其中就包含了网格式填报、交叉填报等,如下图 这种大多都是单一数据来源,进行取数回填的,基本不涉及在报表中处理数据表间的关联分组等复杂情况。下面我们通过一个具体的实例来看一下如何制作这种复杂的填报表 – 动态列。 需求说明 如下图表格中左右用不同颜色划分出了两块:分别是 A-D(蓝色部分)、E-V(黄色部分) 其中: A-D 为固定列,数据来源于数据库表 report_market,要求数据纵向扩展 E-V 为动态列,数据来源于数据库表 report_market_detail,要求 1-3 行分组横向扩展, 4-5 行根据 A 列的 ID 关联取数纵向扩展 E-V 为动态列部分 按照第一行的类型可以实现分组小计自动计算,即同类型的不同维度的自动求和 E-V 为动态列部分 第二行由多个字段组成,如:report_market_detail. item_type 和 report_market_detail. item_name 拼接而成 表结构 上述填报表涉及的库表结构如下图所示: report_market 表 report_market_detail 表 ** 注:** 两表 report_market.id == report_market_detail.p_id 关联; 实例所用数据库为 mysql 难点

new和delete动态分配和撤销内存

老子叫甜甜 提交于 2019-12-17 06:03:34
视频: C++引用及new和delete的使用 一、new用法 使用new运算符时必须已知数据类型,new运算符会向系统堆区申请足够的存储空间, 如果申请成功,就返回该内存块的首地址,动态分配失败,则返回一个空指针(NULL) 。 new运算符返回的是一个指向所分配类型变量(对象)的指针。对所创建的变量或对象,都是通过该指针来间接操作的,而动态创建的对象本身没有标识符名 一般使用格式: 格式1:指针变量名=new 类型标识符;     例子:int *a = new int; 开辟一个存放整数的存储空间,返回一个指向该存储空间的地址赋值给a 格式2:指针变量名=new 类型标识符(初始值); int *a = new int(100); 开辟一个存放整数的存储空间,返回一个指向该存储空间的地址赋值给a,并给这个地址初始化 格式3:指针变量名=new 类型标识符 [内存单元个数]; 开辟数组空间 int *a = new int[5]; 开辟具有5个元素的整型数组 int **a = new int[5][6]; 开辟一个二维空间 二、delete 删除空间 1. 删除单变量地址空间 int *a = new int; delete a; //释放单个int的空间 2. 删除数组空间 int *a = new int[5]; delete []a; //释放int数组空间

设计模式_代理模式_动态代理

我们两清 提交于 2019-12-17 03:02:10
转自:https://www.ibm.com/developerworks/cn/java/j-lo-proxy-pattern/index.html 动态代理是指在运行时动态生成代理类。即, 代理类的字节码将在运行时生成并载入当前代理的 ClassLoader 。与静态处理类相比,动态类有诸多好处。首先,不需要为真实主题写一个形式上完全一样的封装类,假如主题接口中的方法很多,为每一个接口写一个代理方法也很麻烦。如果接口有变动,则真实主题和代理类都要修改,不利于系统维护;其次,使用一些动态代理的生成方法甚至可以在运行时制定代理类的执行逻辑,从而大大提升系统的灵活性。 动态代理类使用字节码动态生成加载技术,在运行时生成加载类。生成动态代理类的方法很多,如, JDK 自带的动态处理 、 CGLIB 、Javassist 或者 ASM 库。JDK 的动态代理使用简单,它内置在 JDK 中,因此不需要引入第三方 Jar 包,但相对功能比较弱。CGLIB 和 Javassist 都是高级的字节码生成库,总体性能比 JDK 自带的动态代理好,而且功能十分强大。ASM 是低级的字节码生成工具,使用 ASM 已经近乎于在使用 Java bytecode 编程,对开发人员要求最高,当然,也是性能最好的一种动态代理生成工具。但 ASM 的使用很繁琐,而且性能也没有数量级的提升,与 CGLIB

动态代理的作用和实现。

北城以北 提交于 2019-12-16 22:22:26
动态代理的原理、作用以及实现 做java学习以及开发的小伙伴们对于动态代理这个词一定不陌生,但是到底什么是动态代理,或许解释起来是有些麻烦。这篇文章的目的也是为了能够让大家更加深刻的理解动态代理。 动态代理,代理顾名思义,像工厂和商家之间的商家一样,商家帮工厂出售产品,工厂则负责制作产品,那么代理类也是一样,你写了一个SayHello类了,然后使用代理类去代替你写的SayHello类,执行类中的方法。 或许经过上面的一番描述,大多数小伙伴们会更加疑惑,哎,我明明已经写了SayHello类了,为啥子不直接用它,而是要去使用一个代理呢?怪麻烦的。 对于SayHello类而言,如果需求不变,那么类可能满足功能,但是如果有一天,对于类SayHello类的需求改变了呢?是不是就需要拓展SayHello类了?这时,代理的作用也就显现出来了。这时候因为SayHello类中的方法,是在代理类中由代理类来调用的,所以在不添加源代码的基础上,也可以实现原方法的拓展。 原理如图: 借用一下某位仁兄的图片 该图片作者的博客 实现代码如下: //SayHello接口 interface ISayHello { void sayHello ( ) ; } //SayHello接口的实现类 class SayHelloImpl implements ISayHello { @Override public

JDK动态代理和CGLiB动态代理

人走茶凉 提交于 2019-12-16 21:18:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> JDK动态代理 JDK动态代理要求类必须实现某一接口,代理类是同一接口的实现类。 JDK动态代理主要涉及两个类:Proxy和InvocationHandler。InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态的将横切逻辑与业务逻辑交织在一起。Proxy利用InvocationHandler动态创建一个符合某一接口的实例,生成目标类的代理对象。 public class MyInvocationHandler implements InvocationHandler { private Object target; public MyInvocationHandler(Object target){ this.target = target; } public Object invoke(Object proxy, Method method, Object[] args) { begin(); Object obj = method.invoke(target, args); end(); return obj; } } 创建代理实例 public class Test { public static void main(String []

java的动态绑定和静态绑定

≡放荡痞女 提交于 2019-12-16 19:24:48
首先是方法的参数是父类对象,传入子类对象是否可行 然后引出Parent p = new Children(); 这句代码不是很理解,google的过程中引出向上转型 要理解向上转型又引出了动态绑定 从动态绑定又引出了静态绑定 程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定 静态绑定: 在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。 针对java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,static,private和构造方法是前期绑定 动态绑定: 后期绑定:在运行时根据具体对象的类型进行绑定。 若一种语言实现了后期绑定,同时必须提供一些机制,可在运行期间判断对象的类型,并分别调用适当的方法。也就是说,编译器此时依然不知道对象的类型,但方法调用机制能自己去调查,找到正确的方法主体。不同的语言对后期绑定的实现方法是有所区别的。但我们至少可以这样认为:它们都要在对象中安插某些特殊类型的信息。 动态绑定的过程: 虚拟机提取对象的实际类型的方法表; 虚拟机搜索方法签名; 调用方法。 关于绑定相关的总结: 在了解了三者的概念之后,很明显我们发现java属于后期绑定。在java中,几乎所有的方法都是后期绑定的