`
regular
  • 浏览: 76020 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
看到一本很直接讨论这个题目的书,不过要等到3月1日才出来。 这本也要等到5月份才能出来。
集群技术,也就是俗称的Cluster,是为了保证某种应用不间断的服务而采取的一种技术手段。 主旨 服务运行在A,B两台机器上,其中一台为主用机,一台为备用机。备用机不断检测主用机的心跳信息。当发现主用机宕机或不能提供服务的时候,会自动转变为主用机,继续提供服务。 实现细节包括主备用机之间的心跳协议,物理线缆连接方式,以及虚拟出来的服务接口。 其他都还好说,不过虚拟服务接口的确不是很容易实现的。本文对虚拟服务接口技术做了模拟。 虚拟接口,实际是指虚拟的IP地址以及在这个IP地址接口侦听的应用服务。 由于客户机并不会自动改变请求服务的IP地址和端口,因此集群必须提供一个唯一的对外服务接口, ...
不错的一本书。 推荐一下。 压缩包就不用下了,自己的一些小玩儿意。加了很重的密。不太容易打开的。
图形化的界面,允许你导入任意多的在项目中可能需要的Jar包。 1.1.0版把文件解析方法变成了菜单方法,缺省不对所有文件执行解析。 另外加载的同时就显示在界面上,显得更为友好。 1.0.3版支持对class文件的方法解析。 选择过滤条件,既可以写成: import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.ec ...
在jar包里获得流形式的资源有两种方法,一个是Class.getResourceAsStream(String),另一个是ClassLoader.getResourceAsStream(String)。 实际上前一个只是引用了后一个的方法。不过其中加了一些判断。 而就是这些判断导致了两者之间的差异。参见代码。 // java.lang.Class public InputStream getResourceAsStream(String name) { name = resolveName(name); ClassLoader cl = ...
方案背景 所谓“MultiKeyedMap”是指允许多个关键字经过组合映射到一个对象的集合类。 比方说,我们有一个数据表,大概的结构如下: ID姓名性别出生日期1王小毛男'1973-05-18'2沈佩佩女'1976-06-24' 数据结构大体如下: class Person ...
原文地址:Java2D: Hardware Accelerating - Part2 - Buffer Strategies 利用我们已经学到的东西 昨天的帖子(Java2D: Hardware Acceletating - Part1 - Volatile Images)里,我讨论了java.awt.image.VolatileImage,以及如何使用它们(实现)双缓冲Java 2D的代码。如 ...
原文地址:Java2D: Hareware Accelerating - Part1 - Volatile Images Java 1.4在Java 2D的功能方面引入了对硬件加速的支持。毫无疑问,硬件加速非常有用——不过有效的使用java.awt.image.VolatileImage至少要比使用传统的“图像缓冲”机制要复杂一些。仅当你在自行实现复杂的Java 2D渲染的时候,使用低级的“硬件加速”功能才是的确很重要的。如果你只是在使用比方说Swing里预编译的控件的话,那么这个技巧的大部分都不太合适。但是对那些Java的2D游戏编程的人,或者那些操作大量图形,如图表、图解的人来说,就非常有 ...
国内资料引进的速度大家应该都能感受得到。资料翻译的质量也不是很高,往往会发现很多不该有的问题。 不是为了这个原因,我想我也不会有动力一直不停地做翻译。 不过我想到了一个主意,能让希望尽快了解最先进知识和生产力发展方向的人受益。 那就是,大家可以集资买外文资料的有限版权,然后把整体资料以分包的形式拆解为若干小块,分头翻译,以wiki的形式集中在一起。然后有一个委员会负责质量把关和拼接。 这样翻译出来的文档,必须只能在某个网站上才能阅读,可以下载,但是设置为不能打印和C&P。从而保证原版的版权。 然后,网站可以采用会员制。加入会员可以用两种方式对网站的发展做贡献,第一种方式是提供翻 ...
花了大约一个星期时间做的MiniChart库。 由于现在的免费库基本都很大,实现了太多日常使用中基本用不到的图形,而且一个库要关联若干功能库,所以最终还是自己做了。 其它不多说,放一个Demo上来,安装了Java运行环境的可以直接运行该例子。
速度还算快,例子里比较的文件一共371个,3,293,472字节,比较时间不超过2秒。 不过我的机器也很好,CPU: Athelon 64 X2 Dual 5200+,Mem: 2GB DDR2 667。 package cn.sh.huang; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.Dat ...
从一个很长的字符串(或者数组)中,查找某个子串(模式串)是否存在,在算法上被称为是“模式匹配”。 模式匹配的经典算法包括KMP算法、BM算法等等。以下简要回顾这些经典算法的思想,并说明我对此的改进想法。 KMP算法 首先对模式串进行处理,获得当某个字符位置失配的时候,比较位置的指针应该指向的下一个位置的数组。举例如下: 模式串:A B A B C next :0 0 1 2 0 经过对上面的模式串进行处理,我们可以做如下比较: 索引位:_ _ ▼ ↓ 字符串:A B A A B A B D C A B A B A B C 模式串:A B A B C 比较位:_ _ ▲ ...

读写进程的互斥锁

    博客分类:
  • Java
 
以下的代码完成了对某个资源的读写互斥锁,具体说明如下:1. 若正有若干进程在读资源,新的读进程可以共享资源;1. 若正有若干进程在读资源,一条写进程想要独占资源,则写进程等待,到所有读进程全部完成之后控制资源;2. 若正有一个进程在独占写资源,则所有其他进程等待,到这个进程完成之后,其他进程共享或独占资源。   换句话说就是,独占的进程必须等到所有共享进程完成操作之后才能执行;共享的进程也必须等到独占进程释放资源之后才能共享。   /** * <pre> * 文件名称:Lock.java * 文件描述:读写锁 * 创建日期:2009-2-19 * </pre> ...
闲来无事,想要用目前的Java技术模拟一个对象数据库。最初只是停留在很简单的构想,单用户的,本地的,仅仅是为了实现一些纯对象化的数据库操作:   public interface DataBase { public <T> T[] select(Filter<T> filter); public <T> void insert(T t); public int update(Filter<T> filter, Updater<T> handler); public <T> int delete ...
A Tour of Scala: Case Classes     Scala支持case类的概念。case类也是正规的类,暴露其构造器参数,并通过模式匹配提供递归解构机制。 以下是由抽象超类Term和三个具体case类Var,Fun,和App组成的类层次的例子。 abstract class Term case clas ...
Global site tag (gtag.js) - Google Analytics