- 浏览: 31293 次
- 性别:
- 来自: 宁波
最新评论
-
zpd00001:
大道理,刚毕业的菜鸟们是不懂的- -!!
毕业后五年之内将决定你的一生 人生与励志 -
li_47195:
看完后我沉默很久..所谓“优秀生”?..一篇转载,献给所有和我一样迷茫没有目标的人
文章列表
Ice中间件研究
简介
Ice 是一种面向对象的中间件平台。从根本上说,这意味着 Ice 为构建面向对象的客户-服务器应用提供了工具、 API 和库支持。 Ice 应用适合在异构环境中使用:客户和服务器可以用不同的编程语言编写,可以运行在不同的操作系统和机器架构上,并且可以使用多种网络技术进行通信。无论部署环境如何,这些应用的源码都是可移植的。
Slice语言
在介绍 Ice 工作原理之前,有必要来了解一下 Slice语言。
Slice( Specification Language for Ice )是一种用于使对象接口与其实现相分离的基础性抽象机制。 Slice 在客户与服务 ...
Java5.0多线程编程
- 博客分类:
- java
[size=large]
Lock接口
ReentrantLock是Lock的具体类,Lock提供了以下一些方法:
lock(): 请求锁定,如果锁已被别的线程锁定,调用此方法的线程被阻断进入等待状态。
tryLock():如果锁没被别的线程锁定,进入锁定状态,并返回true。若锁已被锁定,返回false,不进入等待状态。此方法还可带时间参数,如果锁在方法执行时已被锁定,线程将继续等待规定的时间,若还不行才返回false。
unlock():取消锁定,需要注意的是Lock不会自动取消,编程时必须手动解锁。 来源:www.examda.com
代码:
//生成一个锁
Lock loc ...
Java Map遍历的方法
- 博客分类:
- java
第一种:利用entryset遍历
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
此种遍历效率高,以后一定要使用此种方式!
利用jdk1.5支持,用entrySet()和For-Each循环() ...
Java常见异常汇总
- 博客分类:
- java
转自于:
http://www.javaask.com/java/abnormal/2010/1229/585.html
NO.1 java.lang.NullPointerException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.NullPointerException
这个异常的解释是 "程序遇上了空指针 ",简单地说就是调用了未经初始化的对象或者是不存在的对象,对数组操作中 ...
[转]JAVA IO流
http://www.blogjava.net/orangelizq/archive/2007/10/01/150026.html
Input和Output
1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:
1.1 以字节为导向的stream
以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种类型:
Input stream:
1) ByteArrayInput ...
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhangjunhd.blog.51cto.com/113473/70300
在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制。
1.对象的锁
所有对象都自动含有单一的锁。
JVM负责跟踪对象被加锁的次数。如果一个对象被解锁,其计数变为0。在任务(线程)第一次给对象加锁的时候,计数变为1。每当这个相同的任务(线程)在此对象上获得锁时,计数会递增。
只有首先获得锁的任务(线程)才能继续获取该对象上的多个锁。
每当任务离开一个synchronized方法,计数递减,当计数为 ...
10种好习惯造就办公室里的成功
- 博客分类:
- 生活
源文地址:http://webcenterol.iteye.com/blog/1224613
简单做事仅能让你的工作表现“还不错”,要想达到“很优秀”就要在原有基础上再做更多努力。这并不是要求你挑战力不能及的高难度工作,把本职工作的质量和效率再提高一些, ...
Java线程:创建与启动
- 博客分类:
- java
一、定义线程
1、扩展java.lang.Thread类。
此类中有个run()方法,应该注意其用法:
public void run()
如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。
Thread ...
http://hi.baidu.com/%B7%DB%D2%C0%C0%D9%CB%BF/blog/item/823a80ed6cbef05f79f055c9.html
秀秀是我高中很要好的朋友,同在一个班里度过了高三的辛苦时光。她学习努力,成绩很棒,后来考上了北京的名校,现在在离我不远的大学里读研究生,同时在 ...
1 配置XFire Servlet
在web.xml中加入如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:org/codehaus/xfire/spring/xfire.xml,classpath:applicationContext*.xml</param-value>
</context-param>
<servlet>
<serv ...
状态模式应用1(去掉过多的if...else)
- 博客分类:
- 设计模式
状态接口类
package com.fczfr.pattern.behavior.state.sample1;
public interface State {
// 状态0
public final static int STATUS_0 = 0;
// 状态1
public final static int STATUS_1 = 1;
public void sampleOperation();
public int getStatus();
}
状态0实现类
package com.fczfr.pattern.behavi ...
spring线程池的使用
- 博客分类:
- spring
1.了解 TaskExecutor接口
Spring的TaskExecutor接口等同于java.util.concurrent.Executor接口。 实际上,它存在的主要原因是为了在使用线程池的时候,将对Java 5的依赖抽象出来。 这个接口只有一个方法execute(Runnable task),它根据线程池的语义和 ...