- 浏览: 75403 次
- 性别:
- 来自: 苏州
最新评论
-
name327:
LZ文章看似杂乱,但是点点说到NIO要点,需要经过大量的实验才 ...
java nio在多线程环境下的恶梦之终结 -
沙舟狼客:
你好楼主,有空帮忙分析一下mina2.0.7的异常:<p ...
java nio在多线程环境下的恶梦之终结 -
Copperfield:
A non-static nested class (or ' ...
你能通过下面的3道java面试题吗? -
ay8yt:
java端的代码怎么没有啊,tomcat网站里找不到啊
浏览器[IE,Firefox]不支持comet技术-AJAX不能支持服务端推消息 -
t8500071:
<div class="quote_title ...
java nio在多线程环境下的恶梦之终结
文章列表
Java正则表达式
- 博客分类:
- Java Techs
表达式意义:1.字符x 字符 x。例如a表示字符a\\ 反斜线字符。在书写时要写为\\\\。(注意:因为java在第一次解析时,把\\\\解析成正则表达式\\,在第二次解析时再解析为\,所以凡是不是1.1列举到的转义字符,包括1.1的\\,而又带有\的都要写两次)\0n 带有八进制值 0的字符 n (0 <= n <= 7)\0nn 带有八进制值 0的字符 nn (0 <= n <= 7)\0mnn 带有八进制值 0的字符 mnn(0 <= m <= 3、0 <= n <= 7)\xhh 带有十六进制值 0x的 ...
使用IE9发布、修改文章时经常出现内容没有更新,文章编辑器各种功能按钮不能使用,可视化、HTML切换后无法编辑等问题。
微软官方针对此类问题的说明和解决方法如下:
为早期版本的 Internet Explorer 设计的网站在 Internet Explorer 9 中可能无法正确显示。不过,通常情况下,您可以使用兼容性视图来正常浏览。
在兼容性视图中,网站会显示出在 Internet Explorer 8(该版本通常可更正显示问题)中的效果。在您这样操作过一次后,便无需再次针对站点单击该按钮—下次访问站点时,Internet Explorer 9 会自动在兼容性视图中显示它。(如果您要还 ...
去除Eclipse的JS验证:将windows->preference->Java Script->Validator->Errors/Warnings->Enable Javascript Sematic validation前面的勾去掉;右键项目 -> properties -> Builders 去掉JavaScript Validator 前面的勾如果Builders中没有JavaScript Validator这一项。那么去.project文件中修改如下内容:找到项目目录,删除项目目录里的 .project 文件中的以下部分:< ...
如果你不投递(POST)Overlapped I/O,那么I/O Completion Ports 只能为你提供一个Queue.
CreateIoCompletionPort的NumberOfConcurrentThreads:
1.只有当第二个参数ExistingCompletionPort为NULL时它才有效,它是个max threads limits.
2.大家有谁把它设置为超出cpu个数的值,当然不只是cpu个数的2倍,而是下面的MAX_THREADS 100甚至更大。
对于这个值的设定,msdn并没有说非得设成cpu个数的2倍,而且也没有把减少线程之间上下文交换 ...
In more specific terms, the labels "64-bit," 32-bit," etc. designate the number of bits that each of the processor's general-purpose registers (GPRs) can hold. So when someone uses the term "64-bit processor," what they mean is "a processor with GPRs that store ...
QueueUserWorkItem,CreateTimerQueueTimer,BindIoCompletionCallback,RegisterWaitForSingleObject你用过吗,性能如何?CreateThreadpool你想用吗,那你就去安装Windows Vista,or 2008吧.
下面的车轮模型来自java util concurrent's thread pool模型.
作者:一个java程序员.
下面的程序没有安装logger,只是简单的printf.
threadpool.h
#ifndef _WHEELSOFT_THREADPOOL_H_#defi ...
以[final int x=911] , [static final int x=912]为例,jdk1.6.0_16(为何如此版本详细,是因为下面还有个jdk的bug).
样例类:
class Test { private final int x=911;//modifiers:final->18,non-final->2 static final private int y=912;//modifiers:final->26,non-final-> ...
1.在jdk1.5之前,Object.wait函数没有timeout返回标识,
e.g:
long t=System.currentTimeMillis(); obj.wait(timeout); if(System.currentTimeMillis()-t>=timeout) ......
如此标识timeout是 粗略的.
现在的java util concurrent下的 Condition.await函数是 ...
1.flash.net.Socket/XMLSocket
Security.loadPolicyFile(((("xmlsocket://" + domain) + ":") + port));
发送的请求: <policy-file-request/>\0
注意响应的crossdomain.xml:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<cross-domain-policy>
<site-contr ...
MINA,Grizzly[grizzly-nio-framework],xSocket都是基于 java nio的 server framework.
这里的性能缺陷的焦点是指当一条channel上的SelectionKey.OP_READ ready时,1.是由select thread读完数据之后再分发给应用程序的handler,2.还是直接就分发,由handler thread来负责读数据和handle.
mina,xsocket是1. grizzly-nio-framework是2.
尽管读channel buffer中bytes是很快的,但是如果我们放大,当连接channel达到 ...
Singleton设计模式,双重检查样列如下:
public class Singleton
{
private static final Singleton singleton = null;
private Singleton()
{
}
public static Singleton getInstance()
{
if (singleton== null)
{
synchr ...
1.java static inner class 和 non-static inner class的区别?
有人会说静态的只能访问外部类的静态成员,非静态的对应非静态的.不错是这样的,可是你知道为什么会这样吗?有人会说这个是java语法规则,是的.可还是没有讲出实质性的内容. ...
有人说java nio在多线程环境下编程简直就是个恶梦,其实你如果能把握住java nio API的要领,你就可以将之驾驭.
0. 一个 channal 对应一个SelectionKey in the same selector.
e.g:
SelectionKey sk=sc.register(selector, SelectionKey.OP_READ, handler);
sk==sc.register(selector, SelectionKey.OP_WRITE, handler) true?
selector.select() 每次返回的对同一channal的 ...
java.util.concurrent的作者是Doug Lea : 世界上对Java影响力最大的个人,在jdk1.5之前大家一定熟悉他的backport-util-concurrent.jar."这个鼻梁挂着眼镜,留着德王威廉二世的胡子,脸上永远挂着谦逊腼腆笑容,服务于纽约州立大学Oswego ...
DWR在和spring集成时,在dwr.xml中将设置creator="spring",告诉dwr将使用dwr的org.directwebremoting.spring.SpringCreator来创建对象实例,但是SpringCreator.getType地处理是不适当的,让我们来看看它的源码[dwr-3.0.0.116]:
public Class<?> getType() { if (clazz == null) { try { clazz = ge ...