自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决hystrix dashboard中报错Unable to connect to Command Metric Stream及相关问题

解决 hystrix dashboard 中报错 Unable to connect to Command Metric Stream及相关问题在练习 spring cloud hystrix dashboard 时,总结遇到的三个问题。前提:在提供者客户端(端口号为8001)要有依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-

2022-02-10 20:07:43 2123 3

原创 eureka报错Unable to start web server

eureka报错Unable to start web server今天启动eureka总是报错Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat如果使用 JDK8 以上的,可以使用 JDK8 解决,如果使用的是 JDK8 话,那就是版本问题,就针对于这个版本问题,我琢磨半天,发

2022-02-08 10:14:39 722

原创 Git常用命令

Git常用命令在团队开发过程中离不开版本控制,那么就需要用到Git,Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。下面介绍一些Git常用的命令。基本命令命令作用git config --global user.name 用户名设置用户签名git config --global user.email 邮箱设置用户签名git init初始化本地库git status查看本地库状态git commit -m “日

2021-12-04 17:56:06 281

原创 MyBatis配置文件顺序

MyBatis配置文件顺序MyBatis配置文件规定了标签的顺序,打乱了顺序就会出错。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> &l

2021-12-04 17:37:48 682

原创 MyBatisPlus利用log4j日志在控制台打印SQL语句

MyBatisPlus利用log4j日志在控制台打印SQL语句我们在学习MyBatisPlus时候,SQL语句就被自动生成了,为了更好地学习底层的SQL语句,我们经常需要利用log4j日志在控制台打印SQL语句,比如:那么直接来最快速最简单的配置就来了pom.xml这里使用的Maven管理依赖的,如果你不是用Maven管理依赖的话,就去下载jar包配置到项目中即可。<dependency> <groupId>log4j</groupId> &l

2021-11-30 22:30:46 2231

原创 SSM整合环境搭建和案例测试

SSM整合环境搭建和案例测试SSM整合前提IDEA 2021.1.3JDK 1.8Tomcat 8.5.70Maven 3.8.2MySQL 5.5.36创建模块在Java项目中创建一个由Maven管理Jar包的动态web工程,如下图:这里先勾选Create from archetype,再选择了maven-archetype-webapp ,最后就会由Maven给创建webapp文件和web.xml文件。当然也可以手动创建webapp文件和web.xml文件,这里就不说明了。点

2021-11-12 21:41:36 1250

原创 平衡二叉树

平衡二叉树  平衡二叉树: 平衡二叉树也叫平衡二叉搜索树 (Self-balancing Binary Search Tree) 又被称为 AVL 树,可以保证查询效率较高。平衡二叉树它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。左旋转举例说明,下面这颗二叉树的左子树的深度为 1 ,右子树的深度为 3, 相差的绝对值超过了 1 ,通过左旋转达到平衡。步骤:创建新的结点(newNode),

2021-02-09 22:41:38 459 1

原创 二叉排序树

二叉排序树   二叉排序树: (Binary Sort Tree),对于二叉排序树的任何一个非叶子节点,要求左子节点的值小于等于当前节点的值,右子节点的值大于等于当前节点的值。将序列 {7, 3, 10, 12, 5, 1, 9, 2} 构造成而二叉排序树举例说明:添加操作步骤:  添加 7 :7 作为根结点  添加 3 :3 比 7 小且 7 的左子节点为空,作为 7 的左子节点  添加 7 :10 比 7 大且 7 的右子节点

2021-02-08 17:57:30 1151 2

原创 哈夫曼树

哈夫曼树  结点的带权路径长度: 从根结点到该结点之间的路径长度与该结点的权的乘积。  树的带权路径长度: 所有叶子结点的带权路径长度之和,记为 WPL (weighted path length)。  哈夫曼树: 给定 n 个权值作为 n 个叶子结点,构造一棵二叉树,若该树的带权路径长度 (wpl) 达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。接下来举个例子说明,比如将 {1,5,2,7,9} 构造成树,

2021-02-07 16:28:49 2959 1

原创 线索二叉树

线索二叉树  n 个结点的二叉链表中含有 n+1 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为"线索"),这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded Binary Tree) 。根据线索性质的不同,线索二叉树可分为前序线索二叉树中序线索二叉树后序线索二叉树以下面这个例子说明  在该二叉树中一共有 6 个结点,有 7 个空指针域(3 有一个,4, 5, 6各有两个),根据遍历次序的不同

2021-02-04 17:33:41 671 2

原创 查找算法

查找算法#mermaid-svg-nsHA2KLnKdZQcB1Y .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-nsHA2KLnKdZQcB1Y .label text{fill:#333}#mermaid-svg-nsHA2KLnKdZQcB1Y .node rect,#mermaid-svg-nsHA2

2021-01-31 20:28:44 101

原创 排序算法

排序算法排序算法是将一组数据依照指定的顺序进行排列的过程。排序算法又分为内部排序和外部排序:内部排序: 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。此处只详述内部排序,如下图:#mermaid-svg-dWb4UudisFceIm1f .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-

2021-01-30 19:52:54 209 3

原创 波兰计算器和逆波兰计算器

波兰计算器和逆波兰计算器波兰表达式  波兰表达式也称前缀表达式,他是运算符写在数字的前边一种表达式。举个例子,比如一般表达式,也就是前缀表达式 (15 + 4) * 5 - 6(15 + 4) 的波兰表达式为 15  4 +(15 + 4) * 5 的波兰表达式为 15  4 + 5 *(15 + 4) * 5 - 6 的波兰表达式为 15  4 + 5 * 6 -逆波兰表达式  逆波兰表达式也称后缀表达式,他是运算符写在数字的后边一种表达式。还是上面那

2021-01-28 13:48:19 496

原创 栈模拟计算器

栈模拟计算器  计算器是我们生活中最常见的数学用具,计算器可以用栈来模拟。模拟计算器要点:使用两个栈分别来存储数字和运算符以及括号。遍历表达式字符串,分别处理’(’,’)’,运算符和数字。 如果是 ‘(’ 则直接入栈, 如果是 ‘)’ 则计算括号中的结果,如果是运算符则根据前一个操作符判断要计算还是直接入栈,如果是数字则根据表达式后一位判断要入栈还是继续读取数字拼接。遍历完字符串后,清空运算符栈,计算最终结果。下面代码演示一下:import java.util.Stack;import

2021-01-27 21:36:17 437 5

原创 单向循环链表

单向循环链表  单向循环链表和单向非环形链表的区就是,单向非环形链表的尾结点的指针是指向null的,而环形的是指向头结点。单向循环链表如图下所示:节点类代码class MyNode { int data; MyNode next; String name; public MyNode() { } public MyNode(int data) { this.data = data; } public MyNode(

2021-01-27 14:51:05 835

原创 单向链表

单向链表  链表不像数组那样,可以通过索引来获取,单向链表查找的时候必须从头开始往后一个个找,而不能从中间找,也不能从后往前找。看看下图所示的单向链表。节点类代码class MyNode { int data; MyNode next; String name; public MyNode() { } public MyNode(int data) { this.data = data; } public MyNo

2021-01-26 16:02:45 197

原创 稀疏数组

稀疏数组  当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。比如下面这个 10 x 10 的数组中只有三个数据,大部分元素是0。现在把这个数组改成稀疏数组,如下下面表格解释一下这个稀疏数组:稀疏数组(sparse array)行(row)列(col)值(value)[0](原始数组规模)10(原始数组有10行)10(原始数组有10列)3(原始数组有3个数据)[1](第一个数据)121[2](第二个数据)25

2021-01-25 21:00:05 121

原创

堆堆的定义通常情况下我们把堆看成是一棵完全二叉树。堆一般分为两种,一种是最大堆,一种是最小堆。最大堆要求根节点的值即大于左子树的值,又大于右子树的值。也就是说最大堆根节点的值是堆中最大的。最小堆根节点的值是堆中最小的,以最小堆为例子,如下图他是数组结构,结点中的数字是数组元素的下标,不是数组元素的值。所以如果我们知道父节点的下标我们就可以知道他的两个子节点(如果有子节点),如果知道子节点的下标也一定能找到父节点的下标,他们的关系是:父节点的下标 =(子节点下标 - 1)>>1;

2021-01-23 20:29:21 304

原创 树的遍历

树的遍历先了解一下树的相关定义:结点的度:一个结点含有的子结点的个数称为该结点的度;叶结点或终端结点:度为0的结点称为叶结点;非终端结点或分支结点:度不为0的结点;双亲结点或父结点:若一个结点含有子结点,则这个结点称为其子结点的父结点;孩子结点或子结点:一个结点含有的子树的根结点称为该结点的子结点;兄弟结点:具有相同父结点的结点互称为兄弟结点;树的度:一棵树中,最大的结点的度称为树的度;结点的层次:从根开始定义起,根为第1层,根的子结点为第2层,以此类推;树的高度或深度:树中结点的最大

2021-01-23 16:31:54 177

原创

栈栈是一种先进后出的数据结构,如下图:package datastructure;public class MyStack<E> { private Object [] data; private int size; public MyStack(int capacity) { if (capacity <= 0) throw new IllegalArgumentException("栈的大小必须大于0");

2021-01-22 21:15:11 114 1

原创 队列

队列一般队列队列是一种先进先出的数据结构。public class MyQueue<E> { private Object[] data; private int maxSize; private int size; private int front; private int tail; public MyQueue(int maxSize) { if (maxSize <= 0) thro

2021-01-22 20:46:19 96

原创 双向链表

双向链表双向链表我们可以从头到尾查找,也可以从尾到头查找。双向链表图如下:1、双向链表结点类class Node<E>{ E data; Node<E> prev; Node<E> next; public Node(E data, Node<E> prev, Node<E> next) { this.data = data; this.prev = prev;

2021-01-22 17:54:50 130

原创 编译器优化技术-公共子表达式消除和数组边界检查消除

编译器优化技术-公共子表达式消除和数组边界检查消除公共子表达式消除  公共子表达式消除是- -项非常经典的、普遍应用于各种编译器的优化技术,它的含义是: 如果一个表达式E之前已经被计算过了,并且从先前的计算到现在E中所有变量的值都没有发生变化,那么E的这次出现就称为公共子表达式。  对于这种表达式,没有必要花时间再对它重新进行计算,只需要直接用前面计算过的表达式结果代替E。如果这种优化仅限于程序基本块内,便可称为局部公共子表达式消除( Local Common SubexpressionElimina

2021-01-17 12:41:56 1544 6

原创 Java中String的switch-case字节码与等价实现代码

Java中String的switch-case字节码与等价实现代码switch-case 语句在 case 比较稀疏的情况下,编辑器会使用 lookupswitch 指令来实现,反之,编辑器会使用 tableswitch 来实现。对于 String 的 switch-case 中会将 case 后面的string转化成哈希值,而哈希值一般是比较稀疏的,所以选择 lookupswitch 来作为switch-case来实现。拿下面例子说明:public int test(String name) {

2021-01-14 11:26:44 473

原创 Java-常量池

Java-常量池       常量池是类文件中最复杂的数据结构。对于JVM字节码来说,如果操作数是很常用的数字,比如 0,这些操作数是内嵌到字节码中的。如果是字符串常量和较大的整数等,Class文件则会把这些操作数存储到常量池中,当使用这些操作数时,会根据常量池的索引位置来查找。       常量池可以比喻为class文件里的资源仓库,它是Class文件结构中与其他

2021-01-13 13:55:57 483

原创 第二届全国高校计算机能力挑战赛-Java程序设计赛

第二届全国高校计算机能力挑战赛-Java程序设计赛2020年第二届全国高校计算机能力挑战赛-Java程序设计赛前15题为选择题。16,17,18,19为编程题。16题题目:统计从1到N的整数中,所有立方值的平方根为整数的数的个数输入说明:整数N(N<10000);输出说明:符合条件的数的个数,如43=64=82输入样例:10输出样例:3(说明:样例中符合条件的3个数是1、4、9)import java.util.Scanner;public class Main { pu

2020-12-09 23:33:09 2766 5

原创 CSP认证历年前两题满分题解-(Java)

CSP认证历年前两题题解-(Java)2020-09CSP认证2020-09-1-称检测点查询-(Java)100分CSP认证2020-09-2-风险人群筛查-(Java)100分2020-06CSP认证2020-06-1-线性分类器-(Java)100分CSP认证2020-06-2-稀疏向量-(Java)100分CSP认证2020-06-4-1246-(Java)32分2019-12CSP认证2019-12-1-报数-(Java)100分CSP认证2019-12-2-回收站选址-(Ja

2020-12-02 21:53:45 1551

原创 CSP认证201403-2-窗口-(Java)100分

窗口试题编号: 201403-2试题名称: 窗口时间限制: 1.0s内存限制: 256.0MB问题描述  在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。  当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。

2020-12-02 21:19:00 178

原创 CSP认证201312-2-ISBN号码-(Java)100分

ISBN号码试题编号: 201312-2试题名称: ISBN号码时间限制: 1.0s内存限制: 256.0MB问题描述  每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版

2020-12-02 21:00:20 210

原创 CSP认证201312-1-出现次数最多的数-(Java)100分

出现次数最多的数试题编号: 201312-1试题名称: 出现次数最多的数时间限制: 1.0s内存限制: 256.0MB问题描述  给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式  输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。  输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式  输出这n个次数中出现次数最多的数。如果这样的数

2020-12-02 20:16:05 388

原创 CSP认证201403-1-相反数-(Java)100分

相反数试题编号: 201403-1试题名称: 相反数时间限制: 1.0s内存限制: 256.0MB问题描述  有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式  第一行包含一个正整数 N。(1 ≤ N ≤ 500)。  第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式  只输出一个整数,即这 N 个数中包含多少对相反数。样例输入51 2 3 -1 -2样例输出2

2020-12-01 23:52:44 177

原创 CSP认证201409-2-画图-(Java)100分

画图试题编号: 201409-2试题名称: 画图时间限制: 1.0s内存限制: 256.0MB问题描述  在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。  下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际

2020-12-01 23:42:31 180

原创 CSP认证201409-1-相邻数对-(Java)100分

相邻数对试题编号: 201409-1试题名称: 相邻数对时间限制: 1.0s内存限制: 256.0MB问题描述  给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式  输入的第一行包含一个整数n,表示给定整数的个数。  第二行包含所给定的n个整数。输出格式  输出一个整数,表示值正好相差1的数对的个数。样例输入610 2 6 3 7 8样例输出3样例说明  值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。评测用例规模与约定  

2020-12-01 23:17:32 137

原创 CSP认证201412-1-门禁系统-(Java)100分

门禁系统试题编号: 201412-1试题名称: 门禁系统时间限制: 1.0s内存限制: 256.0MB 问题描述  涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式  输入的第一行包含一个整数n,表示涛涛的记录条数。  第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式  输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现

2020-12-01 23:03:12 146

原创 CSP认证201503-2-数字排序-(Java)100分

数字排序试题编号: 201503-2试题名称: 数字排序时间限制: 1.0s内存限制: 256.0MB问题描述  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式  输入的第一行包含一个整数n,表示给定数字的个数。  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。

2020-12-01 22:50:26 157

原创 CSP认证201503-1-图像旋转-(Java)100分

图像旋转试题编号: 201503-1试题名称: 图像旋转时间限制: 5.0s内存限制: 256.0MB问题描述  旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。  计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式  输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。  接下来n行每行包含m个整数,表示输入的图像。输出格式  输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输

2020-12-01 21:11:15 243

原创 CSP认证201509-2-日期计算-(Java)100分

日期计算试题编号: 201509-2试题名称: 日期计算时间限制: 1.0s内存限制: 256.0MB问题描述  给定一个年份y和一个整数d,问这一年的第d天是几月几日?  注意闰年的2月有29天。满足下面条件之一的是闰年:  1) 年份是4的整数倍,而且不是100的整数倍;  2) 年份是400的整数倍。输入格式  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。  输入的第二行包含一个整数d,d在1至365之间。输出格式  输出两

2020-12-01 20:33:14 148

原创 CSP认证201509-1-数列分段-(Java)100分

数列分段试题编号: 201509-1试题名称: 数列分段时间限制: 1.0s内存限制: 256.0MB问题描述  给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式  输入的第一行包含一个整数n,表示数列中整数的个数。  第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式  输出一个整数,表示给定的数列有多个段。样例输入88 8 8 0 12 12 8 0样例输出5样例说明  8 8 8是

2020-12-01 19:58:09 234

原创 CSP认证201412-2-Z字形扫描-(Java)100分

Z字形扫描试题编号: 201412-2试题名称: Z字形扫描时间限制: 2.0s内存限制: 256.0MB问题描述  在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:对于下面的4×4的矩阵,  1 5 3 9  3 7 5 6  9 4 6 4  7 3 1 3  对其进行Z字形扫描后得到长度为16的序列:  1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3  请实现一个Z字形

2020-12-01 19:40:38 225 3

原创 CSP认证201512-2-消除类游戏-(Java)100分

消除类游戏试题编号: 201512-2试题名称: 消除类游戏时间限制: 1.0s内存限制: 256.0MB问题描述  消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。  现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。  请注意:一个棋子可能在某一行和某一列同

2020-11-29 13:20:24 199

空空如也

空空如也

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

TA关注的人

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