Centos6.5 使用curl时 用valgrind 检查内存泄露

测试源码如下

#include "stdio.h"
#include <iostream>

#include <curl/curl.h>

#include <openssl/crypto.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/conf.h>
#include <openssl/ssl.h>
#include <openssl/rand.h>


#define LOG_STD(p) std::cout<<__FUNCTION__<<" "<<p<<"["<<__FILE__<<":"<<__LINE__<<"]"<<std::endl

int main(int argc, char* argv[])
{
    LOG_STD("test--begin");

    CURLcode code = curl_global_init(CURL_GLOBAL_SSL);
    if (code != CURLE_OK)
    {
        LOG_STD("curl_global_init fail");
    }
    LOG_STD("test--version:"<<curl_version());
    sk_SSL_COMP_free(SSL_COMP_get_compression_methods());
    CRYPTO_cleanup_all_ex_data();
    CONF_modules_free();
    ERR_remove_state(0);
    CONF_modules_unload(1); 
    ERR_free_strings();
    ERR_remove_thread_state(NULL);
    EVP_cleanup();
    curl_global_cleanup();

    LOG_STD("test--begin");
}

直接测试结果如下

 [root@localhost curl_test]# valgrind --leak-check=full ./a.out 
==4897== Memcheck, a memory error detector
==4897== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==4897== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==4897== Command: ./a.out
==4897== 
main test--begin[Test.cpp:18]
main test--version:libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2[Test.cpp:25]
main test--begin[Test.cpp:36]
==4897== 
==4897== HEAP SUMMARY:
==4897==     in use at exit: 7,776 bytes in 78 blocks
==4897==   total heap usage: 88 allocs, 10 frees, 8,891 bytes allocated
==4897== 
==4897== LEAK SUMMARY:
==4897==    definitely lost: 0 bytes in 0 blocks
==4897==    indirectly lost: 0 bytes in 0 blocks
==4897==      possibly lost: 0 bytes in 0 blocks
==4897==    still reachable: 7,776 bytes in 78 blocks
==4897==         suppressed: 0 bytes in 0 blocks
==4897== Reachable blocks (those to which a pointer was found) are not shown.
==4897== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==4897== 
==4897== For counts of detected and suppressed errors, rerun with: -v
==4897== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)

更新curl版本后测试如下

 [root@localhost curl_test]# valgrind --leak-check=full --show-leak-kinds=all ./a.out 
==4979== Memcheck, a memory error detector
==4979== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==4979== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==4979== Command: ./a.out
==4979== 
main test--begin[Test.cpp:18]
main test--version:libcurl/7.55.1 OpenSSL/1.0.1e zlib/1.2.3 c-ares/1.13.0 libssh2/1.8.0 nghttp2/1.6.0[Test.cpp:25]
main test--begin[Test.cpp:36]
==4979== 
==4979== HEAP SUMMARY:
==4979==     in use at exit: 416 bytes in 6 blocks
==4979==   total heap usage: 4,206 allocs, 4,200 frees, 142,966 bytes allocated
==4979== 
==4979== 24 bytes in 1 blocks are still reachable in loss record 1 of 6
==4979==    at 0x4A0728A: malloc (vg_replace_malloc.c:299)
==4979==    by 0x301566AC2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C5E5: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C6A8: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D650F: engine_free_util (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6B8F: ENGINE_remove (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6C74: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D63B5: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5A8F: sk_pop_free (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D638B: ENGINE_cleanup (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x4C82CDD: ??? (in /usr/lib64/libcurl.so.4.4.0)
==4979==    by 0x4C85D31: ??? (in /usr/lib64/libcurl.so.4.4.0)
==4979== 
==4979== 24 bytes in 1 blocks are still reachable in loss record 2 of 6
==4979==    at 0x4A0728A: malloc (vg_replace_malloc.c:299)
==4979==    by 0x301566AC2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E6302: lh_insert (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C617: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C6A8: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D650F: engine_free_util (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6B8F: ENGINE_remove (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6C74: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D63B5: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5A8F: sk_pop_free (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D638B: ENGINE_cleanup (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x4C82CDD: ??? (in /usr/lib64/libcurl.so.4.4.0)
==4979== 
==4979== 32 bytes in 1 blocks are still reachable in loss record 3 of 6
==4979==    at 0x4A0728A: malloc (vg_replace_malloc.c:299)
==4979==    by 0x301566AC2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5C9E: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C5FB: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C6A8: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D650F: engine_free_util (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6B8F: ENGINE_remove (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6C74: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D63B5: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5A8F: sk_pop_free (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D638B: ENGINE_cleanup (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x4C82CDD: ??? (in /usr/lib64/libcurl.so.4.4.0)
==4979== 
==4979== 32 bytes in 1 blocks are still reachable in loss record 4 of 6
==4979==    at 0x4A0728A: malloc (vg_replace_malloc.c:299)
==4979==    by 0x301566AC2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5CBC: sk_new (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C5FB: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C6A8: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D650F: engine_free_util (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6B8F: ENGINE_remove (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6C74: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D63B5: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5A8F: sk_pop_free (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D638B: ENGINE_cleanup (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x4C82CDD: ??? (in /usr/lib64/libcurl.so.4.4.0)
==4979== 
==4979== 128 bytes in 1 blocks are still reachable in loss record 5 of 6
==4979==    at 0x4A0728A: malloc (vg_replace_malloc.c:299)
==4979==    by 0x301566AC2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E6391: lh_new (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C524: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C674: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C6A8: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D650F: engine_free_util (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6B8F: ENGINE_remove (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6C74: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D63B5: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5A8F: sk_pop_free (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D638B: ENGINE_cleanup (in /usr/lib64/libcrypto.so.1.0.1e)
==4979== 
==4979== 176 bytes in 1 blocks are still reachable in loss record 6 of 6
==4979==    at 0x4A0728A: malloc (vg_replace_malloc.c:299)
==4979==    by 0x301566AC2D: CRYPTO_malloc (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E636F: lh_new (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C524: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C674: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x301566C6A8: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D650F: engine_free_util (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6B8F: ENGINE_remove (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D6C74: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D63B5: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156E5A8F: sk_pop_free (in /usr/lib64/libcrypto.so.1.0.1e)
==4979==    by 0x30156D638B: ENGINE_cleanup (in /usr/lib64/libcrypto.so.1.0.1e)
==4979== 
==4979== LEAK SUMMARY:
==4979==    definitely lost: 0 bytes in 0 blocks
==4979==    indirectly lost: 0 bytes in 0 blocks
==4979==      possibly lost: 0 bytes in 0 blocks
==4979==    still reachable: 416 bytes in 6 blocks
==4979==         suppressed: 0 bytes in 0 blocks
==4979== 
==4979== For counts of detected and suppressed errors, rerun with: -v
==4979== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Centos 6.5 ip地址ping不通

我手动配置的192.168.10.116/24 可用别的服务器死活ping不通。 刚开始用Centos 6.5不懂,求助。

CentOS6.5 crontab配置问题

最近学习定时任务的配置,但是遇上一些疑惑,在这里问下,求大家解惑。 1、我测试定时任务时,在/etc/crontab配置文件中新增如下一行 10 * * * * root /opt/script/test 其中/opt/script/test文件内容为: ``` cd /opt mkdir cronooooo ``` 2、执行service crond reload重新读取配置。 3、设置时间到执行前10秒 date -s '2017-01-06 02:09:50' 4、但是等待十秒之后/opt下对应目录并没有创建。 不知道我操作在哪个地方有问题呢?

SElinux 在CentOS6.5上的配置问题?

描述: 系统是centos6.5 ,64位 , 使用的3.10.1的内核。 使用refpolicy-2.20110726.tar.bz2 策略源码包,且其所需依赖的软件版本均满足要求。 安装步骤: a. cd */refpolicy ; b. make install-src ; c. vim /etc/selinux/refpolicy/src/policy/build.conf , and change DISTRO = redhat ,DIRECT_INITRC =y ; d. make install ; e. set SELINUXTYPE=refpolicy ; f.touch /.autorelabel , shutdown -r now . 但是在这个重启这个步骤之后,系统就无法启动了,或者说是启动了一部分。 请问哪位大神有过相关的经验,能指点一下 ?

centos 6.5更新到6.8后启动不起来

centos6.5系统一直在用,后来更新了一下,更新完成后一直没有关机,一直可以用,今天重启了一下电脑在进度条上卡住了,然后按重启按e编辑了一下,出来命令行,出现启动过程的详细信息如下,好像是usb出现了问题,一致在循环红框里面的这一块,请问各位大神有没有遇到过这种情况的,一般怎么解决呢? ![红框里面是重复出现的](https://img-ask.csdn.net/upload/201608/18/1471519112_590825.jpg)

Centos6.5直接升级至Centos7.5有哪位大神能支持一下?求助!

想直接通过6.5升级至7.5,尝试了一些方法,但都失败了,请求各位高手指导!!!

centos6.5安装了tomcat后无法访问8080端口(防火墙accept8080)

centos6.5安装了tomcat后无法访问8080端口(防火墙accept8080)![图片说明](https://img-ask.csdn.net/upload/201706/28/1498635898_609806.png)

vmware安装的centos6.5如何配置php环境

自己在本地安装了一个centos6.5的虚拟机,是非图形界面的,不知怎么安装php环境,并实现自己本机访问,请问各位大神给点提示。

CentOS 6.5 安装完成之后所有USB设备都不管用了,只有笔记本自带都键盘和鼠标管用

CentOS 6.5 安装完成之后所有USB设备都不管用了,只有笔记本自带都键盘和鼠标管用,大家帮帮忙,需要怎么办啊?

centos6.5命令行和窗口界面的切换

我安装的centos6.5 base server版本能够从图形界面切换到命令行界面tt1-tt6,而且tt1-tt6之间可以任意切换,但就是切换不到图形界面。求解

centos6.5无线驱动安装问题

按照网上的步骤来,没有报错,但是仍然显示没有驱动 1.检查无线网卡型号 2.检查内核版本 3.按照网卡型号和内核版本去官网下载源码 4.编译 5.重启 每一步都很正常 求解啊

Linux Centos6.5 service mysqld start初始化失败无报错

我利用yum安装mysql,正常显示complete!安装成功 但是之后使用service mysqld start运行mysql服务,直接显示[失败],却没有显示任何错误。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200320052705482.png) 打开/var/log/sqld.log尝试查看原因,显示 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200320052834185.png) 尝试搜索这个错误的原因,并没有找到结果,求高人指点,应该如何解决问题。

centos6.5的tomcat无法启动项目

centos6.5 tomcat无法启动项目并且报错且jdk版本和本地相同,Windows的tomcat服务器正常运行项目;报错内容图![图片说明](https://img-ask.csdn.net/upload/201707/05/1499245388_239751.png)

centos6.5总是有断网的问题

这是这个版本的通病不,有没有什么好办法,networkmanger也关了,好了一会就又不无法ping通了

VMware虚拟机CentOS 6.5系统挂载失败导致的问题

centOS服务器系统中启动时报的错误 之前使用 http://blog.csdn.net/hnhuangyiyang/article/details/50392577博客的扩容方法,设置之后导致系统无法启动 ![图片说明](https://img-ask.csdn.net/upload/201711/08/1510139943_815333.png)

centos6.5,tomcat启动失败

centos6.5,tomcat启动项目失败,![图片说明](https://img-ask.csdn.net/upload/201706/30/1498804249_474275.png) 本地启动该项目时,一切正常!

Centos 6.5 系统启动到 kernel alive 不动了,怎么解决?

![图片说明](https://img-ask.csdn.net/upload/201911/04/1572873210_334267.jpg) 错误代码:Kernel alive kernell direct mapping tables up to 830000000 @ 10000-32000

centos 6.5系统下使用rpmbuild打包包含共享库的软件

目的:项目组的一个跨平台软件,现在需要生成xxxx.rpm软件包,以便可以直接使用系统自带的命令安装(rpm和yum等),及后期加补丁和升级。 进展: **1.** 本人使用的是rpm打包工具,其中的spec文件内容如下: Name: ads Version: 1.0.0 Release: 1 Summary: GNU hello test for rpm building Group: Development/Tools License: GPL URL: svn:******** Source0: %{name}-%{version}.tar.gz %description A simple soft %prep %setup -q %build ./configure make %install install -d $RPM_BUILD_ROOT/usr/local/bin make install DESTDIR=$RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/local/bin/ **2.** 可以生成基本的rpm文件,在忽略依赖的情况下可以强制安装。 问题:如何编写spec文件将软件依赖的共享库也安装到指定目录下,且在使用rpm安装时不用加--nodeps --forcd选项. 希望各位兄弟可以给小弟指点一下,感激不尽。

虚拟机中centOs6.5安装DHCP服务后,配置后无法启动,求大神帮忙。

按照吴光科老师视频操作,虚拟机中centOs6.5安装DHCP服务后,配置后无法启动,不明白。。。。。 安装DHCP的版本如下图。 ![图片说明](https://img-ask.csdn.net/upload/201907/30/1564476133_296173.png) NAT配置如下。 ![图片说明](https://img-ask.csdn.net/upload/201907/30/1564476255_145554.png) DHCP配置如下。 ![图片说明](https://img-ask.csdn.net/upload/201907/30/1564476278_329223.png) 网上搜索了很多方法,其他配置也试过了,就是启动不了。 ![图片说明](https://img-ask.csdn.net/upload/201907/30/1564476400_587303.png)

Centos6.5虚拟机,按网上操作添加后无法使用中文输入法。

按网上要求 yum install "@Chinese Support" -y 然后也去添加了拼音选项,但是还是不能使用中文输入法。

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Linux 会成为主流桌面操作系统吗?

整理 |屠敏出品 | CSDN(ID:CSDNnews)2020 年 1 月 14 日,微软正式停止了 Windows 7 系统的扩展支持,这意味着服役十年的 Windows 7,属于...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

学习总结之HTML5剑指前端(建议收藏,图文并茂)

前言学习《HTML5与CSS3权威指南》这本书很不错,学完之后我颇有感触,觉得web的世界开明了许多。这本书是需要有一定基础的web前端开发工程师。这本书主要学习HTML5和css3,看...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

记一次腾讯面试,我挂在了最熟悉不过的队列上……

腾讯后台面试,面试官问:如何自己实现队列?

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

冒泡排序动画(基于python pygame实现)

本项目效果初始截图如下 动画见本人b站投稿:https://www.bilibili.com/video/av95491382 本项目对应github地址:https://github.com/BigShuang python版本:3.6,pygame版本:1.9.3。(python版本一致应该就没什么问题) 样例gif如下 ======================= 大爽歌作,mad

Redis核心原理与应用实践

Redis核心原理与应用实践 在很多场景下都会使用Redis,但是到了深层次的时候就了解的不是那么深刻,以至于在面试的时候经常会遇到卡壳的现象,学习知识要做到系统和深入,不要把Redis想象的过于复杂,和Mysql一样,是个读取数据的软件。 有一个理解是Redis是key value缓存服务器,更多的优点在于对value的操作更加丰富。 安装 yum install redis #yum安装 b...

现代的 “Hello, World”,可不仅仅是几行代码而已

作者 |Charles R. Martin译者 | 弯月,责编 | 夕颜头图 |付费下载自视觉中国出品 | CSDN(ID:CSDNnews)新手...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

立即提问
相关内容推荐