自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaEE之线程(8)_阻塞队列、消费者模型、阻塞队列的实例代码

以上就是今天要讲的内容,本文仅仅简单介绍了什么是阻塞队列,生产者消费者模型,并且介绍了标准库中的阻塞队列,以及阻塞队列的具体实现代码。

2024-05-20 19:20:13 569

原创 JavaEE之线程(7)_单例模式(设计模式概念、单例模式优点、懒汉、饿汉模式)

我们只介绍单例实现方式的饿汉模式、懒汉模式两种方式,其他单例模式的内容可以通过网络资源进行查阅。以上就是今天要讲的内容,本文仅仅简单介绍了设计模式的概念,什么是单例模式?包括懒汉模式和饿汉模式,并写出了相应的参考代码。最后,对不同实现方式的单例模式进行了总结。

2024-05-19 18:32:20 869

原创 JavaEE之线程 (6)—— 等待方法wait 和唤醒方法notify、notifyAll

以上就是今天要讲的内容,本文仅仅简单介绍了等待方法wait、唤醒方法notify、notifyAll。

2024-05-15 19:47:49 1381

原创 JavaEE之线程(5)——Java内存模型、内存可见性、volatile关键字

以上就是今天要讲的内容,在并发三特征的可见性中,volatile通过新值立即同步到主内存和每次使用前从主内存刷新机制保证了可见性。通过禁止指令重排序保证了有序性。无法保证原子性;synchronized关键字通过lock和unlock操作保证了原子性,通过对一个变量unlock前,把变量同步回主内存中保证了可见性,通过一个变量在同一时刻只允许一条线程对其进行lock操作保证了有序性。

2024-05-14 20:44:26 776

原创 JavaEE之线程(4)——线程安全、线程安全的原因,synchronized关键字

我们把一段代码想象成一个房间,每个线程就是要进入这个房间的人。如果没有任何机制保证,A进入房间之后,还没有出来;B 是不是也可以进入房间,打断 A 在房间里的隐私。这个就是不具备原子性的。那我们应该如何解决这个问题呢?是不是只要给房间加一把锁,A 进去就把门锁上,其他人是不是就进 不来了。这样就保证了这段代码的原子性了一条 java 语句不一定是原子的,也不一定只是一条指令从内存把数据读到 CPU进行数据更新把数据写回到 CPU不保证原子性会给多线程带来什么问题。

2024-05-13 21:32:45 1085

原创 JavaEE之线程(3)_线程的开始、中断、等待、休眠线程、线程的状态

好啦!以上就是今天要讲的内容,本文介绍了Thread类的start( )方法、线程的的中断、等待一个线程join( )、获取当前线程的引用,休眠当前线程,以及线程的引用。在本栏的下一节我们将会继续介绍Thread中重点内容——线程安全。

2024-05-10 15:50:43 1167

原创 JAVAEE之线程(2)_创建线程的五种方式、Tread类的常见构造方法和属性

好啦!以上就是本节所讲的内容,包括五种不同的创建线程的方式,通过继承 Thread 类创建线程实现 Runnable 接口创建线程通过匿名内部类创建 Thread 子类对象通过匿名内部类创建 Runnable 子类对象通过lambda 表达式创建 Runnable 子类对象此外,我们还介绍了Tread类的常见构造方法和常见属性,

2024-05-07 09:12:08 1385

原创 JavaSE_抽象类(抽象类概念、语法、、特性、作用)

基本概念:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。比如:矩形、三角形、圆形都是图形,因此和Shape类的惯性应该是继承关系虽然图形图Shape中也存在draw的方法,但由于Shape类并不是具体的图形,因此其内部的draw方法实际是没有办法实现的由于shape类没有办法描述一个具体的图形,导致其draw(方法无法具体实现,因此可以将shape类设计为“抽象类”。

2024-05-06 16:41:20 572

原创 JavaE之线程(1)_概念、线程和进程的区别,代码实例

今天我们介绍了什么是线程、为什么采用线程,线程的进程的区别,在下一节我们将详细介绍如何创建线程。

2024-05-04 19:26:41 571

原创 JavaEE_操作系统之进程(计算机体系,,指令,进程的概念、组成、特性、PCB)

简单介绍了计算机体系结构、指令是CPU上执行命令的最小单元,以及进程是操作系统执行任务的基本单元,也是分配资源和调度的基本单元

2024-05-01 19:03:01 6

原创 MySQL数据库基础(数据库的基本操作、常用的数据类型、表的相关操作)

显示– 创建– 使用use xxx;– 删除INT:整型DECIMAL(M, D):浮点数类型VARCHAR(SIZE): 字符串类型TIMESTAMP:日期类型3.表的相关操作– 查看 show 表;– 创建 create table 表名(字段1 类型1, 字段2 类型2,… );–删除 drop talbe 表名;

2024-04-28 20:01:59 644

原创 数据库介绍(Mysql安装)

文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便数据库存储介质:磁盘 、内存为了解决上述问题,专家们设计出更加利于管理数据的软件一一数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。今天我们介绍了什么是数据库,关系型数据库和非关系型数据库的区别,以及MySQL的安装步骤。

2024-04-28 19:03:50 658

原创 JavaSE_类对象和方法的继承(继承概念、成员访问、super关键字)

关键字:super和this都是Java中的关键字只能在类的非静态方法中使用,用来访问非静态成员方法和字段在构造方法中调用时,必须是构造方法中的第一条语句,并且不能同时存在;不同点this是当前对象的引用,当前对象即调用实例方法的对象,super相当于是子类对象中从父类继承下来部分成员的引用在非静态成员方法中,this用来访问本类的方法和属性,super用来访问父类继承下来的方法和属性。

2024-04-26 18:20:36 1257 1

原创 环境散射通信技术(AmBc)

AmBC 技术的发展为解决频谱资源短缺和设备续航能力不足提供了可行性方案。利用AmBC 技术,被动式反射设备可以从周围环境的射频信号中吸收能量实现电路激活,通过切换天线阻抗改变反射信号的幅度和相位实现信息传输。相比于传统的主动式通信技术,AmBC 技术不需要高功耗的主动式射频模块和专用的射频激励、通信载波,进而能够提高通信能量效率,满足物联网设备低功耗、长续航的需求。

2024-04-23 11:47:04 820

原创 类和对象(2)——封装(封装的概念、包、staic)

将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行 交互。

2024-04-22 19:21:32 1069 1

原创 JAVA_类和对象(1)

基本概念:类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能。类的定义格式在java中定义类时需要用到class关键字// 创建类field;// 字段(属性) 或者 成员变量method;// 行为 或者 成员方法 }其中,class为定义类的关键字,ClassName为类的名字, { }中为类的主体。类名采用大驼峰定义。比如定义一个类// 狗的属性System.out.println(name + ": 说话");// 人的行为。

2024-04-16 17:21:53 1017

原创 数据结构 (JAVA):链表(2)_双向链表(构造、头插、尾插、中间插入、删除等操作及实现代码)

双向链表在于Link类中,多了一个Pre前驱链接,相对于单链表只有next链接,需要弄清楚前驱和后驱的链接关系可以选择固定headt和last节点,插入或者删除first或者last节点,只需要修改2个链接在链表中间插入链接,需要修改4个链接(第一步一定是把要插入的节点先连接上);在链表中间删除,只需要修改2个链接,一定要通过画图来更好的理解链接的关系。

2024-04-13 19:33:20 1086

原创 JAVASE_java中的String类方法

java.lang.String类提供了许多用于在 Java 中操作字符串的内置方法。借助这些方法,我们可以对String对象进行查找、拆分、比较、转换字符串等操作。

2024-04-10 21:27:19 1016 1

原创 排序算法2:选择排序(Selection Sort)直接选择排序、堆排序

以上就是今天要讲的选择选择的相关内容:其中,直接选择排序是表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间。而堆排序不同于其他排序算法,它利用了完全二叉树的性质进行排序。

2024-04-07 21:44:45 463

原创 数据结构_栈和队列(栈和队列的概念、实现代码、顺序队列假溢出、循环队列)

数据结构的栈和队列的应用非常的多,这里只是简单介绍了栈和队列的基本概念,栈:先进后出;队列:先进先出。

2024-04-06 16:39:19 1031 1

原创 排序算法1:插入排序(Insertion Sort)直接插入排序、希尔排序

2024-04-03 21:29:01 591 1

原创 JAVA中八种基本数据类型(包装类型、类型转换、类型提升)

强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。概念:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。需要将字符串和整形数字之间进行转换。

2024-04-03 16:49:53 618 1

原创 数据结构_顺序表、链表(ArrayList、LinkedList的介绍、区别、增删查找等相关操作实现代码)

 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。 链表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。在集合框架中,ArrayList是一个普通的类,实现了List接口注意:扩容检测是否

2024-03-31 18:35:50 1306 1

原创 数据结构_优先级队列(堆的性质、调整、创建、插入、删除及实现代码)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-03-28 20:33:02 1399 1

原创 数据结构_map、set、哈希表(概念、方法、冲突、代码实现)

Map是一个接口类,该类没有继承自Collection,该类中存储的是结构的键值对,并且K一定是唯一的,不能重复。

2024-03-26 12:30:33 899

原创 数据结构_map and set (1)搜索树

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2024-03-22 18:26:24 653

原创 数据结构_二叉树(性质、相关操作及实现代码)

/定义一个节点//左节点//右节点} }

2024-03-20 15:17:15 1161

原创 数据结构_排序(插入、选择、交换、归并)概念及实现代码

 基本思想:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。 时间复杂度:O(N^2) ,最好情况下O(N);空间复杂度为O(1);稳定 数据越有序时,排序越快 ,适用于待排序序列,基本已经趋于有序2、希尔排序 希尔排序法又称缩小增量法。希尔排序法的基本思想是:先选定一个整数,把待排序文件中所有记录分成多个组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工作。当到达=1时,所有记录在统一

2024-03-19 19:09:48 444

空空如也

空空如也

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

TA关注的人

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