而 top 是实时的显示 cpu 和内存。...应用场景 压测程序时,想要对比不同的流量下,cpu 和内存的使用率 测试同一个领域的不同产品(nginx/envoy)的 cpu 和内存使用率 优点 不需要安装任何依赖 体积小-1.2M 效果图...一个可以监控 cpu 和内存使用率,并且将结果保存成 png 的轮子 一个可以监控 cpu 和内存使用率,并且将结果保存成 png 的轮子2
题目地址:https://leetcode-cn.com/problems/add-digits/ 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。...示例:输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。由于 2 是一位数,所以返回 2。...进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?...二、大佬解法 这解法主要思维是9的倍数位数相加最终结果都是9(我自己还试了好几遍,确实如此) 那么评论区就会出现 for %9然后if = 0 就返回9....(num - 1) % 9 + 1; } 只能说算法题算法题,只会写代码不行,还得用数学的思维去简化代码的执行时间和内存消耗,果然刷题之路还有很远,评论区大佬都是用做数学题的思维做算法题,只有我等垃圾用写业务的思维写算法题
但是 R 语言在 Tiobe 上的排名非常高,并且它有非常多的社区和资源,使用它有什么坏处吗? 听着,你可以使用 R 语言。...数据工程师一般使用产品系统工作,并帮助将数据和模型处理为可用的,但他们会比较少涉及机器学习和数学建模工作——这部分工作由数据科学家负责。...但是我还是要说一遍,这些我用 Excel 就能完成!这里我漏听了什么吗? 话是这样说,你可以用 Excel 完成大部分这样的工作,但是当你使用写脚本的方式去做的时候,工作的灵活性会大大增强。...但就目前而言,你只需开始使用机器学习库,同时可以完全忽略线性代数。 你的不确定性让我不安,我能相信你吗? 能有点感恩之心吗?我把你救出了另一个「兔子洞」。好吧,没关系。...我需要去散个步来消化这些东西。要说我已经从中得到了什么的话,那就是我认为我使用 Excel 所做的工作符合「数据科学」的条件。虽然我不知道我是否想拥有「数据科学家」的头衔,但它看上去可以是任何东西。
我们可以思考,什么情况下函数无需再次递归,没错,就是当这个数只剩下一位数的时候,我们就可以直接将它打印出来,无需递归,那么怎么判断这个数是不是一位数呢?...我们就可以将9这个界限找出来,如果一个整数大于9那么它肯定不是一位数,反之它就是个一位数,现在限制条件也清楚了,这个代码也就迎刃而解了 (2)代码实现以及运行结果: 在这个解题的过程中,...⽤的,就像举例1⼀样,看到推导的公式,很容易就被写成递归的形式: 在C语⾔中每⼀次函数调⽤,都需要为本次函数调⽤在内存的栈区,申请⼀块内存空间来保存函数调⽤期间的各种局部变量的值,这块空间被称为运...,比如标记,我们可以在用户排完坐标后进行询问是否标记雷,然后用某个符号代替标志,比如排查坐标周围没有雷时,可以进行扩展,这不就跟我们今天学习的递归紧密相连吗?...将扩展一片没有雷的区域,化小为某个坐标扩展加上其它坐标扩展,反复递推,然后回归,我们学的递归就很有用了 现在我们学习了递归,在这里我给出思路,希望友友们可以通过自己的思考将扫雷篇章的那些扩展写出来
书接上回说,nginx我们学会了简单的配置。那么我今天来聊一下,我们ngxin的一些优化配置(我不是很懂,不敢谈高级配置)。我先来看一下nginx的好处和正向代理。...这里有有一个肉联厂(真正的服务端)。我们心知肚明吧的知道菜市场肉贩子的肉是从肉联厂进货的。(肉贩子是代理端)。 我们从肉贩子手里买了肉。可以忽略这句话(这不废话吗,下面反正代理也是这样的)。...可以调节的参数还有很多,我们可以去官网查看,下面我来说一下简单的优化配置。...incative是保存的天数。max_sizes是保存的最大单位。location内部的分别是proxy_cache缓存名称,proxy_cache_key以url来MD5进行计算。...尽量避免使用IP_hash来做配置,IP_hash只能分发到同一个外网地址的请求,很多用路由交换机代理的内网IP,并不使用IP_hash算法,会造成单服务器大量请求,不能达到均衡的目的。
每次数学建模看周老师写的东西都觉得自己很菜,老师可以在课堂上信手拈来一段仿真代码,也可以使用LaTeX绘出让我目瞪口呆的动图,我很少有崇拜他人的时候,所以我什么时候才能和周佬一样,可能就像老师说的,你每天写
具体验证过程,我还是贴一下方便你回顾。1、查看 Redis 的初始内存使用情况。...一个图片 ID 和图片存储对象 ID 的记录平均用了 68 字节。这是上次我们讲述的场景。并且还留下了一道思考题:既然 String 类型这么占内存,那么你有好的方案来节省内存吗?...Sorted Set 中元素较少时,Redis 会使用压缩列表进行存储,可以节省内存空间。但是,在插入数据时,Sorted Set 需要按 score 值的大小进行排序,它的性能就差了。...在节省内存方面,哈希表就没有压缩列表那么高效了。为了能使用压缩列表来节省内存,我们一般要控制保存在 Hash 集合中的元素个数。...,这样一来,Hash 集合就可以一直使用压缩列表来节省内存空间了。
具体验证过程,我还是贴一下方便你回顾。 1、查看 Redis 的初始内存使用情况。...一个图片 ID 和图片存储对象 ID 的记录平均用了 68 字节。 这是上次我们讲述的场景。 并且还留下了一道思考题:既然 String 类型这么占内存,那么你有好的方案来节省内存吗?...Sorted Set 中元素较少时,Redis 会使用压缩列表进行存储,可以节省内存空间。但是,在插入数据时,Sorted Set 需要按 score 值的大小进行排序,它的性能就差了。...在节省内存方面,哈希表就没有压缩列表那么高效了。 为了能使用压缩列表来节省内存,我们一般要控制保存在 Hash 集合中的元素个数。...,这样一来,Hash 集合就可以一直使用压缩列表来节省内存空间了。
数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。...一位数组 一位数组是最简单的数组类型,它的定义形式如下: 类型说明符 数组名[常量表达式] 类型说明符是数组中每个元素的类型,常量表达式是数组元素的个数 在使用一维数组的时候需要留意以下两个要点 常量表达式的值必须是正整数...arr,在引用数组中的元素时,采用"数组名[下标]"的方式,将其中的每一个元素视为一个普通的变量来进行操作。...接下来我们我们通过一段代码看一下数组在内存中是如何存放的 #include #define N 4 int main(void) { int arr[N]; int i...,每个元素占用4个字节,在内用中的存储结构图如下: 最后我们再通过一个示例来巩固一下一维数组 需求:使用数组保存用户输入的数据,当输入完毕后逆向输出 代码如下: #define _CRT_SECURE_NO_WARNINGS
: 使用这个类型开辟的内存空间的大小,从而大小也决定了范围。...原因在于,使用补码,可以将符号位和数值域进行统一的处理;同时,加法和减法当中用补码也可以进行统一的处理(CPU当中只有加法器),此外,尤其是补码与原码的运算过程是可以进行相互转换的!...所以,1+(-1) = -2吗?...但是原理都是一样的就是我只要有加法,这些事情我都可以办到。 大端小端介绍: 大端:存储模式是指内存中的低位保存在内存当中的高地址当中,而数据的高位,保存在内存的低地址当中。...小端:存储模式是指数据中的高位保存在内存当中的低地址当中,而数据的高位,保存在内存的高地址当中。
自增列的应用场景 记得前几天和一位数据分析师朋友聊天,他吐槽道:"每天要分析上亿用户数据,光用户ID去重就头大。要么内存爆炸,要么性能拉胯。" 我笑着说:"这不巧了吗?...案例一:超大规模用户画像分析 在进行 PV/UV 统计或人群圈选等需要精确去重的查询时,可以使用自增列对 UserID 或订单 ID 等字符串值创建字典表,将用户数据批量或者实时写入字典表即可生成字典,...传统的分页通常使用 SQL 中的 limit, offset + order by 进行查询。在进行深分页查询时,即使查询数据量较少、数据库仍需将全部数据读取至内存进行全量排序,查询效率比较低下。...实战小贴士 使用中还发现一个有趣的现象:由于每个BE节点缓存一段序列号,新导入数据的自增值可能比老数据小。这让我想起量子物理中的"叠加态" - 在你观察之前,X既可能是活的也可能是死的。...因此,不能根据自增列分配出的值的大小来判断导入时间上的先后顺序: 别被自增列的"连续性"误导。它保证稠密不保证连续,完全够用就好。
但其实它还有第三种值, var xx = new Boolean; 这个xx它也可以说是一种Boolean值。...Number类型,它使用IEEE754格式表示整数和浮点数,一般我们用的最多是十进制,还有八进制、十六进制。 但要记住八进制在严格模式下是无效的,这我也是刚刚才知道。...而在计算的时候,所有的八和十六进制的数值,最终都是转换成十进制的。 啥叫浮点数? 就是数值中必须包含一个小数点,而且小数点后面必须至少有一位数字。但书中表示不推荐这种写法。...var xx = .1; //有效,但不推荐 在内存中保存浮点数占用内存空间是整数值的二倍,所以可以的话,尽量用整数。 ================ 今天比较忙,写的少点,日行一步嘛。...吹个风,我搞了个论坛,这几天就可以用了,然后你们最爱黑的40多岁的王员外是第一任版主。
14、添加 swap分区,这个是交换分区,一般情况是物理内存的2倍大小,用于物理内存不足时使用,可能造成系统不稳定, 所以看情况,可以设置小一点,甚至设置为0MB,这里我设置为512MB,然后点击...23、下面我们来登录CentOS,使用默认账号为root,密码为 你在前面安装时设置的root密码注意:在输入密码时,linux为了安全起见,是看不到你输入的密码。...同时,如果是使用的是键盘右边的数字键盘输入密码的话,建议查看一下num lock键是否开启。24、使用普通用户登录,普通用户的权限较低,很多地方不能操作,所以使用较少。...注意:DNS服务器可以只配一个,也可以配置多个,下面我用的是两个免费的DNS服务器,查看IP地址,测试联网。...DNS服务器IP地址大全(2020年04月23日更新) - 小小的一世网络配置完成我们就可以使用远程工具连接配置的IP访问该CentOS7服务器了,下面来介绍一下Xshell工具。
,至少有三种不同的方法可以解决这个问题。...要求使用空间复杂度为 O(1) 的原地算法。 ---- 个人理解: 数组的旋转,即把一个数组最开始的若干个元素搬到数组的末尾。...所以我们按照字面意思,来改变数组下标,每次让最后一位数值和前一位数值交换,然后再将最后一位数值赋值为第一位数值,让数组排序。...举个栗子 每旋转一次的执行过程 1) 先将最后一个保存到临时变量 1 2 3 4 5 6 7 8 [8] --- 临时变量 2)位移 _ 1 2 3 4 5 6 7 [8...看一下时间复杂度确实也是,我们的时间复杂度达到了 O(kn) 。确实太大了 .....((/- -)/ 然后自己去网上搜了一下其他回答,贴个老哥的代码在这里,我看的不是很懂,用到的思想是取余翻转。
n 中的每一位数字都会按下述规则分配一个符号: 最高有效位 上的数字分配到 正 号。 剩余每位上数字的符号都与其相邻数字相反。 返回所有数字及其对应符号的和。...然后,我们需要遍历每一位数字,并根据规则确定它的符号。 在遍历过程中,我们可以使用一个变量 result 来保存结果,并初始化为 0。...另外,我们还需要一个变量 sign 来保存当前位的符号,初始值设为 1。 接下来,我们可以使用一个循环来遍历每一位数字。对于每一位数字,我们需要根据其相邻数字的符号来确定自己的符号。...可以使用上述提供的代码来实现和验证该算法。...for i in range(len(digits)): 使用 range 函数遍历 digits 字符串中的每一个索引值 i。
这结果让我大吃一惊,通常情况下使用内存马失败的情况下,可能是内存马的 BUG 或兼容性问题,但如果中间件的架构不变,一般回显是可以的,所以这里面一定有很大的坑。...通过服务器的返回可以得知,目标服务器为 WebSphere Application Server/7.0,这个版本还是比较老的,也比较少见,平常遇到的版本一般为 8.5 或 9 这种比较高的版本,因此还真有可能是内存马的版本没有适配...由于是使用 URL 对象来获取资源,因此其实也不必要落地文件,在内存中映射也可以。 这时有朋友就问了,你使用反序列化来解决类创建的问题,那岂不是要先有一个类实例吗?...这难道不是先有鸡还是先有蛋的问题吗? 很简单,序列化数据在哪都能生成,想在目标环境中生成也可以,使用 unsafe 即可。...Unsafe 来创建内存马 Filter 的类实例并序列化保存,这里就需要额外注意,使用 Unsafe 的 allocateInstance 方法创建的类,其非静态成员变量均未进行初始化,有些内存马生成工具
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !...给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。...由于 2 是一位数,所以返回 2。 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?...解题 这一题考了一个“数根”的概念,关键点就是,一个数 num 和 num + 9 的数根是一样的, 所以结果就是num % 9....,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。
一看就不懂,我根本听不懂。全部都列举一遍,都是记忆的,我看出你能力吗? 我是想让回答这些结构吗?你直接把底层实现说了。是我期望的吗?第一步不清楚,直接第二步,好高骛远。 ? ?...skiplist当有序集合对象可以同时满足以下两个条件时, 对象使用 ziplist 编码: 有序集合保存的元素数量小于 128 个; 有序集合保存的所有元素成员的长度都小于 64 字节; 不能满足以上两个条件的有序集合对象将使用...举个例子, 在列表对象包含的元素比较少时, Redis 使用压缩列表作为列表对象的底层实现: 因为压缩列表比双端链表更节约内存, 并且在元素数量较少时, 在内存中以连续块方式保存的压缩列表比起双端链表可以更快被载入到缓存中...; 随着列表对象包含的元素越来越多, 使用压缩列表来保存元素的优势逐渐消失时, 对象就会将底层实现从压缩列表转向功能更强、也更适合保存大量元素的双端链表上面; ?...allkeys-lru:从所有数据范围内查找到最近最少使用的数据进行淘汰,直到有足够的内存来存放新数据。
木又连续日更第48天(48/100) ---- 木又的第193篇leetcode解题报告 数学类型第9篇解题报告 leetcode第258题:各位相加 https://leetcode-cn.com/problems.../add-digits/ ---- 【题目】 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。...示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。...进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? 【思路】 最直接的想法,各位数上进行相加,只要结果res>=10,继续循环进行。...进阶可厉害了,居然要O(1)时间复杂度,我也没有想出来,找了找网上的解答,恍然大悟,原来是找规律: 某数num各位之和等于(num-1)%9 + 1。
1.5 锁升级 面试官:可以怎么解决synchronized资源消耗吗?...指令重排序的主要作用是可以优化编译器和处理器的执行效率,提高程序性能。例如多条执行顺序不同的指令,可以重排序让轻耗时的指令先执行,从而让出CPU流水线资源供其他指令使用。...很明显程序运行结果和我们预期的并不一致。 2.3 volatile特性 面试官:有什么办法可以解决? 关于上文的重排序问题,可以使用volatile关键字来解决。...以上问题可以通过volatile解决,和使用synchronized加锁是一样的效果。...企业生产上还是比较少用到volatile的,对于加锁操作会使用的更多些。 synchronized加锁操作虽然开销比volatile大,但却适合复杂的业务场景。
领取专属 10元无门槛券
手把手带您无忧上云