自定义博客皮肤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)
  • 收藏
  • 关注

原创 数据结构——链表以及相关习题

线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。链表有以下三种特性为什么要重点讲解这一种结构呢?在实现链表之前,我们需要明确链表是由什么构成的,链表是由一个个节点构成的,节点有两个重要的属性 val值,next地址值然后不同的节点有每个节点的地址值串联在一起,像是珍珠由一根线串联在一起,这样一个完整的链表就组成了🍑 代码实现头插法构造链表尾插法构造链表打印链表寻找节点的位置在链表对.

2022-07-13 19:41:04 385 2

原创 网络编程套接字——Socket(TCP/UDP)

目录🥥 Socket API🥥 Socket API网络编程嵌套字就是操作系统给应用程序提供的一组API,嵌套字是通信的基石socket 译为插座,也可以认为是应用层和传输层之间的桥梁,socket是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。socket允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。在传输层中有两组重要的协议...

2022-04-17 17:19:37 1597 1

原创 初识网络原理

目录🥥 局域网和广域网🍉IP地址🍎 端口号🍓 网络协议🥥 局域网和广域网局域网 :局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。广域网 :广域网(

2022-04-15 15:40:30 1217 2

原创 算法训练营—SecondWeekend

文章目录🍉题目一:斐波那契步数链接题目解析解题思路代码实现🥝题目二:合法括号序列判断链接题目解析解题思路代码实现🍓题目三:两种排序方法链接题目解析解题思路代码实现🍎题目四:最小公倍数链接题目解析解题思路代码实现🍑题目五:另类加法链接题目解析解题思路代码实现🍌题目六:走方格的方案数链接题目解析解题思路代码实现🥥题目七:井字棋链接题目解析解题思路代码实现🥭题目八:密码强度等级链接题目解析解题思路代码实现🍊题目九:最近公共祖先链接题目解析解题思路代码实现🍈题目十:求最大连续bit数链接题目解析解题思路代码实现🍇题

2022-04-13 21:23:23 270

原创 算法训练营—FirstWeekend

目录🍉 题目一:组队竞赛链接:题目解析解题思路代码实现🥝 题目二:-删除公共字符链接题目解析解题思路代码实现🥭 题目三:-排序子序列链接题目解析解题思路代码实现🍑 题目四:-倒置字符串链接题目解析解题思路代码实现🍎 题目五:字符串中找出连续最长的数字串链接题目解析解题思路代码实现🍌 题目六:-数组中出现次数超过一半的数字链接题目解析解题思路代码实现🍓 题目七:计算糖果链接题目解析解题思路代码实现🍊题目八:进制转换链接题目解析解题思路代码实现🥝 题目二:-删除公共字符链接题目解析解题思路代码实现🍉 题目一:

2022-04-13 15:49:02 634

原创 文件操作和IO流

目录📃 认识文件📃文件的分类📃关于目录结构📃文件的地址📃 绝对路径和相对路径📃 认识文件官方定义:计算机文件属于文件的一种,与普通文件载体不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以 JPEG 格式保存并且文件扩展名为 .jpg)。但是,我们一般会认为,我们平常写的word文档,文件夹📁,把这些当作问价,但是除了这些,我们往往会疏漏一个重要的文件那就是目录,也是一个重要的

2022-04-13 12:26:32 680 6

原创 多线程(进阶)——常见锁策略+CAS+Synchronized优化过程

目录🥝常见锁策略🥝悲观锁和乐观锁🥝 重量级锁和轻量级锁🥝挂起等待锁和自旋锁🥝读写锁和普通的互斥锁🥝公平锁和非公平锁🥝可重入锁和不可重入锁🥝 Synchronized与锁策略之间的联系🍉CAS🥝常见锁策略锁策略和我们这样普通的程序猿基本无缘,和实现锁的人才才有关系.这里提到的锁策略,和我们学的Java本身没什么关系,适用于所有和锁相关的情况🥝悲观锁和乐观锁悲观锁:预期锁冲突的概率很高;乐观锁:预期锁冲突的概率很低;锁冲突即是锁竞争,多个线程对一把锁的竞争我们举个🌰 :现在疫情很严重,高

2022-04-07 14:53:01 1171 1

原创 多线程案例——线程池

目录🥭 线程池🥭线程池的原理🥭Java标准库的线程池🥭 自己实现一个线程池🥭 线程池在之前的博客中,我们介绍到了进程,但是频繁的创建和销毁进程,资源消耗的非常大,于是我们引出了进程池和线程的概念,并详细的了解了线程的相关知识线程虽然比进程轻量了不少,但是如果创建和销毁的频率进一步增加,资源的开销还是有的,为了把开销最小化我们又引出了线程池和协程的概念,协程我们不做过多介绍,我们主要了解线程池的概念🥭线程池的原理把创建好的线程,放到池子里,后面如果需要用到线程,直接从池子里取出,就不必利用系统

2022-04-05 12:14:49 468

原创 多线程案例——定时器

目录🍉 定时器🍉标准库中的定时器🍉如何自己实现一个定时器🍉 自定义定时器总结🍉 定时器定时器就像是一个闹钟,在一定时间后被唤醒,唤醒后执行之前计划好的任务可能有小伙伴会想到我们之前学的join和sleep方法,他们所起到的效果和定时器差不多,但本质上有区别,他们是基于系统内部定时器来实现的.🍉标准库中的定时器我们先学习一下标准库中的定时器,然后再设计一个自己的定时器想必java.util大家都不会陌生,他还有一个类是我们使用定时器能够用到的,叫做 java.util.Timer,其中核心方法

2022-04-04 12:20:09 1116

原创 阻塞队列——生产者消费者模型

目录🍉 阻塞队列🍉阻塞队列的功能🍉生产者消费者模型🍉生产者消费者模型的优点🍉 阻塞队列在学习数据结构时 我们了解到了什么是队列,普通队列遵守先进先出的规则,阻塞队列同样也符合这样的规则,但是相比于普通队列阻塞队列还有着其他的功能🍉阻塞队列的功能线程安全:阻塞队列是我们多线程中的案列之一,既然属于多线程,那么一定和线程安全有关系,阻塞队列主要的功能就是能保证线程安全产生阻塞效果1.若队列为空,尝试出队列,就会出现阻塞,阻塞到队列不为空为止2 .若队列为满,尝试如队列也会出现堵塞,阻塞到队列

2022-04-03 13:02:48 2384

原创 单例模式——饿汉模式和懒汉模式

目录🥝案列一:线程安全的单例模式🥝饿汉模式🥝懒汉模式🥝案列一:线程安全的单例模式线程安全的单例模式是面试中常见的问题,所以熟练掌握这种单例模式尤为重要什么叫单例模式?单例模式就是一种设计模式,写代码时一种常见的应用场景,设计模式就是针对于这些应用场景给出的解决方案,我们可以把它想成为棋谱,这种棋谱就是由那些“围棋高手”(大佬程序猿)留下来便于小白🥬使用而且我们还需要知道单例模式的效果就是保证某个类只有唯一实例单例模式分为饿汉模式和懒汉模式🥝饿汉模式顾名思义,饿汉模式就是表示比较着急的去

2022-04-02 11:12:32 1060

原创 线程的几种状态

目录🍉线程的几种状态🍉NEW状态🍉TERMINATED进程有状态,前文我们提过,分别是就绪和堵塞状态,这俩种状态决定了系统如何调用这个进程这种情况下大部分都是针对进程中只有一个线程的情况下,更常见的是一个进程中包含了多个线程,这里所谓的状态,是和线程绑在一起的,在Java中Thread类中,对线程的状态,又进行了细化🍉线程的几种状态🍉NEW状态NEW状态:就是线程创建好了,但是没有调用start()时的状态🌰 :public class TestDemo9 { public s

2022-03-26 13:24:19 590

原创 线程安全产生的原因以及解决方案

这里写自定义目录标题🍊线程安全产生的原因🍊什么是线程安全🍊线程安全实例🍊产生线程不安全的原因总结🍉线程不安全的解决方案(加锁)🍉加锁的概念🍉加锁的好处与意义🍉怎么进行加锁引言线程安全问题,是我们在面试中遇见的最常见的有关线程的问题,所以熟练掌握线程安全问题是非常有必要的.🍊线程安全产生的原因🍊什么是线程安全在操作系统中,因为线程的调度是随机的(抢占式执行),正是因为这中随机性,才会让代码中产生很多bug 如果认为是因为这样的线程调度才导致代码产生了bug,则认为线程是不安全的, 如果这样的调度

2022-03-26 13:15:39 1262

原创 多线程编程之Thread类的使用

若想在Java中进行多线程编程,我们不得不提到在Java标准库中,存在一个Thread类可以对线程进行一系列的操作Thread类可以视为是java标准库提供的API.创建好的Thrad实例,其实和操作系统中的线程是一一对应的关系,操作系统提供了一组关于线程的API(C语言风格),Java对这组APi进一步封装了一下,就变成了Thread类🥭Thread类的使用🍉 线程的创建创建子类,继承Threadclass MyThread extends Thread { @Override.

2022-03-23 10:57:48 965

原创 进程与线程之间的联系和区别

🚩进程🚩什么是进程官话:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。人话:跑起来的程序 例如:网易云音乐,QQ,微信,简称可执行文件🚩 可执行文件可执行文件:就是你下载到硬盘里的app文件(因为我的系统是mac,所以文件后缀名是.app,windows系统应该是.exe)这些文件一般会静静的躺在你的硬盘上,在你双击之前,这些文件不会对你的系统产生任何影响,但是一旦你点击这些文件,操作系统就会把你的这些问

2022-03-22 14:37:21 1970

空空如也

空空如也

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

TA关注的人

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