`
文章列表
首先在cmd命令行中对环境变量的修改支队当前窗口有效,就是说关闭此窗口修改也就失效了   环境变量主要是用于指定运行环境的一些参数   在cmd中查看、修改、增加、删除环境变量使用同一个命令set 查看:set 查看所有环境变量,set 变量名 查看该变量 修改: set 变量名 = 值 ,这里的修改是覆盖而不是追加,要追加的话可以这样写 set 变量名 = %变量名%;new 值 删除: set 变量名 =  增加:等于修改

IoBuffer in MINA

    博客分类:
  • mina
IoBuffer是MINA框架自己的用于替代ByteBuffer的一个类,MINA不直接使用ByteBuffer的原因有两个: 1.ByteBuffer没有一些有用的getter和putter方法比如get/putString 2.ByteBuffer的长度是固定的所以很难存储变长的数据   IoBuffer提供一个新的wrap方法可以直接包裹ByteBuffer或则byte[]来得到IoBuffer对象   AutoExpand:setAutoExpand(true)之后,容量不够时IoBuffer对象会自动扩展它的limit和capacity值   AutoShrink: ...

String.hash

/** * Returns a hash code for this string. The hash code for a * {@code String} object is computed as * <blockquote><pre> * s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] * </pre></blockquote> * using {@code int} arithmetic, where {@code s[i ...
在高性能编程时,经常接触到多线程,起初总以为多线程并行执行总比单线程要快,然而实际情况是,多线程之间需要竞争IO设备,或者竞争锁资源,导致往往执行速度比不上单线程,那为什么要用多线程呢?这里稍微讲讲 用 ...
1.同步与异步 这对描述的是消息通信机制(synchronous/asynchronous communication) 同步就是在发出一个‘调用’时,在没有结果前,该‘调用‘不返回。一旦返回就是携带返回值。或者说是调用者主动等待这个结果。 异步就是调用发出后,该调用直接返回,而没有返回结果。而是在‘被调用者’有了结果后通过状态、通知来告诉调用者,或者通过回调函数来处理这个结果   2.阻塞与非阻塞 这对描述的是程序在等待调用结果时的状态 阻塞是指调用结果返回之前,当前线程挂起 非阻塞是指在不能立刻得到结果之前,该调用不会阻塞当前线程

socket

Socket是一组接口,是应用层与TCP/IP协议族通信的中间软件抽象层。    对于开发者的我们socket就是一组接口,而本质上他把复杂的TCP/IP协议族隐藏在接口后面,让socket根据指定协议组织数据。   套接字结构或者说套接字数据结构,是指底层实现TCP/IP的数据结构集,它包括: 1.该套接字所关联的本地和远程互联网地址和端口 2.一个FIFO队列(RecvQ)用于存放接收到的等待分配的数据,一个用于存放待传输数据的队列(SendQ) 3.对于TCP套接字,还包含了与TCP握手相关的额外协议状态信息   TCP协议本身是一种可信赖的字节流服务,任何写入Sock ...
OutputStream的write(int a)方法是往流里面写入一个byte,但是传入的却是int,会将int强制转换成byte在放入流中 为什么呢?   有说是为了传输127~256之间的值,明显不是,java没有无符号数所以byte最大值只能是127这没错,但是难道就不管256之后的数了么   主要原因还是为了方便开发 因为byte跟其他类型操作或者同类型位操作等会发生类型转换,直接以int作为参数再在方法里处理int转byte问题,这样方便多了  
部分outputstream的子类实现了缓存机制,为了提高效率当write()的时候不一定直接发过去,有可能先缓存起来一起发。flush()的作用就是强制性地将缓存中的数据发出去   以下是outputstream源码注释: 方法刷新此输出流并强制将所有缓冲的输出字节被写出。刷新的常规协定是,调用它是一个迹象表明,如果以前写的任何字节都被缓冲的输出流的实现,如字节应立即写入到它们的目的地。   此流的预期目标是由底层的操作系统,例如一个文件,然后刷新流保证提供了一个抽象只是先前写入的字节流传递给操作系统进行写入;它并不能保证他们实际上写的是一个物理设备,如磁盘驱动器。

BER编码规则

BER编码 一.基本规则 BER(BasicEncoding Rules)是ASN.1中最早定义的编码规则,其他编码规则是在BER的基础上添加新的规则构成。 1.BER传输语法的格式一直是TLV三元组<Type,Length, Value>.   T是Tag,L

snmp学习总结--转

参见孤傲苍狼的snmp学习总结:http://www.cnblogs.com/xdp-gacl/tag/Snmp%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/
System.getProperty()这个函数可以获取JVM和操作系统的一些参数,以供程序使用 如: System.getProperty("java.vm.version");//java虚拟机版本 System.getProperty("java.vendor.url"); //java官方网站 System.getProperty("java.vm.nam"); //java虚拟机名称 System.getProperty("user.country"); //国家或地区 Syst ...
转载自:http://dxwang.blog.51cto.com/384651/85424   前两天项目要求一个附加功能,远程监视服务器的运行状况,要定期监视指定端口,指定业务,还包括服务器的磁盘空间,内存,CPU使用率等等。这头俩事还好说,ping和telnet也就搞定了,实在不行就开个socket连一下,关键后边的事有点抓瞎,要是在本地,可以通过API得到系统信息,分析磁盘空间,内存啥的,可是远程得到别的机子的信息,那不成木马了么。到网上一查,原来有SNMP可以帮着做这件事情。于是就了解了一下,发现这个东西挺有意思。简单地做个笔记。 SNMP简单网络管理协议,是一个用来进行网络管 ...
eclipse上安装ans.1插件可以在线安装,通过http://www.asnlab.org/updates,不过在国内可能需要翻_墙,反正我在线安装不了。也可以访问地址https://www.asnlab.cn/downloads.html#update_site下载插件,先找ASN.1 Java编译器下载,还有Java SE运行库下载等会编译时用得着。在eclipse上本地安装,接着在https://www.asnlab.cn/asnjc/gettingstarted.html申请一个试用license(也可以买一个6000多只能一个人用。),会把license发到你的邮箱,然后wind ...
help-->Install new software-->add-->location  在本地选择安装包按enter键 在name下看到插件列表勾选后 next   help-->install new software-->already installed 左键点选uninstall

巴克斯范式

巴克斯范式(BNF:Bakus-Naur Form)是描述给定语言语法的一种形式化符号表示 现在几乎每一位编程语言书籍的作者都用它来定义编程语言的语法规则 在双引号中的字("word")代表着这些字符本身。而double_quote用来代表双引号。 在双引号外的字(有可能有下划线)代表着语法部分。 尖括号( < > )内包含的为必选项。 方括号( [ ] )内包含的为可选项。 大括号( { } )内包含的为可重复0至无数次的项。 竖线( | )表示在其左右两边任选一项,相当于"OR"的意思。 ::= 是“被定义为”的意思。 ...
Global site tag (gtag.js) - Google Analytics