05 2020 档案

摘要:1.dynamic_cast为什么要使用?因为能够 安全地 将基类指针或引用转换为派生类的。为何这样说呢?因为如果被绑定的指针不是目标类型的话说dynamic_cast会失败,对于指针类型的转换,最佳实践是在条件中去执行,这样可以保证转换和结果测试在一个表达式中进行,从而不可能在测试转换前不经意地使 阅读全文
posted @ 2020-05-27 23:55 心媛意码 阅读(817) 评论(0) 推荐(0) 编辑
摘要:最近面试看到了线程安全的字眼,感觉有些困惑.自己之前认知中,多线程需要考虑同步来保证安全,怎么还有直接线程安全的方法或者类型呢(比如Java中线程安全的类)? 什么是线程安全? 线程安全指的是,在多线程调用时即使不对调用的方法进行同步处理,也能够让线程输出预想的结果,而不会出现脏数据. 为何能够做到 阅读全文
posted @ 2020-05-27 23:12 心媛意码 阅读(132) 评论(0) 推荐(0) 编辑
摘要:1.服务端的技术有哪些? 服务器:Nginx, Apache, Tomcat 2.服务器的那个项目分为几个模块? 3.平常有读什么样的书? 4.解决的技术难点. 5.ZMQ的源码 阅读全文
posted @ 2020-05-27 16:37 心媛意码 阅读(162) 评论(0) 推荐(0) 编辑
摘要:下面的代码buf的输出并非是"helloworld",而是"屯屯屯屯屯妄膮\x14y沞helloworld".strcat是将前者字符串的'\0'去掉,加上后面的字符串.而malloc之后不进行memset操作,buf的值实际上是乱码,而非空字符串.char *buf = (char*)mall 阅读全文
posted @ 2020-05-26 23:22 心媛意码 阅读(1566) 评论(0) 推荐(0) 编辑
摘要:1. 如果不是以'\0'结尾的char数组,去初始化string时一定要带上长度;而以'\0'结尾的char数组,则不需要. char no_null[] = {'H', 'i'}; string str(no_null); //runtime error:not null-terminated. 阅读全文
posted @ 2020-05-26 00:04 心媛意码 阅读(283) 评论(0) 推荐(0) 编辑
摘要:注意这里的示例,并非代表一下输入两行,然后也输出了两行,而是输入1 5,回车得到6;输入10 20,回车得到30. 获取cin中是否有换行符,可以采用cin.get(); 阅读全文
posted @ 2020-05-25 18:21 心媛意码 阅读(613) 评论(0) 推荐(0) 编辑
摘要:1. 在导入动态链接库中的全局变量方面起作用: 使用类似 #ifdef _EXPORTING #define API_DECLSPEC __declspec(dllexport) #else #define API_DECLSPEC __declspec(dllimport) #endif 可以更好 阅读全文
posted @ 2020-05-25 13:09 心媛意码 阅读(904) 评论(0) 推荐(0) 编辑
摘要:1.lambda是什么意思,有什么作用? 匿名函数,用途:可以应用在函数式编程中: list1 = [3,5,-4,-1,0,-2,-6] sorted(list1, key=lambda x: abs(x)) 2.翻转list的方法:list.reverse() 3.python中的可变类型和非可 阅读全文
posted @ 2020-05-24 23:47 心媛意码 阅读(132) 评论(0) 推荐(0) 编辑
摘要:查看所有的数据库: show databases; 使用某个数据库: use db_name; show the fields or schema(查看属性): desc table_name; 阅读全文
posted @ 2020-05-20 16:34 心媛意码 阅读(180) 评论(0) 推荐(0) 编辑
摘要:今天看到通过逗号来将表进行连接的情况,就想到了对比下JOIN的区别: 表格是之前那个学生,成绩的例子.对比如下的几个语句: 发现逗号的方式就是对应Inner Join的情况. select * from Student,SC where Student.SId=SC.SId; select * fr 阅读全文
posted @ 2020-05-20 14:30 心媛意码 阅读(1514) 评论(0) 推荐(0) 编辑
摘要:数据表介绍 --1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CId,Cname,TId) --CId 课程编号,Cname 课程名称,TId 教师编号 --3. 阅读全文
posted @ 2020-05-19 22:38 心媛意码 阅读(465) 评论(0) 推荐(0) 编辑
摘要:内存空间分为操作系统内存空间和用户内存空间. 1.epoll有个内存空间,用户和内核共有,这样内核就不需要再去拷贝 2.事件通知的方式代替轮询. 阅读全文
posted @ 2020-05-19 10:35 心媛意码 阅读(162) 评论(0) 推荐(0) 编辑
摘要:常常听说阻塞IO,又不太清楚阻塞O的情景,只落个云里雾里的感觉. 阻塞IO的场景包括一些具体函数执行时,比如accept(等待客户端连接),recv(等待发送),write(写文件),read(读文件);磁盘IO(比如文件的拷贝);下载和上传文件. 阻塞IO实际上耗费的CPU特别少,大部分工作被分配 阅读全文
posted @ 2020-05-18 17:09 心媛意码 阅读(159) 评论(0) 推荐(0) 编辑
摘要:一. 应用层 模拟和百度进行通讯: 1.建立连接(内核去做的) exec 8<> /dev/tcp/www.baidu.com/80 #含义: /dev/tcp/www.baidu.com/80:与百度的80端口通过socket技术建立了tcp连接,用8去指向了这个连接,从连接中可以拿到输入流和输出 阅读全文
posted @ 2020-05-18 11:02 心媛意码 阅读(896) 评论(0) 推荐(2) 编辑
摘要:最近在看TCP/IP协议,今天又看了socket的接口,在绘制socket客户端和服务端流程图的时候感觉这个和三次握手应该是有联系的.但一开始没有把两者直接对应上,于是搜索了相关的博客,发现有这方面的介绍. 如图2,服务端的一系列前置操作在第一次握手前就已经首先做好了,一直处于accept等待的状态 阅读全文
posted @ 2020-05-15 15:13 心媛意码 阅读(474) 评论(0) 推荐(0) 编辑
摘要:一.背景 最近在bilibili上看了CodeSheep这个主题的视频(https://www.bilibili.com/video/BV1bA411b7vs?t=914),感觉多个节点很有用处,就想要把自己的CentOS单节点升级为多节点.之前自己的虚拟机是采用NAT模式配置的,而视频里的是采用桥 阅读全文
posted @ 2020-05-14 16:08 心媛意码 阅读(1782) 评论(3) 推荐(1) 编辑
摘要:VMWare默认情况下会有3个虚拟交换机,VMnet0,VMnet1, VMnet8, 分别是桥接,仅主机和NAT模式. 其中桥接模式,相当于是把虚拟机和宿主机平起平坐,和宿主机用同一个网段,相当于一台独立的主机.(一座桥两边是平等的双方) 仅主机,应该是只能够和主机进行通讯,与外网断开了. NAT 阅读全文
posted @ 2020-05-14 15:05 心媛意码 阅读(880) 评论(0) 推荐(0) 编辑
摘要:严格来说,ZMQ不是一个消息队列,它是基于消息队列的多线程网络库,在原有的socket API上进行了封账.如果想要把消息队列的功能集成到进程中,可以使用ZMQ. 非常的轻量,完全基于C语言. 优点:快,使用简单,C++中使用方便;定义了交互模式,分包功能,socket重连. 缺点:socket概念 阅读全文
posted @ 2020-05-12 11:43 心媛意码 阅读(1286) 评论(0) 推荐(0) 编辑
摘要:1.分过程去画流程图 如果需要对某个子过程进行展开,可以采用分过程的方式来阐述,比如图1和图2. 图1 图2 2.绘制表示等待的图标 图3 3.跨页的流程图 图4 阅读全文
posted @ 2020-05-11 17:19 心媛意码 阅读(540) 评论(0) 推荐(0) 编辑
摘要:一.问题背景 最近在看基类指针转换成派生类指针的问题,看到一个帖子讨论的挺有意思(https://bbs.csdn.net/topics/330009840).今天花时间看了下.发现有了一些收获,不过也存在一些困惑,现记录在这里,以便以后能够有据可查. 问题大概是这样,楼主想要继承第三方库中的类,在 阅读全文
posted @ 2020-05-08 16:35 心媛意码 阅读(523) 评论(0) 推荐(0) 编辑
摘要:redis的c客户端项目是hiredis,是由redis官方提供的,它提供了一系列封装好的api,使用起来很容易上手. 该项目的链接在: https://github.com/redis/hiredis 安装方式: git clone https://github.com/redis/hiredis 阅读全文
posted @ 2020-05-06 16:35 心媛意码 阅读(284) 评论(0) 推荐(0) 编辑
摘要:shell类型 含义 举例 交互式 终端等待用户输入,输入后立即执行 平常在终端中操作 非交互式 执行脚本 ./test.sh 登录 通过用户名和密码登录的方式;或者通过”–login”选项生成的shell 比如每次利用xshell连接上去,都会提示"login" 非登录 不需要用户名和密码 比如输 阅读全文
posted @ 2020-05-06 11:41 心媛意码 阅读(283) 评论(0) 推荐(0) 编辑
摘要:假如存在如下的类定义: class Base { virtual void VirtualFun() { } }; class Derived : public Base { virtual void VirtualFun() { } }; 对于Base *p = new Derived();来说, 阅读全文
posted @ 2020-05-06 10:38 心媛意码 阅读(142) 评论(0) 推荐(0) 编辑
摘要:Linux动态库中往往存在xx.so, xx.so.1 甚至xx.so.1.0,在这种情况下,前两个实际上是链接,而最后一个才是真正的动态库.这样做的好处是,当xx.so.1.0升级到xx.so.1.1时,只需要把xx.so.1链接到xx.so.1.1上就可以了,而不需要动应用程序. 阅读全文
posted @ 2020-05-05 16:44 心媛意码 阅读(715) 评论(0) 推荐(2) 编辑
摘要:以32位的方式去编译.c文件: gcc -m32 test.c 报错: 致命错误:gnu/stubs-32.h:没有那个文件或目录 去安装了32位的glibc库文件: yum install -y glibc-devel.i686 再次运行,报libgcc_s.so的错误: /usr/bin/ld: 阅读全文
posted @ 2020-05-05 16:38 心媛意码 阅读(3804) 评论(0) 推荐(0) 编辑
摘要:发现中文博客里大多写的很乱,而且不全,而英文论坛中写的很全面. 阅读全文
posted @ 2020-05-05 14:33 心媛意码 阅读(178) 评论(0) 推荐(0) 编辑
摘要:看到一篇不错的文章,把不同情况下C++类的内存分布表述出来了,文章地址:https://www.cnblogs.com/jerry19880126/p/3616999.html 主要总结以下几点: 1.类内存分布我理解是一种配方式的,就是说你看到的内存分布是还没有在实际内存中分配的. 2.非虚继承时 阅读全文
posted @ 2020-05-05 11:58 心媛意码 阅读(151) 评论(0) 推荐(0) 编辑
摘要:一.背景 之前一直对类内存分布和对象真正的内存分布没有清楚的理解.看到类内存分布时,子类中的变量有一部分是来自父类的,就认为在生成父类对象和子类对象时,他们共有的变量在内存上是重叠的.后来想了一下,应该不是这么回事,就实地考察了下. 二.举例验证 有如下的继承关系,有分别定义了对应的对象,考察不同对 阅读全文
posted @ 2020-05-04 22:05 心媛意码 阅读(931) 评论(0) 推荐(0) 编辑
摘要:总结下cast的套路: TypeA a = xxx_cast<TypeA>(b); 操作符 作用 C++中对应的例子 C中对应的例子 static_cast 编译器隐式执行的任何类型转换都可以通过它来显式完成. double d = 1.1; char ch = static_cast<char>( 阅读全文
posted @ 2020-05-01 23:33 心媛意码 阅读(248) 评论(0) 推荐(0) 编辑
摘要:配置文件 说明 执行时间 是否重启 有效范围 /etc/profile 为系统的每个用户设置环境信息,从/etc/profile.d目录 的配置文件中搜集shell的设置. 当用户第一次登录时 重启或者source操作(发现切换用户后要source下) 所有 /etc/bashrc 为系统中的每个用 阅读全文
posted @ 2020-05-01 00:16 心媛意码 阅读(277) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示