自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 同步关键字synchronized

因此在“互斥同步”这四个字里面,互斥是因,同步是果;但当两个线程同时访问这段代码时,如果某种商品只有1件库存了,则第一个程将该商品卖出,第二个线程也已经执行完判断是否有库存的操作,于是也出售,这样商就重复出售了,这就是丢失修改的情况。而运行时窗口1和窗口2有时会同时出售同一件商品,这是因为这些线程同时访问共享数据,没有进行同步控制,看可以进行对方法同步或对代码块同步进行改进。原子性:使用synchronized实现了同步,同步实现了原子性,保证了被同步的代码块在同一时间只有一个线程在执行。

2023-06-18 22:34:18 167

原创 Java多线程

在现代操作在运行一个程序时,会为其创建一个进程。操作系统中调度的最小单位元是线程,也叫轻量级进程,在一个进程里可以创建多个线程,这些线程都拥有各自的计数器,堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。因此我们可以这样理解:进程: 正在运行的程序,是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。线程: 是进程中的单个顺序控制流,是一条执行路径 一个进程如果只有一条执行路径,则称为单线程程序。

2023-06-11 20:46:50 93

原创 文件的读写与复制——输入输出流

在java中所有数据都是使用流读写的。流是一组有序的数据序列,将数据从一个地方带到另一个地方。。I/O流概念:输入就是将数据从各种输入设备(包括文件、键盘等)中读取到内存中,输出则正好相反,是将数据写入到各种输出设备(比如文件、显示器、磁盘等)。例如键盘就是一个标准的输入设备,而显示器就是一个标准的输出设备,但是文件既可以作为输入设备,又可以作为输出设备。数据流是java进行I/O操作的对象,数据流按照不同标准的分类:按照流的方向主要分为输入流和输出流两大类。

2023-06-04 21:32:14 205

原创 Map集合的常见实现类

Java中的HashMap是一种基于哈希表实现的Map集合,它用于存储键值对,其中每个键都可以映射到一个唯一的值。HashMap的底层实现是一个数组和链表结合的数据结构,它通过哈希函数将键映射到数组中的一个位置,然后在该位置上使用链表存储具有相同哈希值的键值对。Java中的TreeMap是一种基于红黑树实现的有序Map集合,它与HashMap类似,也是用于存储键值对,但是不同之处在于TreeMap中的键值对是按照键的自然顺序进行排序的。

2023-05-28 21:08:30 348

原创 异常抛出与异常的捕获与处理

当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适的异常处理器。创建方法时,可以使用throws将可能发生的异常抛出,抛出以后该方法就不需要用try-catch来处理,当调用一个含有throws声明异常抛出的方法时,要求必须处理该异常,而处理方式有两种:1)使用try-catch捕获并解决异常,2)在当前方法上继续使用throws声明该异常的抛出。1.抛出异常:当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统,异常对象中包含了异常类型和异常出现时的程序状态等异常信息。

2023-05-21 20:18:28 566

原创 抽象方法与抽象类

4.抽象类的意义不在于实例化而在于继承,若一个类继承自抽象类必须重写抽象方法,否则该类也是抽象类。抽象方法:就是用abstract关键字修饰,并且没有大括号,直接分号结束的方法。抽象类:定义了抽象方法的类或者用abstract关键字修饰的类就是抽象类;【访问权限符】 abstract 返回值类型 方法名(参数表);1.抽象类可以有成员方法,成员变量以及构造方法。2.抽象类可以有抽象方法,也可以没有;3.拥有抽象方法的类必须是抽象类。(2)抽象类和抽象方法语法格式。

2023-05-14 21:24:47 141

原创 接口(interface)

接口(interface)是一种定义抽象方法的类型,它没有实现,只有方法签名。接口可以被类实现,实现类必须实现接口中的所有方法。接口是一种纯抽象类,它不包含任何实现代码,只有方法的声明。接口中的方法默认是抽象的,也可以使用 default 关键字定义默认实现,或使用 static 关键字定义静态方法。在 Java 中,接口可以被类实现(implements)来实现接口中定义的方法,实现接口的类必须实现接口中的所有方法。同时一个类也可以实现多个接口,从而提供更丰富的功能。接口定义后就可以在类中使用关键字i。

2023-05-07 20:55:01 227

原创 重写与重载

重载(Overload):首先是位于一个类之中或者其子类中,具有相同的方法名,但是方法的参数不同,返回值类型可以相同也可以不同。(2):访问权限不能变小,可以变大,意思是子类方法所具有的访问修饰符必须跟父类的方法的访问修饰符相同或者更宽的访问修饰符。重写发生在父子类中,方法名相同,参数列表相同,方法体不同,遵循“运行期”绑定,重写方法被调用时,看对象的类型。其实简单而言:重载就是对于不同的情况写不同的方法。重载发生在同一个类中,方法名称相同,参数列表不同,方法体不同,遵循“编译期”绑定,看引用的类型。

2023-04-23 20:55:08 51

原创 super的用法

由于子类不能继承父类的构造方法,因此要显示调用父类的构造方法,必须在构造方法体的第一行使用super()方法。(5)super()只能出现在构造方法的第一行,通过当前的构造方法去调用“父类”中的对应的构造方法,目的是:创建子类对象时,先初始化父类型特征。所以说当子类的构造方法内第一行没有出现“super()”时,系统会默认给它加上无参数的"super()"方法。1. 在类的构造方法找中,通过super语句调用该类的父类的构造方法。(2)super的语法是“super.”和“super()”。

2023-04-16 20:06:55 519

原创 Java的继承

Java中使用继承的好处是可以使代码重用性更高,减少代码冗余,提高代码的可维护性和可扩展性。同时也方便了代码的组织,让代码更加结构化和易于管理。[ 类修饰符 ] class 子类名 extends 父类名{看的出这些类都有正在吃这个共同动作,代码冗长,而且不利于以后修改代码,这样代码看起来就不再冗长而且利于以后的修改。如果我们使用继承就可以避免冗长的片段。来明确指出他所继承的父类;在子类的定义中,用关键字。

2023-04-09 20:51:42 67

原创 Java类的封装

Java封装

2023-04-02 21:57:54 750

原创 Java数组

java 数组

2023-03-26 21:25:07 72

原创 java 数值转换

Java数值类型转换

2023-03-19 20:37:08 111

原创 Java的输入用法

Java输入

2023-03-12 22:02:32 103

原创 Java的第一篇博客

我的Java学习路途的第一步,简单来说就是我的学习日记

2023-03-11 23:20:58 148 1

空空如也

空空如也

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

TA关注的人

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