自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言基础——数据类型

(1)常量:在程序运行过程中,其值不可改变的量(2)变量:在程序运行过程中,其值可以改变的量。

2023-09-18 17:16:42 322

原创 Qt、Qt Creator下载、安装

Qt是一个跨平台应用开发框架。Qt Creator是一个跨平台的集成开发环境(IDE),集成了Qt所提供的功能,可以单独下载使用,也可以结合Qt组合使用。

2023-07-31 08:47:37 8595 4

原创 VsCode配置C/C++环境

gcc(GNU Compiler Collection)是由GNU项目开发的开源编译器集合。g++是gcc编译器中用于编译C++程序的工具。gdb是用来进行程序调试的。

2023-07-29 14:30:47 2122

原创 C语言基础——关键字

【代码】C语言基础——关键字。

2023-07-29 11:17:51 230

原创 嵌入式软件—RK3568开发环境搭建

(1)通过网络实现不同设备之间的文件共享(2)实际应用场景:开发板与Ubuntu上的文件进行共享(3)NFS服务器:在虚拟机Ubuntu上安装,建立/home/nfs这个目录,并与开发板共享(4)NFS客户端:开发板本地目录挂载到NFS服务器上的/home/nfs目录下,即可实现开发板本地和远程NFS服务器的文件共享。

2023-07-27 21:03:44 1668

原创 JDBC连接池、JDBCTemplate

JDBCTemplate

2022-08-13 08:00:38 865 1

原创 JDBC(Java Database Connectivity)

Java数据库连接

2022-08-12 22:58:54 343

原创 MySQL多表、事务

多表查询

2022-08-12 01:23:53 494

原创 MySQL约束

约束

2022-08-12 01:04:01 151

原创 SQL(Structured Query Language)—结构化查询语言

SQL

2022-08-12 00:21:11 645

原创 Java进阶—Junit单元测试、反射、注解

Junit、Reflect、Annotation

2022-08-11 23:37:14 714

原创 双系统安装——Windows10安装Ubuntu18.04

Ubuntu双系统安装

2022-08-08 16:42:20 1477 4

原创 递归-回溯算法

一、递归-回溯算法1.递归的思想递归就是方法自己调用自己,每次调用的时候传入不同的变量2.递归的原理1)每执行一个方法,就在【栈内存】中分配一块空间,该空间是独立的。2)如果是【基本数据类型】,则每块空间中的变量都是局部变量,是相互【独立】的3)如果是【引用数据类型】,则每块空间中的变量是【共享】的,因为存的是地址值,new出来的对象都存放在【堆内存】中并分配一个【地址值】,方法执行的时候,会根据栈空间中保存的变量地址值,在堆内存中找到同一个变量,因为地址值指向的都是同一个。4)每次递归后,条

2022-03-11 13:33:58 3657

原创 数据结构—栈

一、栈的介绍1.1 栈是一个先入后出的有序列表。1)数据的添加和删除都在同一端,即入口和出口是同一个2)出口称为【栈顶】,另一端就称为【栈底】1.2 Java Vector类1)Vector 类实现了一个动态数组。和 ArrayList 很相似,但是两者是不同的2)Vector 是同步访问的3)Vector 包含了许多传统的方法,这些方法不属于集合框架4)Vector 主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。5)系统栈Stack就是用Vector实现的

2022-03-06 00:32:32 328

原创 数据结构—链表

一、 链表简介链表是有序的列表,存储方式是链式存储特点1)链表是以节点的方式来存储2)每个结点包含data域,next域(指向下一个结点)3)链表的各个结点不一定是连续存储的4)链表分为【带头结点】的链表和【没有头结点】的链表,根据实际需求来确定。二、单向链表1.添加节点1)不考虑节点的编号顺序时 1)借助辅助指针temp找到当前链表的最后结点 2)将最后一个结点的next域指向一个新的结点2)考虑节点编号顺序时 因为是单链表,所以我们找的辅助指针temp是位于添加

2022-03-05 22:40:44 484

原创 数据结构—队列

一、队列队列是一个【有序】列表,可以用【数组】或是【链表】来实现。如果是用数组实现的,就是顺序存储:地址值是连续的。如果使用链表实现的,就是链式存储:地址值不一定是连续的。二、数组实现队列队列结构包含三个变量:front(头部)、rear(尾部)、maxSize(队列最大容量)2.1 普通队列初始值:rear = front = -1列满:rear == maxSize - 1列空:rear == front出队列:1.front++2.return arr[front]入队

2022-03-05 18:40:47 457

原创 数据结构—稀疏数组

一、稀疏数组稀疏数组就是压缩后的数组,方便存储。二、需求分析1.将原始二维数组,转换成稀疏数组2.将转换后的稀疏数组保存到磁盘3.读取磁盘中的用于保存稀疏数组的文件,并恢复稀疏数组4.根据恢复的稀疏数组,转换为原始二维数组三、Java代码实现public class SparseArray { public static void main(String[] args) throws IOException { //创建一个原始的二维数组11*11

2022-03-05 17:04:05 246

原创 Java进阶—Stream流、方法引用

一、Stream流1.Stream解决集合类库的弊端Java8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。几乎所有的集合(如Collection接口或Map接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必须的添加、删除、获取外,最典型的就是集合遍历。循环遍历的弊端:Java8中的Lambda让我们可以更加专注于做什么(What),而不是怎么做(How),此前已经结合内部类进行了对比说明。对于采用

2022-02-09 20:04:26 1378

原创 Java进阶—函数式接口

一、函数式接口函数式接口在Java中是指:有且仅有一个抽象方法的接口,接口中可以包含其他的方法(默认,静态,私有)函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,java中的Lambda才能顺利地进行推导。语法糖:“语法糖”是指使用更加方便,但是原理不变的代码语法。例如在遍历集合时使用的for-each语法,其实底层的实现原理仍然是迭代器,这便是“语法糖”。从应用层面来

2022-02-09 18:27:49 2203

原创 Java进阶—网络编程、TCP通信

一、网络编程入门1.1软件结构C/S结构:全称为Client/Server结构,是指客户端和服务器结构。例如QQ、微信等软件。B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。例如谷歌浏览器、火狐浏览器等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。1.2网络通信协议1.2.1网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,

2022-02-09 17:09:45 175

原创 Java进阶—缓冲流、转换流、序列化流、打印流

一、缓冲流缓冲流也叫高效流,是对四个基本的FileXxx流的增强,所以也是4个流,按照数据类型分为:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理:在创建流对象是,【会创建一个内置的默认大小的缓冲区数组】,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。1.1、字节缓冲输出流java.io.BufferedOutputStream extends Out

2022-02-09 15:12:45 438

原创 Java进阶—字节流、字符流

一、IO流I:input 输入(读取),即把硬盘中的数据,【读取】到内存(临时存储)中使用 O:output 输出(写入),即把内存中的数据,【写入】到硬盘(永久存储)中保存 流:数据(字符,字节),1个字符=2个字节,1个字节=8bit(8个二进制位)IO流的最顶层的父类:字节流: 字节输入流:InputStream 字节输出流:OutputStream 字符流: 字符输入流:Reader 字符输出流:Writer二、字节输出流1

2022-02-09 11:56:21 298

原创 Java进阶—File类、递归、过滤器

一、java.io.File类:文件和目录路径名的抽象表示形式java把电脑中的文件和文件夹(目录)封装成为了一个File类,我们可以使用File类对文件和文件夹进行操作我们可以使用File类的方法: 创建一个文件/文件夹 删除一个文件/文件夹 获取文件/文件夹 判断文件/文件夹是否存在 对文件夹进行遍历 获取文件的大小 File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法重点: file:文件 direc

2022-02-08 17:14:20 451

原创 Java进阶—函数式编程

一、匿名内部类的好处与弊端一方面,匿名内部类可以帮我们省去实现类的定义;另一方面,匿名内部类的语法——确实太复杂了!1.语义分析:仔细分析该代码中的语义,Runnable接口只有一个run方法的定义: public abstract void run();即制定了一种做事情的方案(其实就是一个函数): 1.无参数:不需要任何条件即可执行该方案 2.无返回值:该方案不产生任何结果 3.代码块(方法体):该方案的具体执行步骤2.同样的语义体现在Lambda语法中,要

2022-02-08 15:42:47 349

原创 Java进阶—并发与并行,线程和进程

一、并发与并行1.并发指两个或多个事件在同一个时间段内发生。例如在某一个时间段内,CPU来执行任务1,然后再另一个时间段内,CPU执行任务2.任务1和任务2交替执行。相当于一个人吃两个馒头。【即并发是交替执行】。2.并行指两个或多个事件在同一时刻发生(同时发生)。相当于两个人吃两个馒头。【即并行是同时执行】。3.并行的速度要比并发快二、线程和进程1.进程指【一个内存中运行的应用程序】,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统

2022-02-08 15:20:41 314

原创 Java进阶—异常

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

2022-02-08 14:26:03 110

原创 Java进阶—Map集合

一、Map集合1.Collection接口java.util.Collection:只有一个泛型。Collection接口定义了【单列集合】规范,每次存储【一个】元素,单个元素Collection中的集合,元素是【孤立存在】的(理解为单身),向集合中存储元素采用一个个元素的方式存储。2.Map接口java.util.Map<K, V>:有两个泛型:K:此映射所维护的键的类型V:映射值得类型public interface Map<K, V>: 将键映射到

2021-10-27 00:13:33 150

原创 Java进阶—数据结构、List、Set、可变参数、Collections

一、数据结构1.概述常见的和集合相关的数据结构:栈、队列、数组、链表和红黑树。2.栈(Stack)栈:stack,又称为堆栈,它是运算受限的线性表,其限制是仅允许在【表的一端】进行插入和删除操作,不允许再其他任何位置进行添加、查找、删除等操作。【先进后出】入口和出口在集合的【同一侧】存储元素到集合:入/压栈(从栈顶到栈底)取出集合中元素:出/弹栈(从栈底到栈顶)例如: 入栈:123 出栈:3213.队列队列:queue,简称队,它同堆栈一样,也是一种运算受限的线性

2021-10-26 22:34:31 254

原创 Java进阶—Collection集合、Iterator、增强for、泛型

一、Collection集合1.概述集合是java中提供的一种容器,可以用来存储多个数据。java.util.Collection接口:所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法。任意的单列集合都可以使用Collection接口中的方法。2.共性的方法- public boolean add(E e):把给定的对象添加到当前集合中- public void clear():清空集合中所有的元素 - public boolean remove(E e):把给定的对象

2021-10-25 22:33:14 133

原创 Java进阶—Object&Objects、Date、DateFormat&SimpleDateFormat、Calendar、System&StringBuilder、包装类

一、Object类1.概述类Object是类层次结构的根类。每个类都使用Object作为超类(父类)。所有对象(包括数组)都实现这个类的方法、一个类都会直接或间接的继承自该类。Object类中的toString()方法,默认打印的是对象的地址值。如果希望打印对象的属性,则需要覆盖重写该方法。2.toString()方法直接打印对象的名字,其实就是调用对象的toString方法。看一个类是否重写了toString方法,直接打印这个类对应对象的名字即可:如果没有重写toString方法,那么打印

2021-10-25 22:19:36 171

原创 Java基础—final关键字、权限和内部类、成员变量类型

一、final关键字1.final概述final关键字代表最终、不可改变。常见的用法:1.可以用来修饰一个类2.可以用来修饰一个方法3.可以用来修饰一个局部变量4.可以用来修饰一个成员变量2.final修饰一个类格式:public final class 类名称{ // ...}含义:当前这个类不能有任何的子类。(太监类)即使用final关键字修饰一个类之后,不能再使用一个final类来作为父类注意事项:一个类如果是final的,那么其中所有的成员方法都

2021-10-25 14:46:56 384

原创 Java基础—接口、多态性、对象的向上/下转型

一、接口1.接口概念生活中的接口就是一种公共的规范标准,由此引申出代码中的接口:接口就是多个类的公共规范。接口是一种【引用数据类型】,其中最重要的内容就是抽象方法。基本数据类型:byte、short、int、long、float、double、char、boolean(四类八种),除此以外的都是引用数据类型。2.接口的内容1.常量(成员变量) 成员变量其实就是常量,格式:[public] [static] [final] 数据类型 常量名称 = 数据值;(中括号表示可以省略不写) 注

2021-10-25 10:38:35 370

原创 Java基础—继承性、super关键字、this关键字和抽象类

一、继承性1.继承继承是多态的前提,没有继承就没有多态。继承更像是师徒关系一样,继承主要解决的问题是:【共性抽取】父类:也叫做基类、超类子类:也叫做派生类子类可以拥有父类的“内容”子类还可以拥有自己专有的新内容2.设计原则对于已经投入使用的类,尽量不要进行修改。推荐定义一个新的类,来重复利用其中共性内容,并且添加改动新内容。重复利用共性内容:继承添加修改新内容:覆盖重写3.Java继承的特点1.Java语言是【单继承】的。也就是说一个类的直接父类只能有唯一一个。class

2021-10-24 23:35:56 209

原创 Java基础—String类、static关键字、Arrays类、Math类

一、java.lang.String1.字符串String类代表字符串,程序当中所有的双引号字符串,都是String类的对象。2.字符串的特点1.字符串的内容永不可变,字符串是常量。【重点】2.因为字符串不可改变,所以字符串是可以【共享使用】的。(共享使用可以节省内存)3.字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。3.创建字符串的方式...

2021-10-24 19:06:02 200

原创 Java基础—Scanner类、匿名对象、Random类和ArrayList类

一、API概述API(Application Programming Interface),应用程序编程接口。相当于一本书,里面介绍了各种类的使用说明,其中类的底层实现代码封装了。二、java.util.ScannerScanner类的功能:实现键盘输入数据到程序中【引用类型】的使用步骤:1.导包(写在package语句后,public class语句前) import 包路径.类名称 如果需要使用的目标类,和当前类位于同一个包下,可以省略导包语句。 只有java.lang包下的内

2021-10-24 18:46:43 128

原创 Java基础—类和对象、封装、构造方法

一、类和对象1.类是一组相关属性和行为的集合,可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。(就是对现实世界事物的一种模拟)属性:就是该事物的状态信息行为:就是该事物能够做什么。2.对象对象:是一类事物的具体体现。对象是类的一个实例,具有该类事物的属性和行为。3.类和对象之间的关系类是抽象的,对象是具体的;类是一个模板,对象是类的一个实例。...

2021-10-22 22:38:04 245

原创 Java基础—数组

一、数组的概念数组就是一种容器,可以同时【存放多个】数据值。区别于变量:变量一次只能【存放一个】值。所以数组用于【存储多个变量】,但是类型必须是一致的。二、数组的特点1.数组是一种引用数据类型2.数组当中的多个数据,类型必须统一3.数组的长度在程序运行期间不可改变三、数组的初始化初始化就是在内存当中创建一个数组,并向其中富裕一些默认值1.动态初始化#动态初始化是【指定长度】数据类型[] 数组名称 = new 数据类型[数组长度]【含义解析】:左侧数据类型:即数组当中

2021-10-22 17:01:33 162

原创 Java基础—流程控制语句

一、顺序结构顺序结构就是指代码的执行顺序是由上到下顺序执行的。二、分支结构1.if语句1.1单if语句格式: if(关系表达式){ 语句体; }执行流程: 1.首先判断关系表达式看其结果是true还是false 2.如果是true就执行语句体 3.如果是false就不执行语句体1.2if…else语句格式: if(关系表达式){ 语句体1; } else { 语句体2; } 执行流程: 1.首先判断关系表达式看其结果是true还是false

2021-10-12 17:22:14 52

原创 Java基础—方法

一、方法的概念1.方法就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用。2.好处提高了代码的复用性,解决了代码冗余的现象。3.定义方法的格式public static void 方法名称(){ 方法体}方法名称的命名规则和变量一样,使用小驼峰。方法体: 也就是大括号当中可以包含任意条语句。4.如何调用方法格式:方法名称();5.注意事项1.方法定义的先后顺序无所谓。2.方法的定义不能产生嵌套包含关系。

2021-10-12 16:32:47 105

原创 Java基础—运算符

一、运算符1.运算符:进行特定操作的符号2.表达式:用运算符连起来的式子叫做表达式3.算数运算符:+、-、/、%、++、–4.注意事项:1.当运算中有不同的数据类型的时候,打印的结果是数据类型范围较大的一个。即int + double ---> double + double ---> double2.常量与常量之间、变量与变量之间、常量与变量之间都可以进行数学运算3.对于整数表达式,除法是整除,结果取得是商4.只有对于整数的表达式,取余运算符才会有意义,结果取得是余数。

2021-10-12 16:22:24 92

空空如也

空空如也

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

TA关注的人

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