`
zhaohaolin
  • 浏览: 983868 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
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局部变量 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 ...

Java平台结构图

    博客分类:
  • JAVA
  ddd
今天去一家大公司面试,面试官给出下面一题,虽然第一反应是知道要面试什么知识,不过还是因为过度紧张,没能把问题回答好,特此留下作为纪念。   题目如下:   要求用一个方法交换两个变量的值,伪代码如下示:   swap(a,b) { //请实现方法体 } main() { a = 1,b=2; System.out.println("a="+a+",b="+b); }  虽然当时没有回答完美,现在重新实现一下,以备参考。   下面是重新实现的代码:   public class Test { pu ...
本文可看成是对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 ;
文章出处:http://hunteagle.javaeye.com 注:最近因为在做和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个最有用的快捷键组合  一个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 ...
Global site tag (gtag.js) - Google Analytics