- 浏览: 57382 次
- 性别:
- 来自: 北京
最新评论
文章列表
每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态。
先明确一个概念:每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此 buffer的填充状态。接收缓冲区把数据缓存入内核,应用进程一直没有调用read进行读取的话,此数据会一直缓存在相应 socket的接收缓冲区内。再啰嗦一点,不管进程是否读取socket,对端发来的数据都 ...
JSON字符串转javabean,MorphDynaBean cannot be cast to...
如果碰到上面的问题,就是复杂对象没有正常转换,这个时候,你就要使用classMap.put("report_list", FlowStatistics.class); 这样的配置参数,如下代码:
对象信息:
public class FlowReport { private List<FlowStatistics> report_list; public List<FlowStatistics> getR ...
fuse的安装与使用
- 博客分类:
- Linux
步骤1 FUSE的下载与安装
1)首先上fuse官网下载最新安装包:http://sourceforge.net/projects/fuse/files/fuse-2.X/
我下载的是2.8.5版。
2)安装fuse,根据官网教程:
有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
根据2^10=1024,所以10个老鼠可以确定1000个瓶子具体哪个瓶子有毒。具体实现跟3个老鼠确定8个瓶子原理一样。000=0001=1010=2011=3100=4101=5110=6111=7一 位表示一个老鼠,0-7表示8个瓶子。也就是分别将1、3、5、7号瓶子的药混起来给老鼠1吃,2、3、6、7号瓶子的药混起来给老鼠2吃,4、5、6、 7号瓶子的药混起来给老鼠3吃,哪个老鼠死了,相应的位标 ...
描述: 在每个请求之前被发送和$.ajax()处理它们前处理,设置自定义Ajax选项或修改现有选项。
添加的版本: 1.5jQuery.ajaxPrefilter( [dataTypes ], handler(options, originalOptions, jqXHR) )
dataTypes
类型: String
一个可选的字符串,其中包含一个或多个空格分隔的数据类型
handler(options, originalOptions, jqXHR)
类型: Function()
一个处理程序程序,用于设置未来的Ajax请求的默认值。
...
Maven与Ant比较
- 博客分类:
- Java 编译
Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。Maven除了具备Ant的功能外,还增加了以下主要的功能:
1)使用Project Object Model来对软件项目管理;
2)内置了更多的隐式规则,使得构建文件更加简单;
3)内置依赖管理和Repository来实现依赖的管理和统一存储;
4)内置了软件构建的生命周期;
一 POM(Project Object Model)与项目管理
每一个Maven工程都包含一个pom.xml文件,其他存储了该工程相关的信息,从而达到一定的项目管理的功能。例如包含了工程的配置,缺陷跟踪系统信息,工程的组织,许可协议 ...
CSRF 攻击的应对之道
- 博客分类:
- Java
CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,该攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保 护之下的操作,有很大的危害性。然而,该攻击方式并不为大家所熟知,很多网站都有 CSRF 的安全漏洞。本文首先介绍 CSRF 的基本原理与其危害性,然后就目前常用的几种防御方法进行分析,比较其优劣。最后,本文将以实例展示如何在网站中防御 CSRF 的攻击,并分享一些开发过程中的最佳实践。
CSRF 背景与介绍
CSRF(Cross Site Request Forg ...
Ant 条件判断 condition
- 博客分类:
- Java 编译
转载自ant 条件判断 condition
1、istrue isfalse:断言 真 假
<project name="testCondition">
<target name="test">
<condition property="scondition">
<istrue value="true"/>
</cond ...
我们经常使用ant来编译我们的Eclipse项目,但有时ant中javac任务往往只能编译一部分代码。当代码有编译错误时,ant就停止编译,不再继续编译剩下的代码。这种方式给一些单元测试或者脚本类的工程带来了麻烦,因为这类工程中的错误往往只是一个脚本的语法问题,并不影响其他脚本。所以这类工程希望尽可能多的编译全部代码,而不是因为一个编译错误而停止。 但我们在Eclipse里面编译工程时,却没有这样的问题,Eclipse将会把所有的代码都编译一遍,最后显示所有的错误。这是因为这时编译的是Eclipse自己实现的Java编译器。我们可以利用Eclipse自带的编译器,改进我 ...
在主流的商用程序语言(java、C#,甚至包含古老的Lisp)的主流实现中,都是称通过可达性分析(Reachability Analysis)来判断对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些细节开始向下搜索,搜索所有走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链接相连(用图论的话来说,就是从GC Roots到这个对象不可达)时,则证明此对象是不可用的。如下图所示,对象Object 5、Object 6、Object 7虽然相互关联,但是他们到GC Roots是不可达的,所以 ...
安装hadoop集群的步骤:
1.配置hosts文件,关闭防火墙
2.建立hadoop运行账号
3.配置ssh免密码登陆
4.下载并解压hadoop安装包
5.配置namenode,修改site文件
6.配置hadoop-env.sh
7.配置master和slaves文件
8.向各个节点复制hadoop
9.格式化namenode
10.启动hadoop
11.用jps检查后台进程是否成功启动
Strategy模式的应用场景是: 1. 多个类的分别只是在于行为不同 2. 你需要对行为的算法做很多变动 3. 客户不知道算法要使用的数据
Strategy模式接口里声明的方法一般是公有的。
下面是示例代码:
/** * 分表策略 */public abstract class SubTableStrategy{ //动态表类型,表类型与精度相关,如果需要自定义精度,可以设置为自定义类型 public static final int TYPE_CURRENT = 20; public static final int TYPE_MINUTE = 60; ...
Template Method模式的应用场景是: 1. 你想将相同的算法放在一个类中,将算法变化的部分放在子类中实现。 2. 子类公共的算法应该放在一个公共的类中,避免代码重复。
Template Method模式可以限制所留下的虚方法只对其继承类可见,外部使用者不一定能够直接使用这些虚方法。
下面是示例代码:
public abstract class BaseDao { /** * 增,删,改方法 * @param sql * @param args sql参数 * @return * @throws ...
Java 6 JVM参数选项大全
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。
为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。
因为是初稿,如有描述错误,敬请指正。
非稳态选项使用说明
-XX:+<option> 启用option
-XX:-<option> 不启用option
-XX:<option>=<number> 设定option
逃逸分析(escape Analysis)
- 博客分类:
- Java
逃逸分析----在计算机语言编译器语言优化管理中,分析指针动态范围的方法称之为逃逸分析(通俗点讲,当一个对象的指针被多个方法或线程引用时)---我们称这个指针发生了逃逸。
[java]
public class G {
public static B b;
public void globalVariablePointerEscape(){//给全局变量赋值,发生逃逸
b=new B();
}
public B methodPointerEscape(){// ...