自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaoxie8023的博客

主要用于记录学习和复习之前学的知识

  • 博客(51)
  • 收藏
  • 关注

原创 【机器学习】探究DQN通过训练来解决AI序列决策问题

DQN属于DRL(深度强化学习)的一种,它是深度学习与Q学习的结合体。使用 Q-learning 因为采用S-A表格的局限性,当状态和行为的组合不可穷尽时,就无法通过查表的方式选取最优的Action了。这时候就该想到深度学习了,想通过深度学习找到最优解在很多情况下确实不太靠谱,但是找到一个无限逼近最优解的次优解,倒是没有问题的。

2024-05-28 11:57:26 2765 138

原创 【计算机网络原理】对传输层TCP协议的重点知识的总结

源端口号(Source Port)16位,用于标识发送方的端口号。端口号用于区分同一IP地址上的不同服务或应用程序。目的端口号(Destination Port)16位,用于标识接收方的端口号。端口号同样用于区分不同服务或应用程序。序列号(Sequence Number)32位,用于标识从发送方发送的数据字节的顺序。序列号用于确保数据的有序传输,并允许接收方检测丢包。确认号(Acknowledgment Number)32位,用于期望从接收方接收的下一个字节的序列号。

2024-05-24 09:56:05 2208 138

原创 【计算机网络原理】浅谈应用层协议的自定义和传输层UDP协议的总结

我们需要开发一个外卖软件,这个时候就需要 我们来自定义应用层协议,来传输信息了.其中自定义应用层协议就是我们要对传输的数据做出约定:1.传输的数据都有那些信息.2.传输的信息都有遵守什么样的格式.

2024-05-21 12:39:47 1853 121

原创 【计算机网络原理】网络编程和Socket套接字

是指网络上的主机,通过不同的进程以编程的⽅式实现⽹络通信.当然,我们也可以是在一台主机,只要是在不同的进程中,就可以通过网络通信来传输资源,不一定需要在多台主机上实现.同时并不代表只能是从进程B到进程A,而是从发送方,到接收方进程A可以是发送方,也可以是接收方,进程B同理.2.网络编程中的基本概念1.发送端 vs 接收端在⼀次⽹络数据传输时:数据的发送⽅进程,称为发送端。发送端主机即⽹络通信中的源主机。数据的接收⽅进程,称为接收端。接收端主机即⽹络通信中的⽬的主机。

2024-05-16 12:33:32 1834 122

原创 【redis】Redis五种常用数据类型和内部编码,以及对String字符串类型的总结

目录​编辑 一.五种常用数据类型和内部编码1.五种常用数据类型和内部编码2.内部编码方式1.string 类型 2.hash类型3.list类型4.set类型5.zset(有序集合)类型6.Redis这样设计有两个好处:3.单线程架构 redis单线程为什么可以做到高性能?(面试重点)二.字符串类型的总结1.字符串类型的常用命令1.set 及其选项1.普通的set语句2. nx选项3. xx选项4. ex seconds 或 px milliseconds 选项2.get命令3.mset,mget2.计数命

2024-05-11 12:30:22 2078 137

原创 【计算机网络原理】初识网络原理和一些名词解释​​

目录​编辑 一.网络初识1.核心概念1.局域网 vs 广域网1.连接方式2.传输速度3.IP地址2.路由器 vs 交换机1.交换机:3.IP地址 vs 端口号1.IP地址:2.端口号:4.协议1.协议分层 2.协议分层的好处1.起到了封装的效果2.解耦合的效果 5.OSI七层模型 vs TCP / IP 五层/四层 模型 6.协议的层与层之间是如何配合工作的.1.封装1.应用层 2.传输层 3.网络层4.数据链路层5.物理层2.分用 (B)1.物理层2.数据链路层 3.网络层4.传输层5.应用层2.路由器

2024-05-08 12:59:08 3565 145

原创 【redis】redix在Linux下的环境配置和redis的全局命令

目录​编辑 一.redix在Linux下的环境配置1.基于Centos下的环境配置1.使用yum安装 2.构建符号链接 3.针对配置⽂件设置符号链接4.修改配置文件1.打开配置文件2.设置 IP 地址 3.关闭保护模式4.启动守护进程​编辑5.设置工作目录和日志目录 5.启动 redis1.启动redis服务器2.打开redis的客服端6.停⽌ redis服务器2.基于Ubuntu下的环境配置二.redis的全局命令1.get 和 set2.keys1.? 匹配任意一个字符2. * 匹配任意多个字符包括0个

2024-05-03 13:20:59 2499 139

原创 【redis】初识redis和分布式系统的基本知识

redis是一个开源的,基于内存存储的数据结构服务器,起初 redis 的初心是作为一个"消息中间件"(消息队列)而被创建的,但由于市场上的像KafkaRabbitMQ等专业消息中间件在处理在处理大规模消息传递、消息顺序保证、以及容错能力方面表现得更为出色,redis又因为其基于内存存储的特点,而被做为分布式系统下的缓存服务器来被广泛使用.

2024-04-30 13:03:13 4225 163

原创 【Linux学习】​​学习Linux的准备工作和Linux的基本指令

我们现在大部分的人的电脑都是Windows系统环境下的,那我们该如何在Windows上学习Linux呢,博主这里介绍两个方法.1.选择虚拟机软件:你可以选择如VMware Workstation Player、VirtualBox或Hyper-V等虚拟机软件。其中,VirtualBox是免费且开源的2.下载Linux系统镜像:选择一个合适的Linux发行版,如Ubuntu、CentOS等,并下载其ISO镜像文件,这里博主建议下载CentOS 阿里云盘分享 (aliyundrive.com),这是目前比较流行

2024-04-27 13:23:31 3624 156

原创 【Java EE】 文件IO的使用以及流操作

IO就是 Input(输入), Output(输出),至于如何判断一个操作是否为输入还是输出,可以以下图的标准作为参考​我们以CPU 作为基准,进入CPU方向的操作就是Input(输入),从CPU方向出去就是Output(输出).文件是一个很广义的概念,在操作系统中把软件资源/ 硬件资源都给抽象为 文件 ,特别是在Linux中一切皆为文件.在此处我们所提的文件,特指的就是。

2024-04-26 14:48:04 1296 2

原创 【Java EE】CAS原理和实现以及JUC中常见的类的使用

在Java中,CAS代表“”,即比较并交换。这是一种用于实现多线程中无锁编程的原子操作。内存地址V旧的预期值A要更新的新值B。只有当内存地址V的当前值与预期值A相等时,才将内存地址V的值更新为B。如果不相等,则不进行任何操作。CAS操作通常用于实现线程安全的计数器、栈等数据结构,以及在并发编程中实现同步机制,如锁。CAS操作可以避免使用传统的锁机制,从而减少线程间的上下文切换,提高程序的执行效率。CAS和锁各有优势和局限性。

2024-04-26 14:47:41 1073 2

原创 【Java EE】总结12种锁策略以及synchronized的实现原理

总结来说,选择悲观锁还是乐观锁取决于具体的业务场景和并发程度,悲观锁适用于冲突概率较高、对数据一致性要求严格的场景,而乐观锁适用于冲突较少、追求高并发性能的场景。在Java中,这两种锁策略的表现形式并不是直接作为API提供,而是JVM在实现锁机制时采取的策略,例如在自旋锁策略失效后,JVM会升级锁为重量级锁,这时线程就会进入挂起等待状态。在现代Java虚拟机中,锁机制往往是复合的,包括偏向锁、轻量级锁、重量级锁等不同层次的设计,其中轻量级锁在一定程度上借鉴了自旋锁的思想。

2024-04-23 12:23:04 2539 141

原创 【多线程学习】深入探究定时器的重点和应用场景

在Java中定时器通常指的是一种能够按照预定的时间间隔执行任务的机制,简单来说,定时器就相当于一个"闹钟",指定一个(Runnable) 任务,以及指定一个时间,该任务因为定时器的缘故在线程中并不会立马就执行,而是到达某个指定的时间后,才执行2.定时器的应用场景Java中的定时器(Timer定时任务执行定期清理缓存:应用程序可以设置定时器来定时清理不再需要的缓存数据,避免内存占用过高。数据备份:数据库系统可以使用定时器在每天的固定时间执行数据备份操作。

2024-04-21 16:36:37 914 4

原创 【多线程学习】深入探究阻塞队列与生产者消费者模型和线程池常见面试题

阻塞队列(BlockingQueue)是一种特殊的队列,在Java等编程语言中广泛应用于多线程同步与通信,它是一个线程安全的数据结构,主要用于在多线程环境下存储和传递数据。阻塞队列的关键特性在于,当队列处于特定状态时,对队列的插入(生产)或删除(消费)操作能够自动让线程进入等待状态。当队列为空时,执行从队列中获取元素(如调用take()方法)的线程会被阻塞,直到其他线程向队列中放入元素使其变为非空。当队列已满时,尝试向队列中添加元素(如调用put()

2024-04-19 14:00:53 2142 91

原创 【机器学习】探究Q-Learning通过学习最优策略来解决AI序列决策问题

AI序列决策问题是指在人工智能领域中,智能体需要在一个序列的环境中做出一系列决策,以达到某个目标或最大化某种累积奖励的问题。这类问题通常涉及到强化学习,其中智能体通过与环境的交互来学习最优的行为策略。

2024-04-17 13:56:09 7077 156

原创 【设计模式学习】单例模式和工厂模式

设计模式是在软件设计中反复出现的问题和解决方案的经验总结。它是对软件设计中常见问题的通用解决方案,可以帮助设计人员更高效地解决问题,并提高软件设计的质量和可维护性。设计模式提供了一种在特定情况下的解决方案,它们可以被反复使用,并且是经过验证的最佳实践。设计模式可以帮助开发人员更好地理解软件设计中的问题,并为他们提供一种标准的方法来解决这些问题。通俗易懂的一点来说:就是提高你的下限。

2024-04-14 15:04:52 2532 129

原创 【MySQL学习】MySQL的慢查询日志和错误日志

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。

2024-04-09 13:39:07 4957 162

原创 线程安全--深入探究线程等待机制和死锁问题

线程等待机制是多线程编程中用于同步线程执行流程的一种技术,它允许一个线程暂停执行(即进入等待状态),直到满足特定条件或其他线程发送一个通知信号为止。1.wait()方法wait()是类的一个方法,当在一个对象上调用wait()时,当前线程必须首先获得该对象的监视器(即锁)。调用后,线程会释放对象的锁,并进入等待状态,直到被其他线程通过调用notify()或方法唤醒。2.notify()和方法notify()唤醒在此对象监视器上等待的一个单个线程。唤醒在此对象监视器上等待的所有线程。

2024-04-07 14:16:11 2434 130

原创 多线程--深入探究多线程的重点,难点以及常考点线程安全问题

在多线程环境中,当多个线程同时尝试访问和修改同一份数据时,如果没有妥善的协调机制,将会引发竞态条件(Race Condition)、数据不一致等问题。锁就是用来解决这类问题的一种工具。在最简单的形式下,锁是一种二元状态标志,表示资源是否可用。当一个线程获得了锁,它可以访问受保护的资源;其他尝试获取同一把锁的线程则会被阻塞(挂起),直到该锁被释放为止。这样,锁就确保了在任何给定时间内,只有一个线程能够访问临界区(Critical Section)内的资源。

2024-04-04 13:42:36 2472 114

原创 【Linux学习】Linux 的虚拟化和容器化技术

KVM 是Linux内核的一部分,提供了基于硬件辅助的全虚拟化能力。它允许Linux成为一个宿主机操作系统,可直接运行多个客户机操作系统作为虚拟机实例。每个虚拟机拥有独立的虚拟CPU、内存、磁盘和其他设备。

2024-04-01 15:12:47 5705 162

原创 【JAVAEE学习】探究Java中多线程的使用和重点及考点

线程(Thread)是程序中执行的最小单元,是操作系统能线程是计算机科学中的基本概念,指的是在同一进程中执行的单一执行流。线程是操作系统能够进行运算调度的最小单位。在多线程编程中,多个线程可以同时执行,共享进程的资源,但每个线程有自己的执行流程和栈空间。线程的引入可以提高程序的并发性和响应性,允许程序在同一时间处理多个任务。在计算机系统中,线程是由操作系统调度和管理的,可以实现不同线程之间的切换和协同工作。

2024-03-29 13:57:29 3791 142

原创 【计算机操作系统】深入探究CPU,PCB和进程工作原理

进程是计算机操作系统中一个非常核心的概念,它是系统进行资源分配和独立运行的基本单位。进程是正在运行的程序的实例.是计算机硬件系统的核心部件,负责执行指令、处理数据和控制计算机系统的运行。CPU执行指令流,对数据进行算术逻辑运算,并根据操作系统提供的指令控制整个系统的运作。进程(Process)是计算机操作系统中运行的程序的实例,它包含了程序代码、数据、堆栈以及进程控制块(PCB)。进程是一个动态的概念,代表着程序在执行过程中的实体,是系统资源分配和调度的基本单位。

2024-03-27 13:36:46 1618 126

原创 【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。

2024-03-25 15:48:24 2179 81

原创 Mysql学习--深入探究索引和事务的重点要点与考点

脏读问题(Dirty Read): 脏读是指一个事务读取到了另一个事务尚未提交的数据更改。在事务A未提交前,事务B读取了事务A修改过的数据,若事务A最终回滚,那么事务B读取的数据就是无效的。为了避免脏读,数据库系统提供了“读已提交(Read Committed)”隔离级别,在这个级别下,事务只能看到其他事务已经提交的数据。不可重复读问题(Non-repeatable Read): 不可重复读是指在一个事务内,同一个查询在不同时刻返回了不同的结果,原因是其他事务在此期间提交了对数据的更改。

2024-03-23 13:55:50 3875 176

原创 MySQL表的增删改查---多表查询和联合查询

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。

2024-03-21 14:01:51 5396 140

原创 数据结构奇妙旅程之红黑树

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶​。

2024-03-19 09:46:25 1898 97

原创 MySql入门教程--MySQL数据库基础操作

总的来说我们常用的数据类型就几个至于其他的几个数据类型,具体问题具体分析.三.

2024-03-16 15:29:24 2102 70

原创 数据结构奇妙旅程之二叉平衡树进阶---AVL树

/ 当前节点的平衡因子=右子树高度-左子树的高度当前节点的平衡因子=右子树高度-左子树的高度。但是,不是每棵树,都必须有平衡因子,这只是其中的一种实现方式,并且这只是一种表示方式。新节点插入后,假设以Parent为根的子树不平衡,即Parent的平衡因子为2或者-2,分以下情况考虑1. Parent的平衡因子为2,说明Parent的右子树高,设Parent的右子树的根为SubR 当SubR的平衡因子为1时,执行左单旋 当SubR的平衡因子为-1时,执行右左双旋。

2024-03-12 15:56:57 2375 57

原创 数据结构奇妙旅程之二叉平衡树

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。

2024-03-10 12:42:21 2273 72

原创 排序之计数排序

​ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶​。

2024-02-01 19:04:11 1680 44

原创 数据结构奇妙旅程之七大排序

假设我们有一个数组array{15,87,63,5,98,23,1,82,10} ;我们如果使用直接插入排序的过程如下:原始: 15 87 63 5 98 23 1 82 10第一趟: 15 87 63 5 98 23 1 82 10第二趟: 15 87 63 5 98 23 1 82 10第三趟:15 63 87 5 98 23 1 82 10......第n(9)趟: 1 5 10 15 23 63 82 87 98我们可以把他写为Java代码如下:C++版本如下

2024-01-30 10:10:09 3059 77

原创 数据结构奇妙旅程之二叉树题型解法总结

使用递归的方法来遍历二叉树我相信大家应该都没有什么大问题,在这里就不过多的赘述了,直接上代码二叉树的层序遍历问题借助队列可以使用广度优先搜索(BFS)算法来实现这种方法可以保证按层遍历二叉树,先遍历完当前层的节点,再遍历下一层的节点,直到所有节点都被遍历完成1.基础的二叉树的层序遍历题目要求的二叉树的从上至下打印(即按层打印),又称为二叉树的广度优先搜索(BFS)。BFS 通常借助队列的先入先出特性来实现。接下来我将一步步的详细讲解我们先将根节点放到队列中,然后不断遍历队列。

2024-01-24 16:45:36 2213 78

原创 数据结构奇妙旅程之二叉树初阶

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。

2024-01-17 15:35:55 2187 79

原创 java使用面向对象实现图书管理系统

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。

2023-12-21 15:37:12 8509 80

原创 数据结构奇妙旅程之栈和队列

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶。

2023-12-16 15:43:36 4550 89

原创 链表面试题的总结和思路分享

ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶我的目标:"团团等我💪( ◡̀_◡́ ҂)"

2023-12-10 17:08:11 2270 66

原创 JAVA刷题之数组的总结和思路分享

力扣链接我相信大家一看到这题是有序的数组,有点基础的同学们都会想到二分查找法,这一题有思路很容易,但提交时却老是无法通过,这就是因为没有考虑好边界问题了,现在博主为大家介绍两种二分查找法。

2023-12-06 12:02:36 3212 66

原创 数据结构奇妙旅程之顺序表和链表

目录​编辑一.顺序表1.底层实现2.构造方法3.常用方法4.Arrays的遍历方法​编辑5.实战演示首先我们要清楚,数据结构是一门逻辑十分清晰的学科,所以我们需要清楚的认识到每个结构的底层是什么,这样才能更好的掌握这个结构。3.常用方法ArrayList是一个普通的类,实现了List接口,所以它实现了许多接口内的方法,博主现在为大家列举出一些常用的方法4.Arrays的遍历方法1.直接输出2.for循环和for-each3.使用迭代器5.实战演示杨辉三角 力扣的1

2023-12-03 17:32:44 3670 63

原创 一文让你深入了解JavaSE的知识点

位操作表示按二进制位运算计算机中都是使用二进制来表示数据的(01构成的序列),按位运算就是在按照二进制位 的每一位依次进行计算。2.位运算符有哪些封装是面向对象编程中的一个重要概念,指的是将抽象出来的数据和对数据的操作封装在一起,形成一个类(或对象),使其只能通过类(或对象)提供的接口来访问和操作数据,同时隐藏了数据的实现细节,从而达到保护数据的安全和完整性的目的。通过封装,程序员可以将复杂的系统简化并提高代码的可维护性和可扩展性。

2023-11-30 15:04:53 2251 53

原创 二分查找之红蓝二分查找

/ 目标值在左半部分} else {left = mid;// 目标值在右半部分left : -1;// 返回最后一个满足条件的值的索引。

2023-11-25 14:40:53 1907 49

空空如也

空空如也

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

TA关注的人

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