自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 一篇带你了解RPC,ZooKeeper的小博文(小白写的)

纯小白文章目录一篇带你了解RPC的小博文(小白写的)一、 项目结构变化二、RPC简介**RPC和Http对比:**三、RMI实现RPCRMI的执行流程:RMI的API介绍:RMI的实现四、HttpClient实现RPC服务器端新建控制器:返回的是String类型新建启动器客户端添加客户端Apache HttpClient依赖新建类,编写主方法(客户端项目)使用RPC-get方式访问使用post方式访问实际开发中,不可能返回的都是String类型,接下来是实体类,或者集合对象新建实体类(服务器端项目)新.

2021-04-25 14:29:13 1110

原创 链表的一些Java练习题_6

文章目录链表输入链表头节点,奇数长度返回中点,偶数长度返回上中点输入链表头节点,奇数长度返回中点,偶数长度返回下中点输入链表头节点,奇数长度返回中点前一个,偶数长度返回上中点前一个输入链表头节点,奇数长度返回中点前一个,偶数长度返回下中点前一个给定一个单链表的头节点head,请判断该链表是否为回文结构将单向链表按某值划分成左边小,中间相等,右边大的形式给定两个可能有环也可能无环的单链表,头节点head1和head2。请实现一个函数,如果两个链表相交,请返回相交的第一个节点。如果不相交,返回null。链表

2021-04-19 15:44:03 300

原创 几种排序算法的总结_5

几种排序算法的总结基于比较的算法:选择冒泡插入归并快速排序以及堆排序,这类算法,只要规定好两个样本怎么比大小就可以直接复用,同时时间复杂度的极限是O(N*logN);不进行比较的排序:桶排序(计数排序,基数排序);同时,这种排序对样本数据有严格要求(如非负、数的范围小等),不易改写;具有稳定性的有冒泡、插入、归并排序以及计数和基数排序;其他排序(如选择,快排,堆排序,希尔排序等)不稳定;时间复杂度O(NlogN),额外空间复杂度低于O(N),且稳定的基于比较的算法是不存在的;如何选择使用哪种.

2021-04-16 15:34:59 207

原创 堆,前缀树,桶排序_4

文章目录堆一个大根堆求最大值,并将这个最大值删掉,删掉后怎么形成新的完全二叉树堆排序前缀树(普通的树,而非二叉树)前缀树的代码实现:完成在一堆字符串的增加,删除,查找以及某前缀在这些字符串出现过几次桶排序计数排序代码基数排序代码排序算法的稳定性堆构建一个堆* 堆是什么呢?* 其实就是一个完全二叉树,即所有的父节点层不存在空的节点,* 最后一层节点的顺序必须按着顺序来,不能说左边没有节点,右边却有节点,那这样就不是完全二叉树了* 堆又分为大根堆和小根堆* 大根堆即父节点比它下面的子节点都要大,小

2021-04-16 14:49:30 353

原创 冒泡排序,插入排序,选择排序,归并排序,快速排序代码_3

文章目录冒泡排序 O(n²)插入排序 O(n²)选择排序 O(n²)归并排序 O(nlogn)在一个数组中,一个数左边比它小的数的总和,叫数的小和,所有数的小和累加起来,叫数组小和。求数组小和快速排序 O(nlogn)以下算法只给了代码算法思想点击下面的链接计数排序,基数排序,桶排序,选择排序,冒泡排序,插入排序,希尔排序,归并排序,快速排序的算法思想冒泡排序 O(n²)/** * @Author Z * @Date 2021/3/23 16:36 * 冒泡排序 */public c

2021-03-29 18:55:09 181

原创 二分法_链表_栈和队列_哈希表和有序表_2

文章目录二分法异或1.交换两个数2.一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到这个奇数次并打印这个数链表1.单向链表的反转2.双向链表的反转3.删除单向链表中的某个数栈和队列1.使用双向链表实现栈和队列2.使用数组实现栈和队列3.实现一个特殊的栈,在基本功能的基础上,再实现返回栈中最小元素的功能4.如何用栈结构实现队列结构5.如何用队列结构实现栈结构递归求数组arr[L..R]中的最大值,怎么用递归方法实现。哈希表HashMap,HashSet有序表TreeMap,TreeSet二分法

2021-03-25 16:26:53 473 1

原创 常见的几种排序方法_计数排序,基数排序,桶排序,选择排序,冒泡排序,插入排序,希尔排序,归并排序,快速排序_1

文章目录算法的优劣计数排序基数排序桶排序选择排序冒泡算法插入排序希尔排序归并排序快速排序算法的优劣时间维度空间维度时间复杂度:就是指时间针对于问题规模的变化而变化的规律O(1),时间不随问题规模的变化而变化O(n),时间的变化规律为x=y;计数排序桶排序思想中的一种,非比较排序应用:量大但是范围小(几万个数以上,但是所有的数取值范围小,如0到一千。算法思想:如数组int[] arr={1,5,1,5,9,0,5,6,8,3,2,4,4}这个排序算法需要额外的一个计数数组coun

2021-03-21 21:09:09 384

原创 SpringBoot跨域问题

When allowCredentials is true, allowedOrigins cannot contain the special value "*"since that cannot be set on the “Access-Control-Allow-Origin” response header. To allow credentials to a set of origins, list them explicitly or consider using “allowedOrigi.

2021-03-18 19:13:25 314

原创 当用户在地址栏中输入一个网址(URL),按下回车到底发了什么?

问题:当用户在地址栏中输入一个网址(URL),按下回车到底发了什么?答:当用户在地址栏中输入一个网址按下回车,客户端会向服务器端发起一次上行请求,服务器端接收到请求以后,会响应的做出相应。经过浏览器渲染,用户就可以看见了。客户端可以向服务器端发起上行请求,常见上行请求有GET、POST上行请求。(起始一共有20多种上行请求)AJAX用户端可以向服务器端悄悄的发起上行请求,服务器端悄悄的做出相应的下行响应。在页面没有重新加载情况下实现页面局部更新。...

2021-03-12 18:53:44 663

原创 Mybatis中出现org.apache.ibatis.type.TypeException:org.xml.sax.SAXParseException异常问题

第一个错误:Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQLMapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is ‘com/zhout/mapper/DeptMapper.xml’. Cause:org.apache.ibatis.b

2021-03-02 16:55:36 264

原创 MyBatis配置config文件时,出现元素类型为 “configuration“ 的内容必须匹配问题

org.apache.ibatis.exceptions.PersistenceException:### Error building SqlSession.### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 26; columnNumber: 17; 元素类型为 "confi

2021-02-27 21:03:20 1164 1

原创 Java开发中Linux常用命令和配置

Linux命令严格区分大小写pwd命令cd:切换目录ls:显示当前目录下的文件列表(不包含隐藏文件)ls -a:当前目录下所有的的文件列表ls -l:显示当前目录下的文件列表的详细信息(可以缩写成ll)clear:清空屏幕touch:创建空白文件cat:显示文件内容more:多屏显示文件内容head:显示文件的前几行tail:显示文件的后几行mkdir:创建目录mkdir 文件路径 -p:创建多级目录cp:复制操作remove:删除mv:移动或重命名,相当于剪切和重命名vi|vim:启动文本编辑器reboo

2021-02-27 13:57:31 869

原创 Git基本操作

文章目录下载后的初步操作Git常用命令添加文件: add 提交文件:commitgit statusgit logreset命令reset中的hard参数/mixed参数/soft参数删除文件_找回本地库删除的文件找回暂存区删除的文件diff命令分支查看,创建,切换分支冲突问题,如何解决冲突题推送操作克隆操作push操作下载后的初步操作创建一个文件夹,这个文件夹即本地仓库,我这里在D盘的IDEA下创建一个Resp的文件夹打开Git终端:Git Bash Here:进入以后先对字体和编码进行设

2021-02-26 15:12:46 144

原创 Java基础_Java8新特性,函数式接口_26

1.jdk8新特性:Lambda表达式-->对象2.Lambda表达式先睹为快: Test m = ()-> System.out.println("___"); m.testMethod(); Lambda表达式本质上就是:接口的实现类的具体的对象(1)->箭头操作符 Lambda操作符(2)() lambda的形参列表 == 接口中的方法的形参列表(3)->右侧 Lambda体 == 就是重写的接口的哪个方法的方法体的内容3.Lambda表

2021-02-03 13:07:47 99

原创 Java基础_网络编程_TCP,UDP_24

文章目录网络TCP,UDP基础InetAddress,InetSocketAddress模拟网站的登录,客户端录入账号密码,然后服务器端进行验证。网络TCP,UDP基础设备之间进行传输的时候,必须遵照一定的规则 —》通信协议:TCP协议:可靠建立连接,三次握手:释放连接:四次挥手UDP:并不可靠InetAddress,InetSocketAddressInetAddress: —>封装了IPpublic class Test { public static void

2021-01-26 14:07:40 114

原创 Java基础_多线程_23

文章目录线程基础知识程序,进程,线程的联系并行和并发:单核CPU与多核CPU的任务执行:创建线程的三种方式1. 继承Thread类设置读取线程名字习题:买火车票2.实现Runnable接口习题:买火车票实际开发中,继承Thread类 还是实现Runnable接口这种方式多呢?Thread类 Runnable接口 有联系吗?3. 实现Callable接口线程的生命周期线程的常见方法设置优先级:setPriority()方法join方法线程基础知识程序,进程,线程的联系程序(program):是为

2021-01-24 19:42:48 121

原创 Java基础_IO流_22

IO流File类对文件进行操作对目录进行操作IO流完成文件的复制操作不要用字符流去操作非文本文件FileInputStream,FileOutputStream完成非文本文件的复制缓冲流缓冲字节流(处理流)-BufferedInputStream ,BufferedOutputStream缓冲字符流(处理流)-BufferedReader,BufferedWriter完成文本文件的复制转换流转换流-InputStreamReader,OutputStreamWriter转换流-InputStreamRead

2021-01-24 11:16:58 129

原创 Java基础_集合基础_泛型_Collection,List,LinkedList,Set接口,Map接口_一篇带你理解Java集合,HashMap,TreeMap_21

集合基础_泛型_Collection,List,LinkedList,Set接口,Map接口_一篇带你理解Java集合,HashMap,TreeMap集合的引入Colletion接口的常用方法和集合遍历List接口特有方法和集合遍历ArrayListArrayList和Vector的区别和联系泛型自定义泛型结构泛型类和泛型接口泛型类细节泛型方法泛型参数存在继承关系通配符泛型的受限LinkedList的常用方法和集合遍历常用方法和集合遍历LinkedList原理图模拟LinkedList源码iterator(

2021-01-22 14:17:46 682 1

原创 Java基础_反射_获取字节码信息_20

文章目录定义要用到的类代码获取字节码信息的四种形式可以作为Class类的实例的种类未进行以下操作,完善相关的类获取构造器和创建对象获取属性和对属性进行赋值获取方法和调用方法获取类的接口,所在包,注解创建Person的对象,以后用new Person()创建,还是用反射创建?反射是否破坏了面向对象的封装性?定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机

2021-01-18 13:47:50 301

原创 Java基础_Junit_枚举,枚举类_注解,自定义注解,元注解_19

JunitJunitJunit属于白盒测试。软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序的所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试。...

2021-01-16 17:29:38 251

原创 Java基础_常用类_18

常用类包装类Interger日期相关类java.util.Datejava.sql.DateSimpleDateFormatCalendar打印出日历LocalDate/LocalTime/LocalDateTimeDateTimeFormatterMathMath常用方法Random类StringStringBuilder和StringBufferStringBuilder可变数组和不可变数组的区别StringBuilder的常用方法StringBuffer在常用方法上和StringBuilder没有区别

2021-01-14 18:03:58 217 3

原创 java基础_异常_Exception_try-catch-finally_自定义异常_17

异常定义使用if-else堵漏洞的缺点try - catchcatch中的异常如何让处理try-catch-finally多重异常异常的分类throw和throws的区别重写和重载时的异常自定义异常内容来源于马士兵教育赵珊珊老师的Java笔记。异常定义异常(Exception):在程序的运行过程中,发生了不正常的现象,阻止了程序的运行,我们称之为发生异常。使用if-else堵漏洞的缺点代码臃肿,业务代码和处理异常的代码混在一起。可读性差程序员需要花费大量的经历来维护这个漏洞程序员很.

2021-01-13 16:35:48 310

原创 Java基础_面向对象_ 内部类,成员内部类,局部内部类,匿名内部类_16

内部类为什么需要内部类?`     ⒈ 内部类对象可以访问创建它的对象的实现,包括私有数据;    ⒉ 内部类不为同一包的其他类所见,具有很好的封装性;    ⒊ 使用内部类可以很方便的编写事件驱动程序;    ⒋ 匿名内部类可以方便的定义运行时回调;    5.内部类可以方便的定义成员内部类类的组成:属性,方法,构造器,代码块(普通块,静态块,构造块,同步块),内部类一个类TestOuter的内部的类SubTest叫内部类, 内部类 :SubTest 外部类:TestOu

2021-01-11 14:53:52 107

原创 Java基础_面向对象_ 接口_15

接口的定义接口声明格式: [访问修饰符] interface 接口名 [extends 父接口1,父接口2…] { 常量定义; 方法定义; }代码总结/** * 1.类是类,接口是接口,他们是同一层次的概念,平级 * 2.接口中没有构造器 * 3.接口如何声明:interface * 4.在JDK1.8之前,接口中只有俩个部分内容 * ①常量:固定修饰符:public static final * ②

2021-01-11 14:52:36 220

原创 Java基础_面向对象_ 抽象类,抽象方法_14

来源于马士兵教育赵珊珊老师的Java笔记抽象类的作用:在抽象类中定义抽象方法,目的是为了为子类提供一个通用的模板,子类可以在模板的基础上进行开发,先重写父类的抽象方法,然后可以扩展子类自己的内容。抽象类设计避免了子类设计的随意性,通过抽象类,子类的设计变得更加严格,进行某些程度上的限制。使子类更加的通用。在一个类中,会有一类方法,子类对这个方法非常满意,无需重写,直接使用。在一个类中,会有一类方法,子类对这个方法永远不满意,会对这个方法进行重写。一个方法的方法体去掉,然后被abstract修.

2021-01-10 18:52:25 189

原创 Java基础_面向对象_ Java四大关键字this,static,final,super_13

Java四大关键字thisthis可以修饰属性:this修饰方法:this可以修饰构造器:staticstatic 修饰属性static修饰方法super关键字super可以修饰方法,属性;super修饰构造器final关键字修饰属性修饰方法修饰类案例创建类,对象_局部,成员变量_权限修饰符_方法的重写_构造器_代码块_11Java三大特性_封装,继承,多态_12thisthis可以修饰属性:总结:当属性名字和形参发生重名的时候,或者 属性名字 和局部变量重名的时候,都会发生就近原则,所以如果我

2021-01-10 17:42:13 206 1

原创 Java基础_面向对象_Java三大特性_封装,继承,多态_12

封装,继承,多态封装进行封装的方法提高:继承多态封装封装:将某些东西进行隐藏,然后提供相应的方式进行获取。封装的好处:提高代码的安全性我们程序设计追求“高内聚,低耦合”。➢高内聚:类的内部数据操作细节自己完成,不允许外部干涉;➢低耦合:仅对外暴露少量的方法用于使用。隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。public class Girl { public

2021-01-10 16:24:15 494

原创 Java基础_面向对象_创建类,对象_局部,成员变量_权限修饰符_方法的重写_构造器_代码块_11

创建类,对象_局部,成员变量_构造器_this_static_代码块面向对象与面向过程的区别类和对象创建类对象成员变量和局部变量,类变量局部变量:成员变量:类变量:成员变量和局部变量的区别构造方法(构造器)构造方法的重载thisstaticstatic 修饰属性static修饰方法代码块:普通块,构造块,静态块包import静态导入:面向对象与面向过程的区别面向过程:当事件比较简单的时候,利用面向过程,注重的是事件的具体的步骤/过程,注重的是过程中的具体的行为,以函数为最小单位,考虑怎么做。面向对象:

2021-01-08 16:41:28 413

原创 Java基础_IDEA的使用_常用设置_快捷键_代码模板_断点调试_10

IDEA的使用_常用设置_快捷键_代码模板_断点调试软件的下载安装IDEA的常用设置常用快捷键代码模板Live TemplatesPostfix Completion区别常用模板断点调试Debug的优化设置:更加节省内存空间:常用断点调试快捷键:条件判断:查看表达式的值:软件的下载安装软件的下载IDEA的常用设置进入设置:设置主题:编辑区的字体变大或者变小:鼠标悬浮在代码上有提示:自动导包和优化多余的包:手动导包:快捷键:alt+enter自动导包和优化

2021-01-05 21:45:37 257 1

原创 Java基础_数组_数组元素的最值,查询,添加和删除_Arrays工具类_二维数组_9

来源于马士兵教育赵珊珊老师的笔记数组引入练习:键盘录入十个学生的成绩,求和,求平均数:import java.util.Scanner;public class TestArray01{ public static void main(String[] args){ //功能:键盘录入十个学生的成绩,求和,求平均数: //定义一个求和的变量: int sum = 0; .

2021-01-03 19:40:36 470

原创 Java基础_方法的定义,调用,和重载_8

什么是方法?方法(method)就是一段用来完成特定功能的代码片段,类似于其它语言的函数(function)。方法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。方法声明格式:[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表){Java语句;… … …}方法的调用方式:对象名.方法名(实参.

2021-01-02 18:20:19 262

原创 Java基础_循环嵌套_打印乘法口诀、菱形,各种图形,计算二元一次和三元一次方程组_7

循环嵌套打印乘法口诀 for(int j=1;j<=9;j++){ for(int i=1;i<=j;i++){ System.out.print(i+"*"+j+"="+i*j+"\t"); } //换行 System.out.pr

2021-01-02 10:08:36 1028 6

原创 Java基础_循环结构详解_6

循环结构while语句循环作用:将部分代码重复执行。 循环只是提高了程序员编写代码的效率,但是底层执行的时候依然是重复执行。 while (布尔表达式) { 循环体; }练习:计算1+2+3+4+5public class TestWhile{ public static void main(String[] args){ //功能:1+2+3+4+5 //1.定义变量:

2021-01-02 00:47:27 873

原创 Java基础_分支选择结构详解_5

分支选择结构if单分支 if(布尔表达式){ 语句块 }结构:if(条件表达式,这个表达式的结果是布尔值:要么是false,要么是true){//{}中的代码是否执行,取决于()中表达式的返回结果}if多分支 if(布尔表达式1) { 语句块1; } else if(布尔表达式2) { 语句块2; }…… else if(布尔表达式n){ 语句块n; } else { 语

2021-01-02 00:45:57 797 2

原创 Java基础_运算符_4

运算符Value算术运算符+,-,*,/,%,++(自增),–(自减)赋值运算符=扩展赋值运算符+=,-=,*=,/=关系运算符>,<,>=,<=,==,!=逻辑运算符&,&&,!,^,!位运算符&,^,~ , >>,<<,>>> (了解!!!)条件运算符?:算术运算符 / 除法运算符 : 表示两个数相除运算 % 取余...

2021-01-01 14:02:04 541

原创 Java基础_基本数据类型_整数类型,浮点型型,字符类型,布尔类型_基本数据类型转换、强制转换__3

数据类型Java是一种强类型语言,每个变量都必须声明其数据类型。Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。基本数据类型整数类型int,byte,short,long整数类型的表数范围byte类型127是怎么算出来的: 1字节=8bit 二进制1111 1111 public class TestVar05{ public static void main

2021-01-01 08:44:47 725

原创 Java基础_Java中的标识符,关键字,常量,变量_2

标识符标识符:读音 biao zhi fu什么是标识符?包,类,变量,方法…等等,只要是起名字的地方,那个名字就是标识符标识符定义规则:①四个可以(组成部分):数字,字母,下划线,美元符号$;注意:字母概念比较宽泛,指的是英文字母:汉字,日语,俄语……但是我们一般起名字尽量使用英文字母②两个不可以:不可以以数字开头,不可以使用java中的关键字③见名知意:增加可读性④大小写敏感:int a;intA;⑤遵照驼峰命名:类名:首字母大写,其余遵循驼峰命名方法名,变量名:

2020-12-31 21:23:06 328 1

原创 JDK的下载、安装和环境配置(超详细)__1

JDK的下载点击进入JDK下载官网。有多个版本可供选择,推荐使用JDK8。点击JDK Download。如图所示。看自己的电脑系统,选择相应的版本这里提供一个百度网盘里的JDK8,可以直接下载使用。链接:JDK百度网盘下载提取码:ol07复制这段内容后打开百度网盘手机App,操作更方便哦。JDK的安装点击刚才下载的exe文件,管理员运行。下一步可以选择更改盘符,我放到D盘,此时注意复制一下文件名。我的文件名D:\Java\jdk1.8.0_151推荐复制我的文件名

2020-12-31 17:28:05 408 1

基于SpringBoot框架的合家云管理服务平台

本项目非常适合SpringBoot学完之后的小型项目,用来练手的刚刚好。 本项目就是把房内住客统一在网上进行管理。合家云项目底下一共有五个模块,分别是个人办公,楼盘管理,业主信息,费项设置,个人中心等。 该项目主要致力于提高物业管理的服务质量,提高客户体验开发的一套自动化,高效率,简洁方便的物业管理服务平台,平台可以满足大多数用户的需要,同时减少公司处理问题的速度和效率,节省人力成本,非常方便的将物业与数据结合在一起,极大的降低了物业管理的难度。 1. 安全管理包括用户进行账户注册、登录、密码修改,退出系统,个人中心; 2. 楼盘管理分为住宅小区,和商业地产两部分,住宅小区和商业地产底下又各自分为新增住 宅向导,批量增加楼宇,住宅维护,住宅查询四部分; 3. 业主信息又分为业主个人信息,业主验房,业主装修,业主入住,请修管理,业主加建等部分组成,其中业主信息包括装修录入,装修审批,装修作废,装修验收,装修查询五部分; 4. 费项设置又分为常规费项,公摊费项,便捷费项,便捷费项,客服组设置,打印单据设定等。 —————————————————————————————— 本项目非常适合SpringBoot学完之后的小型项目,用来练手的刚刚好,难度稍大。

2021-03-18

空空如也

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

TA关注的人

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