自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java多线程2

Executor:线程池顶级接口,只有一个方法ExecutorService:真正的线程池接口void execute(Runnable command):执行任务/命令,没有返回值,一般用来执行RunnableFuture submit(Callable task):执行任务,有返回值,一般用来执行Callablevoid shutdown():关闭线程池AbstractExecutorService:基本实现了ExecutorService的所有方法。

2024-08-15 08:19:28 578

原创 Java多线程

Thread类是Java提供的线程顶级类,继承Thread类可快速定义线程// 线程体:线程要完成的任务,要执行的代码@OverrideSystem.out.println("当前线程名称:" + this.getName() + ",当前线程的优先级别:" + this.getPriority());// 创建一个线程// 启动一个线程,进入就绪队列,等待获得CPU。

2024-08-12 08:35:42 921

原创 Java IO流

之前使用文件流、缓冲流读取文件只能按照字节、数组方式读取,最方便的也是按行读取,要想很方便的实现对各种基本类型和引用类型数据的读写,并保留其本身的类型;注意:使用对象流读写引用类型的数据,需要相应类实现Serializable接口,否则会提示异常,提示没有序列化,比如:java.io.NotSerializbleException;A1: 使用字节流,可能有图片、视频、音频等二进制文件。Q1: 使用字节流还是字符流。Q3: 涉及的技能点。

2024-08-07 14:52:46 1173

原创 Java集合其他内容和泛型

JDK 1.5引入泛型,即参数化类型方法定义和调用:定义方法时有形参,然后调用此方法时传递实参定义方法调用方法: add(10,20);泛型类的定义和创建对象在Java中,数据的输入/输入以流(stream)的方式进行;Java提供了各种各样流的类,用于获取不同种类的数据;程序中通过标准的方法输入输出数据;Java流一般位于java.io包中数据源data source,提供原始数据的媒介。常见:数据库、文件、其他程序、内存、网络连接、IO设备。

2024-08-06 19:54:35 674

原创 Java集合框架-Set和Map

/ 创建一个集合set对象Student stu = new Student(1, "wyb", "男", 59);Student stu1 = new Student(1, "xz", "男", 98);Student stu2 = new Student(1, "wyb", "男", 59);// 3Q1: 为什么HashSet、LinkedHashSet String重复,会保持唯一,而Student有重复,不会保持唯一。

2024-08-06 07:38:13 1065

原创 Java常用类和数据结构与算法

表示一组数据元素及其相互关系的,分为数据的逻辑结构和数据的存储结构数据结构 = 逻辑结构 + 存储结构 + (在存储结构上的)运算/操作线性表是n个类型相同数据元素的有限序列,通常记作(a0, a1,…, ai-1, ai, ai+1,…, an-1)相同数据类型:从a0到an-1的n个数据元素是具有相同属性的元素序列(顺序性):相同数据类型在内存中存储时,每个元素会占用相同的内存空间,便于后续的查询定位在线性表的相邻数据元素之间存在着序偶关系:即ai-1是ai的直接前驱,则ai是ai-1的直接后续。

2024-08-04 12:08:39 1267

原创 Java算法和集合

java集合框架提供了一套性能优良、使用方便的接口和类,位于java.util包中。存放在集合中的数据,被称为元素。折半查找又称二分查找,使用折半查找的查找表必须使用顺序存储结构且按关键字大小有序排列。功能:存储多个学生的分数。

2024-08-03 21:50:42 1289

原创 Java常用类

在开发中,经常用到的基本数据类型不是对象,但在实际应用中需要将基本数据转化成对象,以便于操作。为了解决这个不足,Java为每个基本数据类型设计了一个对应的类,这样八个和基本数据类型对应的类称为包装类。位于java.lang包中。

2024-08-01 22:48:12 1122

原创 Java异常

创建自己的异常类,从Exception类或他的子类派生一个子类即可。习惯上,定义的类应该包含默认构造器和带有详细信息的构造器。

2024-07-28 17:27:47 939

原创 Java面向对象编程

1. 类和对象1.1. 面向对象编程public class Person { String name; int age; public void eat() { System.out.println("eat"); } public void work() { System.out.println("work"); } public void rest(String site) { System.o

2024-07-28 16:24:26 684

原创 JavaME知识

作用:可以把src下的类进行清晰的划分,方便使用,可以解决同名问题注意:基本数据类型:八种数组:存储多个相同数据类型的有序集合3.4. 数组遍历forforeach:foreach循环中没有索引,不能通过中间变量修改数组的元素,当不需要使用数组索引,也不需要修改数组元素时使用foreach3.5. 数组的缩容(删除元素)移动元素好处:不需要创建新数组,省内存,快缺点:容易造成数组结尾有闲置元素位,需要一个单独变量来统计数组中有效元素的个数创建新的数组好处:不会有空余的元素位

2024-07-22 07:45:48 1243

原创 C++顶层const和底层const

顶层const可以表示任意的对象是常量,这一点对任何数据类型都适用。底层const则与指针和引用等复合类型的基本类型部分有关,比较特殊的是,指针类型既可以是顶层const也可以是底层const。的指针),const (常量) 是形容词,char (变量类型) 和 p (变量名) ,只要这样读,哪怕是初中生也分得清了。《C++primer》中写到:顶层const表示指针本身是个常量,底层const表示指针所指的对象是一个常量。感觉还是好难理解,那么,如何分辨顶层const和底层const呢?

2024-07-21 18:16:48 614

原创 C++多态

多态现象:如果有几个类似而不完全相同的对象,有时人们要求在向他们发出同一个消息时,他们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。C++中所谓的多态:指的是继承而产生的相关的不同类,其对象对同一消息会做出不同的响应多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性,可以减轻系统升级、调试和维护的工作量和复杂度。

2024-07-13 20:45:28 975

原创 C++继承与派生

类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程,就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。派生与继承,是同一种意义两种称谓。

2024-07-11 18:12:57 1183

原创 C++运算符重载

运算符重载的本质是函数重载。

2024-07-08 06:53:08 1190

原创 C++友元

采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依据提供类与外界间的但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要类的数据成员,这时可以将这些函数定义为该类的友元函数。除了友元函数外,还有友元类,统称为友元。,使得非成员函数可以访问类的私有成员。友元可以是一个函数,该函数称为友元函数,友元也可以是一个类,成为友元类。

2024-07-07 10:43:53 774

原创 C++类与对象

class 类名 {类名(形式参数) 构造体 }class AA(行参){}在类对象创建时,自动调用,完成类对象的初始化。尤其是动态堆内存的申请规则:1. 在对象创建时自动调用,完成初始化相关工作2. 无返回值,与类名同3. 可以重载,可默认参数4. 默认无参空体,一经实现,默认不复存在top = 0;class 类名 {~ 类名() 析构体 }class A~A() {}在类对象销毁时,自动调用,完成对象的销毁。尤其是类中已申请的堆内存的释放。

2024-07-06 21:34:25 1098

原创 C++封装

当单一变量无法完成描述需求的时候,结构体类型解决了这一问题。可以将多个类型打包成一体,形成新的类型,这是c语言中的封装但是,。所有操作都是通过函数的方式进行封装的。

2024-07-02 06:51:39 763

原创 C++对C的扩展

return 0;

2024-06-30 21:38:40 961

原创 C语言预处理

c文件中存在相互调用的关系,自包含可以免去了多余的前向声明DATE:进行预处理的日期("MMmm dd yyyy"形式的字符串蚊子)FILE:代表当前源代码文件名的字符串蚊子LINE:代表当前源代码中的行号的整数常量TIME:源文件编译时间,格式:“hh:mm:ss”func:当前所在函数名在打印调试信息时打印这两个宏__FILE__和__LINE__可以给开发者非常有用的提示int main()why_me();return 0;

2024-06-25 19:36:02 828

原创 C语言位操作

逻辑操作是一种整体的操作,而位操作是针对内部数据位补码的操作。逻辑操作只有真和假(0和非0),位操作按位论真假(1和0),运算也不同。

2024-06-25 07:55:21 844

原创 C语言文件

C语言把文件看作是一个字符的序列,即文件是由一个一个字符组成的字符流,因此c语言将文件也称之为文件流。当读写一个文件时,可以不必关心文件的格式或结构。

2024-06-23 18:37:15 1196

原创 C语言单向链表

int data;// 数据域,要存储的数据// 指针域,指针指向下一个节点,下一个节点的类型是什么样子的,就是本类型,指向就是存储了谁的地址} Node;// 遍历逻辑// 当前指针:指向第一个元素,并且不为空// 打印第一个元素的值,同时能得到第二个元素的地址// 第二个元素的地址,赋值给当前指针int main()// 此节点均在栈上Node *head;head = &a;// 1 开头a.data = 1;// 2 内容b.data = 2;c.data = 3;

2024-06-21 17:40:55 613

原创 C语言共用体和枚举

union 共用体名成员列表;char c;short s;int i;}myun;enum 枚举类型 {常量列表 };定义enum DAYMON=1, THU, WED, FRI, SAT, SUN // 提供一组可选的常量枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整形常量,元素之间用逗号隔开第一个枚举成员的默认值为整数的0,后续枚举成员的值在前一个成员上加1可以人为设定枚举成员的值,从而自定义某个范围内的整数枚举型是预处理指令#define的替代123。

2024-06-20 07:07:11 1106

原创 C语言结构体

struct是构造新类型的关键字,可以构造任意的构造类型先用原类型定义变量在定义前加typedef将原变量的名字,改成需要的类型名int8 i8;int16 i16;int32 i32;int64 i64;ARRAY arr2;return 0;int num;char sex;} Stud;

2024-06-19 08:30:03 1252

原创 C语言内存管理

程序:经源码编译后的可执行文件,可执行文件可以多次被执行。比如打开vscode进程:程序加载到内存后开始执行,至执行结束,这样一段时间概念;比如每次打开vscode,都是一个进程,每次关闭vscode表示该进程结束程序是静态概念,而进程是动态/时间概念。

2024-06-17 08:29:25 618

原创 C语言字符串

把一类功能的函数写到一个xxx.c里面去 => 实现把xxx.c中所有的函数声明写到xxx.h中去 => 声明在xxx.h中加入,避免头文件重复包含的语句 => 把1作成库,libmystr.so,给别人提供mystring.h就可以了将xxx.h包含到xxx.c中去,=> 自包含,自实现的用""在main函数中,包含xxx.h,谁用谁包含main.cint main()return 0;*str++;len++);

2024-06-03 10:06:52 945

原创 C语言变量/作用域/生命周期/修饰符

a++;// 不同作用域内可以重名,同一作用域内则会发生重定义int main()int a = 5;foo(a);

2024-05-29 20:01:45 330

原创 C语言函数

自顶向下,逐步细化最上面的main代表了一个函数,下面的abcdefghig都是一个个函数。

2024-05-28 19:07:41 512

原创 C语言指针

指针让c语言更像是结构化的底层语言,所有在内存中的数据结构均可用指针来访问。

2024-05-28 13:50:18 1066

原创 C语言变量,常量,数据类型,数组

C语言中,单引号包含的是字符,双引号包含的叫字符串。

2024-05-24 21:23:12 740

原创 C语言数据类型,类型转换

当隐式类型转化不能满足时,就需要强制类型转化。格式:(类型)待转表达式。整形和实形之间相互赋值。

2024-05-24 21:20:01 383

原创 进制转换,补码

补码计算结果: 10000 0010 (注意:注意:这里结果是 9 位,因为在进行加法时最高位进位了。二进制 0000 0010最高位为0表示是正数,正数的补码、反码、原码一样,所以补码二进制 -> 转成十进制为:2。方法:用十进制的数,除以要转换的位数取余数,最后的结果从最后一个余数读到第一个。反码:正数的反码和原码一样,负数的反码除最高位符号位外,其他位都取反。二进制的三位:就是一位八进制,二进制的四位:就是一位十六进制。和 8 - 10 =?10 - 8 = 10 + (-8) 的计算。

2024-05-24 21:18:38 423

原创 C语言中二维数组和数组名的二意性

二维数组的本质,也是一维数组,一维数组中的每个元素,又是一个一维数组声明/定义:打印的地址都是相同的,可以打印二维数组中任何单个元素的值,但当打印数组名(如 a 或 a[0])时,您得到的是地址,因为数组名在大多数情况下会被转换为指向数组首元素的指针。1.2. 存储二维数组是行列矩阵,他在内存中存储的是一维的,按行顺序存储输入一个4*4的二维数组,并输出该数组的主对角线和次对角线上的元素主对角线规律:行和列的索引值是相同的i==j次对角线规律:行的索引值+列的索引值=3将一个矩阵4*4进行转

2024-05-23 20:48:24 991

原创 C语言一维数组,数组的选择排序和二分查找

折半查找(二分查找):前提:查找表的数据是线性结构保存的,还要求查找表中的数据由小到大有序排列。变长数组:用整形变量或表达式声明或定义的数组,变长数组在生存期内的长度是固定的。线性查找:查找到第一个匹配的元素即刻返回。起始位置,移步位置,终止位置(范围)优化算法:比而不换,只记下标。

2024-05-23 20:41:56 218

空空如也

空空如也

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

TA关注的人

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