- 博客(22)
- 收藏
- 关注
原创 java内存模型&GC
JAVA能够实现跨平台的一个根本原因,是定义了class文件的格式标准,凡是实现该标准的JVM都能够加载并解释该class文件,据此也可以知道,为啥Java语言的执行速度比C/C++语言执行的速度要慢了,当然原因肯定不止这一个,如在JVM中没有数据寄存器,指令集使用的是栈来保存中间数据…等,尽管Java的贡献者们为执行速度的提高想了各种办法,如JIT、动态编译器等。1、JAVA内存模型...
2018-04-10 23:54:38
594
转载 面向对象的三个基本特征是:封装、继承、多态
面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是 “ 继承 ” 。继承是指这样一种能力:它可以使用现有类的所
2015-09-22 13:21:29
409
转载 IP地址分类
IP地址分为A,B,C,D,E五类。网络号:用于识别主机所在的网络;主机号:用于识别该网络中的主机。其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用。这三种是主要的。IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。其中A类、B类、和C类这三类
2015-09-19 09:53:40
2028
原创 排序算法
#includeusing namespace std;void maopao(int a[],int len){for(int i=0;ifor(int j=1;jif(a[j-1]>a[j]){int t=a[j-1];a[j-1]=a[j];a[j]=t;}return;}void charusort(int a[],int len)
2015-08-18 22:38:06
297
原创 动态规划经典案例
1.最长递增子序列求一段字符串的最长递增子序列问题分析:设序列为:A="a0,a1,a2,a3,a4,a5,...,ai",定义D(i)为选i作为序列一项后,后面序列中第i项更大项数有多少,包括i.从最后一项算起D(i)=1,依次往前计算;如果akak+1 ,则往后遍历,直到寻找到m,ak举例A={1,5,2,6,3,4}算出:D=(4,2,3,1,2,1)则最长子序列
2015-08-17 19:24:17
733
原创 排列组合算法笔记
1.不存在重复字符的排列组合如abc,此种情况很简单,算法代码也很少,主要思想为:将abc分为前部和后部,前部为a,后部abc,用a与后部每一个字符交换,如aa得到abc,ab得到bac,ac得到cba,最终得到abc,bac,cba三部分针对上一部分中的三个后部,分别继续应用分两部,分别交换的方法,直到后部为NULL,递归输出字符串。上述方法的递归代码如下:#
2015-08-14 22:25:20
726
转载 C/C++带括号的四则运算
(1).首先从string读入表达式,取出每一个字符后装入deque容器coll1中(源码在后面)。(2).从该容器取出每一个元素,利用栈将中缀表达式转换成后缀表达式(可参考:http://blog.csdn.net/anye3000/article/details/7939203),将后缀表达式装入容器coll3中。(3).最后从coll3中取出元素逐一处理,既使用逆波兰式求值(
2015-08-11 22:28:03
3764
1
转载 c++指针作为函数参数传递的问题
其实,对于C 或者C++ ,最难的一块地方估计就是指针了。指针是强大的,但也是很多人载在这里的地方。 前段时间写了一篇文章《C ++之 数组与指针的异同 》对C 和C ++中的指针做了一个初步的讲解。这次将讲解一下指针作为函数参数传递的问题。 很多人对于指针的使用是有所了解的,但还是经常会载在指针的问题上,是因为还不够了解指针的本质,其实如果了解指针的本质,对指
2015-07-28 22:03:29
333
转载 C++ cin对象
一. cin>>输入结束条件 :遇到Enter、Space、Tab键。对结束符的处理 :丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab)#include using namespace std;int main(){ char str1[10], str2[10]; cin>>str1; cin>>str2; cout
2015-07-24 11:40:22
401
原创 C++ 虚函数、纯虚函数、继承、虚表、多态原理相关知识点总结
虚函数与纯虚函数虚函数为了重载和多态的需要,在基类中是有定义的,即便定义是空,所以子类中可以重写也可以不写基类中的此函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。class Cman{public:virtual void Eat(){……};void Mov
2015-07-23 14:36:30
1296
2
转载 TCP/IP协议 三次握手和四次挥手
TCP/IP协议三次握手与四次握手流程解析 一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有
2015-07-22 10:25:26
301
转载 C++类型转换
C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;ival + dval;//i
2015-07-22 08:45:16
256
转载 C++函数重载
1、例子引入(现象)什么是函数重载(what)?为什么需要函数重载(why)?2、编译器如何解决命名冲突的?函数重载为什么不考虑返回值类型3、重载函数的调用匹配模凌两可的情况4、编译器是如何解析重载函数调用的?根据函数名确定候选函数集确定可用函数确定最佳匹配函数5、总结1、例子引入(现象)1.1、什么是函数
2015-07-21 16:46:24
564
原创 C++面试知识点总结
struct和class的区别struct中成员变量和函数的默认访问权限为public,而class的为private;struct可以在定义的时候直接以{ }对其成员变量赋初值,而class则不能。//定义structstruct structA{ char a; char b; int c;};structA a = {'a' , 'a'
2015-07-17 11:32:18
363
转载 Struct对齐方式
毕业前找工作的经历让我发现,很多公司的笔试、面试题中都涉及到了struct的对齐的问题!今天我们就深入探索其中的奥秘!首先,让我们分析下面的代码:struct AT{ char a; char b; int c; char d;};int main(void){ AT at; cout
2015-07-17 10:55:08
832
转载 const对象的指针和const指针
1.指向const对象的指针我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值。C++要求指向const对象的指针也是const类型。const double *pd; //可以指向一个const double类型。 这里的const限定的是pd所指的对象,而不是pd。这
2015-07-13 17:02:08
291
转载 十道海量数据处理面试题与十个方法大总结
第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。 再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多
2015-07-13 16:44:42
247
转载 堆和栈的区别
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态
2015-06-25 21:33:21
272
转载 STRTOK函数和STRTOK_R函数
注:本文转载自博客园,感谢作者整理!1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct person{ char name[25]; char sex[10]; char age[4]; }Person;需从字符串 charbuffer[INFO_MAX_SZ]="Fred mal
2014-07-05 18:44:17
446
转载 文件夹地址
方法一:以下代码直接选取文件夹地址:LPITEMIDLIST pidlPath; TCHAR pszDplName[MAX_PATH]; BROWSEINFO biFile; IMalloc *pDllMlc; biFile.hwndOwner = m_hWnd; biFile.pidlRoot
2014-07-05 18:41:40
360
转载 文件读取
@1.问题描述: C和C++的初学者经常采用一行一行读入文件的办法对文件数据进行处理。但是经常会有一些情况需要将一个文件整体一次读入内存处理。而C和C++库中并没有提供直接一次读入文件全部数据的函数。 @2.解决方法: 目前给出C和C++的解决方案,下面两个程序只是用于演示,不过这些代码已经很
2014-07-05 18:39:56
400
转载 Char[N]字符串处理
Char *s1= "HelloWorld ";Char * s2[16];strcpy(s1,s2);也有另外好多方法可以实现把s1的内容拷贝到s2中,比如:(1)int len = strlen(s1);for(int i = 0; i {s2[i] = s1[i];}(2) int len =strlen(s1); memcpy(s1, s2,
2014-07-05 18:37:12
537
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人