自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Maven构建MapReduce程序上传至虚拟机运行找不到jdbc.Driver

具体报错:java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver。第四步:上传至hadoop的share/hadoop/common,(若是集群则需要分发到其他节点,我是单节点直接上传即可)第二步:搜索 mysql-connector-java 5.1.47.jar , 如:(上传至虚拟机运行扔找不到jdbc.Driver,pom中已经写入jdbc驱动,第一步:确认pom文件中jdbc版本。

2024-03-04 21:18:29 302

原创 c++对象模型25

malloc 分配0字节void* p = malloc(0);分配0字节 所以不要搞多余内存的copy 比如:char *q = (char *)p;strcpy_s(q, 100 , "qweqweqweqw");这就很危险 因为已经在操作不属于分配的内存free(p); 这时候程序已经崩溃所以malloc(0)返回的是一个有效的内存地址 你也不要去修改这个内存所以就...

2019-08-01 13:55:41 171

原创 c++ 对象模型24

函数调用中编译器的循环代码优化namespace _nmspl { __int64 mytest(int mv){ __int64 icout = 0; for(int i = 0; i<1000000; i++){ icout += 1; } return icout; } ...

2019-07-31 15:38:38 198

原创 c++ 对象模型23

多重继承第二基类堆虚函数支持的影响 this指针调整作用class Base{public: virtual void f(){cout << "Base::f()" <<endl;} virtual void g(){cout << "Base::g()" <<endl;} virtual void h(){cout...

2019-07-31 15:37:57 195

原创 c++ 对象模型22

多继承虚函数class Base{public: virtual void f(){cout << "Base::f()" <<endl;} virtual void g(){cout << "Base::g()" <<endl;} virtual void h(){cout << "Base::h()" &...

2019-07-31 15:37:30 154

原创 c++ 对象模型21

单继承下的虚函数class Base{public: virtual void f(){cout << "Base::f()" <<endl;} virtual void g(){cout << "Base::g()" <<endl;} virtual void h(){cout << "Base::h()"...

2019-07-30 15:07:05 107

原创 c++ 对象模型 20

虚函数地址问题的vcallclass Myclass{public: virtual void myfunc(){ } virtual void myfunc2(){ }}int main(){ printf("Myclass:myfunc() = %p",&Myclass::myfunc); // ...

2019-07-30 15:05:43 126

原创 c++ 对象模型19

虚成员函数(虚函数) 静态成员函数调用方式class Myclass{public: int i; void myfunc(int abc){ i += abc; } virtual void myvirfunc(){ printf("myvirfunc()被调用 this = %p\n ", this); }}...

2019-07-30 15:05:05 106

原创 c++ 对象模型18

普通成员函数调用方式class Myclass{public: int i; void myfunc(int abc){ i += abc; }}void myfunc2(Myclass *point, int abc){ point->i += abc}int main(){ Myclass mcls; m...

2019-07-30 15:04:27 123

原创 c++ 对象模型17

对象成员变量内存地址及其指针class A{public: int b; int c; int d;}void myfunc(int A::*mypoint ,A &a){ a.*mypoint = 12;}int main(){ A a; a.b = a.c = a.d = 0; // 栈上分配地址 p...

2019-07-30 15:03:55 114

原创 c++ 对象模型16

一 。 三层结构时,虚基类表内容分析class Grand{public: int c;}class A1 : virtual public Grand{ //虚继承public:}class A2 : virtual public Grand{ //虚继承public:}class C1 :public A1, public A2{public:...

2019-07-30 15:03:22 114

原创 c++ 对象模型 15

一 。虚基类表内容继续分析class Grand{public: int c;}class A1 : virtual public Grand{ //虚继承public:}class A2 : virtual public Grand{ //虚继承public:}class C1 :public A1, public A2{public:}i...

2019-07-29 22:48:31 92

原创 c++ 对象模型 14

虚基类 虚继承 虚派生 问题class Grand{public: int c;}class A1 :public Grand{public:}class A2 :public Grand{public:}class C1 :public A1, public A2{public:}int main(){ cout << siz...

2019-07-29 10:40:47 103

原创 c++ 对象模型 13

一 单一继承数据成员布局 this指针偏移知识补充class Base{public: int c; Base(){ printf("Base::Base()的this指针式%p",this); }}class A : public Base{public: int a; int b; virtual void myf...

2019-07-29 10:40:10 101

原创 c++ 对象模型12

单个类带虚函数的数据成员布局class A{public: int a; int b; virtual void func(){} A(){ int abc = 1; // 断点 同下 } ~A(){ int def = 0; }}/*类中引入虚函数时,会有额外的成本付出编译的时候 编译器会产生...

2019-07-28 10:17:16 105

原创 c++ 对象模型 11

一。 进程内存空间布局 // 不同的数据在内存中会有不同的 保存时机 保存位置 // 当执行一个可执行文件时,操作系统就会把这个可执行文件加载到内存, // 此时进程有一个虚拟的地址空间(内存空间最高内存地址-------堆栈段 : A a;未映射区域-------堆 : new delete-------bss : 没有给初值,...

2019-07-28 10:13:25 140

原创 c++ 对象模型 10

一。 数据成员绑定时机string myvar; // 全局变量class A{public: int myfunc(){ return myvar; // 还是类内的myvar }private: int myvar;}/*编译器是对成员函数myfunc的解析 是整个A类定义完毕以后才开始的所以对这个myvar的解析和绑定,是在这...

2019-07-28 10:12:55 107

原创 c++ 对象模型 9

一 。虚函数指针在类的成员变量之前 class A{ public: int a; virtual void func(){ cout << "virtual func" <<endl; } } int main(){ A aobj; c...

2019-07-28 10:10:56 260

原创 c++ 对象模型 8

一:何时必须使用成员初始化列表 class A(){ public: int x; int y; A():x(0),y(0){} // A(){ // x = 0; // y = 0; // } // 抛开效率和代码风格,代码优雅。来说两...

2019-07-27 13:59:58 110

原创 c++ 对象模型 7

一:拷贝构造,深浅拷贝class A{public: int i; A(const A& tmpa){ i = tmpa.i; cout << "拷贝构造函数被调用" <<endl; } A(){ i = 0; cout << "构造函数被调用" &lt...

2019-07-27 13:59:25 657 2

原创 c++ 对象模型 6

一: 程序的优化 class A{ public: int val1; int val2; A(int v1 =0;int v2 = 0):val1(v1),val2(v2){ cout << "调用了构造函数" <<endl; cout << va...

2019-07-27 13:58:52 93

原创 c++ 对象模型5

一:程序转化语义 1.我们写的代码。编译器会对代码进行拆分,拆分成编译器更容易理解和实现的代码 二:定义时初始化对象 class A{ public: int i; A(const A& tmpx){ i = tmpx.i; cout << "拷贝构造函数被调用" ...

2019-07-26 09:55:10 93

原创 c++ 对象模型 4

一:拷贝构造函数语义 1.如果没有定义一个自己的拷贝构造函数,编译器会帮助我们生成一个拷贝构造函数 2.这个拷贝构造函数也是在必要的时候才会被编译器合成 class A{ public: int m; }; int main(){ A a; a.m = 14; A a2 = a...

2019-07-26 09:54:32 129

原创 c++ 对象模型3

一 : 分析obj(目标文件) 构造函数语义 1.构造函数: 默认构造函数(缺省构造函数) ; 没有参数的构造函数 2.如果我们没有定义任何构造函数,那么编译器就会为我们默认隐式自动定义一个构造函数(合成的构造函数 3.但是这种合成默认构造函数 只有在必要的时候 编译器才合成出来,而不是必须为我们合成出来。二 : 什么时候才是必要时候 1.每个.cpp源文件会编...

2019-07-26 09:53:54 137

原创 c++ 对象模型 2

一: this指针调整: class A{ public: int a; A(){ printf("A::A()的this指针是%p\n",this) } void funcA(){ printf("A::funcA()的this指针是%p\n",this)...

2019-07-25 12:00:24 79

原创 c++ 对象模型1

一:类空间大小及证明 1.一个没有任何成员函数的类的空间大小是多少? 1字节 2.为什么是1字节,而不是0? 因为这个类在内存中有内存地址,这个内存地址最少能存1字节 3.如果这个类添加三个类成员函数,那么这个类空间的大小是多少? 还是1字节,因为类成员函数不占用类对象的内存空间 4.还是给这个类添加一个char...

2019-07-25 11:59:45 130

原创 Docker(3)

创建容器命令 docker run-i 表示运行容器-t 容器启动后进入其他命令行,-it一起 ,容器创建然后登陆进去--name 为创建的容器命名-v 表示目录映射关系,前面是宿主机状态,后面是映射到宿主机的目录 当做了目录映射以后,在宿主机上做修改,可以共享到容器上-d 创建一个守护式容器在后台运行,但是不会登陆到容器当中-dt 同上 + 但是会登...

2019-04-01 21:43:51 89

翻译 Docker(ubuntu18.0.4LTS),定义一个容器

首先我们选择一个空目录,我现在所在的位置是/usr/local/src我们一共需要创建三个文件分别是app.py :实例代码requirements.txt : Python所需要的类库Dockerfile: docker环境配置首先我们vim Dockerfile,# 将Python作为父环境,也就是容器的主要环境FROM python:2.7-slim#...

2019-03-29 14:34:22 235

翻译 Docker安装(ubuntu18.04LTS)

先删除旧版本docker避免不兼容 (centos 使用yum)sudo apt-get remove docker docker-engine docker.io containerd runc更新apt sudo apt-get update允许使用httpssudo apt-get install \ apt-transport-https \ ...

2019-03-29 13:44:59 1008

原创 Linux下Python的小技巧

今天读赖大的Python Linux系统管理和自动化运维感觉发现了新大陆,学到了很多自己以前完全不知道的技巧在任意一个目录下使用Python内置的小型下载服务,给同事和你都提供了极大的方便:具体命令:python -m SimpleHTTPServerpython3 : python -m http.server使用浏览器就能直接打开,极大的降低了沟通成本,提高文件传输的效...

2019-03-21 20:46:58 166

原创 妈妈再也不用担心我的面试之String类详解

其实在java中String并不能算是一个基本类型,回归到String的本质其实在jdk1.8以前他是一个final修饰的char数组,1.9以后他是一个final修饰的byte数组;由开发者将其封装成String类;其实我们也可以从代码中来证明String是一个类的事实:public class String1 { public static void main(String[] arg...

2018-09-29 11:45:34 111

原创 类关联结构详解

今天我们来学习一下类关联结构:首先我们先写两个类 一个是Person类,一个Car类   现在我们来讲解一下这两个类的关系首先一个人可以有一辆车, 现在假设这个车出车祸了我们能从这个车找到这个人,所以我们现在就引出了关联这个概念:具体代码:  反之我们也能根据人来查找车的信息,现在我们在加深一步类的复杂程度,现在我们这个张三有两个儿子,张三给两个...

2018-09-28 15:21:16 2517

原创 如何实现颠倒一个数组

今天我们来分享一下如何把一个数组进行翻转其实正常来说我们第一反应肯定会我在创建一个空数组来进行存储,然后用新的数组索引最小存给定数组索引最大,这样我们就可以把一个数组进行翻转过来虽然这个方法能实现这个数组的翻转,但是我们最后肯定需要进行一个 旧数组 = 新数组这个操作来改变我们之前的数组存储这样我们的新数组就会产生垃圾,我在第一篇博客中提过这个问题 ,然后我们用代码实现这个...

2018-09-27 16:26:24 5201

原创 随机一个数组并排序

今天分享一下数组的排序:首先我们随便写一个数组,  第一遍执行时我们发现这个数组发生了越界所以我们再改一次代码   我们这次对我们的循环条件进行了更改,也就是把这个for循环长度进行-1,这样我们的代码就成功运行,但是我们又发现一个问题:       int[] arr = new int[]{12,5,7,6,8,23,5,3,9};[5,...

2018-09-26 15:24:21 3841

原创 一 、 java中堆栈内存简单思考

国际惯例先上代码   代码很简单,首先我们定义一个Person类, 类里面有两个方法和一个私有变量name,一个pname方法接受一个参数n传递给name ,getinfo方法输出namemain函数实例化两个对象p1 和 p2。在内存空间如下图 当代码执行到p1 = p2 时,  p1则会抛弃之前实例化内容(这部分内容会被gc回收),重新跟na...

2018-09-25 13:53:16 558

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除