自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Xshell连接Linux时出现Warning:The remote SSH server rejected X11 forwarding request.

当你在使用SSH连接远程服务器时,遇到“The remote SSH server rejected X11 forwarding request”错误,这通常是由于X11转发未正确配置或相关软件包未安装所致。

2025-05-29 15:10:42 1275 1

原创 LeetCode 366 Find Leaves of Binary Tree

一、题目描述 二、解题思路 本题需使用先序遍历二叉树,设递归函数为 TreeNode recur(TreeNode root, List list): 判断每一个node 若为叶子节点,则返回null; 若为非叶子节点,则对其左右子节点分别调用recur,返回node。 三、代码 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *

2021-12-23 21:25:19 458

原创 神奇的数组复制

C语言中数组不能进行赋值操作,比如两个int型数组a[10]、b[10],是不能进行赋值语句:b=a 的。如果想要从数组a复制k个元素到数组b,可以这样做:memcpy(b,a,sizeof(int)*k),注意:memcpy函数包含在头文件string.h中。 memset(a,0,sizeof(a)); 上面这句的作用是将数组a清零。 ...

2021-01-21 21:12:51 888

原创 Python中global关键字和nonlocal关键字的区别

nonlocal,如果在闭包内给该变量赋值,那么修改的其实是闭包外那个作用域中的变量。global用来表示对该变量的赋值操作,将会直接修改模块作用域里的那个变量。(nonlocal与global互为补充) ——《Effective Python》 一、global global关键字用来在函数或其他局部作用域中使用全局变量。 如果局部要对全局变量修改,必须在局部声明该全局变量。 num = 1 def fun1(): global num # 需要使用 global 关键字声明 p.

2021-01-18 23:44:42 324

原创 为什么start.spring.io 不能访问

不知道为什么,在Spring Initializr创建Spring Boot项目时,出现使用默认的网址https://start.spring.io/ 会存在超时、连接失败、创建速度慢等问题。 解决方法一: 看到网上有人说使用阿里的地址替换就可了。阿里地址:https://start.aliyun.com/,我失败了。 解决方法二: Initialization failed for ‘https://start.spring.io’ Please check URL, network and proxy

2020-12-06 16:22:27 9559 4

原创 关于Springboot打包错误:Failed to execute goal org.springframework.boot:spring-boot-maven-plugin

还是那个简单的springboot项目,我只是想将应用打包成一个可执行的jar包,又出现了报错: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE:repackage (repackage) on project aaa: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.3

2020-11-07 21:49:11 4161

原创 Error starting ApplicationContext. 错误解决

问题描述: 今天写了一个简单的springboot项目,运行后报错:Error starting ApplicationContext. To display the auto-configuration report re-run your application with ‘debug’ enabled. 解决方法: 在启动类的**@EnableAutoConfiguration或@SpringBootApplication**中添加(exclude = {DataSourceAutoConfigura

2020-11-07 20:45:44 4905

原创 C/C++自带的排序函数

1.C标准库函数qsort() qsort函数包含在C标准库<stdlib.h>中 函数声明: void qsort( void*base, size_t nitems, size_t size, int(*compar)(const void*, const void*) ) base——指向要排序数组的第一个元素的指针 nitems——由base指向的数组中元素的个数 size——数组中每个元素的大小,以字节为单位 compar——用来比较两个元素的函数,即函数指针(回调函数) int

2020-08-21 23:13:18 14009 1

原创 Junit单元测试、反射——框架设计的灵魂、注解

一、Junit单元测试 测试分类∶ ①黑盒测试∶不需要写代码,给输入值,看程序是否能够输出期望的值。 ②白盒测试:需要写代码的。关注程序具体的执行流程。 Junit单元测试就是白盒测试中的一种。 Junit使用∶白盒测试 步骤∶ ①定义一个测试类(测试用例) 建议∶测试类名∶被测试的类名Test,包名∶xxx.xxx.xx.test ②定义测试方法:可以独立运行 建议∶ 方法名: test测试的方法名 返回值: void 参数列表:空参 ③给方法加@Test,可使方法独立运行 ④导入Junit依

2020-08-21 23:12:23 243

原创 MySQL基础--连接查询

含义:又称多表查询,当查询的字段来自多个表时,就会用到连接查询 SELECT * FROM beauty; SELECT * FROM boys;

2020-07-29 22:48:05 263 1

原创 JDBC

一、JBDC JDBC(Java Database Connective)是一种与不同的数据库连接的操作标准。 由一个类四个接口组成: java.sql.DriverManagers类 驱动管理。(注册、加载驱动) java.sql.Connection接口 数据库的连接。 创建Statement接口对象的方法: Statement createStatement(); 创建PreparedStatement接口对象的方法: PreparedStatement prepareStatement(Str

2020-07-26 21:27:00 253

原创 JavaWeb--CSS

一、CSS技术介绍 CSS(Cascading Style Sheet)是层叠样式表单,是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。 二、语法规则 选择器 { 属性:值; } 选择器:浏览器根据“选择器”决定受CSS样式影响的HTML元素(标签)。 属性是你要改变的样式名,并且每个属性都有一个值,属性和值被冒号分开,并由花括号包围,这样就组成了一个完整的声明(declaration)。 多个声明:如果要定义不止一个声明,则需要用分号将每个声明分开。一般每行只描述一个属性。

2020-07-26 20:21:26 230

原创 JavaWeb--HTML

一、B/S软件的结构 JavaEE B/S(Brower/Server ) 浏览器端/服务端 JavaSE C/S(Client/Server) 客户端/服务端 二、前端开发流程 1.美术实现(PS):网页设计师根据需求设计网页 2.前端工程师(H5):前端工程师将设计做成静态网页 3.java程序员(JSP):后台工程师将静态网页修改为动态网页 三、网页的组成部分 内容(结构):是我们在页面中可以看到的数据。我们称之为内容,一般内容我们使用html技术来展现。 表现:指的是这些内容在

2020-07-26 20:20:56 302

原创 MySQL基础--分组查询

语法:

2020-06-05 23:35:35 886

原创 MySQL基础--常见函数之单行函数

一、常见函数 概念:类似于Java中的方法,将一组逻辑语句封装在方法中,对外暴露方法名 好处: ①隐藏了实现细节 ②提高了代码的重用性 调用: SELECT 函数名(实参列表) [from 表]; 特点: ①叫什么(函数名) ②干什么(函数功能) 分类: ①单行函数:如concat、length、ifnull等 功能:做处理使用 ②分组函数: 功能:做统计使用,又称为统计函数、聚合函数或组函数 二、字符函数 1.length:获取参数值的字节数 在这里插入代码片 ...

2020-05-30 23:57:31 290

原创 MySQL基础--常见函数之分组函数

一、分组函数 1.功能:用作统计使用,又称为聚合函数或组函数 2.分类: sum:求和,avg:平均值,max:最大值,min:最小值,count:计算个数 3.特点: SELECT SUM(salary) 和,AVG(salary) 平均,MIN(salary) 最低,MAX(salary) 最高,COUNT(salary) 个数 FROM employees; sum、avg一般用于处理数值型 max、min、count可以处理任何类型 以上分组函数都忽略null值 ...

2020-05-30 23:56:52 273

原创 MySQL基础之DQL语言

一、DQL语言 DQL(Data Query Language):数据查询(select)语言。 二、DML语言 DML(Data Manipulation Language):数据操作语言。 三、DDL语言 DDL(Data Define Language):数据定义语言。 四、TCL语言 TCL(Transaction Control Language):事务控制语言。 ...

2020-05-29 23:26:26 377

原创 My First MySQL

一、数据库的好处 实现数据持久化 使用完整的管理系统统一管理,易于查询 二、数据库相关概念 1.DB 数据库(database):存储数据的“仓库”。它保存了一系列有组织的数据。 2.DBMS 数据库管理系统(Database Management System):数据库是通过DBMS创建和操作的容器。又叫数据库软件(产品)。 常见的数据库管理系统:MySQL、Oracle(Oracle公司,价格昂贵,服务收费)、DB2(IBM公司,用于处理海量数据)、SqlServer(微软公司,只能安装在windo

2020-05-29 23:25:00 201

原创 递归打印多级目录

一、递归概述 1.递归:指在当前方法内调用自己的这种现象。 2.分类:直接递归和间接递归两种。 直接递归称为方法自己调用自己。 间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。 3.注意 递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出(StackOverflowError); 在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出; 构造方法禁止递归。编译报错:构造方法是创建对象使用的,一直递归会导致内存中有无数多个对象,直接编译报错。 4.使用前提

2020-05-13 22:56:03 424

原创 Java--File类

java.io.File类是文件和目录路径名的抽象表示,java把电脑中的文件和文件夹(目录)封装为一个File类,主要用于文件和目录的创建、查找和删除等操作。 File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法。 ...

2020-05-09 22:15:01 232

原创 Lambda表达式(Functional Programming)

一、函数式编程思想 函数式思想尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。 面向对象的思想: 做一件事,找一个能解决这个事情的对象,调用对象的方法,完成事情。 函数式编程思想: 只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程。 二、Lambda的更优写法 public class Demo01Runnable { public static voi...

2020-05-09 22:13:44 227

原创 Java--线程池

一、概念 线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。 由于线程池中有很多操作都是与优化资源相关,话不多说,通过一张图来了解线程池的工作原理: 合理利用线程池能够带来的三个好处: 降低资源消耗。减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 提高响应速度。当任务到达时,任务可以不需要等...

2020-05-04 22:33:54 193

原创 Java--线程

一、并发与并行 并发:指两个或多个事件在同一时间段内发生。 并行:指两个或多个事件在同一时刻发生(同时发生)。 Notice: 单核处理器的计算机肯定是不能并行的处理多个任务的,只能是多个任务在单个CPU上并发运行。同理,线程也是一样的,从宏观角度上理解线程是并行运行的,但是从微观角度上分析却是串行运行的,即一个线程一个线程的去运行,但、当系统只有一个CPU时,线程会以某种顺序执行多个线程,...

2020-05-04 22:33:30 165

原创 Java--异常

一、概念 异常:指的是程序在执行的过程中,出现的非正常的情况,最终导致JVM的非正常停止。 在面向对象的语言中,异常本事一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java中出来异常的方式是中断处理。 异常指的并不是语法错误,如果语法错了,编译不通过,不会产生字节码文件,根本不能运行。 二、异常体系 异常机制可帮我们找到程序中的问题,异常的根类是java.lang.Throwable,其...

2020-05-04 22:32:17 309

原创 Java--Map集合

现实生活中,我们经常会看到这样的一种集合:IP地址与主机名,省份证号与个人,系统用户名与用户对象等,这种——对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。 Collection与Map: Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map中的集合、元素是成对存在的(理解...

2020-04-29 00:07:05 243

原创 Java--List集合、Set接口、Collections集合工具类

Collection中的常用子类有:java.util.List集合、java.util.Set集合。 一、List接口介绍 java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,Lis...

2020-04-29 00:06:42 259

原创 头指针与头结点

头指针 头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针。 头指针具有标识作用,所以常用头指针冠以链表的名字。 无论链表是否为空,头指针均不为空。头指针是链表的必要元素。 头结点 头结点是为了操作的统一和方便而设立的,放在第一元素的结点之前,其数据域一般无意义(也可存放链表的长度)。 有了头结点,对在第一元素结点前插入结点和删除第一结点,其操作与其他结点的操作系统就统...

2020-02-24 17:10:01 1253

原创 JAVA-- 包装类

一、概述 基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据。 java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应...

2020-02-19 20:39:32 183

原创 JAVA--Object、Date、DateFormat、Calendar、System、StringBuilder

一、Object类 java.lang.Object 类 Object 是类层次结构的根(父)类。 每个类(Person,Student…)都使用 Object 作为超(父)类。所有对象(包括数组)都实现这个类的方法。 如果一个类没有特别指定父亲,那么默认则继承自Object类: public class Person/* extends Object*/{ //... } 1.toStr...

2020-02-19 17:03:44 186

原创 JAVA--Rondom、Scanner、ArrayList、String、Math

一、Random类 Random类用来生成随机数字,使用起来也是三个步骤: 1.导包 import java.util.Random; 2.创建 Random r = new Random(); 3.使用 获取一个随机的int数字(范围时int所有范围:有正负数两种):int num = r.nextInt() 获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.ne...

2020-02-12 14:35:17 375

原创 JAVA--封装、private、this

一、封装性 面向对象三大特征:封装、继承、多态 封装性在Java当中的体现: 1.方法就是一种封装 2.关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见 public class Method { public static void main(String[] args) { int[] array = {12, 32, 34, 234, ...

2020-02-08 12:15:39 192

原创 JAVA--局部变量和成员变量

局部变量和成员变量 1.定义的位置不一样 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类中 2.作用范围不一样 局部变量:只有在方法当中才可使用,出了方法就不能再用 成员变量:整个类全都可以通用 3.默认值不一样 局部变量:没有默认值,如果想要使用,就必须手动进行赋值 成员变量:如果没有赋值,就会有默认值 4.内存的位置不一样 局部变量:位于栈内存 成员变量:位于堆内存 5.生命周期不...

2020-02-07 18:55:32 154

原创 JAVA--类和对象

一、面向过程与面向对象 package array; import java.util.Arrays; /* 面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲历亲为,详细处理每一个细节 面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事 */ public class PrintArray { public static voi...

2020-02-04 17:33:14 234

原创 JAVA学习笔记(一)

一.字节 字节是我们常见的计算机中最小的储存单元,计算机储存任何的数据,都是以字节的形式存储。 8个bit表示一个字节,写成 1 byte或 1 B。 二.常用DOS命令 DOS是一个早期的操作系统,现已被Windows系统取代。 MS-DOS(Microsoft Disk Operation System) 命令提示符(cmd) 启动 Win+R 切换盘符 盘符名称: 进入文...

2020-01-18 20:59:30 180

原创 约瑟夫环--“丢手绢问题”

问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。 解法一:数组法 #include<stdio.h> #include<malloc.h> int main() { int *person,i,node,n,m; scanf("%d%d",&n,&m); person=(int*)malloc(sizeof(...

2019-12-27 16:44:19 761 5

原创 藏头诗

本题要求编写一个解密藏头诗的程序。 输入格式: 输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。 输出格式: 取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。 输入样例: 一叶轻舟向东流 帆稍轻握杨柳手 风纤碧波微起舞 顺水任从雅客流 输出样例: 一帆风顺 #include<stdio.h> int main(void) {...

2019-12-25 15:49:46 1014

原创 算法笔记——二分查找法

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半部搜索x。...

2019-12-23 21:01:19 263

原创 链表

刚刚开始学习简单使用链表 1.头插法初始化链表 LinkList createListForHeadInsert() { LinkList Head= (LinkList)malloc(sizeof(LinkList)); Head->next = NULL; LNode *s; int x; while(scanf("%d",&x) &a...

2019-12-15 21:27:50 176

原创 字符串函数的练习

刚刚学习完字符串函数,记录一下自己的练习题 1.本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。 #include<stdio.h> #include<string.h> int main(void) { int n,i,max=0,t=0; scanf("%d",&n); char num[n][100]; int a[n]; for(i...

2019-12-15 19:20:38 596

原创 兑换硬币问题

现有如下问题: 编写一个程序实现用一元人民币换成一分.两分。五分的硬币共六十枚。 第一种方法----三重循环 #include<stdio.h> int main(void) { int c1=0,c2=0,c5=0; for(c1=0;c1<=100;c1++) for(c2=0;c2<=50;c2++) for(c5=0;c5<=20;c5++) ...

2019-12-15 15:07:39 1479

空空如也

空空如也

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

TA关注的人

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