自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MYSQL:2059 Aunthentication plugin caching_sha2_password connot be loaded问题解决办法(Mysql连接Navicat)

出现这个问题的原因是从mysql5.7版本之后,默认采用了caching_sha2_password验证方式解决办法:首先常规方式登陆mysql输入命令: select user,host from user;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的数据库密码';注意:表格里我的是’root’和’localhost’,要根据你的表格在代码中进行调整然后即可连接成功...

2021-08-09 15:44:19 401

原创 Java基础(18)数据结构

数据结构是计算机存储,组织数据的方式.是指相互之间存在一种或多种特定关系的数据元素的集合。常见数据结构栈:数据进入栈模型的过程称为:压\进栈离开栈模型的过程称为:弹\出栈(类似压子弹和弹子弹)分为栈顶和栈底常见的数据结构队列:数据从后端进入队列的过程称为入队列:数据从前端离开队列的过程称为出队列:类似过通道常见的数据结构:数组和链表数组是一种查询快增删慢的模型链表:结点,结点中有数据和下一个结点的地址,连接成一个锁链,环环相扣插入和删除都很方便,把地址指向换一下即可。...

2021-08-03 08:23:07 222

原创 Java基础(17)集合体系结构

Collection集合知识集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变.集合分为:单列(Collection):一行List集合,可出现重复ArrayListLinkedListSet集合,有重复会合并成一个HashSetTreeSet双列(Map):两行HashMap加粗的都是借口,没加粗的都是实现类Collection集合概述和使用Collection集合是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JD

2021-06-03 17:05:31 269 2

原创 Java基础(16)异常

异常:就是程序出现了不正常的情况异常体系Error:严重问题,不需要处理Exception:称为异常类,它表示程序本身可以处理的问题RuntimeException:在编译期是不检查的,出现问题后,需要我们回来修改代码非RuntimeException:编译器必须处理的问题JVM默认处理方案如果程序出现了问题,我们没有做任何处理,最终JVM会做默认的处理把异常的名称,异常原因及异常出现的位置等信息输出在了控制台程序停止运行异常处理(防止程序停止运行,把后面的东西执行下去)try…cat

2021-06-02 16:16:23 210 1

原创 Java基础(15)常用API

接口是一种公共的规范标准,更多的是对行为的抽象Math类查看帮助文档Math,包含基本执行数字运算的方法,如基本指数.对数.平方根和三角函数如果没有构造方法,如何使用类中的成员呢?看类的成员是否都是静态的,如果是就可以通过类名直接调用System类查看帮助文档包含几个有用的类字段和方法,不能被实例化最重要的两个方法currentTimeMillis() 返回当前时间(以毫秒为单位)exit(int status) 终止当前运行中的java虚拟机Object类查看帮助文档Obj

2021-06-01 17:50:35 107

原创 Java基础(14):类名,抽象类名,接口名作为形参和返回值

1.类名作为形参和返回值方法的形参是类名,其实需要的是该类的对象方法的返回值是类名,其实返回的是该类的对象把类理解成和int String一样的东西,形参是类名,相当于需要这个类的对象,返回值是类名,需要返回的是这个类的对象2.抽象类名作为形参和返回值1.方法的形参是抽象类名,其实需要的是该抽象类的子类对象2.方法的返回值是抽象类名,其实返回的是该抽象类的子类对象,3.接口名作为形参和返回值1.方法的返回值是接口名,其实需要的是该接口的实现类对象2.方法的返回值是接口名,其实返回的是该接口

2021-06-01 10:11:16 410

原创 Java基础(13)接口

接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用Java中的接口更多的体现为对行为的抽象特点1.接口用关键字interface修饰public interface 接口名{}2.类实现接口用implements表示public class 类名 implements 接口名{}3.接口不能实例化实例化参照多态,通过实现类对象实例化,这叫接口多态多态的形式:具体类多态,抽象类多态,接口多态多态的前提:有继承或者实现关系;有方法重写;有父(类\接口)引用指向(子\实现)类对象4

2021-05-31 11:08:56 82

原创 Java基础(12)多态,抽象类

多态概述同一个对象,在不同时刻表现出来的不同形态同一个事件发生在不同的对象上会产生不同的结果多态和父类子类的关系动物是父类,猫是子类可以定义一个动物对象是猫,不能定义一个猫对象是动物.(也就是可以说猫是动物,不可以说动物是猫)多态中成员访问的特点调用方法或者成员时,首先检查父类中是否有该方法,如果没有,编译错误;如果有,在调用子类同名方法.(可以使程序有良好的扩展,可以对所有类的对象进行通用处理.)看子类有没有重写父类的方法成员变量:编译和执行都需要父类中有,执行时执行父类中的值成员方

2021-05-31 00:35:55 154

原创 Java基础(11)继承

继承是面向对象的三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法继承的格式:public class 子类名 extends父类名{}public class Zi extends Fu{}父类也被称为基类、超类子类也被称为派生类继承的好处和弊端继承的好处提高了代码的复用性(多个类相同的成员可以放在同一个类中)提高了代码的维护性(如果方法的代码需要改,修改父类中的方法即可)继承的坏处类与类之间产生了关系,提高了耦合性,父类变化子类也不得不变化,削弱

2021-05-30 17:32:03 227

原创 Java基础(10)集合

集合概述:集合类的特点:提供一种存储空间模型,存储的数据容量可以发生改变集合类有很多,目前我们先学习一个:ArraylistArrayList< E >可调整大小的数组实现< E >是一种特殊的数据类型,泛型用法举例:ArrayList< String >,ArrayList< Student >集合常用的方法...

2021-05-26 13:26:42 86

原创 Java基础(9)API、String、StringBuilder 等

API(Application Programming Interface)应用程序编程接口实体为应用程序提供的接口,把这些类统称为APIJava API:指的就是JDK中提供的各种功能的Java类这些类封装了起来,只需要知道如何使用即可,通过帮助文档了解这些类如何使用StringString概述String类在java.lang包下,使用时不用导包String类代表字符串,双引号中的都是它的字符串的特点:字符串不可变,他们的值在创建后不可更改,但是可以被共享字符串效果上相当于是字符数组(

2021-05-25 18:12:22 99 2

原创 Java基础知识(8)类和对象

Debug可以一步步看到程序执行流程,从而去找bug,程序调试工具1、如何加断点2、如何运行加了断点的程序3、看哪里4、点那里5、如何删除断点1、什么是对象任何东西都是对象2、什么是面向对象人们关注的事物的信息,描述3、什么是类类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型类是具有相同属性和行为的一组对象的集合4、什么是对象的属性属于什么,还有它的性质就可以说是属性,就是说它是啥5、什么是对象的行为对象能干什么,他能完成什么作用6、类和对象的关系类

2021-05-24 22:47:27 219 2

原创 Java基础(7)方法

1、方法概述做一件事的流程称为一个方法比如刷牙1、准备牙刷牙膏2、挤牙3、刷牙4、吐口水5、整理牙刷牙膏这五步统称为一个方法方法就是将具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集方法必须先创建才可以使用,改过程也被称为方法定义方法创建后并不是可以直接运行的,需要手动使用后才可以执行,该过程被称为方法的调用2、方法的定义和调用public static void 方法名(){方法体}调用方式方法名();方法必须先定义后操作,否则会报错方法调用会出现在对应的方

2021-05-23 11:17:42 109

原创 Java基础(6)数组

1、数组概述一次性大量存储同类型数据的存储模型2、数组的定义格式int[] arr 定义一个名称为arr的整型数组3、数组初试化之动态初始化动态初始化:初始化时只指定数组长度,由系统为数组分配初始值数据类型[]变量名=new 数据类型 [数组长度]int [] arr=new int[10];4、数组元素访问数组变量访问方式格式:数组名数组内部保存的数据的访问方式格式:数组名[索引]索引是数组中数据的编号方式作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种

2021-05-22 16:41:57 99

原创 Java(5)IDEA的使用

IDEA项目结构IDEA快捷键快速生成语句快速生成main方法:psvm,回车快速生成输出语句:sout,回车内容辅助键ctrl+alt+space(内容提示、代码补全)注释单行:ctrl+/两次取消多行:ctrl+shift+/两次取消IDEA模块操作新建模块导入模块...

2021-05-22 14:40:38 94

原创 Java基础(4)循环,输入输出

1、数据输入Scanner使用的基本步骤1、导包2、创建对象3、接收数据分支语句流程控制语句分类顺序结构最简单的流程控制,顺序执行,按照代码执行,依次执行分支结构(if switch)if(关系表达式){语句体}else{语句体}if语句格式2if(关系表达式){}else if(关系表达式2){}else{}switch语句格式switch(表达式){case值1:语句;break;case值2:语句2;break;。。。defaul

2021-05-22 13:16:54 475

原创 Java基础知识(3)运算符

1、1运算符和表达式运算符:对常量或者变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式1、2加减乘除取余除法得到的是商,取余得到的是余整数相除只能得到整数,小数相除必须有浮点数参与1、3字符的+操作,利用ascill码值来进行操作算术操作中,类型会自动进行提升,比如int+char=int1、4字符串的+操作+操作中出现字符串时,这个+是字符串连接符,而不是算数运算符代码是从左到右逐个执行的,所以牛牛+123+123结果是 牛牛12

2021-05-22 09:34:46 108 1

原创 Java基础(2)基本知识

1、1注释,不参与程序运行,只起到说明作用单行注释 //多行注释 /注释信息/文档注释 /*注释信息/2、1关键字概述就是被Java语言赋予了特殊含义的英文单词关键字的字母全都是小写常用的代码编辑器都有颜色提示3、常量概述程序中固定不变的值,不可以发生改变的值其他常量均可直接输出System.out.println(null)无法直接输出4、数据类型计算机存储单元最小信息单元叫“位(bit)” 我们又称为比特位 用b表示最小存储单元叫“字节(byte)”用大写字母B表

2021-05-21 14:41:49 130

原创 Java基础(1)基本常识

JRE(Java Runtime Environment)是Java运行时环境,包含JVM和运行所需要的的核心类库。运行一个已经有的Java程序,只需要有JRE就可以JDK(Java Development Kit)是Java程序开发工具包,包含JRE和开发人员使用的工具。其中的开发工具:编译工具(java.exe)和运行工具(java.exe)开发一个java程序必须安装JDKJDK的安装目录bin目录重点掌握,有我们使用的工具常用DOS命令1、打开命令提示符窗口win+R 输入c

2021-05-21 11:41:35 160 1

原创 linux网络编程(1)基本操作

Linux是类Unix计算机操作系统的统称。Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个Linux内核Linux发行版组成:Linux内核应用软件:一些GUN程序库和工具(Emacs 集成开发环境和文本编辑器 GCC语言编辑器 GNOME)命令行shell图形桌面环境(1、KDE(qt编写)2、GNOME(GTK编写)3、Unity)一些办公套件 OpenOffice编译器 gcc g++文本编辑器到科学工具的应用软件 v

2021-02-19 11:59:31 91 1

原创 Linux常用快捷键

【tab】键:在linux所有的shell中,[tab]是最常用的也是Linux的bash shell中最棒的功能;它具有命令补全和档案补全的功能。命令补全:只记得命令的一部分,输入这一部分,双击tab,得到所有相关命令档案补全:查看文件,输入一部分然后双击tabhttps://blog.csdn.net/airufengye/article/details/81148805?ops_request_misc=%25257B%252522request%25255Fid%252522%2525

2021-02-17 18:09:10 112

原创 数据结构(7):图

图是一种更为复杂的线性结构。图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。图中的数据元素称之为顶点。...

2021-02-08 16:54:50 361

原创 数据结构(6):树:赫夫曼树及其应用

赫夫曼树压缩技术利用赫夫曼树,对压缩文本进行重新编码。利用赫夫曼编码。由于数据出现的频率是不一样的,所以可以用事先规定好的编码来节约编码量。从树中的一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。二叉树a的路径长度是 20 二叉树b的路径长度是 16带权路径长度二叉树a:WPL:5x1+15x2+40x3+30x4+10x4=315二叉树b:WPL:5x3+15x3+40x2+30x2+10x2=220性能提升了很多如何构建赫夫曼树1、先把有权值的叶

2021-02-08 16:05:41 153

原创 数据结构(6)树:二叉树

由折半查找引入二叉树这个概念:二叉树:是n个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树的特点,最多两颗子树,左右子树有顺序,如果只有一颗子树,是左子树还是右子树完全不一样。特殊二叉树斜树:所有结点都只有左子树的二叉树叫做左斜树。右叫右斜树。满二叉树:所有分支结点都存在左右子树,并且所有叶子都在同一层上。(整整齐齐)完全二叉树:满二叉树肯定是完全二叉树,完全二叉树不一定是满二叉树。(就是完全二叉树是满二

2021-02-08 11:54:07 898

原创 数据结构(6)树

树是n个结点的有限集。n=0时称为空树。在任意一排非空树中:(1)有且仅有一个特定的称为根的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、----------、Tm。其中每一个几何本身又是一棵树,并称为根的子树。树的定义一对多对于树的定义强调两点:1、n>0时根节点是唯一的,不可能存在多个根节点,别和现实中的大树混在一起,数据结构中的数只能有一个根结点。2、m>0时,子树的个数没有限制,但是他们一定是互不相交的。不是树结点分类

2021-02-07 11:16:03 204

原创 数据结构(5):串

串是由零个或多个字符组成的有限序列,又名叫字符串。串的基本操作和线性表是有很大差别的。线性表更关注的是单个元素的操作,出入,查找,删除。串中更多的是查找子串位置,得到指定位置子串,替换子串等操作。串的存储结构:分为顺序存储结构和链式存储结构。串的链式存储结构与线性表类似,由于串结构的特殊性,结构中每个元素数据是一个字符,如果简单的应用链表存储串值,一个结点对应一个字符,就会存在很大的空间浪费。因此,一个结点可以考虑存放多个字符,最后一个结点未被占满时,可以用“#”或其他非串值字符补全。当然

2021-02-07 09:00:24 74

原创 数据结构(4)栈与队列

栈是限定仅在表尾进行插入和删除操作的线性表。队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。栈的定义类似弹夹,先进去的后出来,后进去的先出来。很多类似的软件,比如Word、Photoshop等编辑软件中,都有撤销的操作,都是用栈的方式来实现的。栈是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。栈

2021-02-06 11:06:10 613

原创 数据结构(3)线性表:静态链表

静态链表对数组中使用过的,未使用的分量都有标记,做一个备用链表,每当进行插入时,便可以从备用链表上取得第一个结点作为待插入的新结点。静态链表就是类似打一个补丁,把一个元素补进去,但是不影响其他元素排队的顺序。(想要插进一个手拉手的队伍,那就把拉着手的两个人破开,你再去分别拉他们得手就可以了。)静态链表也是靠数据和下一个地址来配合存储的,所以可以这样静态链表的删除操作代码的意思是告诉计算机,“甲”已经离开了,“乙”才是第一个元素。如果是其他位置的,那就是,“甲”已经离开了,“乙”才是第三十

2021-01-27 11:10:48 223

原创 数据结构(3)线性表

线性表是零个或多个元素的有限序列。排好队的组织方式,知道谁在谁的前面,谁在谁的后面。1、线性表元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素有且只有一个前驱和后继(不能多也不能少)2、线性表强调是有限的,无限只存在于数学中。3、线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。4、非空表中每个数据元素都有一个确定的位置,称为位序。记住线性的就像一条线,不能有多的分支,线也不能断。在较复杂的线性表中,一个数据元素可以由若干个

2021-01-26 16:13:13 2255

原创 数据结构(2)算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令

2021-01-24 11:23:49 165

原创 数据结构(1)数据类型

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据之中存在相应的逻辑结构,相互的一种关系。集合结构:集合结构中的数据元素除同属一个集合外,它们之间没有其他关系。各个数据是 平等的线性结构:线性结构中的数据元素之间是一对一的关系。(像一个链条一样传递)**树形结构:**树形结构中数据元素存在一种一对多的层次关系,类似树状图。图形结构:...

2021-01-23 12:23:30 559

原创 如何理解extern关键字

主要用于C++和其他语言的混合编程,C语言不知处函数重载,编译之后的函数名依然是原函数名。C++支持函数重载,重载之后的函数名为原函数名+参数名。例如函数:bool max(int a,int b)编译之后,C中为max,C++中为max_int_int.C++中的使用:在C++头文件中调用C语言,使用extern"c"声明,extern"c"告诉编译器,按照C语言的格式编译和链接.extern还可以修饰变量和函数,例如 extern int g_int;就是声明这个变量或函数在其他文件中可见(意思

2021-01-18 11:31:30 153

原创 C++读书笔记:动态内存

了解动态内存在 C++ 中是如何工作的是成为一名合格的 C++ 程序员必不可少的。C++ 程序中的内存分为两个部分:栈:在函数内部声明的所有变量都将占用栈内存。堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存。...

2021-01-17 15:01:40 66

原创 C++读书笔记:命名空间

引入命名空间问题来解决,不同库中的函数可以重名这个问题,作为附加信息区分不同库中相同名称的函数,类,变量等等,使用了命名空间即定义了上下文,本质上,命名空间就是定义了一个范围。例如在计算机中,不同文件夹下可以出现同名文件。定义命名空间命名空间的定义使用关键字 namespace,后跟命名空间的名称,如下所示:namespace namespace_name { // 代码声明}为了调用带有命名空间的函数或变量,需要在前面加上命名空间的名称,如下所示:name::code; // co

2021-01-17 15:01:18 66

原创 C++读书笔记:模板

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。可以使用模板来定义函数和类,接下来让我们一起来看看如何使用。函数模板模板函数定义的一般形式如下所示:template <typename type> ret-type func-name(para

2021-01-17 15:00:56 103 2

原创 C++读书笔记:异常处理

异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw。1、throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。2、catch: 在您想要处理问题的地方,通过异常处理程序捕获异常。catch 关键字用于捕获异常。3、try: try 块中的代码标识将被激活的特定异常。它后面通常跟着一个或多个 catch 块。如果有一个

2021-01-17 09:33:52 90

原创 C++读书笔记:文件和流

iostream 标准库,提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型:数据类型 描述ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。ifstream 该数据类型表示输入文件流,用于从文件读取信息。fstream 该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件

2021-01-17 09:33:38 67

原创 C++读书笔记:接口(抽象类))

接口描述了类的行为和功能,而不需要完成类的特定实现。(比如开关,调节器等等这种东西)C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 “= 0” 来指定的,如下所示:class Box{ public: // 纯虚函数 virtual double getVolume() = 0; private: dou

2021-01-17 09:33:19 76

原创 C++读书笔记:数据封装

所有的 C++ 程序都有以下两个基本要素:1、程序语句(代码):这是程序中执行动作的部分,它们被称为函数。2、程序数据:数据是程序的信息,会受到程序函数的影响。封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。C++ 通过创建类来支持封装和数据隐藏(public、

2021-01-17 09:32:50 74

原创 C++读书笔记:数据抽象

数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于接口和实现分离的编程(设计)技术。让我们举一个现实生活中的真实例子,比如一台电视机,可以打开和关闭、切换频道、调整音量、添加外部组件(如喇叭、录像机、DVD 播放器),但是不知道它的内部实现细节,也就是说,并不知道它是如何通过缆线接收信号,如何转换信号,并最终显示在屏幕上。因此,可以说电视把它的内部实现和外部接口分离开了,无需知道它的内部实现原理,直接通过它的外部接口(比如电源按钮、遥控器、

2021-01-17 09:32:36 81

空空如也

空空如也

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

TA关注的人

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