首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

漫画:冒泡排序状态!

flag = true; //如果有数据交换,那么将flag设置为true,代表还有数据未排序 } } k--; //每次排序最后一个元素都是当前排序最大值...,所以需要-- } return array; } 先给出一个冒泡排序动画图,相信根据这个图来大家会非常容易理解。...除了刚刚小k写算法,我们还可以做进一步优化。...如果有100个数数组,仅前面10个无序,后面90个都已排好序且都大于前面10个数字,那么在第一趟遍历后,最后发生交换位置必定小于10,且这个位置之后数据必定已经有序了,记录下这位置,第二次只要从数组头部遍历到这个位置就可以了...array[j-1] = array[j]; array[j] = temp; flag = j; //记录非排序列中最后一个值

43310

!Integer值问题最佳详解!

二进制 概念 首先我们得知道进制概念。所谓进制,也叫做进位计数制,这是人为定义带进位计数方法。当然也有不带进位计数方法,比如原始结绳计数法,唱票时常用“正”字计数法等。...任何一种进制,每一位上数在运算时都是满X进一位。 以我们熟悉十进制为例,每逢十进一。当数为9,再加1个数时,就满十了。因此,要进位(从一位数变为两位数),就得到了10。...因此,二进制是我们必须要理解和掌握哦。 二进制 所谓二进制,就是逢二进一,里面只有0和1,所以在二进制里是看不到>=2。...但负数原码和正数却不一样,负数原码要将正数原码符号位(最高位)改为1,比如-10原码就是10001010。 因此,正数和负数原码除了最高位不一样外,其他位上值都一样。...所谓最高位就是数值类型字节数对应二进制位第一位(从左到右第一位)。以我们上一篇题目中Integer类型举例。 Integer是基本数值类型int包装类。

26620

2020 年 10 门编程语言

那,这篇文章就是来给同学们提个醒,2020 年编程语言是什么?看完后你就知道该如何地去选择了。...先来个简要概括: Java,服务器端最好编程语言 C++,通用编程语言 C,迄今为止,值得信任编程语言 Python,AI(人工智能)、机器学习方向最佳编程语言 JavaScript,客户端最常用脚本语言...同学们尽管放心,我是负责任——主要是这些编程语言作者或者团队是负责任,尽管开源 PHP 官方团队已经在 2019 年底彻底解散了,但 PHP 依然很坚挺,很。...随着时间发展,C++ 进一步发展为具有直接内存访问和完整硬件控制通用语言。正因为 C++ 提供了最广泛通用功能,就导致掌握起来有一定难度。...,)在第一次浏览器大战时为 Netscape(网景公司)开发脚本语言。

1.7K20

JMH: 基准测试工具套件

JMH比较典型应用场景有: 想准确知道某个方法需要执行多长时间,以及执行时间和输入之间相关性; 对比接口不同实现在给定条件下吞吐量,找到最优实现 查看多少百分比请求在多长时间内完成 官方是推荐我们单独建立一个..., 这里我们就说代码配置方式, 因为这个东西用不多, 记不住那么多注解....它常用方法及对应注解形式如下: 方法名 参数 作用 对应注解 include 要运行基准测试类简单名称 eg...., 最重要是最后一些信息, ....它表示了, 吞吐率, 因为执行这个String 相加时间很短, 所以我们这里测试选择是吞吐率, 然后执行比较长耗时操作, 可以选择查看时间.

84320

Java 框架,没有之一!

难道这就是SpringBoot启动慢原因吗?...在回答这个问题之前,我还是得先给这位粉丝点个赞,看得出来他是在认真思考,只不过大家都知道SpringBoot是基于Spring来实现,如果对Spring底层不熟悉的话,在研究SpringBoot源码时将会更加痛苦...另外对于SpringBoot中自动配置要有足够理解,比如: 1、SpringBoot自动配置到底有啥作用? 2、SpringBoot自动配置是如何实现?源码是怎样?...这个教程主讲大佬叫周瑜(大家喜欢叫他大都督),看了他教程后,发现他对Spring Framework、Spring Boot、Spring Cloud都有深入研究,并曾在美团担任高级架构师,拥有丰富...因为对于大部分程序员兄弟来说: 1、虽然Spring全家桶官方文档很全面,但面对庞杂知识体系,很多兄弟不知从何下手 2、市面上Spring全家桶书籍很多,但平铺直叙风格很难让人快速抓住重点 3

53010

哄哄 BitMap,到底在哪?

最后,遍历一遍Bit区域,将该位是一编号输出(2,3,4,5,7),这样就达到了排序目的,时间复杂度O(n)。...首先,根据“内存空间不足以容纳这05亿个整数”我们可以快速联想到Bit-map。下边关键问题就是怎么设计我们Bit-map来表示这20亿个数字状态了。...但是对于某些应用场景而言,这属于一种巨大浪费,因为我们可以用对应32bit位对应存储十进制0-31个数,而这就是Bit-map基本思想。...补充1 在数字没有溢出前提下,对于正数和负数,左移一位都相当于乘以21次方,左移n位就相当于乘以2n次方,右移一位相当于除2,右移n位相当于除以2n次方。...哄哄布隆过滤器,到底有什么用?这篇推荐看下。 如果想判断一个元素是不是在一个集合里,一般想到是将集合中所有元素保存起来,然后通过比较确定。

39710

哄哄 BitMap,到底在哪?

最后,遍历一遍Bit区域,将该位是一编号输出(2,3,4,5,7),这样就达到了排序目的,时间复杂度O(n)。...首先,根据“内存空间不足以容纳这05亿个整数”我们可以快速联想到Bit-map。下边关键问题就是怎么设计我们Bit-map来表示这20亿个数字状态了。...但是对于某些应用场景而言,这属于一种巨大浪费,因为我们可以用对应32bit位对应存储十进制0-31个数,而这就是Bit-map基本思想。...补充1 在数字没有溢出前提下,对于正数和负数,左移一位都相当于乘以21次方,左移n位就相当于乘以2n次方,右移一位相当于除2,右移n位相当于除以2n次方。...哄哄布隆过滤器,到底有什么用?这篇推荐看下。 如果想判断一个元素是不是在一个集合里,一般想到是将集合中所有元素保存起来,然后通过比较确定。

68330

全网 Elasticsearch 天团博客集合

1、事出有因 一个问题引发 国内外elasticsearch 天团博客集合。 兄弟们 有玩过这个API吗 ? 这个suggest是干嘛作用。...2、Elastic 中文社区 1000期日报 TOP 30 博客统计 机器汇集 3000 + 精彩人工推荐 Elastic 博文,统计汇总后 TOP 文章来源统计如下: ? ?...,有一些实践干货和工具,对我们分析和解决问题有启发。...https://blog.insightdatascience.com/anatomy-of-an-elasticsearch-cluster-part-iii-8bb6ac84488d 4.6 国外系列...Elastic Stack 学习过程中,多看其他人博客,能看到别人业务场景遇到问题、解决问题方式, 对自己能力提升必然有帮助! ps:国内外优质博客梳理会持续跟进进行中,也欢迎大家留言反馈。

1.7K21

缓存框架,没有之一!

九月份看了一下网上发布Java相关岗位招聘信息,没想到,现在Redis这么火爆,各大互联网公司招Java开发工程师,基本上都是要求熟练掌握Redis。...而且就我了解,现在大厂技术面必问Redis,尤其是在阿里、字节、华为、腾讯后端面试中,只要你项目中涉及到Redis,面试官大部分都会针对Redis提问,很多Redis提问还特别深入,没答上来直接拜拜...实际上,很少有人真的掌握了Redis全部技巧,有些甚至连面试题都很难应付。 如何全面系统学习Redis以及应对相关技术面试呢?今天就给大家分享一下我认为比较高效实用学习方法。...最近我朋友诸葛老师会做一次关于大厂缓存架构Redis优化分享课程——《一线大厂Redis高并发缓存架构实战》,这个技术课是目前我了解过里面讲Redis最好,理论结合实战项目的纯干货系统课,将Redis...Redis高并发缓存架构有一个深度理解,课后还会有Redis面试真题集训进行巩固和加强。

35620

Git!!!!!!!

这个文件这一行代码是什么时候被修改?是谁做出修改?修改原因是什么? 最近 100 个版本中,哪个版本导致单元测试失败了?...版本控制系统有很多,其中最突出代表就是 Git——关于它诞生历史,可以参照我之前分享一篇内容:一次改变世界代码提交。...尽管 Git 接口有些难懂,但它底层设计和思想却非常优雅。难懂接口只能靠死记硬背,但优雅底层设计则非常容易理解。...我们可以通过一种自底向上方式来学习 Git,先了解底层数据模型,再学习它接口。可以这么说,一旦搞懂了 Git 数据模型,再学习它接口并理解这些接口是如何操作数据模型就非常容易了。...版本控制系统是如何和快照进行关联呢?线性历史记录是一种简单模型,它包含了一组按照时间顺序线性排列快照。不过,出于种种原因,Git 没有采用这种模型。

56530

JS,我不吹牛,自己看数据

从 2013 至 2016 年,JS 四年蝉联最热门技术 程序员最想要技术,Node 和 Angular 排第二和第三 全栈工程师青睐技术,JS 第一 前端开发者青睐技术,JS 自然第一 后端开发者青睐技术...,JS 第一 学生程序员青睐技术,JS 第二 JavaScript 是这个星球上最受欢迎编程语言。...我们内部统计显示,有60%职业开发者实际上是在做全栈工作。...按职位分类看程序员报酬: 在用 JS 全栈工程师中 在用 JS 前端工程师中, 按职位分类报酬: 懂得使用JavaScript并在为云平台工作全栈开发者,以及使用React或者Redis技术开发者比其他开发者报酬更多...对于印度开发者来说,得到升职优先级要比其他国家开发者来得高。 工作中挑战: 不切实际预期,糟糕文档,不够详细需求,这些都是开发者日常要面对烦心事。听上去熟悉吧?

1K40

Vim,

只不过,Vim 学习曲线相当大,这是一个连我都不得不承认事实。就好像弹一把吉他,一开始学起来非常痛苦,简直想摔了它,但学会后,就能感受到乐器无限魅力,以及学妹崇拜小眼神。...80 年代末,布莱姆·米勒在一个开源 vi(更早一种计算机文本编辑器,我记得有个读者网名就叫这个)基础上开发了 Vim 1.0 版本。...Vim 有很多聪明设计,所以很多其他工具也支持 Vim 模式,比如说 Visual Studio Code。很一点是,Vim 逃离了鼠标的“魔掌”,只通过键盘就可以肆意地操作文本。...键入 :help 就可以查看 Vim 帮助文档,尽管文档是英文,但这的确是权威 Vim 学习资料了,听我一句劝,耐着性子读一读吧! ? 键入 :q 可以退出帮助文档。...同样,当我们熟练掌握了上述这些命令之后,也会感到空前寂寞,因为 Vim 强大绝不止于此。 来看一下,Vim 是怎么重复自己。 键入 . 可以重复上一次命令。这意味着什么呢?

40410

集群监控系统,它始终位列第一!

用于此演示内容可以在下面链接中获取,并提交到他们各自许可证。...此解决方案缺点是不能基于不同数据源进行计算。...下采样是随着时间推移对指标粒度宽松。例如,你可能想将你指标保持2年或3年,但你不需要像昨天指标那么多数据点。这就是压缩器作用,它可以在对象存储上节省字节,从而节省成本。...Thanos Query Frontend 正如它名字所暗示,Thanos查询前端是Thanos查询前端,它目标是将大型查询拆分为多个较小查询,并缓存查询结果(在内存或memcached中)。...在我们观察者集群中,我们有标准http查询器,它可以查询架构图中其他组件。

67820

集群监控系统,它始终位列第一!

此解决方案缺点是不能基于不同数据源进行计算。...下采样是随着时间推移对指标粒度宽松。例如,你可能想将你指标保持2年或3年,但你不需要像昨天指标那么多数据点。这就是压缩器作用,它可以在对象存储上节省字节,从而节省成本。...Thanos Query Frontend 正如它名字所暗示,Thanos查询前端是Thanos查询前端,它目标是将大型查询拆分为多个较小查询,并缓存查询结果(在内存或memcached中)。...我们例子是在AWS上运行,使用tEKS[2]部署了2个集群,我们all in one解决方案将生产就绪EKS集群部署在AWS上: 一个观察者集群[3] 一个被观察集群[4] 我们部署使用了官方...在我们观察者集群中,我们有标准http查询器,它可以查询架构图中其他组件。

78320
领券