- 博客(62)
- 收藏
- 关注
原创 Navicat16破解直接安装(全网最简单无需激活,一路next !!)
Navicat最新版后,多了个连接Redis的功能,更丰富了。所以我们可以只用一个软件Navicat就可以打开mysql、Redis等等,不需要打开很多个图形化管理工具。但是,这个软件需要付费。啥都不多说,直接上链接!这里安装后一路 next 直接安装(注意安装位置的时候尽量放 d 盘)版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。链接:https://pan.quark.cn/s/c7a9297dc1cf。有问题可以评论区 d 我.
2024-06-23 19:59:00
116
原创 计算机组成实验 MIPS CPU设计(HUST)存储系统设计(HUST)运算器设计(HUST).
链接:https://pan.baidu.com/s/1ZrWmQQKCtsPAfFFn5lTvCA?想上传点免费的资源csdn还强制要收费或者充vip,真🐕。
2024-06-17 17:15:12
121
原创 IDEA 无法复制粘贴问题
找到Paste without Formatting 可以看到其实复制的粘贴键并不是ctrl+v,此时我们可以在将ctrl+v快捷键添加上去,双击这一行。IDEA->settings ->Vim Emulater把勾选去掉.
2024-06-13 21:19:39
487
原创 【回溯算法 2】子集(medium)(每日一题)
回溯算法是⼀种⾮常重要的算法,可以解决许多组合问题、排列问题和搜索问题等。回溯算法的核⼼ 思想是搜索状态树,通过遍历状态树来实现对所有可能解的搜索。回溯算法的模板⾮常简单,但是实 现起来需要注意⼀些细节,⽐如如何做出选择、如何撤销选择等。
2024-06-04 18:31:16
308
原创 【回溯算法 1】全排列(medium)(每日一题)
回溯算法是⼀种经典的递归算法,通常⽤于解决组合问题、排列问题和搜索问题等。从⼀个初始状态开始,按照⼀定的规则向前搜索,当搜索到某个状态⽆法前进 时,回退到前⼀个状态,再按照其他的规则搜索。回溯算法在搜索过程中维护⼀个状态树,通过遍历 状态树来实现对所有可能解的搜索。回溯算法的核⼼思想:“试错”,即在搜索过程中不断地做出选择,如果选择正确,则继续向前搜 索;否则,回退到上⼀个状态,重新做出选择。回溯算法通常⽤于解决具有多个解,且每个解都需要 搜索才能找到的问题。全排列(medium)
2024-06-04 02:38:22
893
原创 【分治算法 7】翻转对(hard)(每日一题)
这里是 归并排序对分治算法的应用,这是最后一题了。这就是分治算法的一系列咯。还有点小难,但是相信我,这些题给他刷刷就会咯。⼤思路与求逆序对的思路⼀样,就是利⽤归并排序的思想,将求整个数组的翻转对的数量,转换成 三部分:左半区间翻转对的数量,右半区间翻转对的数量,⼀左⼀右选择时翻转对的数量。重点就 是在合并区间过程中,如何计算出翻转对的数量。 与上个问题不同的是,上⼀道题我们可以⼀边合并⼀遍计算,但是这道题要求的是左边元素⼤于右 边元素的两倍,如果我们直接合并的话,是⽆法快速计算出翻转对的数量的。
2024-05-31 21:10:21
881
原创 我的创作纪念日
我最初成为创作者的初心是通过分享我的学习和工作经验,以及技术探讨来帮助他人。这个初心源自于我在实战项目中积累的经验,日常学习中的记录,以及与他人的交流互动。在未来,我希望能够继续深耕我的领域,不断提升自己的技术水平和创作能力。我也希望能够与更多的人分享我的经验和见解,与他们一起探讨技术问题,共同进步。我的职业规划是成为领域内的专家,并通过持续的学习和创作,为行业发展做出积极贡献。在创作的过程中,我获得了许多宝贵的收获。更重要的是,我认识了许多志同道合的领域同行,与他们一起交流学习,共同成长。
2024-05-31 16:53:05
379
原创 【JVM 3】Java虚拟机的 垃圾回收机制
之前讲了Java运⾏时内存的各个区域。对于程序计数器、虚拟机栈、本地⽅法栈这三部分区域⽽⾔, 其⽣命周期与相关线程有关,随线程⽽⽣,随线程⽽灭。并且这三个区域的内存分配与回收具有确定 性,因为当⽅法结束或者线程结束时,内存就⾃然跟着线程回收了。因此我这里所讲的有关 内存分配 和 回收关注的为Java堆与⽅法区这两个区域。Java堆中存放着⼏乎所有的对象实例,垃圾回收器在对堆进⾏垃圾回收前,⾸先要判断这些对象哪些 还存活,哪些已经"死去"。内存VS对象。
2024-05-25 09:30:00
1162
原创 【分治算法 7】计算右侧⼩于当前元素的个数(hard)(每日一题)
分治算法(Divide and Conquer),顾名思义,将一个大问题分成多个小问题,然后分别解决这些小问题,最后将它们的解合并起来得到整体的解。这个算法的核心思想是将问题分割成更小的、相同结构的子问题,然后将子问题的解合并成原问题的解。分治算法的运行流程通常包括三个步骤:分解、解决和合并。
2024-05-24 22:10:06
811
原创 【JVM 2】JVM 运⾏时数据区
之前写了 JVM 的类加载机制,这篇文章会简单总结 JVM 的运⾏时数据区Java虚拟机(JVM)运行时数据区域是指在JVM运行Java程序时,用于存储程序数据和执行程序的不同内存区域。这些区域包括了方法区、堆、虚拟机栈、本地方法栈和程序计数器。程序计数器(Program Counter)程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在多线程环境下,每个线程都有自己的程序计数器,用于记录当前线程正在执行的字节码指令地址。
2024-05-23 09:45:00
872
原创 【分治算法 6】数组中的逆序对(hard)(每日一题)
分治算法(Divide and Conquer),顾名思义,将一个大问题分成多个小问题,然后分别解决这些小问题,最后将它们的解合并起来得到整体的解。这个算法的核心思想是将问题分割成更小的、相同结构的子问题,然后将子问题的解合并成原问题的解。分治算法的运行流程通常包括三个步骤:分解、解决和合并。⽤归并排序求逆序数是很经典的⽅法,主要就是在归并排序的合并过程中统计出逆序对的数量,也就是在合并两个有序序列的过程中,能够快速求出逆序对的数量。 我们将这个问题分解成⼏个⼩问题,逐⼀破解这道题。
2024-05-23 09:30:00
492
原创 【分治算法 5】归并排序(medium)(每日一题)
归并排序的流程充分的体现了「分⽽治之」的思想,⼤体过程分为两步:◦ 分:将数组⼀分为⼆为两部分,⼀直分解到数组的⻓度为 1 ,使整个数组的排序过程被分 为「左半部分排序」+「右半部分排序」;◦ 治:将两个较短的「有序数组合并成⼀个⻓的有序数组」,⼀直合并到最初的⻓度。思想是将问题分割成更小的、相同结构的子问题,然后将子问题的解合并成原问题的解。分治算法的运行流程通常包括三个步骤:分解、解决和合并。
2024-05-22 21:55:55
272
原创 【JVM】Java虚拟机的 “ 类加载过程 ”
JVM是JavaVirtualMachine的简称,意为Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运⾏在⼀个完全隔离的环境中的完整计算机系统。JVM执⾏流程:程序在执⾏之前先要把java代码转换成字节码(class⽂件),JVM⾸先需要把字节码通过⼀定的⽅式类加载器(ClassLoader)把⽂件加载到内存中运⾏时数据区(RuntimeDataArea),⽽字节码⽂ 件是JVM的⼀套指令集规范,并不能直接交个底层操作系统去执⾏,
2024-05-22 09:30:00
938
原创 【分治算法 4】最小的 k 个数(medium)(每日一题)
最⼩的k个数(medium)(每日一题)在快排中,当我们把数组「分成三块」之后: [l, left] [left + 1, right - 1] [right, r] ,我们可以通过计算每⼀个区间内元素的「个数」,进⽽推断出最⼩的k个数在哪 些区间⾥⾯。 那么我们可以直接去「相应的区间」继续划分数组即可。这道题其实有很多做法,1. 直接排序 O(n * logN)2.堆实现 O(n * logK)3.分治 O(N) 这里只实现第三种做法,如果另外两种有
2024-05-21 20:18:20
262
原创 【分治算法 3】快速选择算法(medium)(每日一题)
快速选择算法215. 数组中的第K个最大元素 - 力扣(LeetCode)这道题有多种解法,比较经典的方式是用建小根堆去找这个数O(n*logk)这里使用分治的思想解决这道问题能达到 O(n) 《算法导论》在快排中,当我们把数组「分成三块」之后: [l, left] [left + 1, right - 1] [right, r] ,我们可以通过计算每⼀个区间内元素的「个数」,进⽽推断出我们要找的元素是 在「哪⼀个区间」⾥⾯。 那么我们可以直接去「相应的区间」去寻找最终结果就好了。
2024-05-20 09:43:53
853
原创 【网络原理 10】HTTPS 协议 工作过程 超细节(精心配图)
之前介绍了 HTTP 协议,这里是它的加密版。HTTPS(Hypertext Transfer Protocol Secure)是一种通过加密保护数据传输安全的通信协议。它是在标准的HTTP协议上添加了SSL/TLS(Secure Sockets Layer/Transport Layer Security)加密层来提供安全性。HTTPS(Hypertext Transfer Protocol Secure)是一种通过加密保护数据传输安全的通信协议。
2024-05-19 09:30:00
1053
原创 【分治算法 1】颜⾊分类(medium)(每日一题)
分治算法(Divide and Conquer),顾名思义,将一个大问题分成多个小问题,然后分别解决这些小问题,最后将它们的解合并起来得到整体的解。这个算法的核心思想是将问题分割成更小的、相同结构的子问题,然后将子问题的解合并成原问题的解。分解、解决和合并。分解:将原问题分解成若干个规模较小的子问题。这个步骤通常通过递归实现,直到子问题足够简单可以直接求解。解决:递归地求解子问题。这可以通过相同的方法再次应用分治算法,继续将子问题分解成更小的子问题,直到达到基本情况可以直接求解。
2024-05-17 23:38:05
553
原创 【网络原理 9】HTTP协议 请求 & 响应 超详解 看这篇就够
接上篇文章,【网络原理 8】HTTP 协议的基本格式和 fiddler 的用法-CSDN博客,这里详细介绍HTTP 的 请求 和 响应。HTTP(Hypertext Transfer Protocol)是一种应用层协议,用于在Web浏览器和Web服务器之间传输数据。HTTP请求和响应是HTTP协议中最基本的消息类型。请求行:包括HTTP方法(GET,POST等)、请求URI和HTTP版本号;请求头部:包括一系列关于请求的元数据,如Host、User-Agent、Accept等;
2024-05-17 09:45:00
2061
原创 【DFS算法】二叉树中的深搜
1.计算布尔二叉树的值(medium)2.求根节点到叶节点数字之和(medium)3.二叉树剪枝(medium)4.验证二叉搜索树(medium)5.二叉搜索树种的第K小的元素6.二叉树的所有路径
2024-05-16 21:55:02
745
原创 【网络原理 8】HTTP 协议的基本格式和 fiddler 的用法
之前给大家分别介绍了应用层,传输层的 TCP/UDP,网络层的 IP ,数据链路层的 以太网。这里要介绍的 HTTP 属于应用层里的协议。为什么HTTP报⽂中要存在"空⾏"?因为HTTP协议并没有规定报头部分的键值对有多少个.空⾏就相当于是"报头的结束标记",或者是 "报头和正⽂之间的分隔符".HTTP在传输层依赖TCP协议,TCP是⾯向字节流的.如果没有这个空⾏,就会出现"粘包问题".
2024-05-16 09:30:00
1882
原创 【网络原理 7】NAT 机制的工作流程
之前我们讨论了,IPv4协议中,IP地址数量不充⾜的问题NAT技术当前解决IP地址不够⽤的主要⼿段,是路由器的⼀个重要功能;• NAT能够将私有IP对外通信时转为全局IP.也就是就是⼀种将私有IP和全局IP相互转化的技术⽅法• 很多学校,家庭,公司内部采⽤每个终端设置私有IP,⽽在路由器或必要的服务器上设置全局IP;• 全局IP要求唯⼀,但是私有IP不需要;在不同的局域⽹中出现相同的私有IP是完全不影响的;
2024-05-14 23:45:24
1024
原创 【递归算法】 1.合并两个有序链表(easy)2. 两两交换链表中的节点(medium)3. 快速幂
1. 合并两个有序链表(easy)2.两两交换链表中的节点(medium)3. 快速幂
2024-05-14 20:32:04
348
原创 【网络原理 6 】数据链路层
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。功能提供了节点之间的直接通信能力,使得连接的设备可以进行数据的传输和接收。负责将物理层提供的原始比特流组织成逻辑上的数据帧(Frame),并提供识别、定位和同步的功能。实现了数据的错误检测、纠正和流量控制,以确保数据的可靠传输。控制设备对共享传输介质的访问,以防止数据冲突和碰撞。主要任务封装和解封装。
2024-05-13 23:57:13
1109
1
原创 【网络原理 5】网络层中的 IP 协议
IP(Internet Protocol,互联网协议)是互联网中最基本、最重要的协议之一,它承载了互联网上几乎所有数据的传输。作为网络层协议,IP负责将数据从一个网络节点传输到另一个网络节点,而不管这两个节点之间的具体物理连接是什么样的。IP协议的设计理念是为了提供一种灵活、可靠、且能够适应不断变化的网络环境的数据传输机制。
2024-05-12 23:58:14
623
3
原创 【网络原理 4】应用层中 服务器和客户端的传输 以及 DNS 协议
这里会介绍服务器和客户端之间使用 socket 套接字来传输的方式.UDP 传输UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的网络传输协议。与TCP(Transmission Control Protocol,传输控制协议)相比,UDP更加简单,因为它不提供像TCP那样的可靠性和流量控制机制。无连接性:UDP是一种无连接的协议,这意味着在发送数据之前不需要建立连接。相比之下,TCP需要在通信之前建立连接,然后再进行数据传输。不可靠性。
2024-05-12 21:29:28
1136
1
原创 【网络原理 3】TCP协议的相关特性(三次握手,四次挥手)(万字详解)看完必懂 !
这篇文章会讲述 TCP 协议的一些相关特性。TCP⼩结 为什么TCP这么复杂?因为要保证可靠性,同时⼜尽可能的提⾼性能.校验和序列号(按序到达)确认应答超时重发连接管理流量控制拥塞控制滑动窗⼝快速重传延迟应答捎带应答其他:• 定时器(超时重传定时器,保活定时器,TIME_WAIT定时器等)以上就是要介绍的TCP全部内容了,写了我几天的博客,辛苦坏我了。博客不易,鹏鹏卖艺😭😭😭😭😭😭后续我会酷酷更新更多学习笔记。
2024-05-10 21:53:42
1785
原创 【多线程 7】大厂面试必问高频问题之——线程安全问题
这篇文章会给大家详细介绍有关线程安全问题和解决方案。以上就是今天要讲的内容,关于线程安全问题和问题的解决方案。
2024-05-08 21:26:04
766
1
原创 【前缀和】560. 和为 K 的子数组 && 974. 和可被 K 整除的子数组
今天刷题的时候,刷了这两题,感觉挺有意思的。代码写起来挺简单的,但是思路和其中的细节以及涉及到的知识点确实让我挺意外的。这里写个博客解析一波,也是巩固一下。这道题和上道题其实很像,就是需要额外需要两个知识点。
2024-05-08 17:04:45
277
原创 【多线程 6】锁策略, cas 和 synchronized 优化过程
之前分别详细的介绍过 synchronized 锁 和 锁策略,可以参考下边的链接锁机制的“神锁“———synchronized [多线程系列4]-CSDN博客历年必问高频面试题之——线程安全之常见的锁策略!!!-CSDN博客如果不了解 synchronized 锁 和 锁策略 的程序猿们,推荐先看看上边这两篇,会更好理解这里的内容。这里会介绍 java 官方的大佬们对 锁策略, cas 和 synchronized 进一步优化的详细过程。什么是CAS。
2024-05-07 23:55:20
996
原创 【多线程 5】 HashTable, HashMap, ConcurrentHashMap 三者之间的区别
多线程环境使用哈希表HashMap本身不是线程安全的.Hashtable这里会详细给大家讲述 这三种集合的特性和区别。三者区别再总结:1. 线程安全性:- Hashtable:使用synchronized关键字实现线程安全,所有操作都是同步的,但性能较差。- HashMap:非线程安全,需要在多线程环境中手动处理同步问题。- ConcurrentHashMap:采用分段锁(Segment)的机制实现线程安全,在多线程环境下性能较好。
2024-05-07 09:45:00
1102
原创 【网络原理 2】UDP 协议的报文结构和注意事项
这里会详细介绍 UDP 协议 的定义和特点。⛳⛳⛳UDP(用户数据报协议)的报文结构简单而灵活:源端口号(16位):指定发送方的端口号。目标端口号(16位):指定接收方的端口号。长度(16位):指定UDP报文长度,包括首部和数据部分,以字节为单位。校验和(16位):用于检测UDP报文在传输过程中是否被篡改。UDP的特点和注意事项包括:无连接性:UDP是无连接的,不保证数据传输的可靠性,也不保证数据包的顺序。低开销:由于不需要维护连接状态,UDP的开销比TCP低。适用于实时应用。
2024-05-06 23:21:16
959
原创 【 网络原理 1】 网络编程原理基础知识
这里会详细介绍IP地址、端口号、协议、协议分层、封装、分用、客户端、服务器、请求、响应、两台主机之间的网络通信流程 网络原理知识IP地址(Internet Protocol Address):它是分配给设备以在网络上识别和通信的唯一标识符。IPv4地址由32位二进制数表示,通常以点分十进制表示,如192.168.1.1。IPv6地址则由128位二进制数表示,通常以八组十六进制数表示。端口号(Port Number):在网络通信中,端口号用于标识特定的应用程序或服务。
2024-05-06 09:30:00
778
1
原创 【文件IO 2】Java之文件操作(File&IOStream 详解)
本文会详细讲述 File 类的用法和 InputStream, OutputStream 的用法我们先来看看 File 类中的常⻅属性、构造⽅法和⽅法⽅法说明InputStream 只是⼀个抽象类,要使⽤还需要具体的实现类。关于InputStream的实现类有很多,基 本可以认为不同的输⼊设备都可以对应⼀个InputStream类,我们现在只关⼼从⽂件中读取,所以使 ⽤FileInputStream⽰例1将⽂件完全读完的两种⽅式。相⽐较⽽⾔,后⼀种的IO次数更少,性能更好。
2024-05-04 14:49:40
1107
1
原创 【文件操作 IO 1】文件操作和IO储存硬盘基本常识
文件系统中的基本单位是文件和目录。文件是数据的集合,可以是文本文件、图像、视频、程序等。目录是用于组织和存储文件的容器,可以包含文件和其他目录。文件系统使用路径来标识文件和目录的位置。路径可以是绝对路径(从根目录开始的完整路径)或相对路径(相对于当前目录的路径)。大多数文件系统采用层次结构来组织文件和目录。在这种结构中,根目录位于顶层,下面是一系列的子目录和文件,每个子目录下又可以包含更多的子目录和文件,以此类推。
2024-05-04 09:45:00
458
原创 【多线程 1】多线程之面试常考题——进程线程联系和区别(全面详解)
在实际应用中,进程和线程往往会结合使用,利用进程间的独立性和线程间的共享特性,来提高系统的并发性和效率。真嘟超级详细,都是手敲的 ,希望能帮助大伙,博客不易,!!
2024-05-02 09:45:00
921
原创 【多线程 9】多线程创建--看着一篇就够了 超全!!! (细致入微)
1 继承Thread类🏂🏂2.使用 Runnable 接口⛳3. 其他变形(匿名内部类)🏐🏐4. lambda表达式 ! ! ! ⭐⭐⭐(最常用,推荐 ! !)5. 实现Callable接口🏀🏀6.使用线程池 ✈✈✈7.使用ScheduledExecutorService 🐎🐎8. 用线程工厂👨🏭👨🏭
2024-05-02 09:30:00
1213
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人