自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 堆排序

堆排序算法堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序。堆是具有以下性质的二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。一般升序采用大顶堆,降序采用小顶堆。堆排序的基本思想:将待排序的序列构造成一个大顶堆此时,整个序列的最大值就是堆顶的根节点将其与末尾元素进行交换,此时末尾就是最大值然后将剩余的n-1个元素重新构造成一个大顶堆,这样会得到n个元素的次小值。如此反复执行,便可以得到一个有序序列

2020-09-06 20:34:32 164

原创 基数排序

基数排序算法基数排序,是通过键值的各个位的值,将要排序的元素分配至某些”桶“中,达到排序的作用。基数排序是稳定性的排序,基数排序是效率高的稳定性排序。基数排序思想:将所有待比较的数值统一为同样的长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。public static void radixSort(int[] arr){ // 得到数组中最大的数的位数 int max = arr[0]; // 先假

2020-09-06 20:33:06 160

原创 归并排序

归并排序算法归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法是将问题分为一些小的问题然后递归求解,而治的阶段则是将分的阶段得到的各答案”修补“在一起,即分而治之)。public static void mergeSort(int[] arr, int left, int right, int[] temp){ if(left < right){ int mid = (left + right) / 2; merge(arr, lef

2020-09-06 20:31:56 161

原创 快速排序

快速排序算法快速排序思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。public static void quickSort(int[] arr, int left, int right){ int l = left; // 左下标 int r = right; // 右下标 // 中轴值 int pivot =

2020-09-06 20:30:44 107

原创 希尔排序

希尔排序算法简单的插入排序存在的问题:当待插入的数时较小的数时,后移的次数明显增多,对效率有影响。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。希尔排序思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰好被分成一组,算法便终止。对有序序列进行插入时使用交换法:public static void shellSort(int[] arr){ int

2020-09-06 20:29:20 176

原创 插入排序

插入排序算法插入排序是对欲排序的元素以插入的方式寻找该元素的适当位置,以达到排序的目的。插入排序的思想:把n个待排序的元素看成一个有序表和一个无序表,开始的时候有序表只包含一个元素,无序表中包含n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次和有序表中的元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。public static void insertSort(int[] arr){ int insertVal = 0; int insert

2020-09-06 20:27:52 97

原创 选择排序

选择排序算法选择排序时从待排序的序列中,按指定的规则选出某一元素,再按规定交换位置后达到排序的目的。选择排序算法思想:第一次从arr[0] – arr[n-1]中选择出最小值,与arr[0]交换;第二次从arr[1] – arr[n-1]中选取最小值,与arr[1]交换;第三次从arr[2] – arr[n-1]中选取最小值,与arr[2]交换;… ;第i次从arr[i] – arr[n-1]中选取最小值,与arr[i]交换;… ;第n-1次从arr[n-2] – arr[n-1]中选取最小值,与arr

2020-08-21 22:52:01 120

原创 冒泡排序

冒泡排序算法冒泡排序的基本思想:通过对待排序列从前往后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部。public static void bubbleSort(int[] arr){ int temp = 0; // 临时变量 for(int i = 0; i < arr.length - 1; i++){ for(j = 0; j < arr.length - 1 - i; j++){

2020-08-21 22:49:28 96

原创 IDEA Error during artifact deployment. See server log for details.

问题:Artifact ssmbuild:war exploded: Error during artifact deployment. See server log for details.遇到这样的问题,可能就是依赖没有添加。解决办法:

2020-03-04 22:05:11 713 2

原创 SSM整合

环境SSM整合的环境要求:IDEAMySQL 5.7.19Tomcat 9Maven 3.6数据库环境创建一个存放书记数据的数据库和表:CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` ( `bookID` INT(10) NO...

2020-03-04 21:22:55 176

原创 Spring整合MyBatis及事务

Spring整合MyBatis步骤,简单来说就是三步:导入相关的jar包编写配置文件进行测试下面详细说明。先测试mybatis是否成功:1、创建一个maven项目。2、导入jar包 <dependency> <groupId>org.projectlombok</groupId> <ar...

2020-03-04 21:18:54 209

原创 Spring之AOP

代理模式SpringAOP的底层是代理模式。代理模式可以分为:静态代理动态代理静态代理静态代理的角色一般分为以下几个:抽象角色:一般使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,一般还会做一些附属的操作客户:访问代理对象的人代理模式的好处:可以使真实角色的操作更加纯粹(不用去关注一些公共的业务)公共业务交给代理角色(实现了...

2020-03-04 21:15:49 134

原创 Spring入门及IOC

Spring简介Spring 意为 春天,指的是给软件行业带来春天。在2002 年,首次推出了Spring框架的雏形interface21框架。Spring框架以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。Spring 是个Java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台...

2020-02-24 16:19:01 237

原创 MyBatis-日志、分页、缓存

日志如果一个数据库的操作出现了异常,这时候我们需要排错,日志就是最好的助手。之前使用的是输出语句或者debug。现在使用的是日志工厂。在MyBatis中具体使用哪一个日志实现,在设置中进行设定即可。在设定的时候注意区分大小写。STDOUT_LOGGINGSTDOUT_LOGGING标准日志输出。在MyBatis核心配置文件中,配置日志。<settings> &lt...

2020-02-24 16:11:48 198

原创 MyBatis-一对多、多对一

一对多和多对一,是一个相对的概念。以老师和学生为例,最常见的情况就是:一个老师教授很多学生。站在学生的角度,是很多学生被一个老师教,即很多学生关联一个老师(多对一);站在老师的角度,是一个老师教授很多学生,即一个老师有多个学生(一对多)。在MyBatis中,处理多对一的问题使用 association标签(关联);处理一对多的问题使用 collection标签(集合)。多对一按照查询嵌套...

2020-02-24 16:08:54 271

原创 MyBatis-动态SQL

MyBatis 最强大的特性之一是它的动态SQL功能。动态SQL:是根据不同的条件生成不同的SQL语句。动态的SQL标签主要有:if、choose(when,otherwise)、trim(where,set)以及foreach等。搭建环境:创建数据库:CREATE TABLE `blog` ( `id` varchar(50) NOT NULL COMMENT '博客id', ...

2020-02-24 16:07:27 206

原创 MyBatis-CRUD

CRUDselectselect:选择,查询语句。select标签中,有几个常用的属性:id:对应的namespace中的方法名resultType:sql语句执行的返回值parameterType:参数类型select标签案例1、编写接口User getUserById(int id);2、编写对应接口的mapper.xml文件中的sql语句<select id...

2020-02-24 16:05:17 209

原创 MyBatis入门

MyBatis简介MyBatis 是一个基于Java的持久层框架。它本来是apache的一个开源项目iBatis,可以说iBatis是MyBatis的前身,2010年这个项目 由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。MyBatis目前最新的版本是MyBatis 3.5.4 ,发布时间...

2020-02-19 22:59:29 298

原创 JavaWeb学习之入门

JavaWeb概述JavaWeb可以分为两个单词来理解:Java和Web。Web:即网页的意思。Web分类Web可以分为静态web和动态web。静态web静态的网页,提供给所有人看的数据始终不会发生变化!如html,css动态web动态的网页,与静态网页相反,提供给所有人看的数据始终会发生变化!所有人在不同的时间、不同的地点看到的数据是不同的。如淘宝、京东等。现在几乎...

2020-02-11 20:04:32 1813

原创 Maven安装及配置

下载进入Maven官网下载:https://maven.apache.org/下载64位的压缩包,下载完成后,解压即可。配置环境变量在系统环境变量中,进行如下的配置:M2_HOME Maven目录下的bin目录MAVEN_HOME Maven的目录在系统的Path中配置:%MAVEN_HOME%\bin测试是否安装成功在DOS窗口,输入 m...

2020-02-11 19:15:00 190

原创 Tomcat安装及配置

下载进入Tomcat的官网下载:http://tomcat.apache.org/。下载64位的安装包下载完成后解压。Tomcat启动和配置解压完成后,需要做的一件事情就是了解解压的目录。启动Tomcat进入bin目录,点击startup.bat。关闭Tomcat关闭有两种方式:可以点击右上角的关闭按钮。点击bin目录下的shutdown.bat。...

2020-02-11 19:10:29 295

原创 数据库学习之JDBC

JDBCJDBC:SUN公司为了简化开发人员对数据库的统一操作,提供了一个java操作数据库的规范,称为JDBC。我们只需掌握JDBC接口即可。第一个JDBC程序创建测试数据库CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci;USE jdbcStudy;CREATE TABLE users(...

2020-02-07 19:28:04 517

原创 数据库学习之MySQL

MySQL简介数据库为什么要学数据库?有以下几点原因:最现实的原因就是为了找工作,数据库是岗位的需求,所以要学。其次就是现在是大数据时代,数据是非常重要的,得数据者得天下。然后就是我们需要存储数据,这就要用到数据库了。最后就是数据库是所有软件体系中最核心的存在。什么是数据库?数据库即DataBase(DB),它是存放数据的仓库,它的存储空间很大,可以存放百万条、千万条、上...

2020-02-07 19:22:44 4932 2

原创 前端学习之JS

JavaScript简介JavaScript概述JavaScript简称JS,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言,它是一门世界上最流行的脚本语言。JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaSc...

2020-02-07 18:20:06 741

原创 前端学习之CSS

CSS概述CSS简介CSS是指层叠样式表(Cascading Style Sheets),它的作用就是用于表现元素、美化网页。样式定义如何显示元素,样式通常存储在样式表中。把样式添加到HTML中,是为了解决内容与表现分离的问题。外部样式表可以极大提高工作效率。外部样式表通常存储在CSS文件中,多个样式可以层叠为一个。CSS经历了CSS1.0、CSS2.0、CSS2.1以及CSS3.0这几...

2020-02-07 18:19:00 1829 1

原创 前端学习之HTML

HTML基础HTML,即超文本标记语言 — Hyper Text Markup Language。何为超文本,可以理解为 超出文本的范围。超文本包括:文字、图片、音频、视频、动画等。标记语言:<>HTML的发展史1993年:HTML1995年:HTML2.01996年:HTML3.21997年:HTML4.01999年:HTML4.012000年:XHTML1.0...

2020-02-07 12:01:55 630

原创 浅谈Java中的反射

反射机制概述静态语言和动态语言:动态语言,是一类运行时可以改变其结构的语言:例如新的函数、对象甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python等。静态语言,是与动态语言相对的,运行时结构不可变的就是静态语言。如 Java、C、C++。Ja...

2019-12-12 12:13:37 360

原创 浅谈Java中的注解

注解概述注解即Annotation是JDK5.0开始引入的新技术。作用:注解不是程序本身,但是可以对程序作出解释。这一点的功能类似于注释(comment)。注解可以被其他程序读取,如编译器。格式: 注解 是以 “@注释名” 的形式在程序中存在的,还可以添加一些参数。例如:@SuppressWarnings(value=“unchecked”)。使用范围:注解可以附加在packa...

2019-12-11 18:20:52 148

原创 网络编程

概述网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。网络编程最主要的目的就是进行数据的交换、通信。网络通信的要素进行网络通信的时候,我们需要知道通信双方的主机的地址,即需要知道IP以及端口号。同时,在进行网络通信的时候,通信...

2019-12-05 17:37:52 124

原创 GUI编程之Swing

Swing是AWT的升级版。要使用Swing技术进行GUI编程的话,就要用到javax.swing包,该包下有很多类和接口,提供一组“轻量级”组件。JFramepublic class JFrame extends Frameimplements WindowConstants, Accessible, RootPaneContainerJFrame是java.awt.Frame 的扩...

2019-12-05 15:57:11 324

原创 GUI编程之AWT

GUI,全称为 Graphical User Interface,意为 用户图形界面,是指采用图形方式显示的计算机操作用户界面。GUI编程的核心技术是AWT以及Swing。可以说Swing是AWT的升级版本。那么就先来了解一下AWT。AWT中包含了很多的类和接口,用于进行GUI编程。GUI编程中有很多元素:窗口、按钮、文本框等。在使用AWT编程中,我们主要使用到的包是java.awt包,在此...

2019-12-05 11:52:16 222

原创 浅谈Java中的IO流

在进行设备、文件之间的数据传输的时候,如 文件的上传和下载 ,我们可以使用IO流来进行处理。在对文件和目录进行操作时,我们需要将其包装称为Java程序可以处理的形式,此时,就需要用到File类了。File类public class File extends Object implements Serializable, Comparable<File>文件和目录路径名的抽...

2019-11-20 22:17:52 176

原创 浅谈Java中的异常

异常就是Java程序在运行过程中出现的错误。当出现的问题很严重时,就称其为错误,即Error,我们对其不予处理,因为这种问题一般是很严重的我们无法处理的问题。当出现的问题不是很严重时,就称其为异常,即Exception。异常又分为了编译时异常和运行时异常。对于编译时异常(非RuntimeException),我们是一定要处理的,否则程序无法运行;对于运行时异常(RuntimeException...

2019-11-13 19:49:21 153

原创 浅谈Java中的Map

Map概述将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。Map接口和Collection接口有何不同:Map是双列的,Collection是单列的Map的键唯一,Collection的子体系Set是唯一的Map集合的数据结构针对键有效,跟值无关;Collection集合的数据结构是针对元素有效EntryMap中还有一个嵌套接口Entry成员方...

2019-11-13 19:48:45 473

原创 浅谈Java中的Set集合

Java中的集合Collection是集合的顶层父接口,Set为其的子接口之一,而它也是我们经常食用到的集合。下面就来谈谈Set集合。Set集合概述Set集合中的元素特点是:元素不允许重复,即元素唯一。Set集合的成员方法HashSet集合HashSet是Set的一个实现子类,即此类实现Set接口,它由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭...

2019-11-13 19:46:24 977

原创 浅谈Java中的泛型

泛型的由来:通过Object转型问题引入。早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题,由于存在着隐患,所以Java提供了泛型来解决这个安全问题。泛型概述:是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。参数化类型,即把类型当作参数一样的传递。泛型的格式为: <数据类型>这里的数据类型只能是引用数据类型使用...

2019-11-07 11:32:52 159

原创 浅谈Java中的集合

集合概述面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,Java就提供了集合类。数组和集合的区别:长度区别:数组的长度是固定的;集合的长度是可变的存储数据类型的区别:数组可以存储基本数据类型,也可以存储引用数据类型数据;集合只能存储引用数据类型内容区别:数组只能存储同种数据类型的元素;集合可以存储不同类型的元素Collection集合的成员方法Coll...

2019-11-07 11:32:02 153

原创 Java中与日期有关的类

DateDate类概述类Date表示特定的书剑,精确到毫秒。构造方法类Date重载了构造方法且有空参构造。成员方法Date类中的成员方法,大部分已经过时了。由Calendar类中的方法替代。下面就谈谈没有过时的成员方法。Date和long的转换Date到long的转换:调用Date类的getTime()方法long到Date的转换可以使用Date类的构造方...

2019-11-07 11:27:55 289

原创 浅谈Java中的正则表达式

正则表达式的概述正则表达式,简单来说就是正确规则的表达式,而这个规则是由java给我们定的。具体解释就是 正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串(一种规则),有着自己特殊的应用。在我们需要对qq号码、电子邮箱、车牌号、身份证号码等进行验证时,可使用if else这种非正则表达式实现,但是这样子会比较繁琐。用正则表达式实现的话可以几行语句就搞定。正则表...

2019-11-07 11:26:49 158

原创 Java中的Math类

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。成员变量表示自然对数的底数表示圆周率成员方法去绝对值对该数向上取整对该数向下取整求两个数的最大值求两个数的最小值获取a的b次幂获取随机数 返回的是带正号的double类型的值,该值大于等于0.0且小于等于1.0获取该数四舍五入之后的结果获取该数的正平方根由于Math...

2019-11-07 11:24:08 296

空空如也

空空如也

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

TA关注的人

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