AND
java反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的法的功能称为java语言的反射机制。 个人理解:Java支持在运行过程中通过对class文件的操作去获取任意一个类的属性和方法,即 ......
WordPress 后台常规设置添加配置项
需要给用户提供一些设置选项,最常见的就是设置首页描述标签、页脚统计代码,如果仅仅只需要这么几个简单的设置项就专门制作一个主题后台,那有点大动干戈了,我们可以给WordPress默认的常规设置添加配置项。 先来看添加后的效果图: 添加配置项代码如下: //添加常规选项function bzg_regi ......
6.关于this指针你知道什么?全说出来
## 6.类的\*this指针有以下特点 #### 1.每个对象都有一个隐藏的this指针,但不属于对象,是编译器添加的 #### 2.this只能在成员函数中使用。全局函数、静态函数都不能使用this。 实际上,成员函数默认第一个参数为T \*const this。 如: ``` class A ......
8.内存泄漏的后果?如何监测?解决方法?
# 8.内存泄漏的后果?如何监测?解决方法? ## 1.内存泄漏 ### 1.1定义 内存泄漏是指由于疏忽或错误造成了程序未能释放掉不再使用的内存的情况。内存泄漏并非指内存在物理上消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制; ### 1.2种类 #### 1.2.1C/C ......
9.在成员函数中调用delete this会出现什么问题?对象还可以使用吗?
# 9.在成员函数中调用delete this会出现什么问题?对象还可以使用吗? 在类对象的内存空间中,只有数据成员和虚函数表指针,并不包含代码内容,类的成员函数单独放在代码段中。在调用成员函数时,隐含传递一个this指针,让成员函数知道当前是哪个对象在调用它。当调用delete this时,类对象 ......
10.为什么是不可预期的问题?
# 10.为什么是不可预期的问题? delete this之后不是释放了类对象的内存空间了么,那么这段内存应该已经还给系统,不再属于这个进程。照这个逻辑来看,应该发生指针错误,无访问权限之类的令系统崩溃的问题才对啊?这个问题牵涉到操作系统的内存管理策略。delete this释放了类对象的内存空间, ......
11.如果在类的析构函数中调用delete this,会发生什么?
# 11.如果在类的析构函数中调用delete this,会发生什么? 会导致堆栈溢出。原因很简单,delete的本质是“为将被释放的内存调用一个或多个析构函数,然后,释放内存”。显然,delete this会去调用本对象的析构函数,而析构函数中又调用delete this,形成无限递归,造成堆栈溢 ......
12.你知道空类的大小是多少吗?
# 12.你知道空类的大小是多少吗? 1.C++空类的大小不为0,不同编译器设置不一样,vs设置为1 2.C++标准指出,不允许一个对象(当然包括类对象)的大小为0,不同的对象不能具有相同的地址 3.带有虚函数的C++类大小不为1,因为每一个对象会有一个vptr指向虚函数表,具体大小根据指针大小确定 ......
13.请说一下以下几种情况下,下面几个类的大小各是多少?
# 13.请说一下以下几种情况下,下面几个类的大小各是多少? ```C++ class A {}; int main() { cout << sizeof(A) << endl;// 输出 1; A a; cout << sizeof(a) << endl;// 输出 1; return 0; } ......
14.this指针调用成员变量时,堆栈会发生什么变化?
# 14.this指针调用成员变量时,堆栈会发生什么变化? 当在类的非静态成员函数访问类的非静态成员时,编译器会自动将对象的地址传给作为隐含参数传递给函数,这个隐含参数就是this指针。 即使你并没有写this指针,编译器在链接时也会加上this的,对各成员的访问都是通过this的。 例如你建立了类 ......
15.类对象的大小受哪些因素影响?
# 15.类对象的大小受哪些因素影响? 1.类的非静态成员变量大小,静态成员不占据类的空间,成员函数也不占据类的空间大小; 2.内存对齐另外分配的空间大小,类内的数据也是需要进行内存对齐操作的; 3.虚函数的话,会在类对象插入vptr指针,加上指针大小; 4.当该类是某类的派生类,那么派生类继承的基 ......
1.C++ 11有哪些新特性?
# 1.C++ 11有哪些新特性? - long long类型 - 列表初始化 - nullptr常量(替代 NULL) - constexpr变量[[68.C++中的const - CodeMagicianT - 博客园 (cnblogs.com)](https://www.cnblogs.com ......
2.auto、decltype和decltype(auto)的用法
# 2.auto、decltype和decltype(auto)的用法 ## 1.auto 编程时常常需要把表达式的值赋给变量,这就要求声明变量时清楚的知道表达式的类型。然而有些情况是声明的变量的类型我们并不知道,比如在模板编程时。为了解决这个问题,C++11引入了auto类型说明符,用它来让编译器 ......
3.C++中NULL和nullptr区别
# 3.C++中NULL和nullptr区别 ## 1.NULL是什么 在[《NULL,0,'\0',"0","\0"的区别》](http://mp.weixin.qq.com/s?__biz=MzI2OTA3NTk3Ng==&mid=2649284887&idx=1&sn=e97526b0e2cb ......
4.智能指针的原理、常用的智能指针及实现
# 4.智能指针的原理、常用的智能指针及实现 ## 1.auto_ptr 当你在读这篇文章的时候,应该都有这样一个疑问?那就是为什么要使用[智能指针](https://so.csdn.net/so/search?q=智能指针&spm=1001.2101.3001.7020)。 我们先看这样一个示例: ......
ThreadLocal 分析与实现
在java 8的实现中,注释是这么描述ThreadLocal类的 > This class provides thread-local variables. These variables differ from their normal counterparts in that each thre ......
ini 文件写allure的配置 报告存放位置
[pytest] testpaths = ./test_case/test_params.py addopts = -vs --alluredir ./report import pytest import requests from utils.read_yaml import get_yaml_ ......
QOJ875 Arrange The Piranhas
题意:大小为 $1 \times n$ 的棋盘上有一些棋子,一次可以选择一个空的位置,将左边第一个棋子往该位置拉一格,右边第一个往这拉一格,操作完这个位置也必须是空的(也就是左右至少得有一格的空隙),问能不能把所有棋子变成目标状态。 将棋子位置的前缀和 $s_i$ 求出,每次操作相当于将一个 $s_ ......
运维——Centos7 安装MySQL详细步骤
转自:https://blog.csdn.net/javaluckyfish/article/details/131421016 1.卸载MariaDB在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。CentOS 7及以上版本已经不再使用MySQL数据库,而是使 ......
从module_init看内核模块
module_init是linux内核提供的一个宏, 可以用来在编写内核模块时注册一个初始化函数, 当模块被加载的时候, 内核负责执行这个初始化函数. 在编写设备驱动程序时, 使用这个宏看起来理所应当, 没什么特别的, 但毕竟我还是一个有点追求的程序员嘛:P, 这篇文章是我学习module_init... ......
DB2 pureScale的三层架构
2009 年 12 月,IBM 在DB2 V9.8这个版本中首次推出了DB2 pureScale特性。这个特性利用了z/OS大型机上经过验证的DB2数据库集群技术,在开放平台上实现了共享磁盘(Share Disk)架构,下面具体谈谈。 DB2 pureScale的三层架构 从架构上看,DB2 pur ......
41. 缺失的第一个正数
[41. 缺失的第一个正数](https://leetcode.cn/problems/first-missing-positive/) ## 方法:原地哈希 ### 解题思路 - 原地哈希:在原来的数组基础上构建哈希表,不占用额外的空间 - 在本题中,设数组大小为 $n$; - 若从 $[1, n ......
HitPaw Watermark Remover cracked
- [HitPaw Watermark Remover](https://ko.taiwebs.com/windows/download-hitpaw-watermark-remover-6034.html) - ,以及报文中的源IP地址、目的地址、协议、源端口和目的端口等字段信息进行匹配,并采取相应的 ......
2.简要说明C++的内存分区
# 2.简要说明C++的内存分区 ## 1.一个由C/C++编译的程序占用的[内存](https://so.csdn.net/so/search?q=内存&spm=1001.2101.3001.7020)分为以下几个部分: C++中的内存分区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区和 ......
3.什么是内存池,如何实现
# 3.什么是内存池,如何实现 内存池(Memory Pool) 是一种**内存分配**方式。通常我们习惯直接使用new、malloc 等申请内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能。内存池则是在真正使用内存之前,先申请分配一定数量的、大小相 ......
4.可以说一下你了解的C++得内存管理吗?
# 4.可以说一下你了解的C++得内存管理吗? ## 1.一个由c/C++编译的程序占用的[内存](https://so.csdn.net/so/search?q=内存&spm=1001.2101.3001.7020)分为以下几个部分: C++中的内存分区,分别是堆、栈、自由存储区、全局/静态存储区 ......