- 博客(102)
- 收藏
- 关注
转载 【转载】Java中的数据存储(堆、栈、常量池)
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。 2.栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中)。 3.堆:存放所有new出来的对象。 4.静态域:存放静态成员(static定义的)。 5.常量池:存放字符串常量和基本类型常量(public static final
2017-04-06 23:15:05
429
原创 Java中内部类和异常处理
1 内部类内部类的访问规则: 1) 内部类可以访问外部类的成员包括私有。 之所以可以直接访问外部类的成员,是因为内部类持有一个外部类的引用 , 格式: 外部类名.this 2) 外部类要访问内部类,必须建立内部类对象。 当内部类处于外部类的成员位置且非私有,可以在其他外部类中建立内部类对象 格式: 外部类名.内部类名 变量名 = new 外部类名().new 内部类名(
2017-04-06 22:43:44
2071
1
原创 回顾2016,寄语2017、2018
回顾2016职业生涯中的2016年是一个让人百感交集的年份。2015年底,我来到了现在的这家公司,鉴于刚开始只是做一些杂七杂八的东西,所以2016年才算得上真正意义上的第一年。这一年的时光,依据工作内容大体可以分为三段。第一段:EAMS系统数据流方案改造研究 EAMS系统是一个电子档案管理系统,其管理的档案便是各个业务系统和各类产品的电子数据。 电子档案数据的大体流程涉及:源业务系统Mysql库
2017-02-14 22:47:40
3894
原创 不能做一只井底之蛙
一年以前,刚做完“企业征信”项目的时候,感觉自己很low,在征信项目组中做的也只是最底层的代码。而海南、上官敲的代码比有技术含量多了。 他们都离职了,我留下来了,因为我知道自己很low,出去也没有什么可以拿得出手的本事!所以我坚定的留下来了!而在“客户风险”项目中,我的位置变了,我成为了主力,肩上的责任重了,负责的模块也有技术含量了,敲出的代码也能够拿得出手了!而最为关键的是我收获了自信! 我确
2015-07-05 21:56:27
819
原创 Java核心技术I——基础点拾掇(第六章)
接口不是类,而是对类的一组需求描述。这些类要遵从接口描述的统一格式进行定义。 接口中的所有方法自动地属于public。因此,在接口中声明方法时,不必提供关键字public。 接口中可以定义常量。但绝不能定义实例域,也不能在接口中实现方法。提供实例域和方法实现的任务应该由实现接口的那个类来完成。接口的特性: (1)接口不是类,尤其不能使用new运算符实例化一个接口。 (2)尽管不能构造接口的对
2015-07-05 21:48:29
488
原创 Java核心技术I——基础点拾掇(第五章)
第五章:继承 动态绑定:对象方法的执行过程: (1)编译器查看对象的声明类型和方法名。 (2)接下来,编译器将查看调用方法时提供的参数类型。(重载解析overloading) (3)如果是private方法、static方法、final方法或者构造器,那么编译器将可以准确地知道应该调用哪个方法,我们将这种调用方式称为静态绑定(static binding)。 (4)当程序运行,并且采用动态
2015-06-03 22:54:48
457
转载 Servlet,Filter,Listener,Interceptor
一.概念: 1.Servlet: servlet 流程是短的,url传来之后,就对其进行处理,之后返回或转向到某一自己指定的页面。2.Filter: filter流程是线性的,它就像是像一个职责链,url传来之后,进行预处理,然后传递给下一个filter继续执行,而servlet 处理之后,不会继续向下传递。3.Listener: 如果说servlet和filter是查找
2015-06-03 22:35:47
313
原创 Java IO学习
Java中庞杂的输入输出类,简直让人望而生畏!吾等后生性懒而情堕,为望高人指点一二!可叹,业界前辈,不辞辛苦,于海量信息中整顿脉络,给予吾等后生好生瞻仰,亦让吾对其兢兢态度极其钦佩!Java IO学习总结(1)Java IO学习总结(2)Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流
2015-04-26 17:29:24
376
原创 Binary Tree(C++)
#include #include using namespace std ;template class BinaryTree ; //forward declarationtemplate class BTnode { //Node of BinaryTree public : BTnode( ) ; BTnode( const val
2015-04-26 17:28:49
539
原创 MFC程序的启动与死亡顺序
MFC程序的启动与死亡顺序 1、创建Application object对象theApp程序一开始生产一个(且只有一个)Application object对象theApp,也即一个CWinApp对象,这个全局对象一产生,便执行其构造函数,因为并没有定义CMyWinApp构造函数,所以即执行CWinApp类的构造函数。该函数定义于APPCORE.CPP第75行,你可以自己搜出来啃一啃,因此,CW
2015-04-26 17:28:34
600
原创 字符集问题处理
C++:error C2664: “XXX”: 不能将参数1从“CString”转换为“const char *”(这一类问题基本上都是字符集格式不同而引起的) 在VC6中,默认使用MBCS编码,即多字节字符,实际就是支持大于0x80的ASCII码。这样,一个中文字可以表示为2个字节,GB2312就是这样表示的。VC6的默认安装是不带UNICODE库的,要在VC6中写UNICODE程序,必须安装
2015-04-26 17:28:30
423
转载 IT人员迅速提升自我效率的十大方法 .
IT人员迅速提升自我效率的十大方法 . 每个人都渴望成功,每个人都希望一个月能赚到几百万美金。任何人都不希望遭遇失败,不希望生活标准低于他们的期望水平。为了达到这些目标,人们开始艰难地决定做什么与不做什么。本文提供了可以迅速提高自我效率的十大方法: 1. 远离灰色地带 在灰色地带,很多事情都被掺杂在一起,这样会大大削弱了我们的工作效率。如果你同时做很多事情,你就会迷失你的关注点,
2015-04-26 17:28:24
748
转载 新周刊:放弃北上广的10个理由
新周刊:放弃北上广的10个理由 世界上有另外一个你——这个你有一辆最新款的私家车,不担心堵车也不担心停车;这个你房子阳台朝南,不担心房价也不考虑买第二套;这个你不是文艺青年、不喝瓶装水、按时吃饭、周末陪伴父母、从不租赁任何东西、不搞异地恋。这个你是慢生活的信徒,达到的是“面朝大海、春暖花开”的境界。 可惜这个你,与现实背道而驰——你长达10年的青春租住在30平方米的小房子里、每天用2个小时通
2015-04-26 17:28:02
825
转载 【转载】(数据成员的分布)堆、栈及静态数据区详解
全局区(静态区):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记
2015-04-26 17:27:43
1096
原创 数组与指针小结
http://www.cnblogs.com/krisdy/archive/2010/06/10/1755631.html 数组与指针的问题真的老生长谈了啊!都不想说了! char str[10]; char*pStr = str; sizeof(str); //结果为10 sizeof(pStr); //结果为4 于是我们可以得出结论: (1)数组名不是指针;
2015-04-26 17:27:39
424
原创 C++虚函数及虚函数表解析(二)
http://blog.sina.com.cn/s/blog_60e96a410100lirk.html C++中的成员和函数,有静态和非静态。1、非静态数据成员:放在每一个对象体内,作为对象专有的数据成员。2、静态数据成员:被提取出来放在程序的静态数据区内,为该类所有对象共享,因此只存在一份。(引申下,一个类模板中的静态数据成员实例化成模板类之后有几份?思考下。)3、静态和非静态成员函数:最
2015-04-26 17:27:36
385
原创 C++虚函数及虚函数表解析
作者:独酌逸醉http://www.keepsimply.org/2012/07/11/cpp-vtable/ 声明:本文内容由自互联网资源(见参考资料)、个人的一些 C++ 学习感悟、个人实践整理而成。文章仅以技术学习和交流为目的。如果您发现了文中的错误,或者您有的不同的见解,可以给我留言或者给我发邮件,我们共同探讨。如果您觉得我的文章侵犯到您的权益,请联系我(chinajiezhang@gm
2015-04-26 17:27:32
376
原创 二维空间的申请和释放(转)
转载自http://hi.baidu.com/suntopdang/blog/item/ec93178abf65e1779f2fb434.html (1)已知第二维 Code-1char (*a)[N];//指向数组的指针a = (char (*)[N])malloc(sizeof(char *) * m);printf("%d\n", sizeof(a));//4,指针printf("%d
2015-04-26 17:27:21
361
原创 C/C++程序员应聘常见面试题深入剖析
就要进入职场了,很好的试题,自己学习了,也分享给所有的C/C++毕业生吧! C/C++程序员应聘常见面试题深入剖析http://bbs.2cto.com/read.php?tid=263669 1.引言本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。许多面试题看似简单,却需要深厚的基本功才能
2015-04-26 17:27:10
388
原创 VC中结构体内存分配问题透析(sizeof)
注意: (1)在VC下,下面各类型占字节数为:char->unsigned int ->1; short int ->2; int ->unsigned int ->4; long ->float->4; double ->long double ->8 //vc下是我回来进行了测试的 (2)在TC下,下面各类型占字节数为:char->unsigned int ->1; s
2015-04-26 17:27:04
431
原创 编译器处理相关
一.预处理器-编译器-汇编器-链接器预处理器会处理相关的预处理指令,一般是以"#"开头的指令。如:#include "xx.h" #define等。编译器把对应的*.cpp翻译成*.s文件(汇编语言)。汇编器则处理*.s生成对应的*.o文件(obj目标文件)最后链接器把所有的*.o文件链接成一个可执行文件(?.exe) 1.部件:首先要知道部件(可以暂且狭义地理解为一个类)一般分为头文件(我喜欢
2015-04-26 17:27:00
319
原创 C++中的内存管理(new、delete、内存泄漏)
C++中的内存管理(new、delete、内存泄漏) 1. 使用new动态分配内存:若没有足够内存,则new返回0(空值指针null pointer);2. 不要使用delete释放不是new分配的内存,delete释放指针指向的内存,但不会删除指针本身;3、对空值指针应用delete是安全的;4、创建数组时的静态联编与动态联编:数组声名int a[10], 静态联编,数组的长度在编译
2015-04-26 17:26:57
824
原创 关于C语言中return的一些总结
return是C++预定义的语句,它提供了种植函数执行的一种放大。当return语句提供了一个值时,这个值就成为函数的返回值.说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bj
2015-04-26 17:26:53
3005
1
原创 C语言中的输入输出函数总结
putchar ():把变量中的一个字符常量输出到显示器屏幕上;getchar ();从键盘上输入一个字符常量,此常量就是该函数的值;printf ();把键盘中的各类数据,加以格式控制输出到显示器屏幕上;scanf ();从键盘上输入各类数据,并存放到程序变量中;puts ():把数组变量中的一个字符串常量输出到显示器屏幕上;gets ():从键盘上输入一个字符串常量并放到程序的
2015-04-26 17:26:48
1187
原创 Static用法总结
一、c程序存储空间布局 C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。 3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。 4)栈——增长方向:自顶向下增长;自动变量以
2015-04-26 17:26:45
1276
原创 realloc重分配内存详解
最近在写source code时需要在数组的buffer小时重新申请一块buffer,故找了一些资料,乖乖,竟然原指针还可以“漂移”。。。。。。 realloc原型:extern void *realloc(void *mem_address, unsigned int newsize);用法:#include 有些编译器需要#include 功能:改变mem_address所指内存区域的大
2015-04-26 17:26:41
2088
1
转载 学计算机必读[转]
在这儿我要先声明,这是本人在贴吧里看到的一片文章,那时私自拷贝下来学习的!后未询问作者而把这篇文章贴入自己博客(实在是找不到以前那个网页了),如有冒犯作者,还请作者见谅!我想该文作者肯定是一个很有爱心的软件开发人员,他也肯定非常愿意更多了的后来者学习这篇文章,并从中受惠的!故我选择在这儿将它推广! 学计算机必读 编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难
2015-04-26 17:26:37
807
转载 请学好C语言![转]
CSDN首页推荐了一篇文章,说两位退休的美国大学教授上书反对将Java作为编程教学语言,对此我表示高度认同。对于Java,我并不反感,而且相信它在工业应用中的地位不可取代,但是,我一直反对将Java作为主要的编程教学语言,因为教学语言承担着与生产语言不同的任务,它必须能够帮助学生奠定坚实的技术基础,塑造核心技术能力。在这方面,Java不能够胜任。 1990年代中期以前,美国的计算机编程入门教育
2015-04-26 17:26:33
347
原创 内存访问错误
大内高手—常见内存错误 随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调试系统集成之后的BUG,一个BUG花了几天甚至数周时间并非罕见。 而这些难以定位的BUG基本上可以归为两类:内存错误和并发问题。而又以内存错误最为普遍,即使是久经沙场的老手,也有时也难免落入陷阱。前事不忘,后世之师,了解这
2015-04-26 17:26:26
3708
原创 第三章(8).离散事件模拟
#include#include#include#include#define ArriveTime 5 //两个相邻客户到达银行的时间间隔不超过5分钟#define EventTime 30 //每个客户办理业务的事件不超过30分钟#define ClostTime 100 //关门时间#define QueueNum 5 //队列数,即窗口数typedef struct
2015-04-26 17:25:59
393
原创 第四章(5).建立词索引表
#include #include #include #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -1#define MaxBookNum 1000 //假设只对1000本书建立索引表#define MaxKeyNum 2500 //索引表的最大容
2015-04-26 17:25:56
711
原创 第四章(4).KMP算法
#include#include#include#define MAXSIZE 50 typedef unsigned char SString[ MAXSIZE + 1 ] ; //SString[ 0 ] 存储长度int next[ MAXSIZE + 1 ] ;void StrAssign(SString T, char *ch) { //生成一个其值等于ch的
2015-04-26 17:25:52
359
原创 第六章(9).四皇后问题
#include #include #define N 4 //棋盘行数列数#define OK 1 #define ERROR 0//初始棋盘int Data[ N ][ N ] = { { 0 , 0 , 0 , 0 } , { 0 , 0 , 0 , 0 } , { 0 , 0 , 0 , 0 } , { 0 , 0 , 0 , 0 } } ;static
2015-04-26 17:25:48
537
原创 第六章(8)求集合的幂集
以前落下的习题,现在补上!#include#include#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量#define LISTADD 10 //线性表存储空间的分配增量#define TRUE 1#define FALSE 0#define ERROR -1typedef int ElemType;typedef struct{ ElemType
2015-04-26 17:25:44
1472
原创 第十一章(2).置换—选择排序
#include #include #define w 6#define MAXKEY 100 //最大关键字#define MINKEY 0 //最小关键字#define N 24 //数据个数typedef int KeyType ;typedef int LoserTree[ w ] ;typedef struct { KeyType key ;// int
2015-04-26 17:25:41
681
原创 第十一章(1).多路平衡归并排序
#include #include #define k 5 //k路归并#define MAXKEY 100 //最大关键字#define MINKEY 0 //最小关键字typedef int KeyType ;typedef int LoserTree[ k ] ; //败者树是其安全二叉树且不含叶子,可采用顺序存储结构typedef struct { KeyType
2015-04-26 17:25:37
950
原创 第十章(11).基数排序
这次的经历终于让我尝到了什么叫“尽信书不如无书”!虽然以前也有过类似的经历,但是这次的经历实在是太深刻了啊!调试一个小时!!!这就是代价啊!不过这也有好处,让我对基数排序的原理理解更深了! (思想和代码近似书上所描叙!)#include #include #define MAX_NUM_OF_KEY 3 //关键字项数的最大值#define RADIX 10 //关键字基数,此时是十进制
2015-04-26 17:25:33
823
原创 第十章(10).归并排序(非递归)
#include using namespace std ;//归并排序(Merging Sort) : 将两个或两个以上的有序表组成一个新的有序表.//2-路归并排序中的核心操作是将一堆数组中前后相邻的两个有序序列归并为一个有序序列(此程序为非递归形式实现)#define MAXSIZE 20 //存储元素的顺序表的最大长度typedef int KeyType ; //关
2015-04-26 17:25:30
456
原创 第十章(9).归并排序(递归)
#include using namespace std ;//归并排序(Merging Sort) : 将两个或两个以上的有序表组成一个新的有序表.//2-路归并排序中的核心操作是将一堆数组中前后相邻的两个有序序列归并为一个有序序列#define MAXSIZE 20 //存储元素的顺序表的最大长度typedef int KeyType ; //关键字类型typedef
2015-04-26 17:25:26
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人