摘要: 希尔排序 在希尔排序出现之前,计算机界普遍存在“排序算法不可能突破O(n2)”的观点。希尔排序是第一个突破O(n2)的排序算法,它是简单插入排序的改进版。 希尔排序的提出,主要基于以下两点: 插入排序算法在数组基本有序的情况下,可以近似达到O(n)复杂度,效率极高。 但插入排序每次只能将数据移动一位 阅读全文
posted @ 2020-07-11 22:47 小呆俊 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 插入排序 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 算法描述 把待排序的数组分成已排序和未排序两部分,初始的时候把第一个元素认为是已排好序的。 从第二个元素开始,在已排好序的子数组中寻找到该元素合适的位置并插入 阅读全文
posted @ 2020-07-11 22:28 小呆俊 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 选择排序 是一种简单直观的排序算法,它也是一种交换排序算法,和冒泡排序有一定的相似度,可以认为选择排序是冒泡排序的一种改进。 表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。 原理 首先在未排序序列中找到最小(大)元素,存放到排序序列的起 阅读全文
posted @ 2020-07-11 21:55 小呆俊 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法描述(依次比较相邻的两个数,将比较小的 阅读全文
posted @ 2020-07-11 16:45 小呆俊 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 单例模式就是确保某一个类只有一个实例,并且提供一个全局访问点 特点 只有一个实例。 自我实例化。 提供全局访问点。 优缺点 优点:由于单例模式只生成了一个实例,所以能够节约系统资源,减少性能开销,提高系统效率,同时也能够严格控制客户对它的访问。 缺点:也正是因为系统中只有一个实例,这样就导致了单例类 阅读全文
posted @ 2020-07-11 14:33 小呆俊 阅读(121) 评论(0) 推荐(0) 编辑
摘要: java反射的概念 在Java中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能成为Java语言的反射机制。简单的说,反射机制就是在程序的运行过程中被允许对程序本身进行操作,比如自 阅读全文
posted @ 2020-07-11 14:11 小呆俊 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 动态代理基于什么原理?谈谈java反射机制。 代理模式是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个真实对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 反射机制是java 语言提供的一种基础功能,赋予程序在运行时自省的能力。通 阅读全文
posted @ 2020-07-11 11:20 小呆俊 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 请对比 Exception 和 Error,另外区别 运行时异常与一般异常的区别? Exception 和 Error 都继承Throwable 类,在java 中只有Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Exception是 阅读全文
posted @ 2020-07-11 10:42 小呆俊 阅读(100) 评论(0) 推荐(0) 编辑
/*标题彩虹滚动字*/ #blogTitle h1 a{ background-image: -webkit-gradient( linear, left top, right top, color-stop(0, #f22), color-stop(0.15, #f2f), color-stop(0.3, #22f), color-stop(0.45, #2ff), color-stop(0.6, #2f2), color-stop(0.75, #2f2), color-stop(0.9, #ff2), color-stop(1, #f22) ); color: transparent;-webkit-text-fill-color: transparent; -webkit-background-clip: text; -webkit-background-size: 200% 100%; -webkit-animation: maskedAnimation 2s infinite linear; -webkit-background-clip: text;-moz-background-clip: text;-ms-background-clip: text /*文字颜色变化*/ @keyframes maskedAnimation { 0% { background-position: 0 0; } 100% { background-pos