- 浏览: 1018816 次
- 性别:
- 来自: 杭州
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
文章列表
Centos 6.0 yum 更新源
- 博客分类:
- CentOS
Centos 6.0 yum 更新源
中科大(http://centos.ustc.edu.cn/)的镜像站里面有Centos 6.0 镜像了。
先备份一下/etc/yum.repos.d/CentOS-Base.repo
#mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak
调试jdk中的源码,查看jdk局部变量
- 博客分类:
- JAVA
调试jdk中的源码,查看jdk局部变量
2012-04-24 22:02:13
学习java最好的办法就是看jdk源代码,面对浩瀚的jdk(光源码就有40M多,比一个大型网站的源码都多)从何入手呢,要是能单步调试跟进到jdk源码里并且能查看其中的局部变量最好了。可惜的是sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar。废话少说,下面是编译jdk的具体步骤: 1.把C:\java\jdk1.6.0_10\src.zip解压到C:\java\jdk1.6.0_10\src 2.执行命令 dir /B /S /X C:\ja ...
今天去一家大公司面试,面试官给出下面一题,虽然第一反应是知道要面试什么知识,不过还是因为过度紧张,没能把问题回答好,特此留下作为纪念。
题目如下:
要求用一个方法交换两个变量的值,伪代码如下示:
swap(a,b)
{
//请实现方法体
}
main()
{
a = 1,b=2;
System.out.println("a="+a+",b="+b);
}
虽然当时没有回答完美,现在重新实现一下,以备参考。
下面是重新实现的代码:
public class Test {
pu ...
Reactor模式和NIO<转>
- 博客分类:
- Netty
本文可看成是对Doug Lea Scalable IO in Java一文的翻译。
当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Process service4. Encode reply5. Send reply
经典的网络服务的设计如下图,在每个线程中完成对数据的处理:
但这种模式在用户负载增加时,性能将下降非常的快。我们需要重新寻找一个新的方案,保持数据处理的流畅,很显然,事件触发机制是最好的解决办法,当有事件发生时,会触动handle ...
19 February 2010
本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。
优化指南 MINA默认配置的性能并不是很高的,部分原因是MINA目前还保留初期版本的架构,另外一个原因是因为JVM的发展。
首先我们关闭默认的ThreadModel设置
IoAcceptor acceptor = ...;
IoServiceConfig acceptorConfig = acceptor.getDefaultConfig();
acceptorConfig.setThreadModel(Thread ...
19 February 2010
本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。
MINA架构
这里,我借用了一张Trustin Lee在Asia 2006的ppt里面的图片来介绍MINA的架构。
(图略)
Remote Peer就是客户端,而下方的框是MINA的主要结构,各个框之间的箭头代表数据流向。 大家可以对比刚刚的例子来看这个架构图,IoService就是整个MINA的入口,负责底层的IO操作,客户端发过来的消息就是由它处理。刚刚我们使用的IoAcceptor就是一个IoService,之所以抽象成Io ...
19 February 2010
本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。
一个简单的例子
MINA使用非常简单,笔者以前做过一段时间传统的Java Socket开发,不过一直对Java NIO不是很理解,但是MINA很快就上手了,MINA封装了NIO繁琐的部分,使你可以更专注于业务功能实现。话不多说,让我们来看一个简单的例子,一个很常见的例子,时间服务器。(Article by Sparkle) 我们的实现目标是一个能响应多个客户端的请求,然后返回服务器当前的系统时间的功能。传统的Java Socket程序 ...
19 February 2010
本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。
前言
MINA是Trustin Lee最新制作的Java通讯框架。通讯框架的主要作用是封装底层IO操作,提供高级的操作API。比较出名的通讯框架有C++的ACE、Python的Twisted,而Java的通讯框架还有QuickServer、Netty2、Cindy、Grizzly等。
2004年6月,Trustin Lee发布了一个通讯框架Netty2,是Java界第一个事件模型架构的通讯框架,Cindy也从中借鉴了不少思想。由于N ...
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;
1 基本场景
比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ;
【转】几种经典的hash算法
- 博客分类:
- 算法
文章出处:http://hunteagle.javaeye.com
注:最近因为在做和hash有关的题目,感到很纠结。虽然上学期数据结构学过,但是当时觉得hash没什么用,所以没有认真学~后悔啊~~~现在恶补一下~
计算理论中,没有Hash函数的说法,只 ...
常用hash算法及评测[转]
- 博客分类:
- 算法
RS hash 算法
unsigned int RSHash(char* str, unsigned int len)
{
unsigned int b = 378551;
unsigned int a = 63689;
unsigned int hash = 0;
unsigned int i = 0;
for(i = 0; i < len; str++, i++)
{
hash = hash * a + (*str);
a = a * b;
}
...
基础数据结构之一链表介绍(转)
- 博客分类:
- 数据结构
基础数据结构之一链表介绍
2011-06-06
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入 ...
Eclipse快捷键 10个最有用的快捷键<转>
- 博客分类:
- JAVA
Eclipse中10个最有用的快捷键组合
一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。
1. ctrl+shift+r:打开资源
这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。
2. ctrl+o:快速outline
如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用 ...
安装MongoDB的方法有很多种,可以源代码安装,在CentOS也可以用yum源安装的方法。由于MongoDB更新得比较快,我比较喜欢用yum源安装的方法。64位Centos下的安装步骤如下:
1、准备工作
运行yum命令查看MongoDB的包信息 [root@localhost~]# yum info mongo-10gen
(提示没有相关匹配的信息,) 说明你的centos系统中的yum源不包含MongoDB的相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在 /etc/yum.repos.d/目录中增加 *.repo yum源配置文件
2、vi /et ...