动态

动态开点线段树

这一生的挚爱 提交于 2019-11-29 11:15:01
练习树剖的时候找到了 https://www.luogu.org/problem/P3313 于是顺便学习了一下动态开点线段树。 这里写一点心得。 很多线段树不是满二叉树就会造成空间浪费,而动态开点就可以解决这个问题。那么怎么动态开点呢? 结合这题来看一下吧。 来源: https://www.cnblogs.com/Kylin-xy/p/11516097.html

JDK动态代理的实现及原理

谁说胖子不能爱 提交于 2019-11-29 10:15:13
动态代理,听上去很高大上的技术,在Java里应用广泛,尤其是在Hibernate和Spring这两种框架里,在AOP,权限控制,事务管理等方面都有动态代理的实现。JDK本身有实现动态代理技术,但是略有限制,即被代理的类必须实现某个接口,否则无法使用JDK自带的动态代理,因此,如果不满足条件,就只能使用另一种更加灵活,功能更加强大的动态代理技术—— CGLIB。Spring里会自动在JDK的代理和CGLIB之间切换,同时我们也可以强制Spring使用CGLIB。下面我们就动态代理方面的知识点从头至尾依次介绍一下。 我们先来看一个例子: 新建一个接口,UserService.java, 只有一个方法add()。 package com.adam.java.basic; public interface UserService { public abstract void add(); } 建一个该接口的实现类UserServiceImpl.java package com.adam.java.basic; public class UserServiceImpl implements UserService { @Override public void add() { System.out.println("----- add -----"); } }

mybatis动态切换数据源

怎甘沉沦 提交于 2019-11-29 10:03:37
(#)背景: 由于业务的需求,导致需要随时切换15个数据源,此时不能low逼的去写十几个mapper,所以想到了实现一个数据源的动态切换 首先要想重写多数据源,那么你应该理解数据源的一个概念是什么,DataSourceTransactionManager这个类就是spring中对于数据源的封装,其中DataSource做为 他的一个成员.接下来我们要介绍一下我们切换动态数据源需要使用的类,AbstractRoutingDataSource,先来看看这个类的源码 首先看看这几个变量,targetDataSources代表的就是备选的数据源了,用一个map存储,显然是为了在关键的时候快速的查找这些数据源,defaultTargetDataSource 就是我们在配置的时候一般都会制定一个默认的数据源就是它了, 程序运行的时候在加载配置文件的时候,首先会执行setTargetDataSources方法,这个方法会加载配置文件中配置的数据源,存储在上面说的targetDataSource中, 然后是设置setDefaultTergetDataSource,这个就是上面说的默认的数据源, 接下来会执行这个方法,在其中会将所有的数据源用来初始化resolvedDataSources,而当实际上和数据库产生交互的时候那么会调用到下面的方法: 如果看到这里大概你也知道怎么回事了

Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法

て烟熏妆下的殇ゞ 提交于 2019-11-29 10:03:10
一、开篇 这里整合分别采用了Hibernate和MyBatis两大持久层框架,Hibernate主要完成增删改功能和一些单一的对象查询功能,MyBatis主要负责查询功能。所以在出来数据库方言的时候基本上没有什么问题,但唯一可能出现问题的就是在hibernate做添加操作生成主键策略的时候。因为我们都知道hibernate的数据库本地方言会针对不同的数据库采用不同的主键生成策略。 所以针对这一问题不得不采用自定义的主键生成策略,自己写一个主键生成器的表来维护主键生成方式或以及使用其他的方式来生成主键,从而避开利用hibernate默认提供的主键生成方式。 所以存在问题有: 怎样动态的切换数据库方言? 这个问题还没有解决,没有更多时间来研究。不过想想应该可以配置两个SessionFactory来实现,那又存在怎么样动态切换SessionFactory呢?!需要解决这个问题才行,而这里则演示怎么样动态切换DataSource数据源的方法。 二、代码演示 在演示开始之前你的项目已经成功的整合完成的情况下才行,如果你还不知道怎么使用Spring整合MyBatis和Spring整合Hibernate的话。建议参考之前的文章: MyBatis3整合Spring3、SpringMVC3 、 Struts2、Spring、Hibernate整合ExtJS

Html+css实现水晶图片动态效果

允我心安 提交于 2019-11-29 09:41:11
网上学的一个小玩意,具体是放十二张图片,然后变成一个动态效果。 可以在网站中打开,也可以在窗体中打开 网站例子分享: 链接:https://pan.baidu.com/s/1ewMdwEu3wAvH7O8cF_e3Hw 提取码:m3jh 窗体例子分享: 链接:https://pan.baidu.com/s/1M9PyeIl5JY53Jlr9GgXMOg 提取码:1tzw 复制这段内容后打开百度网盘手机App,操作更方便哦 来源: https://www.cnblogs.com/wl192/p/11511200.html

Python之函数(二)函数的动态参数

喜欢而已 提交于 2019-11-29 06:51:33
函数的动态参数 动态位置参数(*args 备注 args可以随意改,不是固定的) def func(a,b, args):# args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合 print(a,b,args)# args接受 多个参数存储类型为元组 func(1,2,3,4,5) 结果为: 1 2 (3,4,5) def func(a,b, args):# args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合 print(a,b,args) func(1,2,3) 结果为: 1 2 3 def func(a,b, args):# args是万能(接受任意多个)的位置参数 在函数定义的时候叫做聚合 print(a,b, args)# * 打散 func(1,2,3,4) 结果为 1 2 3 4 优先级: 位置参数 >动态位置参数 > 默认参数 def func(a,b, args,c=1,d=2): print(a,b,c,d, args) func(1,2,3,4,c=4)#如果要修改默认参数 必须参数名一致 否则改不了 默认参数的值 结果为1 2 3 4 4 2 动态关键参数(**kwargs 备注kwargs可随意修改 遵循变量命名) def func(a,b, kwargs):# kwargs是万能(接受任意多个)关键字参数 print(a

调试web worker (动态生成的worker)

流过昼夜 提交于 2019-11-29 06:25:26
1.在worker.js源码文件中 写下debugger关键词 2. F12打开控制台,重新刷新页面,加载worker.js文件(注意之前的缓存,chrome推荐使用 ctrl + F5 刷新) 3. 此时可以重新给debugger关键词所在行打上断点,刷新页面即可 4.调试结束后,不要忘记删除源码中的debugger关键词 来源: https://www.cnblogs.com/sangzs/p/11459191.html

使用DHCP动态管理主机地址

天大地大妈咪最大 提交于 2019-11-29 05:07:41
一、动态管理主机协议DHCP 1)DHCP是一种基于UDP协议且仅限用于局域网的协议,主要用途是为局域网网络设备自动分配IP地址。 2)DHCP服务成语术语: 作用域:一个完整的网段,DHCP服务根据作用域来管理网络的分布、分配IP地址及其他参数; 超级作用域:用于支持同一物理网络上多个逻辑IP地址分配子网、包含作用域的列表,并对子作用域统一管理; 排除范围:将某些IP地址在作用域中排除,避免这些IP地址分配给DHCP客户机; 地址池:在定义DHCP服务的作用域和排除范围后,剩余的地址用来动态分配给DHCP客户机的IP地址范围; 租约:即DHCP客户机能够使用动态分配到的IP地址的时间; 预约:保证局域子网中特定设备总能获取到相同的地址。 3)安装dhcpd服务程序 dhcpd服务程序是用于提供dhcp协议服务的,确认镜像挂载且yum仓库配置完毕后即可开始安装,安装命令为:yum install dhcpd -y 4)dhcpd服务程序与配置文件: 主配置文件:/etc/dhcp/dhcpd.conf 执行文件:/usr/sbin/dhcpd      /usr/sbin/dhcrelay 查看dhcp配置文件仅有解释信息 cat /etc/dhcp/dhcpd.conf,这时需要参考标准的dhcp配置文件模板 cat /usr/share/doc/dhcp*/dhcp.conf