林牧 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 软件工程的理解:       软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及到程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面.在现代社会中,软件应用于多个方面.典型的软件有电子邮件.嵌入式系统.人机界面.办公套件.操作系统.编译器.数据库.游戏等.同时,各个行业几乎…
博客地址:http://blog.csdn.net/FoxDave Windows 10 Developer Readiness - Powered by MVPs - 由微软最有价值专家(MVP)主讲在免费线直播课程 ---------- One windows platform, the Universal Windows Platform ---------- 欢迎参加在6月11日周四晚上7点,由微软MVP专家为您带来de Windows 10应用开发课程,微软最有价值专家MVP讲师将为您…
<Python自动化测试修炼宝典>线上课程已经成功入驻网易云课堂...... IT测试老兵利用工作之余,亲自录制的<Python自动化测试修炼宝典>线上课程已经成功入驻网易云课堂,想要提高测试技术的小伙伴可以线上购买课程进行学习. 课程背景 测试人员进阶实战课程.本套课程以作者多年测试实战经验为背景,结合大量测试案例深入浅出讲解目前主流web端.app端自动化测试框架以及使用Python如何从0到1实现接口测试框架的搭建. 课程特色 系统教学+实战案例+开放源码.涵盖Python3…
获奖感言和C语言的学习心得 自我介绍: 大家好,我的名字叫袁忠,我来自湖南,今年快19岁了,现在是大学一年级,我平时喜欢跑步.打羽毛球,我也喜欢学算法与数学,以及喜欢看一些与计算机有关的书籍,每次我学它们时,我都比较兴奋,都会开开心心去学,我的思维也比较开放,例如:每次我写算法时,我都会想如何简化自己的代码,怎样可以使自己的代码变得更加简单,学数学也一样,我不喜欢固定自己的思维,每次老师给我们讲题目时,我都会想是否还有更简单的方法,最好是联系以前学过的东西,让复杂的问题简单化. 在这大学四年中,…
今天线上的hadoop集群崩溃了,现象是namenode一直在GC,长时间无法正常服务.最后运维大神各种倒腾内存,GC稳定后,服务正常.虽说全程在打酱油,但是也跟着学习不少的东西. 第一个问题:为什么会频繁GC 有过JVM经验的开发者都应该知道,GC是在内存不够时,JVM自动进行的自我救赎(删除不用的数据,释放内存空间).那么NameNode在什么情况下会进行GC呢?在解释这个问题之前,需要明白GC的几种级别,以及触发的条件: Minor GC:清理新生代,一般都是复制回收算法 Full GC:…
类与对象 public是类的对外访问接口: 类内初始值 在定义类时对数据成员写初始值,在创建对象的时候,会使用类内初始值初始化数据成员: class Clock { public: void showTime(); private: int hour = 0, minute = 0, second = 0; }; private成员 默认只能被类内函数访问: 类外函数可以通过友元方式取得授权进行访问: protected成员 和private成员类似,其差别表现在继承与派生时对派生类的影响不同:…
数据的共享和保护 对象的生存期 static类型的局部变量,生存期在整个程序,局部可见. void example() { static a=1; int b=2 } 当调用完example函数后,b消亡,a仍然存在: 再次调用该函数时,a值不会再次被赋值,仍保持之前数据:而b需要重新建立,重新赋值. 类的静态数据成员 1.用关键字static声明; 2.为该类的所有对象共享,静态数据成员具有静态生存期; 3.必须在类外定义和初始化,用(::)来指明所属的类. 这个数据属于类的信息,比如统计教师…
类的继承 保持已有类的特性而构造新类的过程称为继承; 实现设计与代码的重用. 在已有类的基础上新增自己的特性而产生新类的过程称为派生 当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造 派生类的构成 吸收基类成员 默认情况下派生类包含了全部基类中除构造和析构函数之外的所有成员; C++11规定可以用using语句继承基类构造函数. 改造基类成员 如果派生类声明了一个和某基类成员同名的新成员,派生的新成员就隐藏或覆盖了外层同名成员 添加新的成员 派生类增加新成员使派生类在…
vector 对象 C++标准库中的一个类模板 封装任何类型的动态数组,自动创建和删除. 数组下标越界检查. 将动态数组封装成类的知识点中封装的ArrayOfPoints也提供了类似功能,但只适用于一种类型的数组. vector<元素类型> 数组对象名(数组长度); vector<int> arr(5) //建立大小为5的int数组 1.与一般数组不同,vector数组对象名不表示数组首地址; 2.可以用size函数获得vector数组的长度 unsigned n; cin>…
指针 static int i; static int* ptr = &i; 此处的*表示ptr是指针类型(地址类型),用来存放目标数据的地址 其本身也有地址,所以又指向指针的指针; *前面的 int 代表其指向的数据类型是 int 型,从目标i的起始单元地址取 int 数据类型字节长度的内容进行处理; *ptr=3; 此处的 * 表示指针运算,即寻址过程,按照地址寻找数据单元; 其逆运算为 & 地址运算,即返回数据单元的起始地址. 指针变量的初始化 定义变量后不进行初始化,会默认存储垃圾…