自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【多线程编程】线程安全问题

线程安全问题我们在进行多线程编程的时候常常会出现线程的安全问题。线程的安全问题根本原因就是线程的抢占式执行造成的。线程的安全问题有很多种,我们这里拿出常见的三种例子来解释线程的安全问题

2023-04-22 21:03:37 174

原创 【校招冲击】笔试练习1(Java编程语言问题)

而在子类中,方法的重写必须保证子类的访问修饰符的范围比父类大(public > protented >默认修饰符default > private),并且返回值类型和方法名,参数都必须是一样的。A、B、C、选项访问修饰符错误,范围比父类小,题目中说存放字符串常量,所以A选项是一个字符类char的包装类,存放的是字符类型的变量。因为是三个三个一组,每组取中间值作为本组的值,要保证最后结果最大,所以要保证每一组的中间值最大,我们进行排序,我们从第二个下标开始算,每隔两个去一个数字作为中间值,累加得到结果。

2023-04-22 10:15:35 270 1

原创 线程的几种状态

线程的状态线程在他的生命周期中由很多不同的状态,这些状态通常为 NEW状态 RUNNABLE状态 BLOCKED状态和WAITING状态,还有TIME_WAITING和TERMINATED状态。

2023-04-20 20:58:39 182

原创 【多线程编程】Thread方法汇总

在Java中,线程中断是通过Thread类的interrupt()方法来实现的。当一个线程调用另一个线程的interrupt()方法时,被中断的线程会收到一个中断请求,并有机会在合适的时机停止执行。被中断的线程可以通过检查自身的中断状态来决定是否终止执行,并在适当的时候抛出InterruptedException异常。需要注意的是,线程中断并不会直接停止线程的执行,它只是向线程发出一个中断请求。被中断的线程需要在执行过程中自行检查中断状态,并决定是否终止执行。另外,线程中断只是一种协作式的终止方式,它。

2023-04-20 11:08:23 326 1

原创 多线程编程 单例模式(饿汉模式,懒汉模式)

单例模式是指在内存中只会创建且仅创建一次对象的设计模式。我们为什么需要用到单例模式呢?当我们的程序需要对某一个特定的对象进行很多次的操作的时候,如果每次都对这个对象进行创建,那么我们的程序的开销就会非常的大。为了避免对同一个对象多次进行重复的创建,我们就诞生出了单例模式,单例模式只会在内存中创建一次对象,程序需要这个对象的时候就可以直接调用单例模式中的对象,不需要重新创建对象,能够大大节省程序的开销。

2023-01-05 20:23:47 583 2

原创 【多线程2】多线程的创建

当我们理解了进程与线程之间的联系和区别之后,我们就可以用代码进行线程的创建了。因为java的JVM虚拟机已经把操作系统的原生API(C语言)给封装好了,所以我们只需要学习Java提供的对操作系统进行调用的API就好了。通过调用JVM封装的操作系统的API我们就可以进行多线程编程了。我们学习多线程编程首先就是要学会如何创建一个线程。

2022-12-17 14:45:00 136 1

原创 【多线程编程1】进程与线程

进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。但看进程的解释好像不是那么的直观,我们运用我们的电脑给大家举个例子。我们打开电脑上的任务管理器->找到进程我们可以看到进程菜单下面会有很多的任务,这样的一个一个的任务就是多个进程。我们可以看到每个应用就是一个进程,我们双击打开的应用是一个进程,系统后端也会调用进程。进程是操作系统资源分配的基本单位如何去理解这一句话呢?

2022-12-14 08:03:58 177

原创 MySQL数据库事务的概念及其理解。

其实事务中的多条指令并不是没有执行,事务中的指令还是按照顺序依次进行执行的,只不过事务中的指令在执行的过程当中还会存储未执行之前的状态,也就是说,当事务进行到一个异常的指令的时候,要把事务中之前已经进行过的部分全部回撤,撤回到原来的状态,修改过的数据重新改回来,经过运算的数据进行逆操作全部恢复到事务开始时候的状态。两个事务不能同时进行写和读的操作,那么如果一个文件中已经有了一个读的事务在进行,另一个写的事务就不能在对这个文件进行操作,但是它可以对其他的文件进行写操作,这就会造成幻读的问题。

2022-12-12 08:22:51 282

原创 初学MySQL的索引介绍

索引可以看做成数据的目录,有助于帮助存放着海量数据的数据库进行准确,快速,高效的查找数据。就像是字典的索引目录一样,当我们给数据库添加了索引,查找数据的时候就能像我们查字典的时候一样根据目录去寻找我们要找的信息。索引对数据库的性能的提高有着很大的作用。

2022-12-08 16:42:57 322 2

原创 数据库的增删查改(全部重点知识一篇整合,包括数据库查询的进阶内容)

我们把数据库比做成一个仓库,数据库中的表比作仓库中的货架,我们对一个数据库中的一个货架进行增删查改数据的操作就是本章要讲解的内容。

2022-11-29 16:47:21 10035 3

原创 【MySQL】数据库基础操作,数据类型

关系型数据库(RDBMS):是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。其中我们熟知的 MySQL、Oracle、SQL Server都是关系型数据库。非关系型数据库:不规定基于SQL实现。现在更多是指NoSQL数据库,如:1. 基于键值对(Key-Value):如 memcached、redis2. 基于文档型:如 mongodb3. 基于列族:如 hbase。

2022-11-17 16:41:23 408

原创 七大排序算法,冒泡排序 选择排序 插入排序 希尔排序 堆排序 快速排序 归并排序的深度讲解

排序方法最好平均最坏空间复杂度稳定性冒泡排序O(n)O(n^2)O(n^2)O(1)稳定插入排序O(n)O(n^2)O(n^2)O(1)稳定选择排序O(n^2)O(n^2)O(n^2)O(1)不稳定希尔排序O(n)O(n^1.3)O(n^2)O(1)不稳定堆排序O(1)不稳定快速排序O(n^2)不稳定归并排序O(n)稳定。

2022-11-04 21:00:00 1969

原创 Java数据结构——Map&&Set(TreeMap TreeSet)

TreeMap 和 TreeSet 因为其底层是红黑树,所以查找的时间复杂度是O(logN)方法:解释:返回key对应的value返回key对应的value,key不存在就返回默认值。设置key对应的value删除key 对应的映射关系返回key所有的不重复集合返回所有value的可重复集合返回所有K-V的映射关系判断是否包含key判断是否包含Value值得注意的是:1. Map是一个接口,不能直接实例化对象,如果要实例化对象只能实例化其实现类TreeMap或者HashMap。

2022-10-31 16:31:57 392 4

原创 Java的数据结构之路——二叉树(代码实现)

二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分。二叉树是n个有限元素集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点。(以上来自百度对二叉树的解释)

2022-10-14 14:13:16 1736

原创 java数据结构之单链表

单链表与顺序表一样,都是线性结构。链表,用于存储逻辑关系为 "一对一" 的数据。与不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。

2022-09-19 16:37:28 625

原创 java 的数据结构之路——顺序表ArrayList(附带Java、C语言 版本的代码)

线性表顾名思义就是将数据元素排列成一条线一样的表,严格来说,线性表是具有相同特性的元素的一个有序的序列。其特征有三,其一是所有的数据元素的类型相同,线性表示有有限个数据元素组成,并且数据元素与位置相关。本博客首先介绍线性表中的顺序存储结构——顺序表。

2022-09-10 13:52:48 644

原创 java中泛型的秘密—Java中的泛型

任何工具的产生都是离不开实际需求,凡是存在的必定是合理的,如果想知道泛型是什么,泛型这个概念为什么会出现,我们就让程序处于一个没有泛型的代码世界中,通过引入泛型前后程序的优劣的比较,从而明白泛型的作用和意义。请在不使用泛型的情况下完成下列要求:设计一个类,类里面有一个数组,这个数组可以存储任意的类型的值,根据成员方法getvalue() 和 setvalue() 获得和设置数组对应下标的值。

2022-09-10 11:10:14 106

原创 java数据结构—时间复杂度和空间复杂度

Java数据结构——时间复杂度和空间复杂度

2022-09-07 00:34:32 1299 2

原创 面向对象的Java——多态

面向对象的Java——多态

2022-08-22 08:22:39 257

原创 Java中的继承

Java中的继承

2022-08-08 15:47:25 139

原创 面向对象——Java中的类和对象

面向对象——Java中的类和对象

2022-08-07 09:24:42 72

原创 只需一篇文章就能弄懂动态内存如何申请!(malloc calloc realloc 的使用方法)

a数组从被确定开始,就已经决定了他是个不能改变大小,只能存储10个int类型数据的数组,但是在实际场景中,我们的数据规模是不可知的,如果数组开辟的过大,会导致内存空间的浪费,如果过小,又不能满足存储信息的要求,因此我们就需要学习动态数组的开辟。事实上,C语言为我们准备了malloc calloc realloc free (头文件:#include)函数工具进行动态数组的开辟,今天我们就来学习一下在https://cplusplus.com/reference/cstdlib/mallo...

2022-07-13 18:21:05 917

空空如也

空空如也

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

TA关注的人

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