1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法;
2)是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。
2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象;
3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法;
4、类锁一个类就一把,所有静态类方法都是利用同一个类锁。
分享到:
相关推荐
《Java入门1·2·3:一个老鸟的Java学习心得》充分考虑了初学Java语言的种种困难,讲解时细致入微,抽丝剥茧,层层推进,并采用对比、比喻和类比的方式讲解,还给出了大量的流程图帮助读者理解各种概念和程序的运行...
本书充分考虑了初学Java语言的种种困难,讲解时细致入微,抽丝剥茧,层层推进,并采用对比、比喻和类比的方式讲解,还给出了大量的流程图帮助读者理解各种概念和程序的运行过程。另外,作者专门录制了近16小时的...
1. **Java基础**:Java语言的基础语法是理解其后续特性的基石。这包括变量、数据类型、运算符、控制结构(如if语句、for循环和while循环)、方法定义以及类与对象的概念。此外,封装、继承和多态作为面向对象编程的...
《JAVA解惑》是Java开发者领域的一本经典著作,它被广大...总之,《JAVA解惑》是一本涵盖了Java核心知识点、实战技巧和高级特性的宝典,无论你是Java新手还是老手,都能从中受益匪浅,解决你在Java编程中的种种疑惑。
书中首先会讲解Java语言的基础概念,包括变量、数据类型、运算符、流程控制语句等,这些都是编写任何程序的基础。接着,它会介绍面向对象编程的核心理念,如类、对象、继承、封装和多态,这些都是Java的基石,也是...
在过去的一个月中,通过老师的指导和支持,我对JAVA基础知识有了初步的理解与掌握。在此过程中,不仅克服了学习初期的种种困难,也积累了一些有效的学习方法和个人感悟。下面,我将详细分享在JAVA学习旅程中的收获与...
AWT 是 Java 基础类(JFC)的 一部分,为 Java 程序提供图形用户界面的标准 API。 AWT 的优点是: * 提供了平台独立的窗口系统,图形和用户界面器件工具包。 * 能提供给应用程序独立于机器平台的接口,这保证了...
目的是让学生熟悉开发工具和应用设计流程,包括需求分析、概要设计、详细设计、代码编写、系统测试以及软件手册编写等环节,为将来进入软件行业打下坚实基础。 #### 实习内容概述 1. **公司管理规则与程序员素质**...
[1] Java编程基础.北京:机械工业出版社,2013. [2] 数据库系统概念.北京:清华大学出版社,2012. 本JAVA实训报告展示了我在JAVA语言和软件开发方面的知识和技能,旨在设计和实现一个学生信息管理系统,以解决学校...
Java开发中,开发者常会遇到的一个问题是编译和运行Java程序时出现的种种“怪事”。这些问题通常与JDK的安装和配置有关,比如当开发者安装完JDK后,在没有修改系统路径的情况下运行java.exe,可能会发现JVM提供的...
其中,Java作为一种基础的编程语言,在教学上尤其重要,因为它是学习Web开发和安卓开发的基础。然而,传统的教学方法很难适应高职高专等教育机构的日常教学需求,因此,开发一款适合普通大专学生的在线Java教学平台...
此外,对于Java基础的理解,如多线程、集合框架、异常处理、IO流、设计模式等也是面试的重点。 "Java夜未眠.程序员的心声"这本PDF可能包含了一些实战经验分享、面试技巧,甚至是对Java技术发展趋势的见解。它提醒...
在我们进入细节之前,让我们来看看Spring能够给工程带来的种种好处: Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于...
本文探讨了基于CDIO模式的Java课程教学改革和实践,旨在解决当前计算机专业程序设计类课程教学中存在的种种问题。通过CDIO教育模式,将理论和实践有机地结合起来,提高学生的实践能力和综合能力。同时,本文还讨论了...
通过阅读"Java程序员+上班那点事儿.pdf"这本书,读者可以更深入地了解到Java程序员的工作日常,以及他们在编程生涯中所面临的种种情况,从而更好地理解和尊重这个职业,或者为自己的Java学习之路找到方向。
整个Java培训班的旅程,不仅仅是关于学习Java语言基础,它更是一个全面提升编程技能和软件开发能力的过程。通过理论学习和实践操作相结合的教学方式,我深刻理解了Java的核心特性,特别是面向对象编程原则的应用。...
在Java微服务的学习路径中,这本书提供了从微服务架构的基础概念到实践操作的全面指导,帮助读者构建出稳定、可扩展的Java微服务应用。它适合作为那些希望建立或已经投身于微服务开发的Java开发者的进阶读物。通过...