最近在做一个通过WIFI在手机之间传输文件的功能。需要在手机之间建立一个持久的Socket连接并利用该连接传输数据。可以一次传输一个或多个文件。
在一次传输多个文件时,遇到了一个困难:如何在接收文件时确定文件之间的边界。为了在接收端正确的拆分文件,在传输文件时需要传输每个文件的大小。
我采用了这样一种策略:首先发送每个文件的名称和大小,然后传输文件的内容。
protected v...
分类:
其他好文 时间:
2014-08-20 12:38:52
阅读次数:
353
A Simple Problem with Integers
Time Limit: 5000MS
Memory Limit: 131072K
Total Submissions: 62228
Accepted: 19058
Case Time Limit: 2000MS
Description
You have N i...
分类:
其他好文 时间:
2014-08-20 12:38:42
阅读次数:
252
在实际项目中,通常需要用到定时任务(定时作业),spring框架提供了很好的实现。
1、 下载spring-quartz插件包
这里默认当前系统中是集成了spring框架的基本功能的。去网上下载spring定时器的jar包,这里用的是quartz-all-1.8.4.jar,下载完成之后添加的项目的classPath中去。
2、编写定时任务执行模块的代码
spring使得定时任务编码十分...
分类:
编程语言 时间:
2014-08-20 12:38:32
阅读次数:
179
在main函数之外执行函数的情况...
分类:
其他好文 时间:
2014-08-20 12:38:22
阅读次数:
172
在上一篇文章Levenshtein distance算法实现中,笔者已经讲解了一般最小编辑距离的算法。该算法采用动态规划,时间复杂度是O(m*n),m,n分别为两个字符串的长度,而空间复杂度也是O(m*n),如果使用int作为矩阵元素的类型,则矩阵的占用空间大小为sizeof(int)*m*n,假如两个字符串的长度均为10000个字符,则矩阵大小为400MB,相当可观。参考一个快速、高效的Leve...
分类:
其他好文 时间:
2014-08-20 12:38:02
阅读次数:
187
一、什么是 AOP。
AOP(Aspect Orient Programming),也就是面向切面编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。
二、AOP 的作用。
常常通过 AOP 来处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等,AOP 已经成为一种非常常用的解...
分类:
编程语言 时间:
2014-08-20 12:37:52
阅读次数:
309
原文链接: Detect if a Function is Native Code with JavaScript原文日期: 2014-08-17翻译日期: 2014-08-20翻译人员: 铁锚我总是经常碰到需要检查某个function是否是原生代码的情况 —— 这是功能测试中一个很重要的内容: 函数是浏览器内置支持的,还是通过第三方类库模拟的。要检测这一点,最简单的办法当然是判断函数的 toS...
分类:
编程语言 时间:
2014-08-20 12:37:32
阅读次数:
230
import java.util.Scanner;
public class FullArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();...
分类:
其他好文 时间:
2014-08-20 12:37:22
阅读次数:
162
Exchange partition提供了一种方式,让你在表与表或分区与分区之间迁移数据,注意不是将表转换成分区或非分区的形式,而仅只是迁移表中数
据(互相迁移),由于其号称是采用了更改数据字典的方式,因此效率最高( 几乎不涉及io操作)。Exchange partition适用于所有分区格式,你可以将数据从分区表迁移到非分区表,也可以从非分区表迁移至分区表。
这就给批量更新分区表...
分类:
数据库 时间:
2014-08-20 12:37:12
阅读次数:
246
对比prefetching 和 prerendering差异,以及目前浏览器厂商支持列表...
分类:
Web程序 时间:
2014-08-20 12:37:02
阅读次数:
152
操作
Change operations:
0 a b change all characters into '0's in [a , b]
1 a b change all characters into '1's in [a , b]
2 a b change all '0's into '1's and change all '1's into '0's in [a, b]
Out...
分类:
其他好文 时间:
2014-08-20 12:36:52
阅读次数:
392
这几天有时间,琢磨一下cocos2dx。cocos2d家族其实挺庞大的,也有cocos2d-android这种可以直接用Java语言来开发的,但是cocos2d-android资料相对少一些,而且貌似都是几年前的。对比一下还是cocos2dx比较流行,有可以跨平台,而且既然要学就一起把c++学了。
这段时间已经用惯了idea,不太想换回去,但是查了查发现idea还不能做c++开发。国内倒是有家公...
分类:
移动开发 时间:
2014-08-20 12:36:42
阅读次数:
259
Problem Description
After inventing Turing Tree, 3xian always felt boring when solving problems about intervals, because Turing Tree could easily have the solution. As well, wily 3xian made lots of n...
分类:
其他好文 时间:
2014-08-20 12:36:32
阅读次数:
382
2014-08-20 10:46:22,356 INFO [coreZkRegister-1-thread-1] [org.apache.solr.cloud.ShardLeaderElectionContext] - Was waiting for replicas to come up, but they are taking too long - assuming they won't c...
分类:
其他好文 时间:
2014-08-20 12:36:22
阅读次数:
338
1.背景 最早用github的时候,我傻傻的问舍友大神,git里面的branch是干什么的,他用了很直白的解释,我至今还记得。“branch就是你可以自己建立一个分支,随便乱搞而不影响整个项目”。git分支应该是git最nb的特色吧,分支的建立和合并都十分方便。 大体的原理是这样的(图借用progit),比如说我们有一个master,还有一个分支是...
分类:
其他好文 时间:
2014-08-20 12:36:12
阅读次数:
251
前言:高精度运算,是指参与运算的数(加数,减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。
模板:包括大数加减乘除,大数与int数的乘法,模板可以不断扩充。
代码:/*
全部亲测可用
*/
const int ten[4]= {1,10,100,1000};
const int maxl = 300;
struct BigNumber
{
int d[max...
分类:
其他好文 时间:
2014-08-20 12:36:03
阅读次数:
290