INSERT/UPDATE IGNORE

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84571955 作用   insert/update数据时,忽略抛出的错误。比如,批量插入时,有部分数据主键重复或者类型不对等等,无效的数据被忽略,有效的数据被插入; 语法 INSERT IGNORE INTO table(column_list) VALUES( value_list), ( value_list),
分类: 其他 发布时间: 12-17 22:35 阅读次数: 0

返回空List的方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84573635 方式一:new ArrayList()  JDK1.8已经优化了,默认构造函数创建的list内部共享空数组,首次插入数据时才会扩容到默认容量; private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; public ArrayList() {
分类: 其他 发布时间: 12-17 22:35 阅读次数: 0

索引长度

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84575009 长度限制  默认情况下,InnoDB 引擎单一字段索引的长度最大为 767 字节,启用服务器选项 innodb_large_prefix 后可以达到 3072 字节;对于 UTF-8 字符集,每个字符使用 3 字节来存储,VARCHAR 或者 TEXT 类型的字段的索引不能超过767/3= 255 个字符;对于 GBK 字符集,
分类: 其他 发布时间: 12-17 22:34 阅读次数: 0

@Autowired注解使用及原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84594129 使用说明 数组或集合的注入   Spring容器中所有了类型匹配的bean都被注入进来,并且如果bean有@Order注解或者实现Order接口,按照Order的先后顺序注入; Map的注入 key的类型必须为String,注入后值为bean的名称; value类型即为想要注入的bean类,所有类型匹配的bean会被注入进来;
分类: 其他 发布时间: 12-17 22:34 阅读次数: 0

destroy方法与钩子函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84642071 结论   JVM关闭时,会触发钩子函数,Spring会在注册的钩子函数中回调bean的destroy方法销毁bean; 注册过程  注册时机:Spring容器启动时,run() --> refreshContext(),如下图所示 注册逻辑如下,AbstractApplicationContext.registerShutdow
分类: 其他 发布时间: 12-17 22:34 阅读次数: 0

HIVE HA方案

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84754170 HA方案  HiveServer2集群依赖ZK实现了高可用,客户端先连接到ZK获取HiveServer2的地址,然后再与该地址建立连接,流程如下: 优点: 高可用(解决单点问题); 负载均衡(ZK集群随机选择HiveServer2); 缺点: 无法自动故障恢复(当某台HS2宕机时,与其相连的client的session会丢失,需
分类: 其他 发布时间: 12-17 22:34 阅读次数: 0

SpringMVC@NotEmpty等注解不生效

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84926529 现象   表单数据对应的Java Bean属性上添加的诸多校验注解不生效,如下示例: @NotEmpty(message = "规则不能为空", groups = {AppConfigGroup.Add.class,AppConfigGroup.Update.class}) @Size(max = 200,groups= {Ap
分类: 其他 发布时间: 12-17 22:33 阅读次数: 0

小程序推送消息到客户端

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/male09/article/details/83790575 只需三歩走 下载封装包:已经封装好了官方的推送过程的封装包 导入工程的libs 拷贝一下内容 public static void main(String[] args) { TemplateBean templateBean = new TemplateBean(); templateBean.set
分类: 其他 发布时间: 12-17 22:33 阅读次数: 0

回溯法:全排列

全排列 递归实现:把元素换到数组首位,剩下的部分做全排列 def constraint(): return True def bound(): return True def perm_backtracking(depth,lst): size = len(lst) if depth == size: print(lst) else: for i in range(depth,size):
分类: 其他 发布时间: 12-17 22:32 阅读次数: 0

分支限界法:单源最短路径--dijkstra算法

单源最短路径–dijkstra算法 前面已经多次介绍过dijkstra算法是贪心算法,是动态规划,实际上可以从分支限界的角度来理解; 分支限界法 分支限界法,实际上就是回溯法,一般意义的回溯法是基于深度优先搜索,也可以配合限界函数剪枝,通常分支限界法基于宽度优先搜索,通过队列或者优先级队列实现。 剪枝的策略:不相邻的边剪掉,二是结点控制关系的路径剪掉,两条路径到达同一个顶点,在解空间树上是属于两条不同的路径,把路径长的节点后面的分支剪掉 代码实现如下: import numpy as np i
分类: 其他 发布时间: 12-17 22:32 阅读次数: 0

限界分支法(实际上没有剪枝,介绍的是广度优先搜索):01背包问题,队列实现方式(FIFO)

限界分支法:队列实现方式 前面已经介绍过限界分支法大部分是基于广度优先搜索,广度优先搜索一般借助于队列实现,剪枝的情况可以借助于优先级队列。 实现如下: #%% class FIFO_01_Pack: def __init__(self,N,V,C,W): self.num =N self.Volume = V self.Cost = C self.Value = W self.BestV
分类: 其他 发布时间: 12-17 22:31 阅读次数: 0

回溯法(深度优先)剪枝和分支限界法(宽度优先)剪枝对比:01背包问题

限界函数: CurValue + rest <= BestValue 回溯法(深度优先)剪枝 # 递归方式 class pack_01_back_prune_test: def __init__(self,N,V,C,W): self.num =N self.V = V self.C = C self.W = W self.BestResult = [False]*N sel
分类: 其他 发布时间: 12-17 22:31 阅读次数: 0

限界分支法(队列方式)追踪解:01背包问题

追踪解 追踪解,上述实现的情况下,解都在最后一层,根本不知道之前的路径是怎样的,广度优先搜索,同一个纬度,假如不加指标判断的话,根本不知道最优解是选择的哪一个,所以需要同一个纬度的每一个结点,记住他之前的路径,才能在最优解的时候之前是怎么走过来的,每一个结点用一个数组记录路径,这样实现的感觉消耗有点大啊,通常看见是采用链表方式 限界分支法本质还是空间树,树的话,还是用链表实现比较容易和直观 把之前实现基于数组的形式修改成结点链表方式 实现如下: #%% # 修改成结点,为了追踪解,新增两个变量
分类: 其他 发布时间: 12-17 22:31 阅读次数: 0

限界分支法:01背包问题,优先级队列(包含解的追踪)

前面提到: 不知道大家注意到没有?上述实现方式没有使用单位体积价值的排序,和之前提到01背包回溯法基于单位体积价值实现不一样(先装单位体积价值高的)。 我们网上经常看到都是基于以上实现的,到底这个用有什么好处了?实际上基于排序的单位体积价值是一个非常精确的限界函数 基于优先级队列的实现方式,就需要用到以上的结构: 优先级队列方式需要数据预处理,为什么需要预处理数据了,这里使用的是优先级队列,这个优先级的选区非常重要,也非常重要 之前的策略curValue+rest就不行了,不是不行,是不够好,
分类: 其他 发布时间: 12-17 22:31 阅读次数: 0

货郎问题:回溯法和限界分支法

这个问题可以堪称一个全排列,[起点,剩下的全排列] 回溯法 import numpy as np class backtracking_Traveling_saleman: # 初始化,明确起点 def __init__(self,graph,start=0): # 顶点的个数 self.vertex_num = len(graph) self.graph = graph self.start = start
分类: 其他 发布时间: 12-17 22:30 阅读次数: 0

机房建设

机房运维
分类: 企业开发 发布时间: 12-17 22:30 阅读次数: 0

限界分支法优先级队列方式出口和追踪解的两种方法总结

在优先级队列分支限界法法中,何时为出接口,也就是while循环何时退出了? 解空间为[0,1,2…,n-1],当depth = n-1时,就可以记录结果了,可以考虑循环体退出了(实际上能不能出,还要看他的权够不够大,不够大的话,还是要老老实实的去选择优先级高的分支),换句话来说,一旦有一个一个叶子节点弹出了,循环体就结束了 然后就是最优解和最优解方案的追踪 一般来说有两种方案: 在每个活结点(就是要存入优先级队列的数据)中保存从root到当前结点的路径path,也就是一个数组,这个数组可以是一
分类: 其他 发布时间: 12-17 22:30 阅读次数: 0

分支限界发:Dijkstra算法

从分支限界的角度来看Dijkstra算法: Dijkstra算法是基于贪心的广度优先搜索,也可以看成分支限界法,从分支限界的角度来看,Dijkstra算法看起来就更加清晰明了 代码实现: # ============================================================================= # 分支限界法,dijkstra算法 # 首先解空间[起点0,顶点1,当点2,...,顶点n-1]看成[起点,剩余n-1个顶点的排列树] # 下界函数
分类: 其他 发布时间: 12-17 22:30 阅读次数: 0

ubuntu ftp服务器搭建,绝对有效,操作简单

https://www.cnblogs.com/ZHANYU/p/6055029.html
分类: 其他 发布时间: 12-17 22:30 阅读次数: 0

分治:分治和动态规划的区别,二分检索递归和迭代方式实现

分治法 分治一般可以直接使用递归实现,在不考虑空间消费的情况下和迭代方式时间消耗相差不多 ================================================================== 分治一般形式: T(n) = k*T(n/m) + f(n) k为子问题个数,一般均分或者等比分 n/m问题规模,一般情况下m已经确认了子问题的个数,可以通过变换减少为a个 f(n) 为数据的处理,划分和综合工作量,可以增加预处理,从而减少在递归里面的操作 也就是把递归里面
分类: 其他 发布时间: 12-17 22:29 阅读次数: 0