自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 To String的几个作用

​ 生成一个toString方法,将你需要的内容整合好,使你调用这个方法时直接输出,是主方法中的输出语句中System.out.println(对象 **.**toString() );直接输出所需内容!

2024-04-26 22:03:34 664

原创 Java基础_22线程死锁,object类下面线程方法,生产者消费者

如果一个线程执行了sleep(睡眠)、suspend(挂起)等方法,失去所占用资源之后,该线程就从运行状态进入阻塞状态。死锁是一种状态,当两个线程互相持有对方的资源的时候,却又不主动释放对方的资源。当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。总结:两个线程,其中一个线程 对象.wait()方法,那么这个线程就会阻塞。守护线程依附于非守护线程。一个运行状态的线程完成任务或者其他终止条件发生时,该线程就切换到终止状态。

2024-04-16 21:13:14 1003

原创 Java基础_21进程__线程【重点】

当使用多个线程来访问同一个数据时,将会导致数据不准确,相互之间产生冲突,非常容易出现线程安全问题,比如多个线程都在操作同一数据,都打算修改商品库存,这样就会导致数据不一致的问题。所以我们用同步机制来解决这些问题,加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时进行操作。想办法解决,加同步锁,先讲了一个同步方法,发现一个线程进来以后,while循环是一个线程执行的。

2024-04-15 09:58:19 1068

原创 Java基础_20常用类相关的东西和枚举

回顾。

2024-04-14 11:02:25 551

原创 Java基础_19 IO流【重点】

需求: 从磁盘上面某一个1.txt文件,读取数据到内存 (使用的字节输入流)Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列。需求: c:/aaa/1.mp4 复制到 c:/bbb/2.mp4。可以将一个对象以一个字节序列的形式存到本地磁盘上面做持久化的操作!案例: 将一个字符串 我欲乘风归去 写入到c:/aaa/3.txt。图片 音频 视频 等都必须使用原始的字节流,无法使用字符流。需求: 将Java代码中某一个字符串数据写入到磁盘的4.txt。

2024-04-13 23:30:48 748

原创 Java基础_18File类【重点】_递归_IO流【重点】

只能借助于IO流操作,读取文件,图片,音频,视频等文件。获取当前文件夹下面所有的文件和文件夹的对象,返回值是File数组。案例: 从磁盘的C:/aaa/1.txt文件 将数据读取到Java代码中赋值给一个变量。获取当前文件夹下面所有的文件和文件夹的字符串。咱们电脑上面所有的文件(文本,图片,音频,视频)等都是可以进行读和写的!Io流在进行文件读和写的时候,其实是一字节一字节进行读和写的。File类sun公司封装好的一个类,专门处理磁盘的文件和文件夹的类。获取文件夹或者文件的名字。

2024-04-12 19:20:06 1047

原创 Java基础_17TreeSet和内部类和Map集合

刚才讲的是Integer和String类型存到TreeSet 没有报错,但是进行排序。在比较。这两个实现了一个接口叫Comparable接口,给类强加了整体的排序功能所以想要将Person类对象存到TreeSet要进行排序,在比较。实现Comparable接口将此对象与指定的对象进行比较以进行排序。返回一个负整数,零或正整数,因为该对象小于,等于或大于指定对象。有返回值的返回值是负数: person1小于person2 person1排在person2的前面。

2024-04-12 15:29:52 424

原创 Java基础_16LikedList[开发不用】_Object类_Set集合

/价格@Override//将name 和 price 两个值 进行hash计算变成一个具体的int类型的hahs@Override'}';System.out.println("phone1的hash值:" + phone1.hashCode());System.out.println("phone2的hash值:" + phone2.hashCode());Phone phone3 = new Phone("华为", 4567.2);

2024-04-11 16:17:12 581

原创 Java基础_15集合及其方法

学习Collection就是学习这个接口下面的方法,对象调用方法。List接口下面比Collection接口下面的方法更多!Collection 和List 我讲的都要记,明天默写!​ 2.数组封装的方法是比较少的。List是一个接口,是Collection的子接口。特征 List: 存的数据是有序的,可以重复的。真实的开发的时候,使用的是集合不是数组,为啥?集合和数组是一样的都是用来存储数据的!讲List下面的方法,只讲List独有的。​ 1.数组的容量是固定的。也是用来遍历数据的。

2024-04-11 09:06:09 438

原创 Java基础_14字符串的方法和权限修饰符__泛型【重点】

public 返回值类型 方法名字 (参数) {带有泛型的方案的语法格式public 返回值的类型 方法名字 (参数) {}无意义的占位符:可以是26个英文单词大写, 还可以是?开始中经常使用 T(Type) E(Element) K (key) V(value)?无参无返回值有参无返回值无参有返回值有参有返回值test(23);//T Intgertest("狗蛋");//T Stringtest('嘻');//泛型 代表各种类型的 广泛的类型。

2024-04-10 20:58:14 787

原创 Java基础_13多态、异常和String类

执行流程: 先看 try里面的代码 是否有异常,如果没有 直接跳过catch 接着执行代码。Exception: 异常 ,写Java代码的时候发生不可预期的效果。咱们可以在代码的异常处,抛出一个异常。它阻止了程序的正常的执行。以上的类是Java中专门处理Error和Exception的异常的类。同一个事件,在不同的对象操作事件的时候,会有不同的结果!Java代码的时候发生不可预期的效果。构造一个具有指定的详细消息的新的throwable。可以借助于Java封装好的异常的处理机制来解决。

2024-04-10 09:14:06 925

原创 Java基础_12接口【重点】和多态【重点】

5.自从jdk1.8之后,接口下面的方法有一些新的特性,方法可以带方法体只不过是默认(default修饰的)的方法,凡是带有方法体的方法,不需要必须重写的!//如果传的参数培根披萨就是生产培根披萨 如果传的是海鲜披萨就是生产的海鲜披萨。将子类的对象赋值给父类的引用。当不同的对象去完成时候,会产生不同的状态。方法的参数(形参)是父类的引用,但是调用方法的传的实参是 子类的真实对象。总的来说: 同一件事情,发生在不同的对象上面,会有不同的结果。咱们的电脑预留很多的接口,目的用来扩展硬件设备功能的。

2024-04-09 20:36:48 906

原创 Java基础_11方法的重载_super关键字_static关键字_final关键字_抽象类

在Java中,同一个类中有很多方法,方法的名字是可以一样的,但是参数列表不一样。1.如果一个类中有抽象的方法,那么这个类一定是抽象类。4.由于抽象类无法被实例化,咱们只能新建一个类去继承此抽象类,然后才能使用抽象类中的方法。在类中写了静态代码块,只要这个类被加载,静态代码块一定执行,早于对象创建。2.抽象的方法一定是没有方法体的方法,并且使用abstract修饰的。5.一定要重写抽象类中的抽象方法。但是在继承的时候在非抽象的类中一定要重写抽象方法的。足够的信息描述一个对象的时候,那么这个类就是抽象类。

2024-04-09 09:17:05 640

原创 Java基础_10类对象作为方法的参数和另外一个类的属性_继承

重写的目的: 子类是可以继承父类的非私有化的方法,但是有的时候,父类的方法满足不了子类的需求。重写的目的: 子类是可以继承父类的非私有化的方法,但是有的时候,父类的方法满足不了子类的需求。​ 2.子类有无参的构造方法,那么父类也必须有无参构造方法,不然编译不通过。​ 1.先执行父类的构造方法,然后再执行子类的额构造方法。​ 1.公开的和默认的成员变量,子类是可以通过继承使用的。​ 1.公开的和默认的成员方法,子类是可以通过继承使用的。​ 2.私有的成员方法,子类是无法使用的。

2024-04-08 20:40:26 650

原创 Java基础_09局部变量和成员变量_程序封装【重点】

​ 声明一个Cat类,属性 name age sex weight 属性是private修饰的 对属性进行赋值和取值。​ 在整这个类中要书写有参构造,通过有参构造进行赋值 在main主函数中取值。​ 对属性的封装 对方法的封装 对类的封装 等。1.在属性的前面加上private 修饰符。对属性进行赋值,然后再取值。定以在实体类中的大括号后面 咱们的属性。​ set方法是对属性赋值的方法。​ get方法是对属性取值的方法。今天主要讲对属性的封装。

2024-04-08 10:40:10 287

原创 Java基础_8类-对象-构造方法【重点】

​ 咱们上节课已经写过一个狗类,然后通过这个狗类创建(实例化)一个对象。但是类是用衍生出来对象的。​ 面向过程: 写的冒泡排序 选择排序都是面向过程。对象: 就是一个具体的实体。构造i代码块:也是对对象进行初始化的,功能和构造方法是一样的。但是大家想一个问题?类: 是对一起相似事物的统称。​ 构造方法: 无参构造方法和有参构造。无参和有参构造方法(对属性进行赋值)​ 可以用来描述事物的特征和行为。进行赋值,然后对象调用方法!构造方法是用来初始化对象的!无参构造方法和有参构造方法。

2024-04-07 18:52:33 322

原创 Java基础_数组的练习_冒泡排序算法

/需求:找出int数组中,最大值的索引下标//用来接收最大值的下标的变量/***/i++) {if (arr[maxIndex] < arr[i]) {//只要找到的maxIndex下标的最大值和后面的值进行比较i++) {[1,2,3,4,5,2] 找2的第一次出现的下标//3.需求:在指定的int数组中找出指定的数据第一个的下标//用来指定值记录下标的 打印-1De时候证明在数组中没有此数字/*** 执行流程自己写!!!*/

2024-04-07 10:13:03 506

原创 06Java基础_数组以及数组的内存分析

变量:​ 数据类型 变量名字 = 值;数组定义的语法格式:数据类型[] 变量名字 = {值1, 值2, 值3, ...};或者数据类型 变量名字[] = {值1, 值2, 值3, ...};//声明一个数组类型的数据String[] strs = {"狗蛋", "张三", "李四", "王五"};@15db9742//关于String数组打印的是内存地址 好不好?不好 咋办?//toString 将内存地址(看不懂)转为字符串(能看懂 对程序有友好)

2024-04-06 23:02:22 1001

原创 Java基础_方法的构成和break,continue关键字

​ 有返回值的方法,一般在main方法中,通过方法的调用将数据取出来而已。如果开发中出现了大量的重复的代码或者重复的功能?一般: 无返回值的方法 在声明方法的时候,就打印一下。​ 2.void 的意思是空的 无返回值的意思。​ 3.() 中没有写任何的东西 叫无参的意思。​ 4.方法的声明在类中,在main方法 的外边。逢7不打印,跳过带7的和7的倍数的 1~100。​ 1.方法的命名 和变量的命名一模一样。​ 5.方法的调用在main方法中调用。break: 终止 打断。

2024-04-06 13:35:53 420

原创 Java基础_成员变量和局部变量的区别?

成员变量存在内存的栈区;局部变量存在内存的堆区;

2024-04-05 20:00:00 158

原创 Java基础_三目运算符和循环结构

执行流程: 先判断表达式 的真假,如果表达式为true的话,将值1赋值给变量x。执行流程: 先执行表达式1,然后执行表达式2 进行判断 如果表达式2位true 执行 后面大括号中的代码。判断布尔表达式,如果表达式为true 的话,再次回到do 执行循环体,然后执行while后面的布尔表达式。​ 首先代码走到 do 执行do后面大括号中的 代码(循环体),然后执行while后面的布尔表达式,​ 如果代码执行到while以后,首先判读小括号中的布尔的表达式,如果布尔表达式为true。

2024-04-05 18:45:00 410

原创 Java基础_运算符和分支结构

执行流程: 如果碰到if后面的小括号中的表达式的值为true的时候,就执行对应大括号中的语句体。执行流程:首先进入if 判断if后面小括号中的表达式的值 如果为true 则执行后面大括号中的语句体。​ 注意: 如果条件1 为true的话,后面的条件就不再执行了,为啥?执行流程:判断表达式,如果表达式为true,执行语句体1。​ 注意: 条件1为false的话,已经确定整体为false,后面的条件就不再运行了。​ 两个都丢了 false || false ====》false。

2024-04-05 12:58:42 610

原创 构造方法和普通方法区别是啥?

在上面的示例中,Car类有一个构造方法用于初始化Car对象的实例变量,并且有一个普通方法startEngine用于执行特定的操作。构造方法的名称与类名相同,并且没有返回类型。在Java中,构造方法不显式声明返回类型,甚至不声明为void。构造方法用于初始化对象,当创建一个类的实例时会自动调用构造方法来初始化对象的状态。普通方法用于执行特定的操作或计算,并且可以根据需要调用多次。普通方法有自定义的名称,可以有返回类型和参数列表。

2024-04-04 19:37:08 271

原创 java中的一些变量等

目的: 将一个无意义的字符转为有意义的字符或者将一个有意义的字符转为无意义的字符。//num1 + num2 然后结果 赋值 num1。​ 数据类型: 对变量进行约束的 告知此时这个变量的值 只能是某一个范围。​ 在真实的开发中,无论是类的名字 还有变量的名字都有规范的。​ = :赋值号     将右边的数据赋值给了左边的变量。2.声明long类型的额数据的时候,在值的上面加L或者l。1.int是开发中最常用的,也是Java中默认的数据类型。​ \字符(有特殊意义的字符或者无特殊意义的字符)

2024-04-04 17:59:27 1026

原创 Java基础

标识符、数据类型、运算符分支结构、循环结构方法数组面向对象、面向对象三大特征常用类异常处理机制泛型、集合IO流操作多线程反射机制网络编程。

2024-04-04 17:47:07 869 2

空空如也

空空如也

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

TA关注的人

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