摘要:今天在做分布式计算原型的时候出现了WCF调用错误,错误大意是指消息通道处于错误状态,经过跟踪调试,发现是由于跨域调用的问题造成的.问题场景是这样:客户端C通过WCF调用远程服务,该服务S启用一个新的应用程序域AD1,动态加载目标程序集,并执行该程序集中类CL的一个方法M,并将该方法的返回值(类型为T1)返回客户端C.这个应用程序域AD1虽然与主应用程序域都属于同一进程,但并不能直接相互访问,必须通过远程调用来实现,当然,由于都是同一个进程下,只要参与这个远程调用的对象都是继承自MarshalObjectByRef,这种远程调用并不需要象通常的那样通过remoting来实现,DotNet会自动处 阅读全文
spring mvc 简单实例
2012-02-06 18:45 by java线程例子, 385 阅读, 0 推荐, 收藏, 编辑
摘要:转至:http://blog.csdn.net/dingx/article/details/2242105Spring Framework可以被使用在很多场合之中,考虑到目前大多数Java EE的项目是B/S结构的,所以这里的快速上手教程会以Spring MVC为切入点,用最简单的代码一步一步来实现一个图书列表的页面。在正式动手之前需要做一些准备工作,先安装并设置好JDK 1.5和Tomcat 5,关于数据库及其访问方式可以根据个人习惯进行选择,教程中使用MySQL数据库和Hibernate(映射由Hibernate Annotation实现)。请将实际使用到的jar文件复制到WEB-INF/ 阅读全文
《Java编程思想》之I/O系统
2012-02-05 19:40 by java线程例子, 704 阅读, 0 推荐, 收藏, 编辑
摘要:1、Java中“流“类库让人迷惑的主要原因:创建单一的结果流,却需要创建多个对象。2、使用层叠的数个对象为单个对象动态地、透明地添加职责的方式,称作“修饰器“模式。修饰器必须与其所修饰的对象具有相同的接口,这使得修饰器的基本应用具有透明性——我们可以想修饰过或没有修饰过的对象发送相同的消息。3、为什么使用修饰器? 在直接使用扩展子类的方法时,如果导致产生了大量的、用以满足所需的各种可能的组合的子类,这是通常就会使用修饰器——处理太多的子类已经不太实际。4、修饰器的缺点:增加代码的复杂性。5、JavaI/O类库操作不便的原因在于:我们必须创建许多类——“核心”I/O类型加上所有的修饰器,才能得到 阅读全文
《C和指针》读书笔记
2012-02-04 16:21 by java线程例子, 195 阅读, 0 推荐, 收藏, 编辑
摘要:看过了经典的K&R C,又看了这本Pointers on C,温习了C语言的基本语法。在重温过程中,感觉需要重点把握的知识是指针、结构和动态内存分配。这对今后的算法和操作系统方面的研究学习很有帮助。3.2.3 声明指针int* b, c, d;本以为这条语句把三个变量声明为整型的指针,但事实并非如此。星号*只对b有用,其余两个变量只是普通的整型。正确语句:int *b, *c, *d;3.3 typedef允许为各种数据类型定义新名字。#define无法正确地处理指针类型,如下:#define d_ptr_to_char char *d_ptr_to_char a, b;只正确地声明了 阅读全文
《Java编程思想》之对象的集合(数组、List、Set、Map)二
2012-02-03 22:07 by java线程例子, 248 阅读, 0 推荐, 收藏, 编辑
摘要:上接:《Java编程思想》之对象的集合(数组、List、Set、Map)一22、使用自己创建的类作为HashMap的“键”,需要同时覆盖hashCode()和equals()。原因如下:1).默认的hashCode()继承自Object,它默认是使用对象的地址计算散列码。因此即使俩个对象的实例的内容相同,对象的地址是不同的,所以默认的hashCode()得到的散列码是不同的。如下例子:import java.util.HashMap;
import java.util.Map;
public class TestHashMap{ private int id; public Tes... 阅读全文
用DotNet做简单的分布式计算的几个关键技术点
2012-02-03 21:39 by java线程例子, 281 阅读, 0 推荐, 收藏, 编辑
摘要:hadoop的数据流分布式处理模型,是分布式计算模型的一种实现,hadoop对海量文件数据比较适合,但对于很多公司的应用系统而言,基本都是基于数据库的,并没有多少文件数据需要实时分析,就是日志文件,也可以放在数据库中,特别是用户操作日志(不是系统级日志),当然,就是存成文件,格式和内容也基本是确定的,分析的时候并不需要分拆和Map.其实只要一个简单的分布式分析(reduce)即可。因此模型上没必要搞得像hadoop那么复杂(虽然说hadoop原理和实现也不是很复杂).何况大部分应用系统需要分析的数据还达不到这个级别.考虑到一般的公司应用的实时数据存放都是确定的,也就是分析数据的来源基本是确定. 阅读全文
WCF 学习记录(2)
2012-02-03 20:42 by java线程例子, 179 阅读, 0 推荐, 收藏, 编辑
摘要:1、突破WCF一些限制的方法: A)通过配置来完成 可在web.config或者app.config中配置,这种方法可参见前面的文章; B) 可通过代码实现 前面的方法有个缺陷,就是自己写宿主服务的时候实现比较难,而且我感觉不适很方便,我喜欢在代码中控制: public static ChannelFactory<ISvc> CreateChannelFactory<ISvc>(string RemoteAddress, string ServiceName) { BasicHttpBinding theBinding = new BasicHttpBi... 阅读全文
《Java编程思想》之对象的集合(数组、List、Set、Map)一
2012-02-03 00:19 by java线程例子, 272 阅读, 0 推荐, 收藏, 编辑
摘要:1、Arrays类:提供了操作数组的一些static方法,如fill() 用于以某个值填充整个数组。sort() 用于对数组的排序,需要参数的类型实现Comparable接口binarySearch() 用于在已经排序的数组中查找元素。asList() 接受任意的数组为参数,并将其转变为List容器。……2、如果一个字符串需要多次改变其值,那么应该使用更高效的StringBuffer取代String。3、复制数组System.arraycopy(),用它复制数组比用for循环复制要快得多。4、基本类型数组和对象数组都可以复制,然而,如果复制对象数组,那么只是复制了对象的引用——而不是对象本身的 阅读全文
《Java编程思想》之类型检查(RTTI与反射机制)
2012-02-01 16:57 by java线程例子, 284 阅读, 0 推荐, 收藏, 编辑
摘要:1、类型时类型识别(run-timetype identification,RTTI):当之有一个指向对象的引用时,RTTI可以让你找出这个对象的确切类型。2、Java运行时识别对象和类的信息,主要有俩种方式:1).一种是“传统“RTTI,它假定我们在运行时已经知道了所有的类型。2).另一种是“放射“机制,它允许我们在运行时获得类的信息。3、Class对象:每个类都有一个Class对象,保存在一个同名的.class文件中,它包含了与类相关的信息。4、在运行时,当我们想生成这个类的对象时,运行这个程序的Java虚拟机(JVM)首先检查这个类的Class对象是否已经加载,就会根据类名查找.clas 阅读全文
《Java编程思想》之异常处理
2012-01-30 17:20 by java线程例子, 203 阅读, 0 推荐, 收藏, 编辑
摘要:1、抛出异常之后1).使用new在对象上创建异常对象2).终止当前的执行路径3).从当前环境中弹出对异常对象的引用4).异常处理机制接管程序,并开始执行异常处理机制2、异常处理理论上有两种基本模型1).终止模型:一旦异常抛出,就表明错误无法挽回,也能回来继续执行。比较实用。2).恢复模型:异常处理之后继续执行程序。但是可能导致“耦合”。3、自定异常类(具有带参数的构造器)class SimpleException extends Exception{ public SimpleException(){} public SimpleException(String msg){ ... 阅读全文