首页 > 代码库 > 搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer
搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer
第一次见到这个题目,我觉得自己没学到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(); }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。