作者:当个里个当 | 来源:互联网 | 2024-11-11 13:13
深入探讨了`Synchronized`关键字在Java中对`int`和`Integer`对象的影响。尽管初看此题似乎简单,但其实质在于理解对象的概念。根据《Java编程思想》第二章的观点,一切皆为对象。本文详细分析了`Synchronized`关键字在不同数据类型上的作用机制,特别是对基本数据类型`int`和包装类`Integer`的区别处理,帮助读者深入理解Java中的同步机制及其在多线程环境中的应用。
第一次见到这个题目,我觉得自己没学到java,太浅了,其实这个问题没有考synchronized关键字,只是考什么是对象?
1.在java编程思想的第二章有一句话;
一切都是对象,很可惜int,char 等不是的,虽然他们有他们的包装类,但是java还是保留了int 这些好用的原子类型,
对于synchronized后面可以跟对象和.class所以 字符串是对象可以,Integer对象可以,ExampleCLass.class可以。
我想问的是,数组是对象吗?
查了一下,是对象,所以数组也是答案。http://blog.csdn.net/qq1130141391/article/details/8677459我们看懂,口说无凭。
答案就是除了int不行其他都行
package heelo;
class MyThread implements Runnable
{
//private int a=6; 通不过编译
// private String a="daad"; 成功
// private Integer a=new Integer(-33); 通过
//private int a[]=new int[10]; 通过
//private Class a=Integer.class; 通过
@Override
public void run() {
// TODO 自动生成的方法存根
synchronized (a) {
for(int i=0;i<5;i++)
{
System.out.println(Thread.currentThread().getName()+i);
}
}
}
}
public class Solution
{
public static void main(String args[])
{
MyThread my=new MyThread();
Thread t1=new Thread(my,"AAAA");
Thread t2=new Thread(my,"BBBB");
t1.start();
t2.start();
}
}
搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer,,
搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer