自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 Redis数据类型

Redis提供了多种数据类型,每种数据类型都有其特点和用途。在实际开发中,我们需要根据具体情况选择合适的数据类型来存储数据。同时,Redis还提供了丰富的命令和操作,方便我们对数据进行读写和处理。

2023-05-29 15:48:44 104

原创 Linux常用命令

Linux是一种广泛使用的操作系统,它拥有丰富的命令行工具,可以方便地完成各种任务。本文将介绍一些常用的Linux命令,帮助初学者更好地掌握Linux系统。

2023-05-27 11:08:41 72

原创 Java反射基本概念及使用场景

Java反射基本概念、使用场景和基础使用代码示例

2023-05-22 17:26:15 342 1

原创 十大经典基础排序 - 基数排序

在基数排序中,我们使用计数排序来对每个位上的数字进行排序。基数排序的时间复杂度为O(d(n+r)),其中d是数字位数,n是数字个数,r是基数。在实践中,基数排序通常比快速排序和归并排序慢,但它可以处理非常大的数据集,并且在处理数字时非常有用。基数排序是一种非比较排序算法,它可以处理非常大的数据集,并且在处理数字时非常有用。在这个实现中,我们首先找到待排序数组中的最大数字,并确定数字的位数。重复这个过程直到最高位。计数排序是一种非比较排序算法,它根据每个元素在序列中出现的次数来对元素进行排序。

2022-07-15 17:05:45 111

原创 十大经典基础排序 - 桶排序

桶排序是一种排序算法,它的基本思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序,最终将所有桶中的数据依次取出,组成有序序列。桶排序是一种快速的排序算法,但是它需要预先确定数据范围,并且对于数据分布不均匀的情况可能会导致某些桶中数据过多,从而影响排序效率。以上代码实现了基于数组的桶排序,其中bucketSize表示每个桶的范围大小。对每个桶中的数据进行排序,可以使用快速排序、归并排序等算法。遍历要排序的数据,根据数据所在的范围将其分到相应的桶中。

2022-07-15 17:02:03 46

原创 十大经典基础排序 - 计数排序

计数排序的基本思想是对于给定的输入序列中的每个元素x,确定该序列中值小于x的元素的个数。例如,如果有17个元素小于x,则x在输出序列中的位置就是18。在计算机科学中,排序算法是一种将元素按照特定顺序排列的算法。计数排序是一种非比较排序算法,它根据每个元素的值,确定该元素在输出序列中的位置。需要注意的是,计数排序只适用于数据范围不大的场景,如果数据范围很大,例如浮点数排序,就需要使用其他排序算法。计数排序是一种简单而高效的非比较排序算法,它适用于数据范围不大的场景。

2022-07-15 16:50:25 48

原创 十大经典基础排序 - 堆排序

堆排序是一种基于堆的排序算法。堆是一个完全二叉树。堆中的每个节点都大于等于(或小于等于)它的子节点。根据堆的定义,我们可以将堆分为两种类型:最大堆和最小堆。最大堆的根节点是堆中最大的元素,最小堆的根节点是堆中最小的元素。堆排序的基本思想是:首先将待排序的序列构建成一个最大堆(或最小堆),然后将根节点与最后一个节点交换位置,并将剩余的节点重新构建成一个最大堆(或最小堆)。重复这个过程,直到整个序列有序。堆排序是一种高效的排序算法,它的时间复杂度为O(nlogn),并且不需要额外的存储空间。

2022-07-14 17:47:52 42

原创 十大经典基础排序 - 快速排序

快速排序的基本思想是通过一趟排序将待排序序列分割成独立的两部分,其中一部分的所有元素都比另一部分的所有元素小,然后再按此方法对这两部分分别进行快速排序,以达到整个序列有序的目的。在计算机科学中,排序是一种重要的算法。快速排序是一种常用的排序算法,它的时间复杂度为O(nlogn),在实际应用中具有广泛的应用。总之,快速排序是一种高效的排序算法,在实际应用中具有广泛的应用。通过本文介绍的Java实现方式,相信读者已经掌握了快速排序的基本思想和实现方法。在上述代码中,我们使用了递归方式实现快速排序。

2022-07-14 17:42:07 54

原创 十大经典基础排序 - 归并排序

归并排序是一种常见的排序算法,它的实现思路简单而清晰。通过本文的介绍,相信大家已经掌握了Java实现归并排序的方法,希望本文对大家有所帮助。归并排序是一种常见的排序算法,它的核心思想是将一个大问题分解为若干个小问题,然后逐个解决小问题,最后合并结果得到大问题的解。在实践中,归并排序通常采用递归的方式实现,具有稳定性和较高的时间复杂度。比较左右两部分的元素大小,将较小的元素存入临时数组中,直到其中一个部分的元素全部存入。最后将剩余的元素存入临时数组中,并将临时数组中的元素复制回原数组。最后输出排好序的数组。

2022-07-14 17:34:27 42

原创 十大经典基础排序 - 希尔排序

希尔排序是插入排序的一种更高效的改进版本。希尔排序的基本思想是将待排序的元素按照一定的间隔分成若干组,对每组中的元素进行插入排序,随着间隔的逐渐缩小,每组包含的元素越来越少,当间隔为1时,整个序列被分成了一组,完成排序。希尔排序的时间复杂度为O(nlogn),比插入排序的时间复杂度O(n^2)要优秀得多。但是,希尔排序的实现相对于其他排序算法来说较为复杂,因此需要仔细理解其实现原理。

2022-07-13 18:17:06 50

原创 十大经典基础排序 - 插入排序

插入排序的基本思想是:将一个元素插入到已排序的序列中,使得插入后的序列仍然有序。具体实现时,我们从第二个元素开始,将其与前一个元素比较,如果前一个元素大于后一个元素,则将它们交换位置。以此类推,直到所有元素都被插入到已排序的序列中。在内部循环中,我们使用了一个变量key来保存当前元素的值,并将其与已排序的序列中的每个元素进行比较。当已排序的元素小于或等于当前元素时,我们将当前元素插入到该位置,并继续遍历下一个未排序的元素。插入排序是一种简单的排序算法,其思想是将未排序的元素逐个插入到已排序的序列中。

2022-07-12 19:40:10 41

原创 十大经典基础排序 - 选择排序

内层循环从外层循环的下一个元素开始,一直到最后一个元素。如果当前遍历到的值比minIndex所记录的值还要小,那么就将minIndex更新为当前遍历到的值的索引。在算法中,选择排序是一种简单直观的排序方法,它的基本思想是:每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。当内层循环结束后,我们就可以得到当前未排序部分中的最小值,并将其放到当前未排序部分的开头位置。首先,我们需要定义一个选择排序的方法,它接收一个整型数组作为参数,返回一个排好序的数组。

2022-07-12 19:38:44 46

原创 十大经典基础排序 - 冒泡排序

在这个示例中,我们定义了一个整型数组,并使用两个嵌套的for循环来遍历数组并比较相邻的元素。如果前一个元素比后一个元素大,则交换它们的位置。通过多次遍历,最终得到一个有序的数组。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。通过多次遍历,将最大的元素逐渐移到数列的末尾,从而实现排序。冒泡排序的时间复杂度为O(n^2),因此对于大规模数据的排序效率较低。但是,由于它的实现非常简单,因此在某些特定的情况下,冒泡排序仍然是一个可行的选择。

2022-07-12 16:45:04 74

原创 Scala快速入门

简介Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。安装及环境配置Scala是基于java之上,大量使用java的类库和变量,使用 Scala 之前必须先安装 Java(>1.5版本)。1、安装JDK在Oracle官网下

2021-12-20 18:09:13 650

原创 Metabase入门

1、简介Metabase是一款开源的BI产品,它采用“问问题”的方式实现一步步数据探索,探索的结果可以保存并发布为Dashbord。对于复杂的问题还提供了Native Query 允许用户自己编写SQL。这种设计大大的提升了非技术人员使用这个工具时的体验,让他们也能够自由的探索数据,回答自己的问题。数据源支持:Amazon Redshift、Druid、Google Analytics、Google BigQuery、H2、MongoDB、MySQL、Oracle、PostgreSQL、Presto、S

2020-12-25 11:52:04 1385 4

原创 项目初始化提交到git上

前言由于经常要把代码上传到git上面去管理,但是每次都会忘记初始化提交步骤和命令,所以就整理了下代码初始化提交到git上面的步骤和命令。方便以后查找,希望能够帮到同道中人。一、远程仓库githup.com 新建仓库二、本地1、先跳转到要提交的文件目录下,然后初始化:git init2、将文件添加到暂存区:git add 文件/文件夹(.为当前目录所有文件)3、将文件提交...

2018-12-20 18:33:10 261

原创 乐观锁和悲观锁的使用场景及应用

一、定义1、乐观锁:顾名思义,对每次的数据操作都保持乐观的态度,不担心数据会被修改,所以不会对数据进行上锁。由于数据没有上锁,这就存在数据会被多人读写的情况。所以每次修改数据的时候需要对数据进行判断是否被修改过。2、悲观锁:与乐观锁相反,对每次的数据操作都保存悲观的态度,总是担心数据会被修改,所以在自己操作的时候会对数据上锁,防止在自己操作的时候被他人同时操作导致更新丢失。二、使用场景...

2018-12-19 16:28:17 13277

原创 微信公众号开发2-验证服务器有效性

1、配置接口信息在上一个文章中提到了去微信公众平台申请测试账号和用映射软件生成外网地址,在这里我们要到测试账号管理那里去配置接口信息。需要配置一个验证服务器有效性的地址和token(这个可以任意填写)还有消息的加密方式。2、验证地址有效性protected void doGet(HttpServletRequest req, HttpServletResponse resp) th

2017-08-06 09:57:22 450

原创 微信公众号开1-准备工作

1、申请测试账号http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login申请后,和正式账号一样,微信会给你分配测试微信公众号,和appID,appsecret。2、80端口问题如果自己服务器就可以在服务器上部署项目,但是调试起来不方便。下面给大家推荐的这两款软件可以把本地的端口映射到外网的80端口,在改代码后不需

2017-08-06 08:24:43 432

基于Swiper的下拉刷新demo

基于Swiper的下拉刷新demo。一款jQuery模拟原生态App上拉刷新下拉加载效果代码网页特效,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用

2018-03-31

ATM_BankSystem

模拟银行ATM取款机管理系统,实现取款,存款,改密,查询,管理的功能

2014-08-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除