last

三、sbin/recovery/服务流程-recovery.cpp main方法

。_饼干妹妹 提交于 2019-11-26 15:58:58
三、sbin/recovery/服务流程-recovery.cpp main方法 本次将分析recovery.cpp main方法,其中会介绍一部分C++ 基础,话不多说,直接开始,我们都知道从bootloder引导分区后会判断misc的参数,如果是boot-recovery ,会驱动进入recovery模式,这部分后面会进行补充,暂时对主要流程进行二次分析 1、加载分区表 2、get_args 3、加载selinux 4、关于路径转换解析 5、执行传入参数命令 6、finish_recovery 那么首先其实跟system的启动相同,会执行内核的init.rc etc/init.rc: service recovery /sbin/recovery seclabel u:r:recovery:s0 直接去启动recovery服务,这个文件是编译在recovey/sbin下的可执行文件,我们开启main方法之旅 //argc和argv参数在用命令行编译程序时有用。main( int argc, char* argv[], char **env ) 中 //第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数 //第二个参数,char*型的argv[],为字符串数组,用来存放指向的字符串参数的指针数组 //首先我们看到mian

Java_获取当前月最后一天

ⅰ亾dé卋堺 提交于 2019-11-26 14:20:26
List<String> ms = DateUtils.getMonths(7,"yyyyMM"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); for (String s : ms) { Calendar ca = Calendar.getInstance(); try { ca.setTime(sdf.parse(s + "01")); } catch (ParseException e) { e.printStackTrace(); } ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); String last = sdf.format(ca.getTime()); System.out.println("===============last:"+last); } Calendar ca = Calendar.getInstance(); ca.setTime(new Date()); ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); String last = sdf.format(ca.getTime())

hd5933 ArcSoft's Office Rearrangement

血红的双手。 提交于 2019-11-26 14:12:05
链接 http://acm.hdu.edu.cn/showproblem.php?pid=5933 题解 模拟… 代码 # include <bits/stdc++.h> # define maxn 100010 # define linf (1ll<<60) # define sqr(x) ((x)*(x)) # define cl(x) memset(x,0,sizeof(x)) using namespace std ; typedef long long ll ; ll N , K , a [ maxn ] ; int main ( ) { ll T , kase , s , i , sz , ans , last ; scanf ( "%lld" , & T ) ; for ( kase = 1 ; kase <= T ; kase ++ ) { printf ( "Case #%lld: " , kase ) ; scanf ( "%lld%lld" , & N , & K ) ; s = 0 ; for ( i = 1 ; i <= N ; i ++ ) scanf ( "%lld" , a + i ) , s + = a [ i ] ; if ( s % K != 0 ) { printf ( "-1\n" ) ; continue ; } sz = s / K ;

The Last Non-zero Digit

懵懂的女人 提交于 2019-11-26 14:04:59
题意 题目链接 本题大意为 给定m,n 求:$P^m_n$的最后一位非0的数 (P在排列组合中就相当于A) (beican)历程 看到题目 什么都不会的我一脸懵 ( 洛谷 的限制太水了 vjudge上时限1s 我们按严格的来) 但仔细想了一下 我仍然只发现暴力是不可以的 我暴力的思路是 乘起来 但直接乘会爆 就留个9位吧(感觉有点靠运气) 这样的思路肯定是错的 ( 像这位小哥 ) 也不要想去优化 不然就像我搞了半天 仍然 TLE 接着 再仔细想想 发现求最后一位非0的数 只需要我们在算的过程中除10 又知道 $P^m_n$ = $\frac{n!}{(n -m)!}$ = $\prod^n_{i=n-m+1}$i **换言之我们需要将含有因子2和5的除*掉** BTW将因子2和因子5的数量统计 因为一个10是由一个2和一个5乘得得 直接除*掉不能保证因子2与因子5数量相等 需要把多的乘回去(用快速幂) for(i = n;i > n - m;i--) { int j = i; while(j % 2 == 0) { j /= 2; d2++; } while(j % 5 == 0) { j /= 5; d5++; } ans = (ans * j) % 10; } if(d2 > d5) More = qkpow(2,d2 - d5); else if(d5 > d2) More

梯度下降法

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-26 13:55:00
目录 梯度下降法 一、什么是梯度下降? 二、简单线性回归中使用梯度下降法 三、多元线性回归算法中使用梯度下降法 四、梯度下降算法的向量化 五、梯度下降法 1、批量梯度下降法 2、随机梯度下降 3、mini-batch Gradient Descent 4、scikit-learn中封装实现sgd 六、关于梯度的调试 我是尾巴 梯度下降法 梯度下降法,是一种基于搜索的最优化方法,最用是最小化一个损失函数。 一、什么是梯度下降? ​ 机器学习算法都需要最大化或最小化一个函数,这个函数被称为"目标函数",其中我们一般把最小化的一类函数,称为"损失函数"。它能根据预测结果,衡量出模型预测能力的好坏。在求损失函数最小化的过程中使用梯度下降法。 $\frac{dJ(\theta)}{d\theta}$ ​ 在直线方程中,倒数代表斜率,在曲线方程中,倒数代表切线的斜率。倒数代表着参数theta单位变化时,损失函数J相应的的变化。通过上面图中的点可以发现,改点的导数为负值,所以随着参数theta的增加,损失函数J减小,因此导数从某种意义上还可以代表方向,对应着损失函数J增大的方向。 $-\eta\frac{dJ(\theta)}{d\theta}$ ​ 综上,如果最小化一个函数,我们就需要得到导数再取个负数,并且再乘以一个系数,这个系数通常叫做步长或者叫学习率(Learning rate, Lr)

Spring Environment对象获取属性

ε祈祈猫儿з 提交于 2019-11-26 13:47:33
String[] activeProfiles = env.getActiveProfiles();//获取当前是启用哪一个个配置文件 System.out.println(Arrays.toString(activeProfiles)); String[] defaultProfiles = env.getDefaultProfiles(); System.out.println(Arrays.toString(defaultProfiles));//defualt System.out.println(env.containsProperty("android_last_version")); //文件是否包含android_last_version属性 System.out.println(env.getProperty("ios_force_update"));//获取属性值 来源: https://www.cnblogs.com/yangxiaohui227/p/11322578.html

Linux下的MySQL主主复制和Mysql-MMM实现(Mysql双主多从高可用)

拈花ヽ惹草 提交于 2019-11-26 12:15:19
mysql主从架构中其实就一个主在工作,而从就相当于一个备份机器, 从通过日志监测的方式来备份主库上的数据 而保证主库的数据安全。在这种架构中如果从上的数据做了改变,主数据是不会用任何变化的。因为mysql主从架构主要是mysql从监控mysql主的日志变化来实现同步,相反的在这个架构中主并没有监控从的日志变化。所以,mysql从数据反生变化,主也就没有什么变化了。 通过上述描述,可以看到如果 想实现主主复制,无非就是在mysql主从架构上让mysql主实现监测从的日志变化,从而实现两台机器相互同步。 (主从的架构前面有博文 http://www.linuxidc.com/Linux/2013-10/91682.htm ) 实验环境:两台服务器: 主机名:HA1,HA2(呵呵,这个主机名是英文缩写High availability,高可用的意思) ip: 192.168.1.231 192.168.1.232 主机系统: CentOS 6.4 mysql版本5.5.22 首先,看下HA1(192.168.1.231)的mysql配置文件 vim /etc/my.cnf # Example MySQL config file for very large systems. # # This is for a large system with memory of 1G-2G

MMM搭建高可用mysql集群

情到浓时终转凉″ 提交于 2019-11-26 12:15:04
简介 MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个slave的read负载均衡。 MMM提供了自动和手动两种方式移除一组服务器中复制延迟较高的服务器的虚拟ip,同时它还可以备份数据,实现两节点之间的数据同步等。由于MMM无法完全的保证数据一致性,所以MMM适用于对数据的一致性要求不是很高,但是又想最大程度的保证业务可用性的场景。对于那些对数据的一致性要求很高的业务,非常不建议采用MMM这种高可用架构。 MMM项目来自 Google: http://code.google.com/p/mysql-master-master 官方网站为: http://mysql-mmm.org 系统环境 主机名 操作系统 IP地址 VIP地址 角色 mysql-mmm服务器 CentOS 7.0 x86_64 192.168.96.169 master01服务器 CentOS 7.0 x86

MySQL-MMM高可用集群搭建(可用)

心已入冬 提交于 2019-11-26 12:11:08
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://lizhenliang.blog.51cto.com/7876557/1354576 一、环境简述 1、工作逻辑图 2、MySQL-MMM 优缺点 优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。 缺点:Monitor节点是单点,可以结合Keepalived实现高可用。 3、MySQL-MMM工作原理 MMM(Master-Master replication managerfor Mysql , Mysql 主主复制管理器 ) 是一套灵活的脚本程序,基于 perl 实现,用来对 mysql replication 进行监控和故障迁移,并能管理 mysql Master-Master 复制的配置 ( 同一时间只有一个节点是可写的 ) 。 mmm_mond : 监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行。 mmm_agentd : 运行在每个mysql服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。 mmm_control : 一个简单的脚本,提供管理mmm_mond进程的命令。 mysql-mmm

【Pytorch】自定义学习率

回眸只為那壹抹淺笑 提交于 2019-11-26 08:58:15
目录 Pytorch中的学习率调整有两种方式 利用lr_scheduler()提供的几种衰减函数 torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1) torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1) torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1) torch.optim.lr_scheduler.ExponentialLR(optimizer, gamma, last_epoch=-1) torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0, last_epoch=-1) torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel', cooldown