- 博客(88)
- 收藏
- 关注
原创 【计算机网络】概述篇
1、连接不同物理设备。2、传输比特流。物理层连接不同物理设备的一些介质有线——双绞线、同轴电缆、光纤双绞线:同轴电缆:光纤:无线——红外线、无线wifi、激光比特流高低电平交替表示比特流。数据链路层主要解决三个问题:封装成帧、透明传输、差错检测。
2024-09-09 11:02:02
1380
1
原创 【操作系统】进程同步之Unix域套接字
Unix域套接字可以用于同一机器多个进程间通信。域套接字是一种高级的进程间通信的方法。提供了单机简单可靠的通信同步服务。分别编译后可以建立连接同步通信。只能在单机使用,不能跨机器使用。
2024-09-06 20:32:57
277
原创 【操作系统】进程同步之共享内存
由于操作系统的进程管理,不同的进程有自己独立的内存空间,互不干扰。共享内存是两个进程之间共享和传递数据最快的方式。分别编译后,进程1的输入信息在进程2可以看到。进程的线程共享进程资源,而进程共享计算机资源。共享内存允许不相关的进程访问同一片物理内存。在某种程度上,多进程是共享物理内存的。4、将共享内存脱离进程空间&删除。例子:两个进程分别创建共享内存。但是共享内存可以打破这个限制。2、将共享内存连接到进程空间。,需要借助替他机制管理访问。
2024-09-06 19:56:11
495
原创 【操作系统】线程同步之自旋锁
3、自旋锁不适合在单核CPU使用。(会因为一直占用CPU而引起其他进程或线程无法执行)自旋锁也是一种多线程同步的变量,使用自旋锁的线程会反复检查锁变量是否可用。状态,死循环等待锁被释放。(和互斥量最大的不同)pthread_spinlock_t 定义。2、操作系统内部很多地方使用的是自旋锁。1、避免了进程或线程上下文切换的开销。自旋锁不会让出CPU,是一种。
2024-09-06 18:43:33
268
原创 【操作系统】线程同步之互斥量
操作系统提供了互斥量的API,通过加锁解锁保证了两个线程执行关键指令没有交叉执行。这一系列操作要么全部执行完成,要么全部没有执行,不存在部分执行部分未执行的情况。:互斥量可以保证线程1操作临界资源时,阻止线程2去访问临界资源。互斥量(互斥锁),处于两种状态之一的变量:解锁和加锁。:指一系列操作不可被中断的特性。互斥量是最简单的线程同步的方法。两个状态可以保证资源访问的串行。
2024-09-05 22:02:06
287
原创 【操作系统存储篇】Linux文件基本操作
可以通过开头第一个字母判断文件类型,比如白色光标一行以b开头,表示快设备文件。touch:创建文件;vim:创建或修改文件;cat:查看文件内容;mkdir:创建文件夹;rm -r:递归的删除文件夹里的东西从而删除文件夹。Linux有很多目录,Linux一切皆是文件,包括进程、设备等。相对路径:相对于当前的操作目录,文件位于哪个目录。绝对路径 :从根目录开始的路径。
2024-09-05 17:44:16
503
原创 【Redis】Redis数据类型
有效的字符串类型不仅可以是字符,还可以是数字,以上都是有效的字符串类型。String最大容量为512mb, 建议单个kv不超过100kb。
2024-05-13 09:38:20
241
原创 【JVM】ASM开发
ASM是一个Java字节码操纵框架,它能被用来或者。ASM可以直接产生二进制class文件,也可以在类被加载入虚拟机之前动态改变类行为,ASM从类文件中读入信息后能够改变类行为,分析类信息,甚至能根据要求生成新类。目前许多框架如cglib、Hibernate、Spring都直接或间接地使用ASM操作字节码。
2024-05-11 16:35:22
446
原创 【JVM】阅读Class字节码:常量池
下图是反编译过后的字节码文件中我们找到的常量池的部分。可见常量池数量是从1到52,共52个常量,了解了常量池的数量,接下去我们看整个常量池的内容怎么读,即下图红线部分。
2024-05-11 11:44:38
573
原创 【JVM】Class文件的格式
Class文件是JVM的,Java虚拟机规范中定义了Class文件的结构。Class文件是JVM实现平台无关、技术无关的基础。1:Class文件是一组以8字节为单位的字节流,各个数据项目按顺序紧凑排列2:对于占用空间大于8字节的数据项,按照高位在前的方式分割成多个8字节进行存储class文件就是这些十六进制的字节流。通过javap输出出来的字节码文件,是经过反编译之后适合人阅读的代码。3:Class文件格式里面只有两种类型:无符号数、表。
2024-05-11 10:46:33
422
原创 【JVM】了解JVM规范中的虚拟机结构
Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的(opcode)以及跟随其后的零至多个代表此操作所需参数的(operand)所构成。虚拟机中许多指令并不包含操作数,只有一个操作码。操作码一列中的T就跟泛型一样,虚拟机根据不同的数据类型会把T替换掉,提供不同的指令。
2024-05-10 22:00:18
459
原创 【JVM】JVM规范作用及其核心
字节码指令集(相当于中央处理器CPU)Class文件的格式数据类型和值运行时数据区栈帧特殊方法类库异常虚拟机的启动、加载、链接和初始化。
2024-05-10 13:34:23
265
原创 【JVM】从三种认知角度重识JVM
JVM:Java Virtual Machine,也就是Java虚拟机。虚拟机:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统(物理上不存在)。JVM通过软件来模拟Java字节码的指令集,是Java程序的运行环境。
2024-05-10 12:41:49
489
1
原创 Java日期
4. of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond):根据指定的年、月、日、时、分、秒、纳秒创建一个新的LocalDateTime对象。3. of(int year, int month, int dayOfMonth, int hour, int minute, int second):根据指定的年、月、日、时、分、秒创建一个新的LocalDateTime对象。
2024-01-11 10:21:12
1044
原创 二分搜索树的删除问题(java详解)
58被删除后寻找58的后继节点替代它,就是58的右子树中的最小值,即59。4)删除左右孩子都有的结点:找d的后继/d的前驱,我们以d的后继为例子。1)删除只有左孩子的结点:以左孩子为根节点的子树替代被删除的节点位置。2)删除只有右孩子的节点:以右孩子为根节点的子树替代被删除的节点位置。最小值:从根节点开始一直向左走直到走不动。最大值:从根节点开始一直向右走直到走不动。3)删除叶子节点:直接删除。
2023-12-06 13:52:33
422
原创 PTA校赛算法题十道java、C++详解
这篇文章是基于我们前不久的校赛写的,校赛给的题解都是C++,我很想写一份完整的java版本,但是能力不够,大家可以看看逻辑,感兴趣的朋友可以写一份java题解在评论区,我替你交一下再来回复你你是不是满分通过了的具体情况。很希望有喜欢刷题的小伙伴和我交流Java版的题解。在我学成归来后,我会把这篇文章出一份完全的java题解。
2023-12-03 11:28:44
1885
原创 有权图的最短路径算法
我们可以用优先队列获得v这个顶点对应的dis值,不再是v这个顶点序号的最小值了。我们的优先队列取出来的是顶点的序号,但比较起来是比较的dis值。松弛操作有方向性,相当于拐个弯到达某个端点是不是比直接到达某个端点更近。此算法在有向图无向图也成立。我们的起始点是固定点,从起始点出发到达其他各顶点的最短路径。,由于大量的应用不依赖负权边,所以这个算法有非常广泛的应用。可以包含负权边,也可以包含负权环。
2023-11-28 20:07:03
824
原创 动态规划算法详解进阶篇
当我们画一个跳楼梯的数组时我们会发现,dp[i]的值只跟dp[i - 1]和dp[i - 2]的值有关,所以我们可以用a,b,c三个变量动态保存dp[i - 1]和dp[i - 2]的值。由dp[i][j] = dp[i-1][j] + dp[i][j-1]画一个二维数组可知,我们计算第i行时只用到了i - 1这一行的数据,所以我们只需要动态利用i - 1这一行的数据就可以了。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。网格的左上角 (起始点在下图中标记为 “Start” )。
2023-11-27 20:53:05
1110
原创 动态规划经典例题leetcode思路代码详解
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。这一篇的例题解答是严格按照我上一篇写的动态规划三部曲做的,对动态规划不太了解或者比较感兴趣的朋友可以看我上一篇文章。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。个台阶向上爬需要支付的费用。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
2023-11-25 17:58:14
1415
原创 动态规划算法详解基础篇
现在我们可以再返回去看斐波那契数列的动态规划版本的代码的注释,加深一下理解。我们要多刷题,通过套路刷,不理解为啥这样套没关系,先会用套路来做。用递归 -----> 优化成状态保存避免重复计算---->看一下能否变成自底向上。2、字符串问题:如果是两个字符串的则95%用动态规划,剩下的5%比较简单。来找出一些规律,进而更好的去规划一些东西,最后可以避免一些重复计算。1、动态规划一般是最优解,并且关注的是时间上的最优解。开始,后面的每一项数字都是前面两项数字的和。1、求最值问题:最大值、最小值。
2023-11-25 11:48:23
555
空空如也
有人部署过清华大学的ChatGLM-6B模型吗 想知道它安装后使用收不收费
2023-07-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人