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

java多线程学习

关于 Java Concurrency
 
   自从Java诞生之时,Java 就支持并行的概念,比如线程和锁机制。这个教程帮助开发多线程Java程序员能够理解核心的Java并行理念以及如何使用他们。 内容涉及到Java语言中的线程, 重练级以及轻量级同步机制 以及JavaSE 5 中的锁,原子量 并行容器,线程调度 以及线程执行者。 开发人员使用这些知识能够开发好并发线程安全的Java 应用程序。 
Java 并行的概念(Java Concurrency Concepts)
 
概念
描述
Java 内存模型
在JavaSE5 JSR133规范中详细定义了Java内存模型 Java Memory Model(JMM),该模型定义了相关的操作 比如读,写操作,以及在监视器上的同步。 这些操作按 Happens-before的顺序。
这个定义保证了一个线程可以看到另一个线程操作的结果,同时保证了同步的程序, 以及如何定义一个不变的属性 等等。
监视器
在Java中,任何一个对象都有一个监视器,来排斥共享访问临界区域的代码。这些临界区可以是一个方法 或者是一段代码块,这些临界区域作为同步块。线程只有获取该监视器才能执行同步块的代码。当一个线程到达这块代码是,首先等待来确定是否其他线程已经释放这个监控器。监控器除了排斥共享访问,还能通过Wait 和Notify来协调线程之间的交互。
原子属性
除了Double 和long类型,其他的简单类型都是原子类型。Double和long 类型的修改在JVM分为两个不封。为了保证更新共享的Double和Long类型,你应该将Double和long 的属性作为Volatile 或者将修改代码放入同步块中。
竞争情况
当许多线程在一系列的访问共享资源操作中,并且结果跟操作顺便有关系的时候,就发生了竞争情况。
数据竞争
数据竞争涉及到当许多线程访问不是non-final或者non-volatile 并没有合适的同步机制的属性时,JMM不能保证不同步的访问共享的熟悉。数据竞争导致比个预知的行为。
 
自公布
 
还没有通过构造方法实例化对象之前,把这个对象的引用公布时不安全的。
一种是通过注册一个监听器,当初始化的时候回调来发布引用。
另一种是在构造方法里面启动线程。这两种都会导致其他线程引用部分初始化的对象。
Final属性
Final属性必须显示的赋值,否则就会有编译错误。一旦赋值,不能被修改。将一个对象引用标记为Final只能保证该引用不会被修改,但该对象可以被修改。比如一个Final ArrayIist不能改变为另一个ArrayList 但你可以添加或者修改这个List的对象。在构造方法


相关文档:

Java论坛收集

最强烈推荐-我的java收藏夹(内有国内最好的java论坛)
www.chinajavaworld.com -论坛人很多,高手也多,不过好像都在潜水  
www.cn-java.com -也很不错,文章很好,但是就是商业性浓了点。  
www.chinaitlab.com-非常有系统性,而且推出的java远程教育是中国最全面的scjp远程教育。 www.huihoo. ......

JAVa面试题1

Java基础方面: 
1、作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域           当前类       同一package  子孙类       其他package
public& ......

Java的工厂模式例子

1. 简单工厂:
(1). 创建输出(Output)接口
package stone;
public interface Output {
    public int MAX_COUNT =10;               // 最多可打印多少条记录
    public void show();     ......

Java的代理模式例子

(1).  创建一个接口, 要代理的类和 代理类都将继承它
package stone;
public interface Image {
    public void show();
}
(2). 创建要被代理的类:
package stone;
public class BigImage implements Image {
    public BigImage() {
        ......

关于java打包

一个简单的双击就能运行jar文件的打包过程:
http://blog.csdn.net/ihc523/archive/2009/10/11/4636832.aspx
eclipse导出jar文件再将它转换成exe可执行文件:
http://hi.baidu.com/%C4%CF%BA%BD%CC%EC%CF%C2/blog/item/1601a381ac9af9d1bd3e1e3d.html
打Jar包的一个Eclipse插件FatJar:
http://blog.csdn.net/lqsmn613/ar ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号