函数的开放封闭原则: 对扩展是开放的 对修改是封闭的 装饰器的主要功能: 在不改变函数调用方式的基础上在函数的前、后添加功能。 装饰器的本质:一个闭包函数 装饰器的功能:在不修改原函数及其调用方式的情况下对原函数功能进行扩展 在函数使用装饰器后,查看注释信息方法不能用,这是需要使用functool模 ...
分类:
其他好文 时间:
2019-04-15 16:00:59
阅读次数:
146
在容器中如果存在同一类型的多个组件,也可以使用@Profile注解标识要获取的是哪一个bean,这在不同的环境使用不同的变量的情景特别有用。例如,开发环境、测试环境、生产环境使用不同的数据源,在不改变代码的情况下,可以使用这个注解来切换要连接的数据库。 步骤如下: 1. 在bean上加@Profil ...
分类:
编程语言 时间:
2019-04-15 00:28:37
阅读次数:
164
array_change_key_case ( array $array [, int $case = CASE_LOWER ] ) : array array_change_key_case() 将 array 数组中的所有键名改为全小写或大写。本函数不改变数字索引。 ...
分类:
Web程序 时间:
2019-04-13 11:07:16
阅读次数:
210
ansible工具注意参数详解-v打印详细模式-ipath指定host文件路径ansible-i-f指定fork开启同步进程的个数,默认为5-m指定module名称,默认为command-a模块的参数或者命令-u指定执行用户-C测试执行过程,不改变真是内容,相当于预演-T执行命令超时时间,默认为10s--version查看版本信息。ansibleping模块详解ansibleall-mpingan
分类:
其他好文 时间:
2019-04-08 19:59:01
阅读次数:
175
1、反射 通过反射加载类的构造器并新建对象 通过反射执行方法,这种执行是在先使用new关键字创建了对象的情况下,也可以使用反射创建对象然后反射执行方法 其实就是把上面的两种结合起来 2、动态代理 所谓代理模式就是在不改变方法源码的情况下对原方法进行增强,允许用户在运行期间创建基于接口的代理去增强接口 ...
分类:
其他好文 时间:
2019-04-08 13:31:04
阅读次数:
145
装饰器的主要功能: 在不改变函数调用方式(不改变原函数)的基础上在函数的前,后添加功能 装饰器的固定格式 带参数的装饰器 多个装饰器装饰一个函数 ...
分类:
编程语言 时间:
2019-04-06 09:25:33
阅读次数:
133
定义 在不改变原有对象的基础之上,将功能附加到对象上 适用场景 详解 在看到定义的时候,可能很多人会想,这不就是继承吗?的确很像,不过是比继承更加有弹性的替代方案。就像原型模式和new之间的关系一样,有区别,但是区别又不是特别大。装饰者一个很重要的词就是动态,他可以灵活的选择要这个功能还是不要。在装 ...
分类:
其他好文 时间:
2019-04-05 12:20:30
阅读次数:
155
1.slice(截取数组,不改变原数组,返回一个子数组) 2.splice(删除/添加数组,改变原数组,返回被删除元素的数组) ...
分类:
其他好文 时间:
2019-04-02 10:49:14
阅读次数:
168
普通大数相加: (1)超时: while循环条件不改变,导致死循环 (2)wa: s1,s2为字符串,len1=strlen(s1),len2=strlen(s2); swap(s1,s2)后,没有交换len1,len2 (3)格式错误: 最后一行不要换行,每两个测试样例之间换行。 看来我的菜是永无 ...
分类:
其他好文 时间:
2019-03-31 19:40:16
阅读次数:
187
nginx作为一个反向代理、负载均衡服务器,必须具备高可用的特点,因此nginx支持热部署。nginx的热部署和其并发模型有着密不可分的关系。说白了,就是因为master进程的关系。当通知ngnix重读配置文件的时候,master进程会进行语法错误的判断。如果存在语法错误的话,返回错误,不进行装载;如果配置文件没有语法错误,那么ngnix也不会将新的配置调整到所有worker中。而是,先不改变已经
分类:
其他好文 时间:
2019-03-31 15:21:16
阅读次数:
269