易截截图软件、单文件、免安装、纯绿色、仅160KB

Java 多线程编程之三:synchronized 关键字的使用

Java 多线程编程之三:synchronized 关键字的使用
        带有 synchronized 关键字的方法代表这个方法加锁。恰当而又灵活地运用 synchronized 关键字,是多线程编程的必修课。
  1、synchronized关键字的作用域有二种:
  1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的 synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法;
  2)是某个类的范围,synchronized static aStaticMethod(){}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。
  2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象。
        synchronized(this)用于定义一个临界区(即是:其后面大括弧所包含的部分),以保证在多线程下只能有一个线程可以进入this对象的临界区。 也就是说synchronized(对象或者变量){},表示在{}内的这段代码中,对(对象或者变量)中的对象或者变量进行同步处理,也就是说当访问这段代码时,一个线程对对象或者变量的访问完成后才能够交给另外一个线程,即有了同步锁。使用 synchronized(对象或者变量),就是为了防止对象或者变量被同时访问,避免多个线程修改和读取对象或者变量同时出现的时候,使用这个对象或者变量的地方出现错误的判断,如 while(对象或者变量)。
  3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法。


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Java培训总结

1、  Web.xml
1)  配置hibernate
<context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>/WEB-INF/dbConnectionContext.xml /WEB-INF/serviceContext.xml</param-value> ......

Java事件机制

 事件源负责产生事件
事件类:定义事件的特征;
监听器接口:定义监听器应该实现的功能;
监听器:实现监听器接口,监听事件的发生并作出响应;
所有的事件类必须继承Java事件基类,即java.util.EventObject;EventObject(Object source)是EventObject唯一的构造方法,这意味着所有事件必须在实例化时就指定事件源 ......

利用Java API对字符串进行加密解密(DES加密算法)

 /*Decryptor*/
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
/**
 * Decrypt the password get form Xpress GUI
 */
public class Decryptor{
  
//加密    
  ......

java进制转换

对于10进制数转换为N(2-36)进制一般都是选择取余除的算法进行转换 ,下面给出两种方案
一种是递归,一种是迭代。通过效率评价两者性能
其中迭代的方案直接取自java源代码。
/*
*Class NotationConvert.java
*Create Date: 2009-11-12
*Author:a276202460
*/
package com.rich.notation;
public class Notat ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号