自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决 PageInfo 返回的 total 不正确

解决 PageInfo 返回的 total 不正确

2021-03-15 15:25:53 6503 2

原创 MyBatis 占位符中使用JdbcType,如#{username,jdbcType=VARCHAR}

在使用

2021-03-15 14:33:56 2963

原创 Java中两个自定义对象List列表取交集(intersection())和差集(removeAll())

可以直接使用第三方库org.apache.commons.collections4.ListUtils首先针对结合中的对象需要重写hashcode()和equals()方法。这是因为intersection()和removeAll()会去利用对象的这两个方法来比较对象是否是同一个对象。假设我们现在有两个集合list1和list2要得到在list1中不包含在list2中的集合// 差集List<Integer> result = ListUtils.removeAll(list1,

2021-02-24 15:25:00 3654

原创 React学习笔记(七) —— HTML DOM style 的属性设置

基本使用在React中使用 style 设置行内样式的基本用法如下:render () { return ( <div style={{ background: '#fff', height: '50px', width: '100%', fontSize:"16px"}}><div/> )}React中的style属性设置时的格式为json格式,注意使用驼峰命名法。常用属性height: 属性设置或返回元素的高度。height 属性只在块级元素或绝对/固定位置

2021-01-07 11:28:55 3699

原创 React学习笔记(六)——ES6展开运算符

展开运算符概述ES6中提供了展开运行算符:展开运算符应用于数组或者对象。 一个对数组或者对象进行展开插值 一个是对数组或者对象进行局部的赋值。语法语法 …对象或者数组.let arr=[1,2,3];let arr2=['1','b','c'];arr=[1, ...arr2, 2, 3]//arr2插入到arr的第二个元素之前arr=[1, 2, 3, ...arr2]//arr2插入到arr的最后 constructor(props){ super(props);

2021-01-06 16:31:31 413

原创 Java8中List转Map(Collectors.toMap())的使用

Java8 .stream().map().collect()

2020-12-16 17:23:36 1384

原创 React学习笔记(五)——组件生命周期

组件生命周期分类组件的生命周期可分成三个状态:Mounting: 已插入真实 DOMUpdating: 正在被重新渲染Unmounting: 已移出真实 DOM生命周期API生命周期的方法有:componentWillMount: 在渲染前调用,在客户端也在服务端。componentDidMount : 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。 如果你想和其他JavaScript框架一起使用,可以在这个

2020-12-13 21:07:45 136

原创 React学习笔记(四)——列表和key——map()方法的使用

创建列表React可以使用 JavaScript 的 map() 方法来创建列表,语法如下:array.map(function(currentValue,index,arr), thisValue)参数 描述currentValue 必须。当前元素的值index 可选。当前元素的索引值arr 可选。当前元素属于的数组对象要生成的列表内容:numbersnumbers.map((numbers中的每一个元素n) =>

2020-12-13 21:06:09 1600

原创 React学习笔记(三)——组件

组件组件我们可以理解为在UI界面上的你所能看到的每一块都可以看做一个组件。定义组件定义组件的话,现在常用的有两种方式:1. React.ComponentReact 的组件可以定义为 class 或函数的形式,如需定义 class 组件,需要继承 React.Component。在 React.Component 的子类中有个必须定义的 render() 函数:class App extends React.Component { render() { return <h1&

2020-12-13 21:02:55 548

原创 React学习笔记(二)——箭头函数

箭头函数箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new.target。基础语法(param1, param2, …, paramN) => { statements函数声明 } (param1, param2, …, paramN) => expression表达式//相当于:(param1, param2, …, paramN) =>{ return expression; }等价于以下写法function((par

2020-12-13 21:02:39 387

原创 React学习笔记(一) —— 认识React,并编写第一个React实例

React简介React 是一个用于构建用户界面的 JavaScript库,主要用于构建UI。特点声明式设计 −React采用声明范式,可以轻松描述应用。高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。灵活 −React可以与已知的库或框架很好地配合。JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。单向响应的

2020-12-13 21:02:25 197

原创 IDEA配置(基本配置、数据库连接、Tomcat部署)

文章目录基本配置一、编辑器字体大小设置二、字符编码设置三、自动编译设置四、主题设置五、JDK设置六、全局配置数据库连接配置Tomcat部署项目发布配置基本配置一、编辑器字体大小设置1.首先打开你的IDEA编辑器,打开设置2.然后找到Editor — Color Scheme — Color Scheme Font, 之后勾选Use color scheme font instead of the default,然后就可以修改下方的size设置我们的字体大小,最后点击Apply就可以应用更改后的字

2020-11-05 16:56:45 269

原创 JVM体系结构和垃圾回收

JVM一、简介什么是JVM?JVM(Java Virtual Machine)意为Java虚拟。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。使用JVM就是为了支持与操作系统无关,实现跨平台。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。二、JVM体系结构JVM的内部体

2020-07-07 18:03:13 165

原创 带你深入剖析TCP/IP协议、TCP协议和UDP协议、IP协议

TCP/IP协议首先TCP/IP协议看上去好像就是TCP协议和IP协议,实际上不是的。TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)叫网路通信协议,是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,包括了TCP/IP四层模型(OSI七层模型和TCP/IP五层(或四层)模型)中的所有协议, 只是因

2020-06-28 17:06:42 721

原创 HTTP协议的深入理解

HTTP协议一、HTTP协议简介HTTP协议即超文本传输协议(Hypertext transfer protocol),是一种应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。它规定了万维网(WWW)服务器与浏览器之间信息传递规范,指定了客户端可能发送给服务器什么样的消息,得到什么样的响应。二、HTTP协议的特点通过HTTP协议请求的资源由统一资源标识符URL(Uniform Resource Identifiers)来标识。HTTP协议默认端口号为80。HTTP协议允许传输任何类型

2020-06-24 20:03:42 327

原创 OSI七层模型和TCP/IP五层(或四层)模型

OSI七层模型一、初识1.来源OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。 ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其就是为了形成一个规范,使 所有的公司用同一个规范进行网络控制。2.模型划分它是一个七层的、抽象的模型体(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),不仅包括一系列抽象的术语或概念,也包括具体的协议。建立七层模型的主要目的是为

2020-06-23 17:38:25 807

原创 数据库系统的概念及其四大特点

数据库系统的特点数据库系统的特点主要包括以下几个方面:数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制1.结构化:数据库系统实现了整体数据的结构化,这是数据库的最主要的特征之一。这里所说的“整体”结构化,是指在数据库中的数据不再仅针对某个应用,而是面向全组织;不仅数据内部是结构化,而且整体式结构化,数据之间有联系。2.共享性因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不

2020-06-02 15:21:32 21157

原创 剑指offer —— 整数中1出现的次数(从1到n整数中1出现的次数,超简单思路)

整数中1出现的次数(从1到n整数中1出现的次数)题目描述:求出1 - 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1 - 13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。方法一:分别计算从1 - n每一个数字中出现1的个数时间复杂度过大,超时,很简单不做多余的解释代码:public c

2020-05-12 18:08:21 161

原创 算法 —— 错排算法

错排算法1.认识:什么是错排算法?举个简单的例子,教室里有十个座位(1 ~ 10),十位同学分别坐在一个不同的位置上(1 ~ 10),现要求打乱所有同学的位置,打乱规则如下:所有的同学都不能出现在原来的位置上,问有多少种打乱的方法?引出错排问题:有n个正整数1,2,3,……n,将这n个正整数重新排列,使其中的每一个数都不在原来的位置上,这种排列称为正整数1,2,3,……n的错排,问这n个正...

2020-05-08 17:04:17 1326

转载 Java中HashMap、LinkedHashMap和TreeMap的区别使用场景

HashMap中k的值没有顺序,常用来做统计。LinkedHashMap吧。它内部有一个链表,保持Key插入的顺序。迭代的时候,也是按照插入顺序迭代,而且迭代比HashMap快。TreeMap的顺序是Key的自然顺序(如整数从小到大),也可以指定比较函数。但不是插入的顺序。Hashtable与 HashMap类似,它继承自Dictionary类、不同的是:它不允许记录的键或者...

2020-04-28 16:01:58 485

原创 Java 多线程(五) —— 线程池的简单使用

Java 多线程(一) —— 认识线程、创建一个线程Java 多线程(二) —— Thread类常见方法、线程的状态Java 多线程(三) —— 线程安全问题Java 多线程(四) —— wait()、notify()、notifyAll()使用,和sleep()的对比前言为什么要用线程池?在运用多线程的时候,每次的创建和销毁线程是很费时间的,而为了提高服务程序的效率,减少线程创建和销...

2020-04-22 19:07:38 136

原创 Java 多线程(四) —— wait()、notify()、notifyAll()使用,和sleep()的对比

前言先简单了解一下 wait() 和 notify() :1.wait() 的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法”,当前线程被唤醒(进入“就绪状态”)2.notify()和notifyAll() 的作用,则是唤醒当前对象上的等待线程;notify()是唤醒单个线程,...

2020-04-20 17:21:05 212

原创 Java 多线程(三) —— 线程安全问题

线程安全概念: 我们可以概括的认为线程安全就是在多线程环境下代码运行的结果是一定符合我们预期的,与在单线程环境下运行的结果一定一致,我们就说这个程序是线程安全的。线程不安全一、演示线程不安全**示例一:操作共享属性 **观察如下代码和执行结果:public class Main { private static long n = 0; public static cla...

2020-04-16 18:00:59 209

原创 Java 多线程(二) —— Thread类常见方法、线程的状态

一、Thread类常见方法1. Thread常见构造方法方法说明Thread()创建线程对象Thread(Runnable target)使用Runnable对象创建线程对象Thread(String name)创建线程对象并命名Thread(Runnable target, String name)使用Runnable对象创建线程对象并命名...

2020-04-14 17:41:31 398

原创 Java中 方法重载和重写

一、重载方法重载:1.是在同一个类中2.方法名相同,参数列表不同(参数类型不同或者参数个数不同)3.对返回类型没有要求,对访问修饰限定符没有要求二、重写方法重写:1.在子类中重写父类的方法2.子类中重写的方法必须拥有与父类中被重写的方法相同的方法名,参数列表和返回类型也必须相同3.子类中重写的方法访问修饰限定符范围不能低于父类方法的访问修饰限定符范围访问修饰限定符范围 : pr...

2020-04-13 17:18:39 126

原创 Java 多线程(一) —— 认识线程、创建一个线程

一、线程概念进程:程序的一次动态执行过程,是系统分配资源的最小单位。线程:系统调度的最小单位,是在进程的基础上划分的更小的程序单元,一个进程在其执行过程中可以产生多个线程,系统以线程为单位进行CPU时间片分配。在进程中至少有一个线程。进程与线程的区别:线程是进程划分成的更小的程序单元,不同的是各进程之间是独立的,而各线程之间却是互相影响,共享资源的。二、多线程1.概念多线程就是多...

2020-04-10 16:18:02 144

原创 java哈希表开散列(哈希桶)实现(HashMap、HashSet)

哈希表一、概念在顺序结构和平衡树中,元素与其存储下标没有直接的对应关系,每查找一个元素时,必须要遍历这个结构进行多次比较才能找到这个元素,而现在我们想不经过任何比较,一次就从表中查找到这个元素,通过某些方法实现的这种存储结构就是哈希表。二、基本思想在哈希表中发通过某种函数使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。在哈希表中主要进行两...

2020-03-24 21:34:14 908

原创 java中的二叉搜索树

二叉搜索树一、概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树如下图所示就是一个二叉搜索树:二、搜索树操作1.查找如果根节点的值等于要查找的值,返回true如果根节点的值大于要查找的值,那么在其左子树查找...

2020-03-23 19:23:54 278 2

原创 (堆、快速、归并)排序总结及java实现

1.堆排序(Heapsort)5.1算法描述堆排序是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。是一种不稳定的排序算法。排序过程描述:1.将待排序数组(R1,R2….Rn)构建成大根堆,此堆为初始的无序区2.将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无序区(R1,R2,...

2020-03-08 20:15:38 232

原创 java堆和优先级队列PriorityQueue的使用及实现

在谈优先级队列之前先简单说一下堆的概念。堆(heap)一、概念1.堆在逻辑上是一棵完全二叉树2.物理上是保存在数组中3.满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者最大堆4.反之,则是小堆,或者小根堆,或者最小堆5.堆的基本作用是,快速找集合中的最值二、大小根堆的建立向下调整实现调整过程:1.判断 index 位置有没有孩子1)index 如果已经是叶子...

2020-03-03 15:28:05 1085

原创 二叉树的前序、中序、后序、层序遍历,Java实现(递归、非递归)

关于二叉树的内容,我觉得二叉树最核心的地方就是它的几种遍历方式,基本上所有的问题都是围绕着几种遍历方式来的。因此就在这总结一下这几种遍历方式。前序遍历一、简介前序遍历(DLR),是二叉树遍历的一种,也叫做先根遍历、先序遍历,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。若二叉树为空则结束返回,否则...

2020-02-26 17:01:18 6643 2

原创 java常见七大排序算法总结

一、定义排序就是将一组“无序”的对象按照某种规则使其变得“有序”的过程。二、术语说明1.稳定: 排序序列中如果a=b,原序列中a在b的前边,排序之后a仍然在b的前边2.不稳定: 排序序列中如果a=b,原序列中a在b的前边,排序之后a可能在b的后边三、算法思想与实现1.冒泡排序1.1 算法描述在要排序的序列中,对当前还未排好序的范围中的所有数,相邻的两个数依次进行比较,让较大的数向上...

2020-02-22 18:25:34 305

原创 Java中static关键字使用总结

static关键字的用法在JAVA的学习中深刻感觉到static关键字的重要,为了加深理解,写一篇博客总结一下还是非常有必要的。static表示“全局”或者“静态”的意思,Java中被 static 修饰的成员称为静态成员或类成员,它是属于整个类所共有,也就是该类的所有对象所共有,不止属于某个对象, static 可以修饰变量、方法和代码块.用一句话来总结static关键字的基本作用就是:方...

2020-02-03 17:12:50 367

原创 Java中final的用法

final的用法在JAVA中经常会见到final关键字,每次见到final感觉对它是既熟悉又陌生,因此觉得有必要总结一下final的用法。final故名思意即最终、不可变。final作为JAVA中的一个关键字,可以用来修饰类、方法和变量(局部变量和成员变量)。一、修饰类final修饰类时,表明这个类不能被继承,比如java中的String类及Integer等包装类。需要注意的是类中所有的...

2020-01-20 18:09:33 2727

原创 MySQL在Windows下安装(免安装版)

注意: 首先在进行所有的安装教程之前,如果以前电脑上安装过 MySQL 或者安装失败有残留文件,那么建议先将以前安装的残留文件全部清理干净,以免影响到本次安装安装准备下载好mysql-5.7.27-winx64.zip 压缩包安装过程1.解压文件首先对压缩文件进行解压,比如我这里解压到:F:\mysql 5.7\mysql-5.7.27-winx64注意: 解压路径中不要含有中文2....

2019-12-15 21:16:07 251

原创 java String类常用方法总结

作为java中最常用的一个类,我觉得有必要在这里总结一下String类的一些常用方法。1.字符与字符串简单理解一下就是将字符串与字符数组转换的相关操作。1)构造方法public String(char[] value)//将字符数组中所有内容变为字符串public String(char[] calue, int offset, int count)//将数组中的部分内容变为字符串2...

2019-12-14 23:31:24 173

原创 java 实现String类compareTo()、contains()、indexOf()、split()方法

在学习了java中的String类之后,深刻认识到了String类的重要性,因此就自己实现了几个String类的方法。问题:1.实现方法 compareTo, 能够实现按照字典序比较字符串大小。2.实现方法 contains, 能够判定字符串中是否包含子串。3.实现方法 indexOf, 能够找出字符串子串存在的位置。4.实现方法 split, 能够指定分割符将字符串拆分成字符串数组(不...

2019-12-09 22:52:05 367

原创 java 泛型和包装类的使用

一、泛型1.泛型的引入我们知道一个顺序表中可以存放int型的对象,那么如果要存入指向 Person 类型对象的引用的顺序表,请问应该如何解决?首先我们可以想到基类的引用可以指向子类的对象,因为Object是所有类的祖先类,所以我们将顺序表的元素类型定义成 Object 类型,这样我们的 Object 类型的引用可以指向 Person 类型的对象看这样一段代码:public class M...

2019-12-04 14:55:55 433

原创 java 集合框架认识(1)集合框架的简单认识、接口及其实现类的介绍

java集合框架概述:Java中集合框架可以分为两类:Collection接口和Map接口1.集合框架图:其中橘棕色表示接口、蓝色表示抽象类、棕色表示类

2019-12-03 19:32:35 316

原创 java 抽象类和接口的初步认识

在谈接口前先说一下另一个东西:抽象类、抽象方法1.抽象类1.1 抽象类首先抽象类也是一个类,可以用来继承。和普通类一样也有构造方法,属性,方法,静态修饰成分等,抽象类必须遵守的几条规则:1)抽象类必须用abstract 修饰,用 abstract 修饰的类就是抽象类2)抽象类中可以没有抽象方法3)抽象类不能实例化对象new 抽象类(); 这样的实例化是不正确的public abs...

2019-12-01 22:00:13 116

空空如也

空空如也

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

TA关注的人

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