- 博客(30)
- 收藏
- 关注
原创 Java——集合框架
不仅实现了 List 接口,还实现了 Queue 接口,可以用作栈的实现,也可以用作队列的实现,底层使用链表,查询效率低,增加和删除效率高,线程不安全。底层使用哈希表+双向链表实现,哈希表实现快速的查找操作,双向链表用来维护插入顺序或者访问顺序,因此是有序的,线程不安全,key 可以为 null 值。底层使用红黑树,元素唯一,正常情况下不能有 null 值,但在重写 Comparable 接口后,可以有 null 值。底层使用数组+链表+红黑树,元素无序,唯一,线程不安全,效率高,可以存储 nul 元素。
2024-08-15 21:42:09
262
原创 Java——多线程
一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务多线程时多任务的一种特别的形式,但多线程使用了更小的资源开销所谓进程就是操作系统分配的内存空间和一个或者多个线程一个线程不能独立存在,必须是进程的一部分,一个进程一直运行,直到所有的非守护线程都结束运行后才能结束多线程能够满足编写高效率的程序来达到充分利用 CPU 的目的。
2024-07-20 23:30:02
1060
原创 Java——集合(Queue)
除了基本的Collection操作外,队列还提供其他的插入、提取和检查操作。每个方法都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null或false,具体取决于操作)。插入操作的后一种形式是用于专门为有容量限制的Queue实现设计的;在大多数实现中,插入操作不会失败队列通常(但并非一定)以FIFO先进先出)的方式排序各个元素。不过优先级队列和LIFO队列(或堆栈)例外,前者根据提供的比较器或元素的自然顺序对元素进行排序,后者按 LIFO。
2024-07-17 19:16:43
866
原创 Java——IO流
流是一个抽象的概念,它是一串连续动态的数据集合Java.io 包中几乎包含了所有操作输入和输出需要的类,同时也支持很多格式,比如:基本类型,对象,本地化字符等io 包中主要包括四大抽象类,分别是Writer其中 Writer 和OutputStream 属于输出流,InputStream和Reader 属于输入流,类名中包含Stream 的都是字节流,不包含的都是字符流,大部分时候都是使用的这四大抽象类的子类。
2024-07-17 19:13:34
506
原创 MySQL——基础命令
数据库分为关系型数据库和NOSQL型数据库,其中关系型数据库有Mysql,SQL server ,oracle, PostgreSQL等,NOSQL型数据库有Redis,MongoDB,hive , hbase等。
2024-07-02 18:22:57
1088
原创 Java——集合(List)
由于集合容器有很多,每个容器都有自身的数据存储结构,即每个容器自身最清楚自己中数据是如何存储的,容器这么多,每个容器数据存储又不相同,这时就在它们之间找取出元素的共性进行了抽取,抽取出集合容器取出元素的共同特点。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代3.List。
2024-06-24 17:34:59
722
原创 Java——异常
Java中已经帮我们提供非常多的异常,如果这些异常仍然不能满足我们开发需求,那它还支持自 定 义 异 常。要 自 定 义 异 常 , 我 们 需 要 编 写 一 个 类 , 让 这 个 类 继 承Exception或 者 RuntimeException 类。并在这个类中定义一个属性,同时调用父类中的构造方法@Overridetry {show();System.out.println("你好呀");
2024-06-21 23:01:47
853
原创 Java——泛型
泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。
2024-06-21 22:14:38
202
原创 Java——枚举
注意:枚举中的构造方法是私有的Red(1, "红灯"), Green(2, "绿灯"), Yellow(3, "黄灯");return num;1.需要使用 enum 关键字修饰,被 enum 关键字修饰的类是 Enum 类的子类2.枚举中每一个元素都是枚举类的对象或者叫实例对象3.枚举类中的元素需要定义在第一行,多个之间用逗号分隔,最后的分号可以加上,也可以不用4.枚举类中有构造方法5.枚举类可以实现接口,同时需要每个元素重写接口中的方法。
2024-06-21 21:56:23
315
原创 Java——内部类
将类写在其他类的内部,可以写在其他的成员位置和其他类的局部位置,这时写在其他类内部的类就称为内部类,简单来说,内部类就是编写在一个类的内部的类,而外部这个类叫外部类。
2024-06-21 16:21:09
269
原创 Java——接口
/加//减//乘//除上述代码中都是使用 abstract 关键字修饰的抽象方法同时接口中的所有方法都是公有的方法,因此 public 关键字也可以去掉//加//减//乘//除。
2024-06-08 16:39:37
291
原创 Java——抽象类
在上面的代码中,我们在父类中定义了一个 fly 方法,而子类中又重写了这个方法,最终输出的结果也是子类中重写后的结果,那么说明父类中的这个方法是否实现对于子类来说毫无意义,既然父类中的方法没有实现的意义,那么我们就可以只需要父类中声明这个方法而无需去实现,这个时候就需要使用抽象类了。
2024-06-06 20:57:48
215
原创 Java——final关键字
final 这个关键字可以修饰类、属性和方法,被 final 修饰的类是一个终结的类,不能被继承;被 final 修饰的属性就变为常量;被 final 修饰的方法不能被重写。
2024-06-06 16:07:34
218
原创 Java——继承
在Java中通过 extends 关键字来让两个了产生关系后,那么这两个类就具有了继承作用,假设类A继承了类B,那么类A就会具有类B的相应属性的方法,这个关系我们通常叫父子关系,类A叫子类,类B叫父类,也可以叫类A为派生类,类B叫基类。
2024-06-03 21:46:39
152
原创 Java——static关键字
这个关键字时一个修饰符,它可以修饰成员变量和成员方法,也可以修饰内部类被它修饰的成员变量叫做静态变量,修饰的方法叫做静态方法静态变量和静态方法都可以通过 类名. 的方式来访问注意:在程序中不能都用 static 关键字来修饰属性和方法。
2024-05-29 22:01:42
297
原创 Java——this关键字
运行这个程序后,输出的结果为: name = 张三, age = 18运行结果为:name = null,age = 0从结果可以看到,有参构造器并没有成功拿到我们赋给 name 和 age 的值,为什么呢?之所以没有赋值成功,是因为在 Person 有参构造方法中没有明确指定把 name 参数的值赋给成员变量中的 name ,所以它默认就是自己赋值给自己,而并没有赋给成员变量,所以输出的就是成员变量的默认值。
2024-05-29 21:48:03
157
原创 Java——构造器
构造器也叫构造方法,它的定义格式为 [ 访问修饰符 ] 类名 ( 参数列表 ) { } ,也就是说,构造器的方法名称与 类名称必须相同,并且该方法没有返回值类型。在默认情况下,JVM(Java 虚拟机)会在程序运行时给我 们提供一个没有参数的构造器, 叫默认构造器。如果我们自己提供了构造器,那么 JVM 就不再帮我们默 认构造器了。构造器就是方法名称和类名称相同,没有返回值的方法就叫构造器注意:当程序中提供了任意一种构造方法后。
2024-05-29 21:33:57
140
原创 Java——封装
所谓为封装,就是把类中的属性进行私有化,不让外界访问,然后提供公有的方法来对这个属性进行操作,这就是封装,封装是面向对象的三大特性之一。
2024-05-29 19:07:15
186
原创 Java——类与对象
类是一类事物,它是看不见摸不着的。例如空,人,动物。一个类由以下几个部分组成:名称:用来标识这类事物,如:Person属性:用来描述这类事物,如:nameagegender方法:用来定义这类事物的形为,如:runeat.....在一个类中,上面的三个组成部分中至少有一个名称,其它两个可以没有。3.什么是对象对象是具体的,看得见摸得着的,它是类的一个实例。它是类通过 new 关键来产生的一个对象。例如:学 生、小猫4.类和对象的关系是什么。
2024-05-27 23:07:15
153
原创 Java——数组
数据类型[ ] 数组名称 = new 数据类型 [ 数组长度 ]数据类型 数组名称 [ ] = new 数据类型 [ 数组长度 ]
2024-05-27 18:49:35
311
原创 Java——常用类
int indexOf(String str, int fromIndex) :返回指定子字符串在此字符串中第一次出现处的索引,从 指定的索引开始。int indexOf(int ch, int fromIndex) :返回在此字符串中第一次出现指定字符处的索引,从指定的索 引开始搜索。String substring(int beginIndex) :返回一个新的字符串,它是此字符串的一个子字符串。
2024-05-25 21:31:48
444
原创 Java——流程控制语句
两种循环是通用的,但是,在一般情况下,如果可以确认循环次数,会选择for循环;注意:循环一定有一个出口用于结束循环执行,否则会导致死循环,不手动停止,程序会不断占用内存,直至溢出。2.do...while 循环则不同,就算循环条件为。1.continue关键字只能用在循环中,当循环执行。到这个关键字时,就会结束当次循环,进入到下一次循环中。流程控制语句就是对程序进行分支,判断,循环等操作。当在循环中使用时,是退出它所在的循环,时才会执行循环体中的代码,而循环条件为。,它的循环体也会执行一次。
2024-05-24 15:22:37
182
原创 Java——运算符
:两边都为true,结果是true。两边只要有一个false。结果必然是false。| :两边都为false,结果是false。两边只要有一个true。结果必然是true。两边相同为false。++i:表示先加1再赋值给指定变量。i++ :表示先赋值再自己加1。运算符 ++ 和 --i--:表示先赋值再减。--i:表示先减再赋值。
2024-05-22 19:06:38
224
1
原创 Java——基本数据与运算
注意:byte 不能转换为 short,char 不能转换为 byte 和 short ,boolean 也不能转换为 int。byte开辟1个字节的空间,short开辟2个字节空间,int开辟4个字节空间,long开辟8个字节空间。注意:向下转换必须是强制转换,可能会引起精度损失,同时,两个没有关系的不能进行向下转换。:String 是一个类,是一个字符串,使用 " " 括起来,连接字符串使用 +double开辟8个字节的空间,float开辟4个字节 的空间。整数常量分为正数,零,负数。
2024-05-22 18:52:56
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人