0 0

final 类里的 静态方法 是否 线程 安全5

例如 JSONObject.fromObject()这个方法 是否是线程安全的
2013年6月19日 17:34

6个答案 按时间排序 按投票排序

0 0

是否安全关键看有没有加锁,final修饰的类只代表这个类不能被继承。

2015年3月06日 18:28
0 0

首先被final关键字修饰的属性,是不可修改的。如果final修饰一个引用,那么其实被修饰的这个东西也可能是不安全的,因为可能被引用的这个类自己本身也是线程不安全的。
JSONObject.fromObject 都不用想了,肯定是安全的

2013年6月22日 19:26
0 0

是否线程安全 和 是否静态方法 是风马牛不相及的两件事。

2013年6月20日 08:35
0 0

要实现一个线程安全的方法有:

1. 提供原子操作,如使用synchronized,或者Lock机制。

2. 只能引用不可改变的变量类型,如:final,Collections.unmodified...之类的,并且容器内部的对象不可改变。

3. 对局部变量,包括方法形参,方法内部定义的变量没有任何限制。

这就要看JSON.fromObject()方法是否满足以上要求了

2013年6月20日 00:19
0 0

这要看fromObject方法中 是否使用了共享变量, 如果存在共享变量那就线程不安全了,如果用到的变量作用域在这个方法中,那就没问题 线程安全。 和static关系不大

2013年6月19日 20:04
0 0

是的,既然暴露为static 内部就要提供线程安全的访问

2013年6月19日 17:37

相关推荐

    Java面试题.docx

    8、静态属性和静态方法是否可以被继承?是否可以被重写?以及原因? 9、成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用 10、string 转换成 integer的方式及原理 11-20题: 11、哪些...

    JAVA面试题最全集

    静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法? 50.JAVA语言如何进行异常处理,关键字:thorws,throw,try,catch,finally 51.Object类(或者其子类)的finalize()方法在什么情况下被调用? 52....

    超级有影响力霸气的Java面试题大全文档

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 14、...

    java 面试题 总结

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    Java内部类:你真得了解方法内部类吗?

    java内部类,相信很多人都使用过内部类,新建线程使用的匿名内部类,但是有很多人对内部类的一些概念处于模糊阶段,比如为什么方法内部类引用方法参数,方法参数必须设置为final,所以本文系统得整理了一下内部类...

    java进阶13天资料.zip

    day07-异常,线程的创建方式,,线程安全,线程同步 day08-线程状态,volatile关键字、原子性、并发包、死锁、线程池 day09-方法引用, Stream流,File类 , 递归 ,字节流 day10-字符流, 缓冲流、转换流、序列化流,...

    corejava培训文档

    7.4. 静态变量,方法和类 7.5. Singleton模式 7.6. final关键字 7.6.1. final变量不能被改变; 7.6.2. final方法不能被改写; 7.6.3. final类不能被继承; 7.6.4. String 类 7.7. 抽象类 7.8. 接口 (模板...

    day020-继承加强和设计模式代码和笔记.rar

    概念:就是类中只有(静态、非静态)方法,就是为了调用方法。 2. 作用:就是一个轮子 3. 分类: 1. 静态的 方法全部都是static修饰的,调用方式:类名.方法名(...); 2. 非静态的 通过单例...

    net学习笔记及其他代码应用

    1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。...47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可...

    Java并发编程实战

    书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高...

    Android实现多线程下载图片的方法

    方法一、直接通过Android提供的Http类访问远程服务器,这里AndroidHttpClient是SDK 2.2中新出的方法,API Level为8,大家需要注意下,静态访问可以直接调用,如果SDK版本较低可以考虑Apache的Http库,当然...

    Java性能优化

    Java性能优化: ...另外,如果一个类是final的,则该类所有方法都是final的。Java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50%。 .......

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    11.3.11 静态方法——类范围里的概念 312 11.3.12 静态方法何以为“静态” 314 11.4 变量的修饰符 316 11.4.1 变量方法皆成员 317 11.4.2 变量的访问控制符 317 11.4.3 使用private修饰类的成员变量 318 ...

    进销存系统文档作业例子

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    11.3.11 静态方法——类范围里的概念 312 11.3.12 静态方法何以为“静态” 314 11.4 变量的修饰符 316 11.4.1 变量方法皆成员 317 11.4.2 变量的访问控制符 317 11.4.3 使用private修饰类的成员变量 318 ...

    《Java和Android开发实战详解》第6到10章源代码-by 南邮-陈杨

    9.2.3 匿名内层类与this和final关键字 178 9.3 多态基础 180 9.3.1 静态绑定与动态绑定 180 9.3.2 Java语言支持的多态 181 9.4 多态的实现 181 9.4.1 使用类继承来实现多态 181 9.4.2 使用接口来实现...

    关于JAVA面试的100题及其答案

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    21天学通Java-由浅入深

    240 12.2.1 创建局部内部类 240 12.2.2 在局部内部类中访问外部类成员变量 240 12.2.3 在局部内部类中访问外部类的局部变量 241 12.2.4 静态方法中的局部内部类 243 12.3 静态内部类 244 12.3.1 创建静态内部类 244 ...

    javaSE代码实例

    15.2.3 静态方法中的局部内部类 331 15.3 静态内部类 332 15.3.1 语法规则 332 15.3.2 创建静态内部类的对象 332 15.3.3 静态/非静态内部类的区别 333 15.4 匿名内部类 334 15.4.1 基于继承的匿名内部...

Global site tag (gtag.js) - Google Analytics