cpp加油站 cpp加油站
3年前
c++头脑风暴-多态、虚继承、多重继承内存布局
本篇文章深入分析多态、虚继承、多重继承的内存布局以及实现原理。首先还是看一下思维导图:下面根据这个大纲一步一步的进行深入解析。一、没有虚函数时内存布局是怎样的1.没有虚函数时类的内存布局一个类没有虚函数的时候,其实就是结构体,它的内存布局就是按照成员变量的顺序来的。看如下代码:cppinclude<iostreamusingnamespaces
李志宽 李志宽
1年前
网站被黑客攻击了,该怎么办
最好的防御方式就是攻击知己知彼,百战不殆。掌握攻击者的套路才好顶得住攻击。可能我的读者多少了解过Nginx,我先给不了解的同学简单说一下原理。已经了解的跳到第二节。3分钟了解NginxNginx是一款高性能的Web服务器和反向代理服务器。它可以用来搭建网站
Stella981 Stella981
3年前
C# Winform打包部署时添加注册表信息实现开机自启动
1.原理:需要开机自启动的程序,需要将其启动程序的路径写到注册表中指定的文件夹下2\.写入注册表的方式有两种a.在生成安装程序时配置b.在程序运行时,动态配置方法一:使用VS2010自带的打包模块可以很方便的对项目进行打包部署,同时我们也可以在安装部署时操作注册表实现开机启动软件。具体实现如下:1、添加安
Stella981 Stella981
3年前
Android中的Handler, Looper, MessageQueue和Thread
前几天,和同事探讨了一下Android中的消息机制,探究了消息的发送和接收过程以及与线程之间的关系。虽然我们经常使用这些基础的东西,但对于其内部原理的了解,能使我们更加容易、合理地架构系统,并避免一些低级错误。对于这部分的内容,将分成4小节来描述:1.职责与关系2.消息循环3.线程与更新4.几点小结\
Wesley13 Wesley13
3年前
Java base64编码解码工具类
前几天无意中看到Java中有Base64编码,不解的我去百科了一下,了解了Base64的基本使用和实现原理,于是在空暇时自己手动写了一个,这个类可以完成对字母数字的编码和解码工作,但是对于中文,还没有仔细研究其编码的实现过程。至于什么是Base64,用它来干什么,请移步到:http://zh.wikipedia.org/zhcn/Base64(http
Stella981 Stella981
3年前
ClickHouse中的低基数字段优化
在ClickHouse中,String字符串类型相比其他数据类型而言,一个显著的差异是String类型的大小是不固定的。所以除了常规的列字段压缩手段之外,还延伸出了一些额外的优化思路。在《ClickHouse原理解析与应用实践》(你没看错,这是最终敲定的书名)这本书的_数据定义_章节中,曾提过在一些场合可以使用Enum枚举类型代替Stri
Wesley13 Wesley13
3年前
IO 的底层实现问题
最近在看JAVANIO的相关知识,了解一下IO的底层实现原理。IO涉及到的底层的概念大致如下:1)缓冲区操作。2)内核空间与用户空间。3)虚拟内存。4)分页技术。一,虚拟存储器虚拟存储器是硬件异常(缺页异常)、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。虚拟存储器的
Stella981 Stella981
3年前
RabbitMQ分布式集群架构和高可用性(HA)
(一)功能和原理设计集群的目的允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行通过增加更多的节点来扩展消息通信的吞吐量1集群配置方式RabbitMQ可以通过三种方法来部署分布式集群系统,分别是:cluster,federation,shovelcluster:不支持跨网段,用于同一个网段内的局域网可以随意的动态增加或者减
Stella981 Stella981
3年前
Registry 容器镜像服务端细节
引言通常我们在使用集群或者容器的时候,都会接触到存储在本地的镜像,也或多或少对本地镜像存储有一定的了解。但是服务端的镜像存储细节呢?本文主要介绍容器镜像的服务端存储结构,对于自建镜像服务或是对容器镜像底层原理或优化有兴趣的同学可以了解一下。相关开源项目目前容器镜像服务相关的开源项目主要有以下两个。R
Wesley13 Wesley13
3年前
Oracle死锁查询及处理
Oracle死锁查询及处理2011年08月13日11:43:37阅读数:136295一、数据库死锁的现象程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错。二、死锁的原理当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提交,另一条对于这一列数据做更新操作的语