自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

TCP/IP模型背后的内涵(二)

1.TCP/IP模型与OSI模型TCP/IP模型从一开始就是从实践走出来的,因此它能更好地迎合实际的应用而不单单停留在纸面上。从TCP/IP的发展史来看,它将IP从TCP独立出来的一部分原因是旨在将复杂度压缩在最少的位置,即主机中。否则中间节点作为传输控制的实现者,太复杂了。最终它仅仅分出了两个层,即TCP over IP。 OSI是在TCP/IP的初稿设计出来以后被提出的。它的目标旨在解决不同...

2013-04-29 22:20:00 131

TCP/IP模型背后的内涵(一)

20世纪最激动人心的东西太多了,我最喜欢的相对论算一个,然而在工程界,我觉得最伟大的发明就是TCP/IP,没有之一!它从单台的计算机互联,到承载着如今爆炸式的互联网以及今后的物联网过程中,一直都很优秀,并且最激动人心的是,它几乎还是保持着它刚出生的样子,如此的稳定!不变性本身就是美,就是永恒!再次读到大师的《The design philosophy of the DARPA internet p...

2013-04-29 22:17:00 308

Lua基础 coroutine —— Lua的多线程编程

Lua的coroutine 跟thread 的概念比较相似,但是也不完全相同。一个multi-thread的程序,可以同时有多个thread 在运行,但是一个multi-coroutines的程序,同一时间只能有一个coroutine 在运行,而且当前正在运行的coroutine 只有在被显式地要求挂起时,才会挂起。Lua的coroutine 是一个强大的概念,尽管它的几个主要应用都比较复杂。...

2013-04-29 14:22:00 2833

Lua基础 安装LuaSocket

这里为《Lua基础 coroutine —— Lua的多线程编程》做一下准备工作,因为用到了socket库,这里就说明一下怎么在fedora上安装luasocket,以防有的朋友的开发环境跟博主的一样,默认没有该库,又得自己到处去查怎么安装。note:该库从文档看,好像只支持lua5.1,博主没有尝试过5.2,有兴趣的可以试一下是否可以。首先去这个网站http://w3.impa....

2013-04-29 14:19:00 760

JNI本地方法实例

C/C++编译器除了可以创建机器代码可执行文件以外,也可以创建共享库文件。接下来,我将使用Java的JNI来写一个Java本地代码(java native interface). 以windows平台为例,介绍如何创建本地方法。 使用windows平台的编译器,我可以是用的工具:visual studio command prompt工具cl.exe 1. 编写Java代码并编译成...

2013-04-29 09:20:00 100

解析ThreadPoolExecutor

ThreadPoolExecutor能够用于创建一个线程池,它提供了一些有用的方法: 实例化一个线程池,实践中用的比较多是以下构造方法: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

2013-04-28 11:44:00 69

深度理解Thread Pool, Executor, Callable/Future

在JDK1.5版,Java标准包中就包含了对线程池的支持,提供了包java.lang.concurrent. 1. ThreadPool 线程池是一个线程管理的集合,能够有效执行任务。当大量任务使用线程池执行时,由于线程循环的执行,整个性能得到提高,也减少了每个任务调用上的花费。实现线程池,你能够运用ExecutorService的实现类,比如ThreadPoolExe...

2013-04-27 23:04:00 169

Extjs实现年月日时分秒格式的时间选择器

Extjs 实现年月日时分秒的时间选择器,实现方式也是继承现有类,进一步封装一下自己的功能。 js代码如下:/*-----------'Y-m-d H:m:s' format section--------------*/Ext.ns('Ext.ux.form');Ext.ux.form.TimePickerField = function(config){ Ext....

2013-04-27 14:31:00 654

extjs实现年月格式的日期选择(DatePicker)

Extjs 的类库中只有年月日的DatePicker,那么如何实现年月的选择呢? 我这里使用Extjs 的插件(plugin)来灵活实现YM的DatePicker,具体的代码如下:/*-------------only 'Y-m' format section'----------------------*/Ext.ux.MonthPickerPlugin = functi...

2013-04-27 11:53:00 745

深入解析ThreadLocal

1. ThreadLocal介绍 在Java中,ThreadLocal是摆脱不易变类实现线程安全的另一种方式。如果你用Java写过多线程或是并发的代码,你必定熟悉synchronization 或是Locking极大影响系统的可扩展性的高昂代价,然而你除了使用synchronization为多线程中分享对象别无选择。ThreadLocal为Java提供了另一种方式完成线程安全,它没有解决同步...

2013-04-26 22:39:00 89

Javascript 类继承机制

Javascript本身不是面向对象的语言,但是,使用基于Prototype使得javascript具备面向对象的形。以Prototype对象来装饰存在的object,被称为“class-less, prototype-oriented, or instance-based programming”编程。 请看下面的一个简单的例子:var BaseCar = func...

2013-04-24 13:14:00 107

最全面Maven安装以及与Eclipse集成

http://img.my.csdn.net/uploads/201304/22/1366640693_3383.jpg 想学习更多关于Maven的知识,请下载我整理的maven教材。

2013-04-22 22:32:00 84

安装Jar包到本地仓库(local repository)

将本地jar包安装到本地jar仓库中,一条简单的命令就可以实现。 命令格式: mvn install:install-file -Dfile={jar路径} -DgroupId={groupId 值} -DartifactId={artifactId值}-Dversion={版本号}-Dpackaging=jar-DlocalRepositoryPath={m2home pa...

2013-04-22 21:45:00 572

物联网的遐想和展望

移动IP,LISP以及SDN移动IP是复杂的,各厂商和标准化组织已经在该领域奋战了很多年,目前很多的思想都是基于移动蜂窝的,也就是射频手机使用的那一套,然而面对物联网的来袭,该体系就太复杂而力不从心了,要知道,地球上每一粒沙子都可能会拥有一个IP地址,如果还是移动蜂窝那一套,岂不是到处是电磁辐射了?即使人们全都装备了孕妇装,频繁的移动,通信,接入,认证等也会让蜂窝网络不堪重负。 归属代理和...

2013-04-22 18:50:00 273

apache 配置共享目录

刚刚装了apache,就是简单的作为一个httpserver服务器使用,安装过程不需要多说,只是要记录一下如何更改默认的共享目录在安装目录下的文件conf/httpd.conf中,找到下面这几行## DocumentRoot: The directory out of which you will serve your# documents. By default, all r...

2013-04-21 17:38:00 779

我眼中的OpenFlow

我眼中的OpenFlow可能不是那么全面,只有3点,然而它们确实是OpenFlow最吸引我的地方1.网络也可以虚拟化了服务器可以虚拟化,虽然同驻足在一台硬件设备内,然而彼此之间却可以不受影响得运行,一台虚拟化机器崩溃了不会影响别的,一台虚拟机中了病毒其它的可以不必担心,这确实是一大亮点,可是在SDN出现以前,网络就一直被排除在虚拟化技术以外,虽然所有的链路,虚通道等可以共享一台设备而存在,然而却做...

2013-04-20 16:28:00 124

SDN-软件网络如何实现颠覆

网络技术和软件技术的鸿沟曾经越来越深,如今它们终于要走到一起了,软件是胜出者!1.网络技术一直掌握在巨头手中教科书上,我们可以知道很多关于TCP/IP的知识,以及协议处理的细节,然而除了可以借助Linux这种开源的系统自带的协议栈实现之外,你很难深窥网络技术的内幕,一直以来,网络技术被Cisco这样的企业垄断着,而且它们的技术是和它们某个型号产品深度关联的,离开了那款产品,也就离开了那门技术,于是...

2013-04-20 15:49:00 973

Lua基础 编译、运行、错误处理

尽管Lua是一门解析型的语言,但是在运行前也会被编译成某个中间状态。一门解析型的语言需要编译,这听起来有点不合常理。但是,实际上,解析型语言的与众不同,不是说它不需要编译,而是说它把编译作为其运行时的一部分,因此,它就可以执行各种来自外部的代码(例如网上的)。也许因为Lua中存在的如dofile 这样的函数,才使Lua可以被称为一门解析型语言。1. 编译之前我们介绍了dofile 来执...

2013-04-19 00:23:00 376

理解javascript的函数prototype

1. 在Javascript中,函数protoytpes是一个很方便的方式来为一个函数的实例快速地绑定属性。它有多种用途,其中,最主要的目的是为了实现OO(Object-Oriented programming). 所有的function都有prototype属性,默认情况下,它包含空的对象。prototype只有在functions被实例化后才能发挥出它的作用。请记住:Functio...

2013-04-18 13:39:00 101

static inline与内部、外部链接对象

一个由inline引起的讨论以下函数定义有问题么://function.hVoid hello(){ Printf(“hello,world”);}一般人看起来肯定觉得不对,因为我们基本上只把函数定义放在cpp里面,然后定义一个.h声明一下,在使用的地方include 一下这个.h就Ok了。可是为什么要这样做呢?换句话说,如果我们按上面的方法定义hello(在一个....

2013-04-16 18:56:00 130

static inline与内部、外部链接对象

一个由inline引起的讨论以下函数定义有问题么://function.hVoid hello(){ Printf(“hello,world”);}一般人看起来肯定觉得不对,因为我们基本上只把函数定义放在cpp里面,然后定义一个.h声明一下,在使用的地方include 一下这个.h就Ok了。可是为什么要这样做呢?换句话说,如果我们按上面的方法定义hello(在一个....

2013-04-16 18:56:00 89

网络技术与思想漫谈

单端端口聚合与环路端口聚和旨在以太网链路上做负载或者提供冗余备份,它和另一种方案有着根本的冲突,因为它不但可以做冗余,还可以做负载,然而传统以太网上根本就不可以做多路径负载均衡!以上说的另一种方案就是物理环路+STP的方案。因此在以太网部署端口聚合一定要注意,它最好是封闭的,也就是说,如果你在一台设备上启用了端口聚合,那么对端设备也要同样的聚合,确保不发生环路,检测手段有mac flappin...

2013-04-16 18:31:00 146

使用ip_conntrack实现UDP服务的多进程处理

UDP是无连接的,一个UDP包发出之后,对端接收到,事情就完了,即使对端没有接收到,事情也随之结束,两端都不会保存任何信息(UDP connect函数仅仅绑定了一个元组,不会对协议通信有影响)。因此无法像TCP那样实现accept。而TCP服务的多处理机制基本都是基于accept的,TCP的侦听socket只负责接受连接,进而调度给一个进程或者线程,accept/fork机制已经成了多处理的必杀技...

2013-04-13 14:03:00 508

Linux中gmtime和localtime的区别

前段时间用到,写了段小测试代码,个人觉得足够清楚的表明了二者的区别了,还是不明白的话,就看看APUE里面的章节吧。#include <time.h>#include <stdio.h>int main(int argc, char **argv){ time_t tmpcal_ptr = {0}; struct tm *tmp_ptr = NU...

2013-04-12 15:19:00 324

Solr 优化主关键字索引

大多在Solr 中的存储的数据有某种类型的主关键字。主关键字作为任何document 的唯一存储值,也是作为某个document唯一性的标识字段,正是因为主关键字在大多数情况下是独一无二的值。尽管如此,这个字段检索到的速度并不是与数据库中的关键字索引一样快的。希望更快,怎么办? Solr 4.x打给我们惊喜。 在字段区域(schema.xml配置中),有如下设置:<field...

2013-04-11 23:44:00 98

Jenkins 安装与配置

Jenkins 安装与配置doc版本下载 在基于Fedora的分类,比如Red Hat Enterprise Linux (RHEL), CentOS 和Scientific Linux, 你能够运用yum来安装Jenkins.1 Linux下安装Jenkins 添加repo到本机:·sud...

2013-04-11 21:51:00 59

Solr查询参数简介

查询参数简介(官方介绍http://wiki.apache.org/solr/CommonQueryParameters):• q (query) - 参数的主查询,默认是所有的“*:*”• fl (Field List) - 指定返回那些字段内容,用逗号或空格分隔多个。例如:“fl=id,name”意味着值列出id, name 字段• ...

2013-04-10 23:41:00 128

JVM的堆与栈

熟悉JVM 的堆与栈,以下几点需要知道。当一个方法被调用时,在栈的顶部一个框(frame)将被创建。一旦一个方法执行完成,控制流返回到这个调用方法,它对应栈框将被冲刷,即栈释放。本地变量是在栈中被创建。实例变量是在堆中创建的,它们作为对象的一部分。引用变量是在栈中创建的。另外,现在比较流行几个加载测试工具:Apache JMeter - See ...

2013-04-10 22:35:00 69

SolrJ 操作HttpSolrServer, ConcurrentUpdateSolrServer和CloudSolrServer

HttpSolrServer 使用了Apache Commons HTTP客户端来连接Solr. 注意在Solr 4.x中,CommonsHttpSolrServer已经改变为HttpSolrServer以及StreamingUpdateSolrServer已经改变为ConcurrentUpdateSolrServer。ConcurrentUpdateSolrServer更适合update...

2013-04-09 23:09:00 103

Lua基础 generic for

下面写一下怎么给genericfor写迭代器。1. 迭代器和闭包在Lua中,迭代器用function表示,每次调用该function,都会返回集合中的next元素。每个迭代器都要在连续的调用之间保存一些state,这样才能知道进行到哪一步,下一步该从哪开始处理。在Lua中,闭包可以处理这个问题。闭包结构包含两个function:一个是闭包本身,另一个是factory,用来创建闭...

2013-04-09 20:45:00 158

Sorl 架构(上)

Solr简介Solr是一个流行、快速的开源企业搜索平台,它基于Apache的Lucene项目作为底层支撑。Solr支持像REST一样的HTTP/XML 和 JSON API,支持对XML,JSON,CSV,以及基于HTTP的二进制文件建立索引文件。同样,通过HTTP协议GET 操作获得XML,JSON, CSV 或是二进制的结果。Solr突出特性如下:·高级全文搜索能力·优化了高容...

2013-04-09 12:43:00 111

优化Solr schemalXML 设置

Solr 框架中域配置文件schema.xml定义了文档(document)所包含的字段(field)。当对document建立索引或者查询时,这些字段将会被处理。因此,这个文件中的字段设置好不好,直接影响到Solr的整体性能。 优化Solr性能,schemaXML配置需要注意的几个要点:store="false" : 当仅仅需要基于这个字段进行检索,而不需要返回原始的值时...

2013-04-09 10:44:00 101

以太网技术发展杂感

以太网技术一直以来都是被动学习的,现如今,需要它主动一些了。所谓被动,取决于一系列的经验值,比如STP阶段停留时间为15秒,因为按照以太网的规模以及发送速率,30秒内所有的交换机得到的信息会处于一个比较一致的状态,如果按照主动的原则,不必等那么久,问一下不就可以了么?传统的以太网发展经历了几个阶段:1.CSMA/CD总线型半双工阶段:总线型拓扑。2.HUB半双工阶段:此时拓扑变了,变成了星型拓扑。...

2013-04-08 18:19:00 142

iptables之xtables_addons浅度解析

xtables_addons 1.46的几个特性是比较有意思,本文不会列出所有的特性,仅仅针对少数几个来分析。也不会给出太具体的配置,因为这些配置都可以从manual上得到或者被google到,以下所写的都是自己的一些想法。SYSRQ target:机器死了,特别是置于机架上的网关死了,搬来一个显示器和USB键盘赶紧插上,看看发生了什么,悲剧的是,什么也没有显示。毕竟此时可能已经kernel pa...

2013-04-08 18:17:00 256

物以稀为贵-网管狂妄的原因

搞IT的都是奇葩!真话。程序员觉得自己体验的是高科技最前端,然而网管更是狂妄,特别是玩过Cisco的。难道只是因为他们敲的命令没人能看懂?然而真正的CCIE却是那样的踏实,他们反而并不狂妄! 我一直都是站在外面看世界的人,网吧的网管我也干过,当时我发现网吧的网管都很狂妄,一幅的瑟的样子,不可一世,其实在网吧在座的有很大一部分是读计算机科学专业,也有相当大的部分是在读研究生...而这些网管,除了我一...

2013-04-06 10:51:00 101

Linux内核的ftrace调试接口

为了抓住一个自定义的内核函数是如何被执行的,需要一定的调试手段,其实就需要一种跟踪手段就可以了,理论上不太复杂,可是Linux内核的调试接口太多了,始终找不到一个方便的,直到遇到了ftrace,它简单的使用文件系统作为接口,不需要安装任何用户态程序,和杂乱的发行版毫无关系,这正合我意,相比SystemTap等复杂的前置设置等调试手段,简直棒极了。因为我很讨厌为了做一件理论上很简单的事而去花去大量的...

2013-04-06 09:59:00 319 1

Solr与数据库结合实现全文检索

一下给出了一个简单的实例展示了如何将Solr与数据库结合实现全文检索。生产环境下,会有很大差别,这里的配置仅作为调试或是开发所用。 1. 安装Java JDK 和Tomcat 第一步骤就是安装jdk 和Server 服务器Tomcat,这个也挺简单,这里就省略了。 2. 配置Solr Core 将Solr自带的一个例子复制一份,我这里演示的版本是So...

2013-04-05 21:31:00 305

深入解析Solr 4.2.0 solrconfig.xml 配置(下)

接着上次的图解,请看剩余配置解说:

2013-04-05 15:49:00 77

深入解析Solr 4.2.0 solrconfig.xml 配置(上)

花了一点时间,解析了Solr 4.2.0 solrconfig.xml 文件的具体配置信息。分析配置如下列图表所示:

2013-04-05 15:32:00 74

Java HotSpot VM命名参数选项详解

Java Hotspot VM 可选参数选项可以划分为四类:Ø 行为选项改变了基本VM的行为。Ø G1垃圾收集器选项(GarbageFirst (G1) Garbage Collection Options)Ø 性能调优选项就一个个能够用来调节VM性能的旋钮Ø 调试选项一般跟踪、打印或是输出VM信息。在跟踪程序的处理流程非常有用,尤其对于不知道程序有问题而不知道问题到底处在哪里...

2013-04-02 23:34:00 578

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除