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

    漫画:冒泡排序状态!

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

    45710

    !Integer值问题最佳详解!

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

    35920

    2020 年 10 门编程语言

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

    1.7K20

    Java 框架,没有之一!

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

    57110

    JMH: 基准测试工具套件

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

    91120

    哄哄 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次方。...哄哄布隆过滤器,到底有什么用?这篇推荐看下。 如果想判断一个元素是不是在一个集合里,一般想到是将集合中所有元素保存起来,然后通过比较确定。

    40710

    哄哄 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次方。...哄哄布隆过滤器,到底有什么用?这篇推荐看下。 如果想判断一个元素是不是在一个集合里,一般想到是将集合中所有元素保存起来,然后通过比较确定。

    75130

    全网 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.8K21

    缓存框架,没有之一!

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

    37320

    Git!!!!!!!

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

    58830

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

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

    1.1K40

    Java 日志框架,性能无敌,横扫所有对手.....

    来源:juejin.cn/post/ 6945753017878577165 Log4j2简介 性能 最强异步性能 零GC(Garbage-free) 更高性能 I/O 写入支持 更强大参数格式化...Log4j 2是 Log4j(1) 升级版,比它祖先 Log4j 1. x 有了很大改进,和logback对比有很大改进。...除了内部设计调整外,主要有以下几点大升级: 更简化配置 更强大参数格式化 夸张异步性能 Log4j 2中,分为 API(log4j-api)和实现(log4j-core) 两个模块。...https://github.com/YunaiV/ruoyi-vue-pro 性能 最强异步性能 这个特性,算是Log4j2最强之处了。...四种形式配置文件,不过主流还是XML方式,直观。

    60920

    史上 Eclipse 快捷键,提高开发效率!

    1、打开资源快捷键 快捷键 介绍 CTRL + SHIFT + R 打开所有类型文件,不包括 JAR 包 CTRL + SHIFT + T 打开 Java 类型文件,包括 JAR 包 2、查找资源快捷键...+ F 格式化代码 CTRL + SHIFT + O 去除没有用到引用 CTRL + SHIFT + M 导入需要类引用 4、重命名快捷键 快捷键 介绍 ALT + SHIFT + R 重命名...E 显示更详细所有打开编辑器列表 ALT + 左右方向键 回到上一次/下一次编辑所在代码 6、快速处理行快捷键 快捷键 介绍 CTRL + D 删除当前行 CTRL + ALT+ 上下方向键...+ H 打开指定类继承关系对话框 8、快速修复快捷键 快捷键 介绍 CTRL + 1 快速修复问题 9、重构快捷键 快捷键 介绍 ALT + SHIFT + L 提取出局部变量 ALT + SHIFT...CTRL + SHIFT + / 用块注释注释选择

    30310
    领券