暂无个人介绍
final 类似 c 的 const 。1.用于字段 无论作用于基本类型还是引用类型,效果都是,不允许对字段再次赋值。 java没有提供约束对象不变的机制。 final修饰变量,并不意味着变量的值要在编译期间确定。见下面代码。class A{ private static Random rand=new Random(); private final int i1=rand.ne
Description 求连通分量区域坐标集合 Input 多组输入,每组形式见下。 n m startPointX startPointY 代表n行m列的地图(从一计数) 查找连通分量的起始点为(startPointX ,startPointY)(从0计数) |------->x坐标 | | | 向下为y坐标 然后为n行m列的字符。'a'
1.类的访问权限 public 任何地方都可以访问该类。无任何限定符 同一包内可以访问。 2.成员方法与字段的访问权限 private 仅成员函数可以访问。protected 该类的子类的成员函数也可以访问。public 可以通过对象直接访问。无任何限定符 同一包内,可以通过对象直接访问。 3.代码 4.类的实例化顺序 初始化一个java对象,顺序
1.字段与静态方法 子类的字段与静态方法可以与父类同名,但上面不能够有@Override注解,也就是说它们不能被重写。 在同名的情况下,起到了“隐藏”的效果。 例如: Employee man = new Manager(); man.test(); 实例化的这个对象中,声明的man变量是Employee类的,变量名存在栈中,而内存堆中为对象申请的空间却是按照Manager类来的,
find find():在单迭代器序列中找出某值第一次出现的位置。 find_if():在单迭代器序列中找出符合某一元谓词的第一个元素的位置。 若想查找自定义类,必须重载类的==运算符! count count():在序列中统计某个元素出现的次数。 count_if():在序列中统计与某个判断谓词匹配的元素个数。 用法见上面代码。 equal 两个容器内每个元
对信息检索的评价——准确率和召回率。 相关文档:能够较好匹配用户搜索关键字的文档。 准确率,precision。检索出来的文档中,相关文档所占比例。 召回率,recall。全部相关文档中,被检索出来的文档的比例。 垂直搜索,vertical search。针对某一主题(行业、应用)的特殊搜索。 站内搜索:搜索被限定在一个给定网站内。 评价:用户与操作引擎交互的日志是很有价值
函数传参 java传参,类似c的传指针 1.修改形参指向的对象,实际上就修改了实参所指向的对象。 2.形参若指向新的对象不影响实参原来的指向。 可变参数 可变参数,如 void fun(ClassName ... parameterName){}这种形式。 适用于参数个数不确定,类型确定的情况。在形参列表中含有可变参数的函数体内,java把可变参数当做数组处理。 注意:可
一个java源文件中至多有一个public类,该类的名称必须与源文件名称相同。也可以没有public类,文件名与任意一个类名一致即可。 包 类似于cpp的namespace,是对类的再封装,防止命名冲突。 java包的命名规则全部使用小写字母。 定义包: package likeyichu.com; 导入包中的类: import likeyichu.com.cc; //(必须
变量声明 终极基类。java中所有的类最终都继承自单一的基类——Object。 向上转型:子类转换为基类。向下转型与之相反。注意:无论怎么转,都是声明类型互转,运行时类型是自始至终不会变的! String str; //只是创建引用,并没有创建对象。 变量存放 寄存器 c++可以向编译器建议变量存放在寄存器中。而java不能。 栈(一些书称为“堆栈”) 位于内存中。
在 Haskell 中是用空格来将函数名与参数分隔的 常用库函数 min 接受两个可比较大小的参数,并返回较小的那个。 max 同上,返回值大的那个。 succ 返回数的后继,即+1。 函数调用拥有最高的优先顺序,如下两句是等效的:答案都是16. Prelude>succ 9 +max 5 4 +1 Prelude>(succ 9) +(max 5 4)
问:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url。 答:单个文件的大小达到5G*64=320G,所以要拆成小的部分。 1.遍历文件a,对每一个url计算key=hash(url)%1000。相同key的url存放在一个文件里。这样我们得到了1000个文件(a0、a1、...、a999)。 2.对b采用同样的方法。得到
Hadoop的发音是 [‘hædu:p]。 Apache的发音是 [æpæʃ]。 Hadoop是Apache基金会的一个开源项目,用于大量数据的分布式处理。核心为HDFS与MapReduce。 1.HDFS HDFS,Hadoop Distributed File System,Hadoop分布式文件系统。 2.map-reduce思想 mapper将大任务化为小任务,分布
下图所示操作称为对结点Q的右旋,对结点P的左旋。二者互为逆操作。 简单讲,右旋——自己变为左孩子的右孩子;左旋——自己变为右孩子的左孩子。
设计模式是一套理论与经验,它可以提高代码的可重用性、可维护性。比如需求经常变,实现模块之间的松耦合就可以方便维护。 依赖倒置原则 依赖倒置原则,简单说就是面向接口编程。可以减少类间的耦合性,有利于并行开发。 设想这样一个场景:甲负责汽车类的建造,乙负责司机类的建造。在甲没有完成的情况下,乙是不能完全地编写代码的,缺少汽车类,编译器根本就不会让你通过! 两个类之间有依赖关系,
Wait函数 pid_t wait(int *status);//函数原型 头文件<sys/types.h>、<sys/wait.h> 进程一旦调用了wait,就立即阻塞自己,由wait自动分析当前进程的某个子进程是否已经退出,如果它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到,wait就会一直阻塞在
memset void *memset(void *s, int ch, size_t n); //函数原型 函数解释:将s中前n个字节 (typedef unsigned int size_t ),逐个字节地用 ch 替换,最后返回 s 。 作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。 头文件:<cmemory>或<
Tarits,特性的复数。c++萃取技术就是指它。实现方式是模板特化。 STL中涉及到iterator的地方经常能用到它。 gcc的STL与VS的STL略有差别。 vs中下列代码,把鼠标放在iterator上,按F12,找到别名定义,真实类型见注释 #include<vector> using namespace std; int main(){ ve
haskell,一种函数编程语言,既是解释型语言又是编译型语言。 相对Haskell来说,传统的Basic,Pascal,C++,C#,Java,Python等都是命令(imperative)编程语言, 程序语句有一定的执行次序. 函数(functional)编程语言则给出执行的内容, 关注于更高层次的"做什么"而不是"怎么做", 这就是二者最明显的一个区别。函数编程语言的语法功能非
DRM,Digital Rights Management,数字版权管理。 amazon购买的图书会下发到你的kindle设备,电子书格式通常为.azw3,里面包含了DRM,只能在你的设备上使用。所以设备连USB把文件取出来给别人是没用的。 epubee这个软件可用来去除DRM,方便你自由分发。 以Windows Desk环境为例,见下图:
客户端负责场景渲染、物理引擎还有人工智能(模拟玩家)等;服务端负责数据的持久化、网络通信、负载均衡、整体容错性等。都对C++、数据结构、算法、数学、代码优化有较高要求。 uml建模软件,这个东西可以极大的提升你软件的品质。 IOCP,I/O Completion Port,I/O完成端口。IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。与使用sel
标准队列是一种先进先出的线性结构。 设想一个用数组实现的容量为2的队列,入队2次后出队1次,再入队一次。传统队列会认为rear已指向末尾,入队失败。而循环队列会将新元素放在arr[0]的位置上,允许rear<front。队空和队满时头尾指针均相等,因此通过元素个数判断更合理。
模板类 模板类也可以继承自模板类。而java不允许这么做。
Windows: sendmessage、postmessage区别与联系 鼠标双击依次对应哪几个事件 线程安全 c++: union map\vector 删除元素后iterator的失效问题 int*a[4] int(*a)[4] 辨析 参见 http://blog.csdn.net/chuchus/article/details/39203441 写代码:不用递归方法
用途及说明见: http://blogread.cn/it/article/3947 c#
excel中的回车(换行):按住Alt键再按回车。 制作斜线表头的单元格:选中单元格|右击|设置单元格格式|选择斜线样式
逆波兰式(Reverse Polish notation,RPN,或逆波兰记法),也叫后缀表达式(将运算符写在操作数之后) 将一个普通的中序表达式转换为逆波兰表达式的一般算法是: 首先需要分配2个栈,一个作为临时存储运算符的栈S1(含一个结束符号),一个作为输入逆波兰式的栈S2(空栈),S1栈可先放入优先级最低的运算符#,注意,中缀式应以此最低优先级的运算符结束。可指定其他字符,不一定
Linux内存的延迟分配:就是在你未使用内存(均指物理内存)的时候,操作系统是不会真正的分配物理内存的。比如: int *p = (int*)malloc(1024 * 1024)如果接下来你没有访问p所指向的内存,那么你会看到进程占用的内存是不是包括这1M空间的。 因此不能通过检测malloc的指针是否为NULL,来判定系统能否支持申请的内存大小(即空闲内存大于申请内存)。 查看
什么是数据冗余? 如果数据库中存在冗余数据,比如两张表中都存储了用户的地址,在用户的地址发生改变时,如果只更新了一张表中的数据,那么这两张表中就有了不一致的数据。
参见MSDN http://msdn.microsoft.com/zh-cn/library/bb383977.aspx
平均复杂度为O(n*log n)的: 归并排序、堆排序、快速排序。 快速排序的最差情况为O(n*n); 其他常见的为O(n*n); 排序效率与待排数组初始状况不敏感的有:归并排序、堆排序、选择排序。 稳定的排序:两个值相等的元素a与b,若排序前后a、b的相对位置不变,称为稳定的排序。 不稳定的排序:由上可得。 希尔排序 算法先将要排序的一组数按某个增量d分成若干组,每组
有两个相等长度的正整数序列A和B,都是有序的(递增排序),同时一个序列中没有重复元素,现在需要求这两个序列的交集序列C,同时打印输出。
fork()系统调用是Unix下以自身进程创建子进程的系统调用,一次调用,两次返回,如果返回是0,则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid)。 还有一个很重要的东西是,在fork()的调用处,整个父进程空间会原模原样地复制到子进程中,包括指令,变量值,程序调用栈,环境变量,缓冲区,等等。 //run in linux 程序会输出多少个'-'? int
本文转载自 http://www.cnblogs.com/shanyou/p/3348347.html ServiceStack是一个开源的、支持.NET与Mono平台的REST Web Services框架。同类产品微软自有的是WCF。 Web服务通常有远程过程调用(RPC)和RESTful (HTTP)两类,现在占据主导地位的Web服务是RESTful (HTTP)。
c++内存分为代码、堆、栈、常量和全局//静态存储区。 不同变量的存储位置: 全局/静态存储区——全局变量,static变量; 栈——局部变量、函数调用时的参数。栈的容量一般比较有限; 堆——new运算符分配,需由delete释放;若分配失败,new返回NULL,记得安全性检查。 常量存储区——这是一块比较特殊的存储区,里面存放的是常量。new/delete 与 malloc/f
Long Long Message Time Limit: 4000MS Memory Limit: 131072K Total Submissions: 20935 Accepted: 8622 Case Time Limit: 1000MS Description The little cat is majoring in physics in the capi
int *a[4]与int(*a)[4]区别? 答:前者,a是一个数组,大小为4,存放的是int*类型元素。 后者,a是一个指针,指向int(*)[4]的二维数组。 X86_64环境下: 调试时监视变量非常直观:
在12小时之内时针分针有几次重合? 答:0:00:00 一次,[1:00:00,2:00:00)一次,[2:00:00,3:00:00)一次,...,[10:00:00,11:00:00)一次。共11次。在一天24小时之内时针分针秒针有几次重合? 答:0:00:00 12:00:00 这两次 想算的话,时针速度30/3600度每秒,分针1/10度,秒针6度。先计算时针与分针重合的时
堆,heap,是二叉树的一种。小根堆有这样的性质——任意一个结点的值比它的左右孩子都要小。 排序思想将待排元素看作是完全二叉树,物理上用一维数组存储。
单项式,monomial。多项式,polynomial。具体概念见《数学基础》,http://blog.csdn.net/chuchus/article/details/39136943 。 多项式时间,Polynomial time。在 计算复杂度理论 中,指的是一个问题的计算时间m(n)不大于 问题规模n的多项式倍数。 P问题,Polynomial time problem,多项式
单项式/多项式 单项式,monomial。由数与字母的积组成的代数式叫做单项式。如2a*a。单项式中的数字因数叫做这个单项式的系数(Coefficient),一个单项式中,所有字母的指数的和叫做这个单项式的次数。 多项式,polynomial。由若干个单项式的和组成的代数式叫做多项式,这些单项式中的最高次数,就是这个多项式的次数。如ax*x+bx+c。
JavaScript 对大小写是敏感的。js中的注释同c语言相同。 变量是弱类型的,与 Java 和 C 不同,定义变量时只用 var 运算符。在使用变量前可以不声明。如var sTest = "hello ";sTest2 = sTest + "world"; 每条语句结尾的分号可有可无。1.数字 允许使用科学计数法,var fNum = 5.618e7; 8进制数以0开头,va
JavaScript,用于浏览器的解释语言,写网页都要用它。 输出文本,document.write("<h1>This is a heading</h1>"); 脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。 如需在 HTML 页面中插入 JavaScript,请使用 <script
CSS,cascading style sheet,级联样式表,用于指定网页外观。 外部样式表 #mystyle.css Selector{ property1:value1; property2:value2; } HTML页面中的引用语句为 <head><link type="text/css" rel="stylesheet" href="mystyl
HTML结构 <!DOCTYPE html>必须位于最开始,告诉浏览器页面类型。<html> 与 </html> 之间的文本描述网页<head> 与 </head> 标签用于定义文档的头部。 下面这些标签可用在 head 部分:<base>, <link>, <meta>, <scri
函数写在html文件中 函数写在js文件中 函数的声明与调用 有两种定义函数的形式,见代码: //此种写法,调用只能在它之后 var fun=function(arg1){ } //此种写法,调用可以在它之前 function fun(arg1){ } 常用函数 confirm(text) 会弹出对话框。如果用户点击确定按钮,则 confi
枚举集合所有子集。包括空集与该集合本身,共2的n次方个。 用了位运算,归根到底是二进制好神奇!
Github是一个源代码托管网站,功能强大,有桌面客户端,允许他人方便地为开源项目做修改。非常知名与流行。 注册、下载客户端 略。 创建仓库(项目) 免费用户只能创建Public权限。 图1 创建repository 网站建议每个项目要附有ReadMe文件、开源许可声明等。 图2: 命令行创建repository 创建后就可以添加文件了。 每个项目可以有多个