java
ityuany
这个作者很懒,什么都没留下…
展开
-
Java正则表达式
正则表达式善于处理文本,对匹配、搜索和替换等操作都有意想不到的作用。正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率。 正则表达式应用于程序设计语言中,首次是出现在 Perl 语言,这也让 Perl 奠定了正则表达式旗手的地位。现在,它已经深入到了所有的程序设计语言中,在程序设计语言中,正则表达式可以说是标准配置了。 Java 中从 JD转载 2009-08-25 08:17:00 · 709 阅读 · 0 评论 -
JAVA JNLP组件数字签名制作步骤
为JAR签名需要两个工具:1。用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给 6个月)2。用JARSigner用此密匙为JAR签名。可以用同一个密匙来为多个JAR签名。注意:大小写,签名一致,数字签名过期为什么JAR要被签名?当用户启动一个Java Network Launching Protocol (JNLP,Java网络加载协议)文件或使用一个applet转载 2010-03-23 14:21:00 · 694 阅读 · 0 评论 -
HTTP 协议简介
一、TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容。TCP/IP协议是分层的,从底层至应用层分别为:物理层、链路层、网络层、传输层和应用层,如下图所示: 从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下: 其中,对于TCP传输协议,转载 2010-01-13 11:25:00 · 655 阅读 · 0 评论 -
jnlp(Java网络加载协议)
Java Network Launching Protocol (JNLP,java网络加载协议)。jnlp是什么?是java提供的一种让你可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序.好处就不用说了,如果你的java应用程序以jnlp 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当转载 2010-05-30 22:14:00 · 769 阅读 · 0 评论 -
JAVA虚拟机内存分配与回收机制
<br />Java把内存划分成两种:一种是栈内存,一种是堆内存。<br /> 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。<br /> 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。<br /> 堆内存用来存放由new创建的对象和数组。<br /> 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。<br /> 在堆转载 2011-01-11 23:02:00 · 503 阅读 · 0 评论 -
java代码优化编程(1)
<br /><br />可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。<br /> 在 Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,比如正确地、巧妙地运用 java.lang.String类和java.util.Vector类,它能够显着地提高程序的性能。下面我们就来具体地分析一下这转载 2011-01-11 23:03:00 · 473 阅读 · 0 评论 -
Java语言中容易被人忽视的细节
Java作为一门优秀的面向对象的程序设计语言,正在被越来越多的人使用。本文试图列出作者在实际开发中碰到的一些Java语言的容易被人忽视的细节,希望能给正在学习Java语言的人有所帮助。 1,位移运算越界怎么处理 考察下面的代码输出结果是多少? int a=5; System.out.println(a转载 2011-01-11 23:05:00 · 475 阅读 · 0 评论 -
binary search
<br />在《编程珠玑》中有详细的讨论。主要出于性能方向改进。<br /><br />二分法很简单吧 ,但要想 一次写对 也不容易吧 ,更何况他的一些扩展应用呢 ,我这里扩展了四种,<P> </P><P>基础知识 还是牢靠的好</P><P> </P> /** * Author: yiminghe * Date: 2008-10-13 * Time: 23:50:48 * Any problem ,contact yiminghe@fudan.edu.cn. */ public c转载 2011-01-11 23:06:00 · 580 阅读 · 0 评论 -
JavaAIO初探(异步网络IO)
<br /><br />按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO.如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步IO,如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO.阻塞IO和转载 2011-01-11 23:00:00 · 848 阅读 · 0 评论 -
java代码优化编程(2)
<br /><br />17、不用new关键词创建类的实例<br /> 用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。<br /> 在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用clone()方法创建新的对象实例非常简单。例如,下面是Factory模式的一个典型实现:<br /> public static转载 2011-01-11 23:04:00 · 480 阅读 · 0 评论 -
windows下的CMD 网络命令
<br /><br />Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping还能显示TTL(Time To Live存在时间)值,你可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为2转载 2010-11-20 11:53:00 · 5482 阅读 · 0 评论 -
UNICODE,GBK,UTF-8区别
简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一 个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就 是把那个值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转uncode原创 2009-12-07 13:20:00 · 454 阅读 · 0 评论 -
java位移运算
“ > ”, “> > > ”在Java中是左移、有符号右移和无符号右移运算符。位移运算符只对int值进行操作,如果不是int,编译器会报错。在Java中,一个int的长度始终是32bit,也就是4个字节。(1)左移动运算符:会将操作的数向左边移动,移动的位的个数由左操作数指定,左移后,低位会被自动补零(0)。(2)右移动运算符:反过来,把操作数向右移动,移动的位个数同样由右操作数指定。转载 2009-12-07 13:08:00 · 673 阅读 · 0 评论 -
正则表达式的g m $ ^ i
表达式加上参数g之后,表明可以进行全局匹配,注意这里“可以”的含义。我们详细叙述: 1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。例如 var regx=/user/d/; var str=“user18dsdfuser2dsfsd”; var rs=regx.exec(str);/转载 2009-09-15 19:12:00 · 1013 阅读 · 0 评论 -
45度地图深度消隐算法(深度排序法)
45度下深度消隐算法先抛开网上的那些45度深度下的消隐算法。开篇引章,在这我要先说说我的这个消隐算法的完成前的一个设想:说这个设想前我们要说说这个设想要成立的一个条件:【 Function : getOnlyDepthFunc(target:DisplayObject,source:Array):Object】target --物品列表中的某一物品。source --物品列表(转载 2009-08-25 09:01:00 · 5513 阅读 · 0 评论 -
正则表达式基础知识
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。如: JScriptVBScript匹配/^/[ /t]*$/"^/[ /t]*$"匹配一个空白行。//d{2}-/d{5}/"/转载 2009-08-25 08:15:00 · 447 阅读 · 0 评论 -
Mina2.0框架源码剖析(三)
AbstractIoAcceptor类继承自AbstractIoService基类,并实现了IoAcceptor接口,它主要的成员变量是本地绑定地址。 private final List defaultLocalAddresses = new ArrayList(); private final List unmodifiableDefaultLocalA转载 2009-06-26 12:56:00 · 859 阅读 · 0 评论 -
Mina2.0框架源码剖析(六)
这篇来看看AbstractPollingIoConnector抽象类,它用于用于实现客户端连接的轮询策略。处理逻辑基本上和上一篇文章说的AbstractPollingIoAcceptor类似,它继承自AbstractIoConnector,两个泛型参数分别是所处理的会话和客户端socket连接。底层的sockets会被不断检测,并当有任何一个socket需要被处理时就会被唤醒去处理。这个类封装了客转载 2009-06-26 13:08:00 · 749 阅读 · 0 评论 -
Mina2.0框架源码剖析(二)
上一篇介绍了几个核心的接口,这一篇主要介绍实现这些接口的抽象基类。首先是实现IoService接口的AbstractIoService类。它包含了一个Executor来处理到来的事件。每个AbstractIoService都一个AtomicInteger类型的id号,确保每个id的唯一性。 它内部的Executor可以选择是从外部传递进构造函数中,也可以在实例内部自行构造,若是后者,则它将是T转载 2009-06-26 12:53:00 · 848 阅读 · 0 评论 -
Java NIO非阻塞服务器示例
以前一直用的是“ervery thread per connection”的服务器端模式,今天试了下NIO非阻塞模式的服务器。 不过java不能实现I/O完成端口模型,这点很遗憾package com.vista.Server;import java.io.IOException;import java.net.InetSocketAddress;import java.net.转载 2009-06-26 13:07:00 · 934 阅读 · 0 评论 -
MINA框架使用总结
参考:http://xinsync.xju.edu.cn/index.php/archives/category/prglang/java/mina简单介绍:MINA框架是对java的NIO包的一个封装,简化了NIO程序开发的难度,封装了很多底层的细节,然开发者把精力集中到业务逻辑上来,最近做了一个相关的项目,为了备忘对MINA做一个总结。下面这个start方法用来初始化MINA:转载 2009-06-26 13:15:00 · 1057 阅读 · 0 评论 -
Mina2.0框架源码剖析(一)
整个框架最核心的几个包是:org.apache.mina.core.service, org.apache.mina.core.session, org.apache.mina.core.polling以及org.apache.mina.transport.socket。 这一篇先来看org.apache.mina.core.service。第一个要说的接口是IoServ转载 2009-06-26 12:42:00 · 1298 阅读 · 1 评论 -
Mina2.0框架源码剖析(四)
前面几篇介绍完了org.apache.mina.core.service这个包,现在进入org.apache.mina.core.session,这个包主要是围绕IoSession展开的,包括会话的方方面面。 IoSession接口与底层的传输层类型无关(也就是不管是TCP还是UDP),它表示通信双端的连接。它提供用户自定义属性,可以用于在过滤器和处理器之间交换用户自定义协议相关的信息。转载 2009-06-26 12:59:00 · 1363 阅读 · 0 评论 -
Mina2.0框架源码剖析(五)
前面介绍过IoSessionRecycler是负责回收不再使用的会话的接口,ExpiringSessionRecycler是其一个实现类,用于回收超时失效的会话。 private ExpiringMap sessionMap;//待处理的会话集 private ExpiringMap.Expirer mapExpirer;//负责具体的回收工作 sessionMap的键是由本地地址和远端地址共同组转载 2009-06-26 13:02:00 · 1474 阅读 · 0 评论 -
Java中byte的符号位
<br /><br />在Java中byte类型是有符号的,而Java中又没有提供无符号的byte类型,因此在其表示范围为-128-127之间。而这样对于一些I/O处理程序来说需要对考虑符号位问题,通常的做法可能是:<br /> int unsignedByte = signedByte >=0 ? signedByte : signedByte + 256;<br /> 这里我们发现,由于byte的符号位的关系,我们不得不采用长度更长的int类型来处理符号位带来的问题。因此,我们会觉得byt转载 2011-01-21 12:42:00 · 1473 阅读 · 0 评论