- 博客(10)
- 收藏
- 关注
原创 C++ 智能指针 实现 测试
在java这样的高级语言中,我们一般不用手动管理内存,但在C++中,堆中的内存需要手动回收,当同一块内存被释放多次时,可能引起程序的崩溃和异常,这就引出来了一个内存管理的问题,一种解决方案是使用智能指针(SmartPointer),它内部包含了两个值:一个模板指针,一个计数器。该智能指针通过引用计数的方式来决定什么时候来释放内存: 1. 当初始化构造时,对传入的指针参数记count为0或1(如果传入一个nullptr类型,那就把count设为0,否则为1) ...
2021-10-12 17:53:56
390
原创 Java线程池的实际应用:一根木棍 随机分割三段 组成三角形的概率 多线程解决
java线程池的介绍全网很多,大家可以查询得到,我就不多赘述了(讲的可能还不如那些资料好)来看一个实际问题: 我们有一根长度为1的木棍,现在我们随机将它分割成三份,那么这三段木棍能组成一个三角形的概率是多少? 我相信一些精通数学的小伙伴能用通过三边关系来给出解析解的答案,但作为计算机人,我们可以借鉴伟大的蒙特卡洛方法来解决。(蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J....
2021-10-11 00:29:46
820
原创 C++ 遍历 链表
一种使用int*指针来访问链表元素的方法 (并非使用next指针的方法)编译环境:TDM-GCC 4.9.2 32-Bit Release众所周知 c与cpp中的链表可以通过结构体或class创建。比如:class ListNode{private: int val;public: ListNode* next; int get(){return val;} ListNode(int v):val(v),next(N...
2021-10-10 21:35:21
6193
10
原创 MySQL隔离级别 封锁协议 的简单讲解与实验
之前上数据库课程的时候,这部分学的迷迷糊糊的,后来温习了一下,决定写一篇博客记录下来,同时尽量用最通俗易懂的方式讲出来。 MySQL隔离级别有四个,分别是如下 1. read uncommitted 读未提交。 大白话的举个例子,就是你和张三一起用客户端(就比如cmd打开的那个黑框)对同一个数据库中的同一张表进行操作,在张三开启他的事务之后,在他commit之前,你能看到张三对数据库做出的修改。换句话说,你能读到张三还未提交的操作,所以叫读...
2021-08-22 15:18:47
302
原创 leetcode 863. 二叉树中第二小的节点 bfs搜索+dfs建图 模板题
该题链接点击这里:给定一个二叉树(具有根结点root),一个目标结点target,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。 看到要求我们返回所有离某节点距离为k的节点,我们应该想到使用广度优先搜索,向外迈出k步,然后得到我们需要的节点。这基本上属于一道中规中矩的模板题,技巧点可能在于图的建立。 一般情况下我们可以通过情况来判断该如何建立图的模型,这里,...
2021-07-29 16:57:46
145
原创 git 的OpenSSL SSL_read: Connection was reset, errno 10054的简单错误解决方案
作为使用git命令的新手,特别是使用 git clone命令时,可能会遇到error: RPC failed; curl 28 OpenSSL SSL_read: Connection was reset, errno 10054问题,查阅资料给出的windows下的解决方案是更改host文件或直接设置git config --global http.sslVerify "false" 就可解决,但我并没有按照这种方案搞定。通过实践,我给出如下方案1.打开cmd2. 输入:git init3.输
2021-07-29 16:19:02
3860
原创 如何删掉每行代码前的行号(python实现 小白级手把手教程)
当我们找到一处自己想要的代码资源时,却发现遇到了一个问题: mei'hang'dai'ma
2021-06-11 21:51:14
2651
4
原创 彼德森(Peterson)算法在多线程环境的实际应用与并发问题的解决(i++)
这是一篇关于简单情况下进行并发控制的文章,核心是彼德森算法,还有一些编程实现方面的小技巧,希望对浏览到的人提供帮助。并发是os中最常见的问题之一,在早期,人们尝试使用纯算法的方法在软件层面进行实现,但这种方案由于不具备普适性,而且不够高效,后续的研究者采用软硬件结合的方式进行设计。但早期的方法仍然对我们有启发的意义。这里简单的说明一下彼德森算法:(这位博主讲的不错,我这里copy一下)https://blog.youkuaiyun.com/weixin_37023469/article/details.
2021-06-09 11:55:05
1147
2
原创 一篇文章解决i++是否为原子性操作的困惑
当有人问你i++操作是否是原子性的时候,你是否满头都是问号?如果是的话,这篇文章将解答你的困惑.首先,如果你学习过c语言和汇编语言,那么就知道c语言种: i++;这条语句会被翻译为汇编指令.让我们举个例子来说(基于X86体系结构)假设i变量存储在内存地址0x8049a1c中,要对这里的值进行加一操作,我们需要这样三步:把他从内存中取出来,放入寄存器中 然后给该寄存器的值加一. 该寄存器的值放回原来它在内存的位置.假设我们的寄存器为eax , 我们根据上述规则,会得到这样三...
2021-05-20 21:22:21
390
12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人