内存对齐问题-编程思维
目录: 引出问题 为什么要内存对齐(问题的重要性) 如何解决问题 对齐规则 引出问题 class test{ char ch; int i; }; int main(){ test t; cout<<sizeof(t)<<endl; return 0; } char:2个字节,int:4个字节。但是最后输出的结果是8个
morethink program
目录: 引出问题 为什么要内存对齐(问题的重要性) 如何解决问题 对齐规则 引出问题 class test{ char ch; int i; }; int main(){ test t; cout<<sizeof(t)<<endl; return 0; } char:2个字节,int:4个字节。但是最后输出的结果是8个
前言 本主机 CentOS8.2 Mac VMware Fusion 我们在使用虚拟机的时候,经常遇到这样的问题,我们会换地方,IP 会变化,如果虚拟机使用桥接的方式,那么很多与 IP 相关的服务都会出现问题,所以我们希望使用 NAT 模式,不过遗憾的是,在 Windows 下,VMware 配置 NAT 十分之方便,但是在 Mac 下,却有点麻烦,因为默认情况下,不支持我们配置静态 IP,这对
前言 之所以总结这个,是因为最近也在面试找工作了,觉得 小林Coding 写的这篇文章不错,同时自己做的集群聊天项目涉及Nginx的TCP负载均衡,刚好又和一致性哈希有关联,就搬过来摘录一下,方便自己复习。 接下来主要围绕以下几点来思考和讨论: 当有大量请求到来时,如何分配请求? 使用哈希算法会带来什么问题? 使用一致性哈希算法会带来什么问题? 如何通过虚拟节点提高均衡度? 当有大量请求到来
右值引用 在C++11之前,所有引用都是左值引用,也就是对左值的引用。左值一般放在赋值表达式左边(当然这样说并不严格,"hello world"这样的字面值存放在.rodata段,也是左值,具体可参考[🔗谈谈C++的左值右值,左右引用,移动语意及完美转发]这篇文章),是在堆或栈上分配的命名对象,它们有明确的内存地址。而左值的另一位朋友右值,在赋值表达式右边,没有可识别的内存地址。如果从硬件层面理
前言 muduo库是陈硕个人开发的tcp网络编程库,支持Reactor模型,推荐大家阅读陈硕写的《Linux多线程服务端编程:使用muduo C++网络库》。本人前段时间出于个人学习、找工作的目的用C++11重构了muduo库中核心的Reactor架构。这篇博文对muduo库中的Multi-Reactor架构代码进行逻辑梳理,同时认真剖析了作者每一处精妙的代码设计思想。目前我只重构并剖析了mu
智能指针介绍 学习C++的人,一直在接触裸指针,一边感受着它的强大,一边感受着它的坑爹。当然,坑不坑爹在于开发者,指针本身近乎完美,但奈何用的人比较猥琐,给自己埋下无数的坑,还哭喊着指针不好用,那么今天要介绍的智能指针可以释放大家在使用裸指针时的一些压力,当然智能指针无法替代裸指针的全部功能。 裸指针到底有什么不好,写过一些C++代码的人应该都能知道,比如下面的原因: 忘记释放资源,导致资源泄
前言 之前学习muduo网络库的时候,看到作者陈硕用到了enable_shared_from_this和shared_from_this,一直对此概念是一个模糊的认识,隐约记着这个机制是在计数器智能指针传递时才会用到的,今天对该机制进行梳理总结一下吧。 如果不熟悉C++带引用计数的智能指针shared_ptr和weak_ptr,可参考这篇文章:🔗深入掌握智能指针 这篇文章主要介绍C++11提供
健康卡填报 前言 今天是2022年10月9日,新冠疫情已经持续2年多了,因为“在学校”经常要填报健康卡,所以今天分享一个快捷的自动化填报工具,亲测有效,非常好用。 本人已fork该项目,项目地址:[🔗西电健康卡自动打卡脚本] 西安电子科技大学健康卡自动打卡脚本,基于 Puppeteer,一种无头(无界面) Chromium 浏览器。因为是基于真实的浏览器,所以相当于模拟真实操作。与直接发送 PO
假设一个批处理的文件名为abc.bat 打开与abc.bat同一目录下的EXE文件 打开Launcher.exe start Launcher.exe 打开 start ./patcher/patcher.exe 把一个文件拖拽到ABC.BAT上面 ABC.BAT 自动把它改名为XYZ.TXT @echo off set f= %1 rename %f% "xyz.txt" 删除
五笔难拆字字根表 "拜”五笔编码:rdfh “凹”五笔编码:mmgd “翱”五笔编码:rdfn “靶”五笔编码:afcn “耙”五笔编码:dicn “霸”五笔编码:fafe “傲”五笔编码:wgqt “稗”五笔编码:trtf “版”五笔编码:thgc “拌”五笔编码:rufh “伴”五笔编码:wufh “半”五笔编码:ufk “绊”五笔编码:xufh “豹”五笔编码
《地球帝国3》(Empire Earth III)秘籍 说明: 1. 启动游戏 2. 在游戏中按回车键启动控制台 3. 输入下列代码: icheat 启动密技 idontcheat 解除密技 loot 所有资源+10000 taxes 资源减少100 punish 被选定的单位减少20点生命 convert 被选定的单位变成己方
版本控制器的作用: 1. 可以协同代码管理,让多人开发代码得以实现。 2. 回归到以前的任何一个时间点的代码处(好比:开始写了很多代码,后面有修改了一些,突然IDE崩溃,但是发现还是以前的代码更好,这个时候无法回去,这个时候没有后悔药吃,但是可以使用版本备份,但是即花费空间和花费时间)。 3. 由于上面的版本备份造成版本众多,难于找到正确的版本(SVN有专门的日志记录了文件的每一次修改,可
http协议是大家在互联网中最为熟悉的协议,只要上网大家都会遇到,但是,很多人被问道什么是http协议,http协议的内容是什么就懵了。这里,我们随便聊聊http协议。 首先,我们说说协议。我一直觉得“协议”这词不是很好理解,协商以后达成的决议,其实,就是规定,轮不到使用者协商的规定,就像本朝的法律,必须遵守。所以,http协议就是http的规定。 http(Hypertext tr
在我们运行项目前,都需要将项目部署到tomcat上,但是有时我们会遇到这种情况:项目明明存在,但是eclipse中tomcat的add and remove找不到项目,无法部署,那么这个问题该如何解决呢? 工具/原料 eclipse 项目 方法/步骤 假设,我们现在想要启动项目xxx,需要同时将xxx_service,xxx_webapp部署到
${user.home}/.m2/repository文件夹是maven默认的本地仓库地址maven仓库分为远程仓库和本地仓库,当你在pom里配置依赖项目后,maven首先会从本地仓库查找该项目,如果没有找到则通过配置的地址或默认地址(如果没有配置远程仓库地址)通过远程仓库下载该项目并保存在.m2文件夹里如果你想修改本地仓库的位置,可以在maven文件夹下conf文件夹里的settings.xm
HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者
1.向博客园申请js权限 我们需要进入博客园自定义博客模板的页面,向博客园管理团队申请页面运行js的权限。【博客园】->【设置】->【博客设置】,点击页面上的js权限申请,然后填写申请的理由,耐心等几分钟,再刷新一下,页面就会显示支持js代码 ,博客园也会在用户邮箱给你发送是否开通js权限的邮件。 2.添加css样式 我们在【管理】-->【设置】-->【博客设置】
差不多有一年多没有更新这个博客了,并不是我不想更新,的确是原因比较多。 第一个原因是工作比较忙,经常性出差,从去年七月到今天差不多有250天以上的出差,并且疯狂加班,后面和大家说说出差都在做什么,绝对是件利国利民很有意义的事情。 第二个原因是生活上买房,装修,结婚占据了很大的精力,本人今年七夕领证,十月结婚,各位博友可以留言送祝福哈。 第三个原因是我在博客园还有一个小号,没事都在