07 2012 档案
摘要:.Net提供了接口,这个不同于Class或者Struct的类型定义。接口有些情况,看似和抽象类一样,因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然,接口和抽象类各有长处和缺陷,因此往往在应用当中,两者要结合来使用,从而互补长短。接下来先说说抽象类和接口的区别。区别一,两者表达的概念不一样。抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于“是”的关系;而接口是定义行为规范,因此对于实现接口的子类来说,相对于接口来说,是“行为需要按照接口来完成”。这些听起来有些虚,举个例子。例如,狗是对于所有狗类动物的统称,京哈是狗,牧羊犬是狗,那么狗的一般特性,都会在
阅读全文
摘要:转自:http://www.cnblogs.com/jillzhang/archive/2006/11/02/547679.html哈希表和哈希函数是大学数据结构中的课程,实际开发中我们经常用到Hashtable这种结构,当遇到键-值对存储,采用Hashtable比ArrayList查找的性能高。为什么呢?我们在享受高性能的同时,需要付出什么代价(这几天看红顶商人胡雪岩,经典台词:在你享受这之前,必须受别人吃不了的苦,忍受别人受不了的屈辱),那么使用Hashtable是否就是一桩无本万利的买卖呢?就此疑问,做以下分析,希望能抛砖引玉。1)hash它为什么对于键-值查找性能高学过数据结构的,都应
阅读全文
摘要:http://www.lybbs.net/news_read.do?newsPath=2007/9/25/1190684628458.html1引言 Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 小时在服务器上运行,则内存漏洞在此处的影响就比在配置实用程序中的影响要大
阅读全文
摘要:C++和MATLAB混合编程-DLL篇转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7346534先小话一下DLL,DLL是动态链接库,是源代码编译后的二进制库文件和程序接口,和静态链接库不同的是,程序在编译时并不链接动态链接库的执行体,而是在文件中保留一个调用标记,在程序运行时才将动态链接库文件加载入内存。并且DLL在运行时是共享的,即当多个程序调用时,内存中也只保持一份动态链接库。动态链接库的调用有显式和隐式两种方式。隐式链接需要用到我们前面生成的plotdata.c,plotdata.h,plotdata.lib以及pl
阅读全文
摘要:Java中使用MATLAB作图转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7038819最近做一个项目,需要很多进行很多信号处理——小魏就是学软件的,对信号处理简直是个小白,最简单的实现就是傻瓜似的调用MATLAB的各种工具箱,达到目的就行。同时,MATLAB是种解释性语言,执行效率比较低,不适用与通用编程平台,同时图形化编程也非常不方面,一举两得的是能在其他语言(VC++\Java)程序中调用MATLAB编写的函数。好,牛刀小试,尝试在Java中调用MATLAB!1)实验环境机器中装有Eclipse和Matlab,并配置好
阅读全文
摘要:java中数据类型转换1如何将字串 String 转换成整数 int?A. 有两个方法:1). int i = Integer.parseInt([String]); 或i = Integer.parseInt([String],[int radix]);2). int i = Integer.valueOf(my_str).intValue();注: 字串转成 Double, Float, Long 的方法大同小异.2 如何将整数 int 转换成字串 String ?A. 有叁种方法:1.) String s = String.valueOf(i);2.) String s = Intege
阅读全文
摘要:hashmap和hashtable区别 1、 继承和实现区别 Hashtable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java 1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)。 2、 线程安全不同 HashTable的方法是同步的,HashMap是未同步,所以在多线程场合要手动同步HashMap。 3、 对null的处理不同 HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。即 HashTable不允许nu...
阅读全文
摘要:HashMap 使用小结本文重点介绍HashMap。首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。在下文中会有例子具体说明。再来看看HashMap和TreeMap有什么区别。HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。import java.util.Map;import java.util.HashMap;imp
阅读全文
摘要:JAVA中List、Map、Set类层次关系如下:Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap下面来分别介绍Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection.
阅读全文
摘要:VC中Release版本和Debug版本区别一、Debug版本包含调试信息,并且不作任何优化,编译器生成的代码便于程序员调试; Release版本算是发布版本,Release下不能调试,生成的文件更小,编译器生成的程序速度更快。而且Release版本进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。二、Debug下生成的Exe文件在单独运行时需要编译器提供的一些库文件的支持,Release则是不需要的 。附参考资料:Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,
阅读全文
摘要:只允许使用一个循环先输出1至10内的奇数然后输出其中的偶数结果应该是这样的135792468Windows环境下有一种实现极其的恶心int main(){ FILE *f[]={fopen("con","w"),fopen("con","w")}; for(int i=1;i<10;fprintf(f[(i+1)%2],"%d\n",i++)); return 0;}else ::::#include <stdio.h>void main((){ int i; int num[
阅读全文
摘要:草木有本心 | 彻底搞定C指针《彻底搞定C指针》第一篇 变量的内存实质要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧!先来理解理解内存空间吧!请看下图:内存地址→ 6 7 8 9 10 11 12 13-----------------------------------------------------------------··· | | | | | | | |··-----------------------------------------------------------------如
阅读全文
摘要:HMM介绍Hidden Markov Models是一种统计信号处理方法,模型中包含2个序列和3个矩阵:状态序列S、观察序列O、初始状态矩阵P、状态转移矩阵A、混淆矩阵B。举个例子来说明。你一个异地的朋友只做三种活动:散步、看书、做清洁。每天只做一种活动。假设天气只有两种状态:晴和兩。每天只有一种天气。你的朋友每天告诉你他做了什么,但是不告诉你他那里的天气。某一周从周一到周五每天的活动分别是{读书,做清洁,散步,做清洁,散步}----这就是观察序列O,因为你可以观察得到。从周一到周五的天气依次是{晴,兩,晴,晴,晴}----这就是状态序列S,状态序列是隐藏的,你不知道。根据长期统计,某天晴的概
阅读全文
摘要:数据挖掘和机器学习的区别和联系,周志华有一篇很好的论述《机器学习与数据挖掘》可以帮助大家理解。数据挖掘受到很多学科领域的影响,其中数据库、机器学习、统计学无疑影响最大。简言之,对数据挖掘而言,数据库提供数据管理技术,机器学习和统计学提供数据分析技术。由于统计学往往醉心于理论的优美而忽视实际的效用,因此,统计学界提供的很多技术通常都要在机器学习界进一步研究,变成有效的机器学习算法之后才能再进入数据挖掘领域。从这个意义上说,统计学主要是通过机器学习来对数据挖掘发挥影响,而机器学习和数据库则是数据挖掘的两大支撑技术。从数据分析的角度来看,绝大多数数据挖掘技术都来自机器学习领域,但机器学习研究往...
阅读全文
摘要:从 SVM的那几张图可以看出来,SVM是一种典型的两类分类器,即它只回答属于正类还是负类的问题。而现实中要解决的问题,往往是多类的问题(少部分例外,例如垃圾邮件过滤,就只需要确定“是”还是“不是”垃圾邮件),比如文本分类,比如数字识别。如何由两类分类器得到多类分类器,就是一个值得研究的问题。还以文本分类为例,现成的方法有很多,其中一种一劳永逸的方法,就是真的一次性考虑所有样本,并求解一个多目标函数的优化问题,一次性得到多个分类面,就像下图这样:多个超平面把空间划分为多个区域,每个区域对应一个类别,给一篇文章,看它落在哪个区域就知道了它的分类。看起来很美对不对?只可惜这种算法还基本停留在纸面上,
阅读全文
摘要:线性分类器,只能对线性可分的样本做处理。如果提供的样本线性不可分,结果很简单,线性分类器的求解程序会无限循环,永远也解不出来。这必然使得它的适用范围大大缩小,而它的很多优点我们实在不原意放弃,怎么办呢?是否有某种方法,让线性不可分的数据变得线性可分呢?有!其思想说来也简单,来用一个二维平面中的分类问题作例子,你一看就会明白。事先声明,下面这个例子是网络早就有的,我一时找不到原作者的正确信息,在此借用,并加进了我自己的解说而已。例子是下面这张图:我们把横轴上端点a和b之间红色部分里的所有点定为正类,两边的黑色部分里的点定为负类。试问能找到一个线性函数把两类正确分开么?不能,因为二维空间里的线性函
阅读全文
浙公网安备 33010602011771号