自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jacky_wang_123的专栏

菜鸟希望高飞

  • 博客(37)
  • 资源 (7)
  • 收藏
  • 关注

原创 Flink-ExecutionGraph的构成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录前言一、ExecutionGraph的详细构成ExecutionJobVertexIntermediateResult二、ExecutionGraph是如何生成的?总结前言JobManager 根据 JobGraph 生成 ExecutionGraph。ExecutionGraph 是 JobGraph 的并行化版本,是调度层最核心的数据结构。主要的变化如下:JobVertex 变成了

2021-10-25 23:15:53 413

原创 Flink源码-ExecutionGraph基本概念

用C++读取mysql数据库,编译时报错:致命错误: mysql/mysql.h:没有那个文件或目录编译中断。

2021-10-24 23:34:43 170

原创 Flink-JobGraph基本概念

JobGraph也是在client端生成的,我们看一下StreamGraph->JobGraph的变化:主要的变化有:StreamNode变成了JobVertex StreamEdge变成了JobEdge 增加了IntermediateDataSet Forward相连的StreamNode合并成一个JobVertexJobGraph的生成同样,我们进入debug模式,从execute()方法一路点点点,到了StreamingJobGraphGenerator.createJ.

2021-10-20 22:55:03 1264

原创 Flink 源码-StreamGraph基本概念

Flink的Graph有4层:Stream Graph - Job Graph - Execution Graph - 物理执行图如图所示,Stream Graph中主要包含了:StreamNode 和 StreamEdge实例代码: // get input data by connecting to the socket DataStream<String> source = env.socketTextStream(hostname, po.

2021-10-18 22:08:26 325

原创 ubuntu 1204 无法安装libmysqlclient-dev

解决ubuntu 1204下libmysqlclient-dev无法安装问题

2015-08-20 20:44:45 10006 1

原创 Qt多个信号连接到一个槽,在槽中识别信号的发送者方法

Qt是通过信号和槽的机制进行事件传递的,当有多个不同类型、或相同类型的物件的发送信号都通过一个槽来处理的时候,需要在槽中识别出这些信号然后做相应的处理。例如:在一个界面中有16个按钮(QPushButton)和4个(QRadioButton)这20个物件的SIGNAL(clicked(bool))都连接(connect)到同一个按键的处理槽中(void get_keyvalue(b

2015-06-22 16:21:38 3508

原创 C++学习之函数重载内幕

众所周知,重载(overload)是C++区别C的重要特征之一。所谓重载就是指在同一个作用域中,函数名相同,参数表不同的函数。那么重载在C++中到底时如何实现的呢? 是通过更换函数名来实现的。

2015-04-28 00:14:47 919

转载 C++学习之字符串转数字,数字转字符串

1. 字符串转数字  如将“32”转为32,将“3.1415”转为3.1415,将“567283”转为567283。使用://Convert string to integer, more @http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/int atoi ( const char * str );//C

2015-04-20 13:37:31 922

原创 Algorithm--Bucket Sort Notes,

桶排序学习笔记

2015-01-25 11:54:20 1008

原创 Algorithms--CountingSort Notes

计数排序学习笔记

2015-01-18 12:10:04 681

原创 Algorithms--QuickSort Notes

快速排序基本原理介绍

2015-01-18 11:25:19 652

原创 Algorithms--Heap Notes

数据结构值之堆学习笔记。

2015-01-11 23:50:30 694

原创 <曾仕强论三国智慧-妄言害自己>观后感

妄言害自己1、不讲实在话不一定是欺骗,要看最后的结果。2、大局的前提下,很多小事情根本就不要去考虑。(顾全大局)3、一个人能够把后来的事情算的那么精准,这个人肯定不简单。(曹操)4、很多事情是好是坏,有时候到最后才能看到出来。

2014-01-20 19:18:33 2355 2

原创 <曾仕强论三国智慧-得意勿忘形>观后感

得意勿忘形1、一个人最怕的就是,他哪里痛,你偏要碰他的痛点。(一个人过分伤害别人,最后一定是伤害自己)2、一个人没有那个实力,就不要占据那个位置。3、天下没有不可能的事情。4、形势比人强。(一旦形势造成了,谁都没有办法挽救)5、当一个人处在顺境的时候,一定要沉得住气。因为老天不一定样样随人愿。6、一个人最后还是要靠自己。

2014-01-20 18:41:39 2415

原创 C++学习之构造函数初始化式

众所周知,构造函数的job就是保证每个对象的数据成员具有合适的初始值//假设name(string),stuNum(int),grade(int)都是类myClass的数据成员class myClass::myClass(){ name = "1班"; stuNum = 60; grade = 2;}一直认为上面构造函数的函数体内三行便是对数据成员的初始化,今天一

2013-06-16 10:10:18 1220

原创 C++学习之实现链表的增删查。

线性表的链表描述,废话少说,上代码。节点头文件 ChainNode.h:#ifndef CHAIN_NODE_H#define CHAIN_NODE_H#include "ChainList.h"template class ChainNode{ //friend ChainList;public: ChainNode(); ~ChainNode(); t

2013-06-12 09:31:38 1111

转载 C++中的NULL和nullptr

0.NULL的前世今生对于C和C++程序员来说,一定不会对NULL感到陌生。但是C和C++中的NULL却不等价(别惊讶,这是真的)。NULL表示指针不指向任何对象,但是问题在于,NULL不是关键字,而只是一个宏定义(macro)。在C中,习惯将NULL定义为void*指针值0:1#define NULL (void*)0

2013-06-07 15:40:10 4345

原创 C++学习之用数组实现顺序表

开始学习数据结构,路还长,加油!!用C++的template实现顺序表SequenceList ,第一次上传完整代码,比较菜。SequenceList.h:#ifndef SEQ_LIST_H#define SEQ_LIST_H#include #include //模板的声明和定义要在同一个头文件中//创建一个顺序表类模板template class Sequ

2013-06-07 14:23:12 2042

转载 placement new 操作符

在item16和17里大师曾经介绍过,一个new的过程大致分两步:   - 申请内存   - 调用构造函数构造新对象如果第一步成功而第二步失败,一个成熟的系统应该能回撤第一步,释放刚分配的内存空间。如果第一步用的是普通的new函数,C++是能够找到与之匹配的delete函数的。//normal form of new operatorvoid* operator n

2013-05-31 10:15:50 781

转载 10步让你成为更优秀的程序员

原文出处这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。1. 永远不要复制代码不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它

2013-04-12 10:32:58 656

转载 C++学习笔记之操作符重载

原文链接 点击打开链接什么是操作符重载?操作符重载可以分为两部分:“操作符”和“重载”。说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载。运算符重载和函数重载的不同之处在于操作符重载重载的一定是操作符。我们不妨先直观的看一下所谓的操作符重载:#include using namespace std; int main()

2013-04-10 09:35:36 832

原创 C++学习笔记之操作符使用注意。

1、赋值表达式是有值的,就是左操作数的新值。2、sizeof 操作符判断它的操作数的类型长度 , 以字节为单位。操作数既可以是个表达式,亦可以是类型名:sizeof( int )                      sizeof x   第一个表达式返回整形变量的字节数 , 第二个返回变量x所占的字节数。当sizeof操作数是数组名时,返回该数组的长度。一定要注意:判断表达式

2013-01-31 10:35:32 890 1

转载 C++的五种内存存储区

在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。    栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。    堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在

2013-01-11 19:06:02 687

原创 Ubuntu 下QT设计QMainWIndow ---菜单栏始终不显示?

今天想用QT协议个ARM的上位机,在windows下设计完成之后 调试  菜单栏 正常显示,可是将代码移植到Ubuntu下之后一直不显示菜单,上网搜。。。给出各种复杂的说法。。。突然想起来 Ubuntu 下的菜单栏 是显示在系统的左上角的,重新运行 发现真的是。。。汗 叹息 自己, 没文化 真可怕

2012-10-28 15:31:35 2714 5

原创 C++学习笔记之继承层次中的函数调用。

不妨将继承层次中的函数调用按照调用方式分类:一、直接通过对象调用:1、调用非虚函数。众所周知,一个派生类对象(public继承)是有两部分组成的,基类对象部分和派生类自己的部分,如果用派生类对象调用某一非虚函数(假设该函数在基类中为public)nvfcn() , 则编译器首先在派生类部分中查找该函数名字:若找到,则进行类型检查,检查正确-->调用、不正确-->报错;若找不到,则到基类中查

2012-10-14 14:53:25 1787 3

转载 C++的内存管理

原文出处这篇文章是我在学习高质量C++/C编程指南中的第7章"内存管理"后的一篇笔记,之前我也写过相关的文章指针以及内存分配,但我感觉那篇还不是很好,这篇我很把它更完善一些一.内存的常见分配方式  1. 从静态区分配,一般是全局变量和static类型变量  2.从栈区分配内存,一般是局部的变量,会随着所在函数的结束而自动释放

2012-10-10 09:48:48 581

转载 容器适配器的理解(转)

原文链接首先,我们要明白适配器是干什么的?其实就是一个接口转换装置,是得我们能用特定的方法去操作一些我们本来无法操作的东西。举一个例子,比如你的一个设备支持串口线,而你的电脑支持的是usb口,这时候,我们没有必要重新买一个支持usb的设备,只需要一根串口转usb口的小玩意,让你的设备能够连接到usb插口上,而它就是适配器。那么C++中的容器适配器是干什么的呢?可以做一个类比,我们已

2012-09-25 10:45:58 665

原创 c++学习笔记之函数重载与const的关系

函数重载与const的关系:1、如果形参是非引用类型的,则下面两个函数是编译报错的(error C2084: 函数“void rldFunction(int)”已有主体)void rldFunction(int paraIn){ cout << paraIn << endl;}void rldFunction(const int paraIn){ cout << paraI

2012-09-19 16:30:02 757

原创 C++ 学习笔记之二:类成员变量的初始化

1、可采用构造函数的初始化列表:Book::book():size(100),weight(50){}//假设size weight 均为int类型 类名为Book2、若采用默认的构造函数(或者说编译器创建的构造函数), 则有: A 、如果该对象在全局作用域中定义(不在任何的函数中),或者是定义为静态局部对象:类类型由构造函数初始化 , 内置类型的成员变量初始化为0

2012-09-18 17:21:57 549

原创 C++ 学习笔记之一

1、c中可以定义可变形参的函数(可变形参 以前还没听过呢),最熟悉的printf() 就是典型的可变形参的函数。void myFunciton(paraList,...);void myFunction(...);那么可变形参的函数跟void形参的函数什么区别的啊?当然有区别了,调用可变形参的函数时是可以传递参数的奥!!2、不要以为返回值是void 类型的函数中就没有return

2012-09-17 17:06:24 548

转载 CPP 中的8进制 10进制 16进制

1、C和C++都没有提供二进制数的表达方法。2、C,C++语言中,如何表达一个八进制数呢?     如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数,都有可能。     所以,C,C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进

2012-09-05 15:06:49 2273

转载 软件开发的“三重门”

自从上次写了“程序员技术练级攻略” 以来,就觉得似乎还有很多东西没有谈到,但当时没有继续思考了。而春节前有人问我,是做底层技术,还是做业务。这问题让我思考了很多,不由自主地回顾了一 下我这十多年的软件开发经历,并顺着整理分类了一下自己解决过的若干问题,还发散想了很多,经过了一个春节假期的发酵,产生了下面这篇文章。前言这篇文章必然是通过我的个人经历来写的。所以,我先说说个人经历吧。我的经历基

2012-09-04 10:16:45 1678

转载 lwIP raw API

原文出处:点击打开链接简介lwIP提供了两套API:1.底层的基于回调(callback)的raw API2.高层的顺序模型的API(类似BSD socket)    顺序模型的API为普通的顺序程序提供使用协议栈的API,和BSD风格的API很相似,也是基于阻塞的open-read-write-close模式。鉴于TCP/IP协议栈本身就基于时间的。所

2012-09-01 14:35:44 1211

原创 C/C++语言中的反斜杠!!!

今天碰到一个某公司的笔试题(被鄙视了):  char s[] = "\\141\141abc\t"; cout << s << endl; cout 答案:\141aabc9(如果你是大牛 一看就知道答案 下面的东西就别看了 , 就放小弟一马,别鄙视我了)前两个 字符大家比较熟悉,肯定是一个 \ ,后面的141 是三个字符 , 但是到了 \141 我就烦糊涂了, 到底是几个

2012-08-31 21:04:34 4161

原创 我对Qt中信号与槽的误解!!

众所周知 qt中一个信号可以连接两个槽, 今天想体验一下,写了个简单的UI 文件,包含一个简单的lineEdit 、一个pushButton 写了两个connect 如下:connect(pushButton , SIGNAL(clicked()) , this, SLOTS(serverOpen()));connect(pushButton , SIGNAL(clicked()) ,

2012-08-29 15:02:57 1128

转载 Qt4中ui文件的使用方法

ui文件的使用是在Qt4中不太容易上手的一点,因为很多同学都是从Qt3升级到Qt4的,在升级过程中发现这部分的变化非常之大,让人有点无所适从。 Qt3的designer简直可以媲美一个ide,可以编辑代码,可以管理工程, 可是到了Qt4却仿佛是退化到了史前一万年,我们又来到那个茹毛饮血的蛮荒时代,工程管理的功能被彻底剔除到designer以外。Trolltech这样做也是有道理的,在他

2012-08-27 21:04:02 1058

转载 C/C++数组名与指针区别深入探索

C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。下面以字符串为例比较指针与数

2012-02-09 14:37:32 947 1

Stellaris驱动库用户指南

Stellaris驱动库是一系列用来访问Stellaris系列的ARMCortexM3微处理器上的外设驱动程序。提供了一些机制是器件的外设使用起来很容易。

2012-08-23

RTP:RFC3550中文版

主要描述RTP协议的内容规范格式使用场景注意事项等

2012-04-22

使用_Eclipse_和_Java_SE_6_创建独立_Web_Services_应用程序

使用_Eclipse_和_Java_SE_6_创建独立_Web_Services_应用程序,第_2_部分_Web_服务客户端应用程序

2011-12-09

java中的字符串处理

java中字符串处理函数,java学习的基础,起飞的垫脚石

2011-12-09

linux入门教程

介绍了LINUX 的安装过程及配置要求,重点讲解Linux的学习方法,以及基本指令。进一步讲解了,基于Linux平台的开发概念思想。

2011-09-28

程序设计实践

本书是Brian W. Kernighan和Rob Pike合著的最新力作。本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法,它的翻译出版将填补国内目前这方面书籍的空白。本书值得每个梦想并努力使自己成为优秀程序员的人参考,值得每个计算机专业的学生和计算机工作者阅读,也可作为程序设计高级课程的教材或参考书。

2011-09-28

单片机stc 51说明手册

学习单片机的很好助手,包括存储器的地址,寄存器的地址,还有一定的指令说明等

2011-08-28

空空如也

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

TA关注的人

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